diff --git a/src/Gui/Language/FreeCAD_cs.qm b/src/Gui/Language/FreeCAD_cs.qm index 047af453ee..508c26823c 100644 Binary files a/src/Gui/Language/FreeCAD_cs.qm and b/src/Gui/Language/FreeCAD_cs.qm differ diff --git a/src/Gui/Language/FreeCAD_cs.ts b/src/Gui/Language/FreeCAD_cs.ts index d81025b614..0b971cbf00 100644 --- a/src/Gui/Language/FreeCAD_cs.ts +++ b/src/Gui/Language/FreeCAD_cs.ts @@ -188,7 +188,7 @@ Link Transform - Link Transform + Transformace odkazu Measure distance @@ -2552,7 +2552,7 @@ but slower response to any scene changes. Distributed - Distributed + Distribuován Centralized diff --git a/src/Gui/Language/FreeCAD_pl.qm b/src/Gui/Language/FreeCAD_pl.qm index 621bdbc186..05a9d3a44b 100644 Binary files a/src/Gui/Language/FreeCAD_pl.qm and b/src/Gui/Language/FreeCAD_pl.qm differ diff --git a/src/Gui/Language/FreeCAD_pl.ts b/src/Gui/Language/FreeCAD_pl.ts index 2b7d6dedc7..1113258312 100644 --- a/src/Gui/Language/FreeCAD_pl.ts +++ b/src/Gui/Language/FreeCAD_pl.ts @@ -7720,11 +7720,11 @@ Physical path: Link navigation - Nawigacja przy użyciu łączy + Nawigacja przy użyciu odnośników Link navigation actions - Działania związane z nawigacją + Działania związane z nawigacją przy użyciu odnośników @@ -8572,7 +8572,7 @@ Physical path: Toggles the property of the objects to get selected in the 3D-View - Przełącza własność obiektów, aby uzyskać wybrany obiekt w widoku 3D + Przełącza właściwość obiektów, które mają zostać wybrane w widoku 3D diff --git a/src/Gui/Language/FreeCAD_ro.qm b/src/Gui/Language/FreeCAD_ro.qm index 7c1d04095e..dc03f7cc39 100644 Binary files a/src/Gui/Language/FreeCAD_ro.qm and b/src/Gui/Language/FreeCAD_ro.qm differ diff --git a/src/Gui/Language/FreeCAD_ro.ts b/src/Gui/Language/FreeCAD_ro.ts index 845a57c562..4034f5f4a6 100644 --- a/src/Gui/Language/FreeCAD_ro.ts +++ b/src/Gui/Language/FreeCAD_ro.ts @@ -2340,39 +2340,39 @@ on-screen while displaying the log message Font color for warning messages in Report view panel - Font color for warning messages in Report view panel + Culoarea font-ului pentru mesajele de avertizare în panoul de vizualizare Rapoarte Font color for error messages in Report view panel - Font color for error messages in Report view panel + Culoarea font-ului pentru mesajele de eroare în panoul de vizualizare Rapoarte Internal Python output will be redirected from Python console to Report view panel - Internal Python output will be redirected -from Python console to Report view panel + Mesajele interne Python vor fi redirecționate +din consola Python către panoul de vizualizare Rapoarte Internal Python error messages will be redirected from Python console to Report view panel - Internal Python error messages will be redirected -from Python console to Report view panel + Mesajele de eroare interne Python vor fi redirecționate +din consola Python către panoul de vizualizare Rapoarte Include a timecode for each report - Include a timecode for each report + Include ora pentru fiecare raport Include a timecode for each entry - Include a timecode for each entry + Include ora pentru fiecare înregistrare Normal messages will be recorded - Normal messages will be recorded + Mesajele normale vor fi înregistrate Record normal messages - Record normal messages + Înregistrează mesajele normale @@ -2479,18 +2479,18 @@ from Python console to Report view panel Main coordinate system will always be shown in lower right corner within opened files - Main coordinate system will always be shown in -lower right corner within opened files + Sistemul principal de coordonate va fi întotdeauna afișat în +colțul din dreapta jos în cadrul fișierelor deschise Time needed for last operation and resulting frame rate will be shown at the lower left corner in opened files - Time needed for last operation and resulting frame rate -will be shown at the lower left corner in opened files + Timpul necesar pentru ultima operațiune și rata de cadre rezultată +vor fi afișate în colțul din stânga jos în fișierele deschise If checked, application will remember which workbench is active for each tab of the viewport - If checked, application will remember which workbench is active for each tab of the viewport + Dacă bifaţi, aplicaţia va reţine care banc de lucru este activ pentru fiecare filă din vizualizare Remember active workbench by tab @@ -2498,7 +2498,7 @@ will be shown at the lower left corner in opened files Rendering - Rendering + Randare If selected, Vertex Buffer Objects (VBO) will be used. @@ -2552,15 +2552,15 @@ but slower response to any scene changes. Distributed - Distributed + Distribuit Centralized - Centralized + Centralizat Transparent objects: - Transparent objects: + Obiecte transparente: Render types of transparent objects @@ -2568,43 +2568,43 @@ but slower response to any scene changes. One pass - One pass + O trecere Backface pass - Backface pass + Trecere pe verso Size of vertices in the Sketcher workbench - Size of vertices in the Sketcher workbench + Mărimea nodurilor în atelierul de lucru Sketcher Eye to eye distance for stereo modes - Eye to eye distance for stereo modes + Distanța dintre ochi pentru modurile stereo Backlight is enabled with the defined color - Backlight is enabled with the defined color + Lumina de fundal este activată având culoarea definită Backlight color - Backlight color + Culoarea luminii de fundal Intensity - Intensity + Intensitate Intensity of the backlight - Intensity of the backlight + Intensitatea luminii de fundal Objects will be projected in orthographic projection - Objects will be projected in orthographic projection + Obiectele vor fi proiectate în proiecții ortografice Objects will appear in a perspective projection - Objects will appear in a perspective projection + Obiectele vor apărea într-o proiecție de perspectivă Axis cross will be shown by default at file @@ -2638,7 +2638,7 @@ Changing this option requires a restart of the application. Use software OpenGL - Use software OpenGL + Utilizaţi OpenGL software What kind of multisample anti-aliasing is used @@ -2904,35 +2904,35 @@ bounding box size of the 3D object that is currently displayed. The application will create a new document when started - The application will create a new document when started + Aplicația va crea un nou document la pornire Compression level for FCStd files - Compression level for FCStd files + Nivel de compresie pentru fișierele FCStd All changes in documents are stored so that they can be undone/redone - All changes in documents are stored so that they can be undone/redone + Toate modificările în documente sunt stocate astfel încât să poată fi anulate/refăcute How many Undo/Redo steps should be recorded - How many Undo/Redo steps should be recorded + Câți pași Undo/Redo trebuie înregistrați Allow user aborting document recomputation by pressing ESC. This feature may slightly increase recomputation time. - Allow user aborting document recomputation by pressing ESC. -This feature may slightly increase recomputation time. + Permite utilizatorului să anuleze recalcularea documentului apăsând ESC. +Această caracteristică poate crește ușor timpul de recalculare. Allow aborting recomputation - Allow aborting recomputation + Permite abandonarea recalculării If there is a recovery file available the application will automatically run a file recovery when it is started. - If there is a recovery file available the application will -automatically run a file recovery when it is started. + Dacă există un fişier de recuperare disponibil, aplicaţia va +rula automat un fişier de recuperare la pornire. How often a recovery file is written @@ -2972,7 +2972,7 @@ get date suffix according to the specified format Date format - Date format + Formatul datei Allow objects to have same label/name @@ -3008,46 +3008,46 @@ You can also use the form: John Doe <john@doe.com> Default company name to use for new files - Default company name to use for new files + Numele companiei implicit ce va fi folosit pentru fişiere noi Default license for new documents - Default license for new documents + Licența implicită pentru documentele noi Creative Commons Attribution - Creative Commons Attribution + Atribuire Creative Commons Creative Commons Attribution-ShareAlike - Creative Commons Attribution-ShareAlike + Atribuire Creative Commons - Partajare în Condiții Identice Creative Commons Attribution-NoDerivatives - Creative Commons Attribution-NoDerivatives + Atribuire Creative Commons - FărăDerivate Creative Commons Attribution-NonCommercial - Creative Commons Attribution-NonCommercial + Atribuire Creative Commons - Necomercial Creative Commons Attribution-NonCommercial-ShareAlike - Creative Commons Attribution-NonCommercial-ShareAlike + Atribuire Creative Commons - Necomercial - Partajare în Condiții Identice Creative Commons Attribution-NonCommercial-NoDerivatives - Creative Commons Attribution-NonCommercial-NoDerivatives + Atribuire Creative Commons - Necomercial - FărăDerivate URL describing more about the license - URL describing more about the license + URL care descrie mai multe despre licență Gui::Dialog::DlgSettingsDocumentImp The format of the date to use. - The format of the date to use. + Formatul datei ce va fi utilizat. Default @@ -3055,7 +3055,7 @@ You can also use the form: John Doe <john@doe.com> Format - Format + Format @@ -3245,7 +3245,7 @@ You can also use the form: John Doe <john@doe.com> Creation method: - Creation method: + Metoda de creere: @@ -3397,7 +3397,7 @@ You can also use the form: John Doe <john@doe.com> Navigation cube - Navigation cube + Cub de navigare Steps by turn @@ -3471,7 +3471,7 @@ Turntable: the part will be rotated around the z-axis. New document scale - New document scale + Scara documentelor noi Sets camera zoom for new documents. @@ -3485,7 +3485,7 @@ The value is the diameter of the sphere to fit on the screen. Enable animated rotations - Enable animated rotations + Activează rotaţiile animate Enable animation @@ -3569,49 +3569,49 @@ Mouse tilting is not disabled by this setting. Default camera orientation - Default camera orientation + Orientarea implicită a camerei Default camera orientation when creating a new document or selecting the home view - Default camera orientation when creating a new document or selecting the home view + Orientarea implicită a camerei la crearea unui nou document sau la selectarea vizualizării de bază Rotation mode - Rotation mode + Modul de rotație Window center - Window center + Centrul ferestrei Drag at cursor - Drag at cursor + Trageți la cursor Object center - Object center + Centrul obiectului Rotates to nearest possible state when clicking a cube face - Rotates to nearest possible state when clicking a cube face + Se rotește la cea mai apropiată stare posibilă când dați click pe o față de cub Rotate to nearest - Rotate to nearest + Rotire la cel mai apropiat Cube size - Cube size + Dimensiune Cub Size of the navigation cube - Size of the navigation cube + Dimensiunea cubului de navigare How much will be zoomed. Zoom step of '1' means a factor of 7.5 for every zoom step. - How much will be zoomed. -Zoom step of '1' means a factor of 7.5 for every zoom step. + Cât de mult va fi mărit. +Pasul de mărire de '1' înseamnă un factor de 7,5 pentru fiecare pas de mărire. @@ -3622,7 +3622,7 @@ Zoom step of '1' means a factor of 7.5 for every zoom step. Auto switch to the 3D view containing the selected item - Auto switch to the 3D view containing the selected item + Comutare automată la vizualizarea 3D care conține elementul selectat Auto expand tree item when the corresponding object is selected in 3D view @@ -3737,15 +3737,15 @@ Zoom step of '1' means a factor of 7.5 for every zoom step. Building US (ft-in/sqft/cft) - Building US (ft-in/sqft/cft) + Construcție SUA (ft-in/sqft/cft) Imperial for Civil Eng (ft, ft/sec) - Imperial for Civil Eng (ft, ft/sec) + Imperial pentru Construcții Civile (ft, ft/sec) FEM (mm, N, sec) - FEM (mm, N, sec) + FEM (mm, N, sec) @@ -3792,35 +3792,35 @@ Zoom step of '1' means a factor of 7.5 for every zoom step. Enable preselection and highlight by specified color - Enable preselection and highlight by specified color + Activează preselecția și evidențierea folosind culoarea specificată Enable selection highlighting and use specified color - Enable selection highlighting and use specified color + Activează evidenţierea selecţiei şi utilizează culoarea specificată Background color for the model view - Background color for the model view + Culoare de fundal pentru vizualizarea modelului Background will have selected color - Background will have selected color + Fundalul va avea culoarea selectată Color gradient will get selected color as middle color - Color gradient will get selected color as middle color + Gradientul de culoare va avea culoarea selectată drept culoarea de mijloc Bottom color - Bottom color + Culoarea de jos Background will have selected color gradient - Background will have selected color gradient + Fundal va avea gradientul de culoare selectat Top color - Top color + Culoarea de sus Tree view @@ -3870,21 +3870,21 @@ Zoom step of '1' means a factor of 7.5 for every zoom step. Input the source value and unit - Input the source value and unit + Introduceți valoarea sursei și unitatea de măsură Input here the unit for the result - Input here the unit for the result + Introduceți aici unitatea de măsură pentru rezultat Result - Result + Rezultat List of last used calculations To add a calculation press Return in the value input field - List of last used calculations -To add a calculation press Return in the value input field + Lista ultimelor calcule utilizate +Pentru a adăuga un calcul apăsați Enter în câmpul de introducere a valorii Quantity @@ -4628,11 +4628,11 @@ The 'Status' column shows whether the document could be recovered. State - State + Stare Hierarchy - Hierarchy + Ierarhie Selected @@ -4640,7 +4640,7 @@ The 'Status' column shows whether the document could be recovered. Partial - Partial + Parţial @@ -4716,11 +4716,11 @@ The 'Status' column shows whether the document could be recovered. Display message types - Display message types + Afișează tipul mesajelor Normal messages - Normal messages + Mesaje normale Log messages @@ -4728,11 +4728,11 @@ The 'Status' column shows whether the document could be recovered. Warnings - Warnings + Avertismente Errors - Errors + Erori Show report view on @@ -4830,7 +4830,7 @@ The 'Status' column shows whether the document could be recovered. Picked object list - Picked object list + Lista obiectelor alese @@ -4904,14 +4904,14 @@ Doriți să salvați modificările? Gui::ExpressionLineEdit Exact match - Exact match + Potrivire exactă Gui::ExpressionTextEdit Exact match - Exact match + Potrivire exactă @@ -5388,11 +5388,11 @@ Cum doresti sa continuam? property - property + proprietate Show all - Show all + Arată tot Add property @@ -5400,15 +5400,15 @@ Cum doresti sa continuam? Remove property - Remove property + Eliminați proprietatea Expression... - Expression... + Expresie... Auto expand - Auto expand + Auto extindere @@ -5519,11 +5519,11 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Save history - Save history + Salvează istoric Saves Python history across %1 sessions - Saves Python history across %1 sessions + Salvează istoricul Python de-a lungul a %1 sesiuni @@ -5556,7 +5556,7 @@ Doriți să ieşiți fără a salva datele dumneavoastră? Gui::RecentMacrosAction Run macro %1 (Shift+click to edit) shortcut: %2 - Run macro %1 (Shift+click to edit) shortcut: %2 + Rulează macro %1 (Shift+click pentru editare): %2 File not found @@ -5694,18 +5694,18 @@ Doriţi să specificaţi un alt director? Translation Increment: - Translation Increment: + Increment la translație: Rotation Increment: - Rotation Increment: + Increment la rotație: Gui::TaskElementColors Set element color - Set element color + Setare culoare element TextLabel @@ -5713,7 +5713,7 @@ Doriţi să specificaţi un alt director? Recompute after commit - Recompute after commit + Recalculare după salvare Remove @@ -5725,19 +5725,19 @@ Doriţi să specificaţi un alt director? Remove all - Remove all + Elimină tot Hide - Hide + Ascunde Box select - Box select + Selectare cu dreptunghi On-top when selected - On-top when selected + Deasupra când este selectat @@ -5824,7 +5824,7 @@ Doriţi să specificaţi un alt director? Edit text - Edit text + Editare text @@ -5882,7 +5882,7 @@ Doriţi să specificaţi un alt director? Korean - Korean + Coreeană Russian @@ -5902,7 +5902,7 @@ Doriţi să specificaţi un alt director? Portuguese, Brazilian - Portuguese, Brazilian + Portugheză, Braziliană Portuguese @@ -5954,43 +5954,43 @@ Doriţi să specificaţi un alt director? Basque - Basque + Bască Catalan - Catalan + Catalană Galician - Galician + Galiciană Kabyle - Kabyle + Kabyle Filipino - Filipino + Filipineză Indonesian - Indonesian + Indoneziană Lithuanian - Lithuanian + Lituaniană Valencian - Valencian + Valenciană Arabic - Arabic + Arabă Vietnamese - Vietnamese + Vietnameză @@ -6075,11 +6075,11 @@ Doriţi să specificaţi un alt director? Search... - Search... + Caută... Search for objects - Search for objects + Caută obiecte Description @@ -6087,7 +6087,7 @@ Doriţi să specificaţi un alt director? Show hidden items - Show hidden items + Arată elementele ascunse Show hidden tree view items @@ -6095,7 +6095,7 @@ Doriţi să specificaţi un alt director? Hide item - Hide item + Ascunde element Hide the item in tree @@ -6142,11 +6142,11 @@ Doriţi să specificaţi un alt director? Gui::VectorListEditor Vectors - Vectors + Vectori Table - Table + Tabel ... @@ -6731,11 +6731,11 @@ Retineti: locul unde faceti click conteaza. Toggle active part - Toggle active part + Comută piesa activă Edit text - Edit text + Editare text The exported object contains external link. Please save the documentat least once before exporting. @@ -6743,23 +6743,23 @@ Retineti: locul unde faceti click conteaza. Delete failed - Delete failed + Ștergerea a eșuat Dependency error - Dependency error + Eroare de dependență Copy selected - Copy selected + Copiază selecția Copy active document - Copy active document + Copiază documentul activ Copy all documents - Copy all documents + Copiază toate documentele Paste @@ -6821,7 +6821,7 @@ Please check the Report View for more details. Invalid name - Invalid name + Nume invalid The property name or group name must only contain alpha numericals, @@ -6843,7 +6843,7 @@ underscore, and must not start with a digit. Save dependent files - Save dependent files + Salvează fișierele dependente The file contains external dependencies. Do you want to save the dependent files, too? @@ -6879,25 +6879,25 @@ Choose 'Abort' to abort Do you want to save your changes to document before closing? - Do you want to save your changes to document before closing? + Doriți să salvați modificările documentului înainte de închidere? Apply answer to all - Apply answer to all + Aplică răspunsul tuturor Drag & drop failed - Drag & drop failed + Drag & drop eșuat Override colors... - Override colors... + Suprascrie culorile... Identical physical path detected. It may cause unwanted overwrite of existing document! - Identical physical path detected. It may cause unwanted overwrite of existing document! + Cale fizică identică detectată. Poate cauza o suprascriere nedorită a documentului existent! @@ -6909,25 +6909,25 @@ Choose 'Abort' to abort Please check report view for more... - + -Please check report view for more... +Vă rog să verificați vizualizarea Raport pentru mai multe... Document: - + Document: Path: - - Path: + + Cale: Identical physical path - Identical physical path + Cale fizică identică Error @@ -6939,7 +6939,7 @@ Document: There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. + Au existat erori grave în timpul încărcării fișierului. Unele date ar fi putut fi modificate sau nu au fost recuperate deloc. Salvarea proiectului va duce cel mai probabil la pierderea datelor. Workbenches @@ -6949,9 +6949,9 @@ Document: Physical path: - + -Physical path: +Cale fizică: @@ -7340,7 +7340,7 @@ Physical path: Change the draw style of the objects - Change the draw style of the objects + Schimbă stilul de desenare al obiectelor @@ -7374,7 +7374,7 @@ Physical path: Activates or Deactivates the selected object's edit mode - Activates or Deactivates the selected object's edit mode + Activează sau Dezactivează modul Editare al obiectelor selectate @@ -7397,7 +7397,7 @@ Physical path: Select the objects to export before choosing Export. - Select the objects to export before choosing Export. + Selectați obiectele de exportat înainte de a alege Export. @@ -7408,7 +7408,7 @@ Physical path: Expression actions - Expression actions + Acțiunile expresiei @@ -7438,7 +7438,7 @@ Physical path: Donate to FreeCAD development - Donate to FreeCAD development + Donează pentru dezvoltarea FreeCAD @@ -7619,7 +7619,7 @@ Physical path: Link actions - Link actions + Legați acțiunile @@ -7634,7 +7634,7 @@ Physical path: Import selected external link(s) - Import selected external link(s) + Importă legăturile externe selectate @@ -7649,7 +7649,7 @@ Physical path: Import all links of the active document - Import all links of the active document + Importă toate Legăturile documentului activ @@ -7664,7 +7664,7 @@ Physical path: Create a link to the selected object(s) - Create a link to the selected object(s) + Creați o legătură către obiectul(ele) selectat(e) @@ -7679,7 +7679,7 @@ Physical path: Create a group of links - Create a group of links + Creează un grup de legături @@ -7694,7 +7694,7 @@ Physical path: Create a sub-object or sub-element link - Create a sub-object or sub-element link + Creaţi un sub-obiect sau un sub-element legătură @@ -7705,11 +7705,11 @@ Physical path: Replace with link - Replace with link + Înlocuiește cu o legătură Replace the selected object(s) with link - Replace the selected object(s) with link + Înlocuiți obiectul(ele) selectat(e) cu o legătură @@ -7720,11 +7720,11 @@ Physical path: Link navigation - Link navigation + Navigare la legătură Link navigation actions - Link navigation actions + Acțiuni de navigare la legătură @@ -7735,11 +7735,11 @@ Physical path: Select all links - Select all links + Selectează toate legăturile Select all links to the current selected object - Select all links to the current selected object + Selectați toate legăturile către obiectul curent selectat @@ -7750,11 +7750,11 @@ Physical path: Go to linked object - Go to linked object + Mergi la obiectul legat Select the linked object and switch to its owner document - Select the linked object and switch to its owner document + Selectați obiectul legat și comutați la documentul proprietar @@ -7765,11 +7765,11 @@ Physical path: Go to the deepest linked object - Go to the deepest linked object + Mergi la cel mai profund obiect legat Select the deepest linked object and switch to its owner document - Select the deepest linked object and switch to its owner document + Selectați cel mai profund obiect legat și comutați la documentul proprietar @@ -7780,7 +7780,7 @@ Physical path: Unlink - Unlink + Anularea legăturii Strip on level of link @@ -7795,7 +7795,7 @@ Physical path: Attach to remote debugger... - Attach to remote debugger... + Atașează la depanator la distanță... Attach to a remotely running debugger @@ -8317,11 +8317,11 @@ Physical path: &Back - &Back + &Înapoi Go back to previous selection - Go back to previous selection + Înapoi la selecția anterioară @@ -8332,11 +8332,11 @@ Physical path: &Bounding box - &Bounding box + &Casetă de încadrare Show selection bounding box - Show selection bounding box + Arată caseta de încadrare a selecției @@ -8347,7 +8347,7 @@ Physical path: &Forward - &Forward + &Înainte Repeat the backed selection @@ -8392,11 +8392,11 @@ Physical path: &Send to Python Console - &Send to Python Console + &Trimite la Consola Python Sends the selected object to the Python console - Sends the selected object to the Python console + Trimite obiectul selectat la consola Python @@ -8467,7 +8467,7 @@ Physical path: Add text document - Add text document + Adăugă un document text Add text document to active document @@ -9393,7 +9393,7 @@ Physical path: Auto switch to the 3D view containing the selected item - Auto switch to the 3D view containing the selected item + Comutare automată la vizualizarea 3D care conține elementul selectat @@ -9665,22 +9665,22 @@ Do you still want to proceed? ViewPerspectiveCmd Perspective - Perspective + Perspectivă Set View to Perspective mode - Set View to Perspective mode + Setați vizualizarea în modul Perspectivă ViewZoomToFitCmd Zoom to fit - Zoom to fit + Mărire pentru a se potrivi Zoom so that model fills the view - Zoom so that model fills the view + Mărire astfel încât modelul umple vizualizarea diff --git a/src/Gui/Macro.h b/src/Gui/Macro.h index b2771cf2b5..44dab4aa50 100644 --- a/src/Gui/Macro.h +++ b/src/Gui/Macro.h @@ -77,7 +77,7 @@ public: void commit(void); /// cancels the recording session void cancel(void); - /// indicates if a macro recording in in progress + /// indicates if a macro recording is in progress bool isOpen(void) const {return openMacro;} /// insert a new line in the macro void addLine(LineType Type,const char* sLine,bool pending=false); diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm index 7fb3231bdb..94cd5b8d57 100644 Binary files a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm and b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.qm differ diff --git a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts index cbe595d0f5..8e17c6cd3c 100644 --- a/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts +++ b/src/Mod/AddonManager/Resources/translations/AddonManager_cs.ts @@ -94,7 +94,7 @@ Workbenches list was updated. - Workbenches list was updated. + Seznam pracovních prostředí byl aktualizován. @@ -149,12 +149,12 @@ Workbench successfully installed. Please restart FreeCAD to apply the changes. - Workbench successfully installed. Please restart FreeCAD to apply the changes. + Pracovní prostředí bylo úspěšně nainstalováno. Pro aplikaci změn prosím restartujte FreeCAD. Missing workbench - Missing workbench + Chybí pracovní prostředí @@ -164,12 +164,12 @@ Missing optional python module (doesn't prevent installing) - Missing optional python module (doesn't prevent installing) + Chybí volitelný modul pythonu (nebrání instalaci) Some errors were found that prevent to install this workbench - Some errors were found that prevent to install this workbench + Byly nalezeny chyby, které brání instalaci tohoto pracovního prostředí @@ -229,12 +229,12 @@ Error: Unable to locate zip from - Error: Unable to locate zip from + Chyba: Nelze najít zip z Something went wrong with the Git Macro Retrieval, possibly the Git executable is not in the path - Something went wrong with the Git Macro Retrieval, possibly the Git executable is not in the path + Něco se pokazilo s Git Macro Retrieval, možná není spustitelný Git v cestě @@ -244,22 +244,22 @@ This workbench may no longer be maintained and installing it on a Python 3 system will more than likely result in errors at startup or while in use. - This workbench may no longer be maintained and installing it on a Python 3 system will more than likely result in errors at startup or while in use. + Tento pracovní prostředí již nemusí být udržován a instalace do systému Python 3 bude mít pravděpodobně za následek chyby při startu nebo při používání. User requested updating a Python 2 workbench on a system running Python 3 - - User requested updating a Python 2 workbench on a system running Python 3 - + Uživatel požádal o aktualizaci pracovního prostředí Pythonu 2 do systému, který používá Python 3 - Workbench successfully updated. Please restart FreeCAD to apply the changes. - Workbench successfully updated. Please restart FreeCAD to apply the changes. + Pracovní prostředí bylo úspěšně aktualizováno. Pro aplikaci změn prosím restartujte FreeCAD. User requested installing a Python 2 workbench on a system running Python 3 - - User requested installing a Python 2 workbench on a system running Python 3 - + Uživatel požádal o instalaci pracovního prostředí Pythonu 2 do systému, který používá Python 3 - @@ -269,7 +269,7 @@ Raw markdown displayed - Raw markdown displayed + Zobrazit čisté markdown @@ -312,12 +312,12 @@ Uninstalls a selected macro or workbench - Uninstalls a selected macro or workbench + Odinstaluje vybrané makro nebo pracovní prostředí Installs or updates the selected macro or workbench - Installs or updates the selected macro or workbench + Instaluje nebo aktualizuje vybrané makro nebo pracovní prostředí @@ -421,7 +421,7 @@ které mají být prohledány pro dostupné doplňky Manage external workbenches and macros - Manage external workbenches and macros + Spravovat externí pracovní prostředí a makra diff --git a/src/Mod/Arch/ArchAxis.py b/src/Mod/Arch/ArchAxis.py index 917113f657..e65bf40b68 100644 --- a/src/Mod/Arch/ArchAxis.py +++ b/src/Mod/Arch/ArchAxis.py @@ -581,7 +581,7 @@ class _ViewProviderAxis: t.string = self.getNumber(vobj,num) num += 1 if hasattr(vobj,"BubblePosition"): - if vobj.BubblePosition == "Both": + if vobj.BubblePosition in ["Both","Arrow left","Arrow right","Bar left","Bar right"]: if not alt: num -= 1 alt = not alt @@ -593,7 +593,11 @@ class _ViewProviderAxis: if hasattr(vobj,"ShowLabel") and hasattr(vobj.Object,"Labels"): if vobj.ShowLabel: self.labels = coin.SoSeparator() - for i in range(len(vobj.Object.Shape.Edges)): + if hasattr(vobj.Object,"Limit") and vobj.Object.Limit.Value: + n = len(vobj.Object.Shape.Edges)/2 + else: + n = len(vobj.Object.Shape.Edges) + for i in range(n): if len(vobj.Object.Labels) > i: if vobj.Object.Labels[i]: import Draft diff --git a/src/Mod/Arch/ArchComponent.py b/src/Mod/Arch/ArchComponent.py index a89be869a9..69b063a04b 100644 --- a/src/Mod/Arch/ArchComponent.py +++ b/src/Mod/Arch/ArchComponent.py @@ -1229,7 +1229,7 @@ class ViewProviderComponent: if hasattr(self.Object,"CloneOf"): if self.Object.CloneOf: return ":/icons/Arch_Component_Clone.svg" - return ":/icons/Arch_Component.svg" + return ":/icons/Arch_Component_Tree.svg" def onChanged(self,vobj,prop): """Method called when the view provider has a property changed. @@ -1537,7 +1537,7 @@ class ViewProviderComponent: return False def colorize(self,obj,force=False): - """If an object is a clone, set it it to copy the color of its parent. + """If an object is a clone, set it to copy the color of its parent. Only change the color of the clone if the clone and its parent have colors that are distinguishably different from each other. diff --git a/src/Mod/Arch/ArchSite.py b/src/Mod/Arch/ArchSite.py index e51532cd51..a2eed40cca 100644 --- a/src/Mod/Arch/ArchSite.py +++ b/src/Mod/Arch/ArchSite.py @@ -130,7 +130,7 @@ def makeSolarDiagram(longitude,latitude,scale=1,complete=False,tz=None): else: oldversion = True if tz: - tz = datetime.timezone(datetime.timedelta(hours=-3)) + tz = datetime.timezone(datetime.timedelta(hours=tz)) else: tz = datetime.timezone.utc else: @@ -994,7 +994,7 @@ class _ViewProviderSite: The name of the property that has changed. """ - if prop in ["Longitude","Latitude"]: + if prop in ["Longitude","Latitude","TimeZone"]: self.onChanged(obj.ViewObject,"SolarDiagram") elif prop == "Declination": self.onChanged(obj.ViewObject,"SolarDiagramPosition") diff --git a/src/Mod/Arch/ArchSpace.py b/src/Mod/Arch/ArchSpace.py index f196e6fb5a..418eee053d 100644 --- a/src/Mod/Arch/ArchSpace.py +++ b/src/Mod/Arch/ArchSpace.py @@ -609,7 +609,7 @@ class _ViewProviderSpace(ArchComponent.ViewProviderComponent): except (AttributeError, RuntimeError): pos = FreeCAD.Vector() else: - pos = vobj.TextPosition + pos = vobj.Object.Placement.multVec(vobj.TextPosition) # placement's displacement will be already added by the coin node pos = vobj.Object.Placement.inverse().multVec(pos) return pos diff --git a/src/Mod/Arch/ArchWall.py b/src/Mod/Arch/ArchWall.py index 78f1d2afe6..52684faeda 100644 --- a/src/Mod/Arch/ArchWall.py +++ b/src/Mod/Arch/ArchWall.py @@ -858,7 +858,7 @@ class _Wall(ArchComponent.Component): p2 = edge.valueAt(offset).add(p.negative()) sh = Part.LineSegment(p1,p2).toShape() if obj.Joint.Value: - sh = sh.extrude(t.multiply(obj.Joint.Value)) + sh = sh.extrude(-t.multiply(obj.Joint.Value)) sh = sh.extrude(n) if i == 0: cuts1.append(sh) diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py index 4b9f92cdd5..7d3c049fae 100644 --- a/src/Mod/Arch/ArchWindow.py +++ b/src/Mod/Arch/ArchWindow.py @@ -1140,6 +1140,7 @@ class _ViewProviderWindow(ArchComponent.ViewProviderComponent): pairs = [["Mode"+str(i),"Mode"+str(i+1)] for i in range(1,len(WindowOpeningModes),2)] self.invertPairs(pairs) + FreeCAD.ActiveDocument.recompute() def invertHinge(self): @@ -1147,6 +1148,8 @@ class _ViewProviderWindow(ArchComponent.ViewProviderComponent): pairs = [["Edge6","Edge8"],["Edge5","Edge7"]] self.invertPairs(pairs) + self.invertOpening() + FreeCAD.ActiveDocument.recompute() def invertPairs(self,pairs): @@ -1166,7 +1169,6 @@ class _ViewProviderWindow(ArchComponent.ViewProviderComponent): nparts.append(part) if nparts != self.Object.WindowParts: self.Object.WindowParts = nparts - FreeCAD.ActiveDocument.recompute() else: FreeCAD.Console.PrintWarning(translate("Arch","This window has no defined opening")+"\n") diff --git a/src/Mod/Arch/Resources/Arch.qrc b/src/Mod/Arch/Resources/Arch.qrc index 9fd513dc8e..71984781ac 100644 --- a/src/Mod/Arch/Resources/Arch.qrc +++ b/src/Mod/Arch/Resources/Arch.qrc @@ -17,6 +17,7 @@ icons/Arch_CloseHoles.svg icons/Arch_Component.svg icons/Arch_Component_Clone.svg + icons/Arch_Component_Tree.svg icons/Arch_CurtainWall.svg icons/Arch_CurtainWall_Tree.svg icons/Arch_CutLine.svg diff --git a/src/Mod/Arch/Resources/icons/Arch_Component.svg b/src/Mod/Arch/Resources/icons/Arch_Component.svg index 5e260dd36c..7171ce158f 100644 --- a/src/Mod/Arch/Resources/icons/Arch_Component.svg +++ b/src/Mod/Arch/Resources/icons/Arch_Component.svg @@ -1,38 +1,516 @@ - - - - - - + + + + + - - - + + + - - - + + + + + + - - - + + + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - + - + image/svg+xml - - + + [Yorik van Havre] @@ -61,11 +539,42 @@ - - - - - - + + + + + + + diff --git a/src/Mod/Arch/Resources/icons/Arch_Component_Clone.svg b/src/Mod/Arch/Resources/icons/Arch_Component_Clone.svg index 7ed31ef8e8..17f4e01dec 100644 --- a/src/Mod/Arch/Resources/icons/Arch_Component_Clone.svg +++ b/src/Mod/Arch/Resources/icons/Arch_Component_Clone.svg @@ -1,6 +1,4 @@ - - @@ -44,18 +42,6 @@ offset="1" id="stop3781" /> - - - - - + + + inkscape:snap-bbox="true" + inkscape:document-rotation="0"> + + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + [Yorik van Havre] + + + Arch_Component + 2015-04-08 + http://www.freecadweb.org/wiki/index.php?title=Artwork + + + FreeCAD + + + FreeCAD/src/Mod/Arch/Resources/icons/Arch_Component.svg + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + [agryson] Alexander Gryson + + + + + + + + + + + + + + diff --git a/src/Mod/Arch/Resources/translations/Arch_de.qm b/src/Mod/Arch/Resources/translations/Arch_de.qm index 74e0982744..2a9aa72b01 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_de.qm and b/src/Mod/Arch/Resources/translations/Arch_de.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_de.ts b/src/Mod/Arch/Resources/translations/Arch_de.ts index ba336623f5..8807a75780 100644 --- a/src/Mod/Arch/Resources/translations/Arch_de.ts +++ b/src/Mod/Arch/Resources/translations/Arch_de.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + Entferntere Geometrie als dieser Wert wird abgeschnitten. Behalten Sie Null für unbegrenzt. diff --git a/src/Mod/Arch/Resources/translations/Arch_es-ES.qm b/src/Mod/Arch/Resources/translations/Arch_es-ES.qm index eaa4deb78a..c79de006dd 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_es-ES.qm and b/src/Mod/Arch/Resources/translations/Arch_es-ES.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_es-ES.ts b/src/Mod/Arch/Resources/translations/Arch_es-ES.ts index 5e1432c981..7a90cd16f9 100644 --- a/src/Mod/Arch/Resources/translations/Arch_es-ES.ts +++ b/src/Mod/Arch/Resources/translations/Arch_es-ES.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + La geometría más allá de este valor será cortada. Mantener en cero para ilimitado. diff --git a/src/Mod/Arch/Resources/translations/Arch_fr.qm b/src/Mod/Arch/Resources/translations/Arch_fr.qm index a661d8ad8e..cf8b52434d 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_fr.qm and b/src/Mod/Arch/Resources/translations/Arch_fr.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_fr.ts b/src/Mod/Arch/Resources/translations/Arch_fr.ts index 37ad275fac..24c5e3a2ff 100644 --- a/src/Mod/Arch/Resources/translations/Arch_fr.ts +++ b/src/Mod/Arch/Resources/translations/Arch_fr.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + La géométrie supérieure à cette valeur sera coupée. Laisser zéro pour illimité. diff --git a/src/Mod/Arch/Resources/translations/Arch_hu.qm b/src/Mod/Arch/Resources/translations/Arch_hu.qm index c8d87a19fe..6e1937c5a9 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_hu.qm and b/src/Mod/Arch/Resources/translations/Arch_hu.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_hu.ts b/src/Mod/Arch/Resources/translations/Arch_hu.ts index af525997a5..11e98b1c1b 100644 --- a/src/Mod/Arch/Resources/translations/Arch_hu.ts +++ b/src/Mod/Arch/Resources/translations/Arch_hu.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + Az értéknél távolabbi geometria megszakad. Tartsd nullán, akkor korlátlan. diff --git a/src/Mod/Arch/Resources/translations/Arch_nl.qm b/src/Mod/Arch/Resources/translations/Arch_nl.qm index bd319fa560..7cfe987f25 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_nl.qm and b/src/Mod/Arch/Resources/translations/Arch_nl.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_nl.ts b/src/Mod/Arch/Resources/translations/Arch_nl.ts index c2c6fe9e60..f476096c3a 100644 --- a/src/Mod/Arch/Resources/translations/Arch_nl.ts +++ b/src/Mod/Arch/Resources/translations/Arch_nl.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + Geometrie boven dan deze waarde wordt afgetopt. Zet op nul voor onbeperkt. diff --git a/src/Mod/Arch/Resources/translations/Arch_pl.qm b/src/Mod/Arch/Resources/translations/Arch_pl.qm index 74fbb348da..f9e2d127a9 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_pl.qm and b/src/Mod/Arch/Resources/translations/Arch_pl.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_pl.ts b/src/Mod/Arch/Resources/translations/Arch_pl.ts index b7e464b179..628d391199 100644 --- a/src/Mod/Arch/Resources/translations/Arch_pl.ts +++ b/src/Mod/Arch/Resources/translations/Arch_pl.ts @@ -1816,7 +1816,7 @@ The height of the truss at the end position - Wysokość wiązara w pozycji końcowej + Wysokość wiązara kratownicy w pozycji końcowej @@ -1836,7 +1836,7 @@ The width of the main top and bottom elements of the truss - Szerokość głównego górnego i dolnego elementu kratownicy + Szerokość głównych górnych i dolnych elementów kratownicy @@ -1851,12 +1851,12 @@ The diameter or side of the rods - Średnica lub bok prętów + Średnica lub wymiar boczny prętów The number of rod sections - Liczba części prętów + Liczba odcinków prętów @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + Geometria znajdująca się dalej niż ta wartość zostanie przycięta. Zachowaj zero dla braku ograniczeń. @@ -3061,7 +3061,7 @@ Toggle subcomponents - Podskładniki przełączania + Przełącz elementy podrzędne @@ -3571,7 +3571,7 @@ Create Truss - Utwórz Kratownicę + Utwórz kratownicę @@ -4569,7 +4569,7 @@ Tworzenie piętra zostało przerwane. Toggle subcomponents - Podskładniki przełączania + Przełącz elementy podrzędne @@ -4587,7 +4587,7 @@ Tworzenie piętra zostało przerwane. Creates a truss object from selected line or from scratch - Tworzy obiekt wiązara z wybranej linii lub od podstaw + Tworzy obiekt wiązara kratownicy z wybranej linii lub od podstaw diff --git a/src/Mod/Arch/Resources/translations/Arch_pt-BR.qm b/src/Mod/Arch/Resources/translations/Arch_pt-BR.qm index 34fd8969ac..5d36ffbbdf 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_pt-BR.qm and b/src/Mod/Arch/Resources/translations/Arch_pt-BR.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts b/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts index 165cf8a78e..37c70a58ec 100644 --- a/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts +++ b/src/Mod/Arch/Resources/translations/Arch_pt-BR.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + Geometria além deste valor será cortado. Mantenha zero para ilimitado. diff --git a/src/Mod/Arch/Resources/translations/Arch_ru.qm b/src/Mod/Arch/Resources/translations/Arch_ru.qm index 0562c8a095..bba95d7414 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_ru.qm and b/src/Mod/Arch/Resources/translations/Arch_ru.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_ru.ts b/src/Mod/Arch/Resources/translations/Arch_ru.ts index 725d721aa8..e39ca4b469 100644 --- a/src/Mod/Arch/Resources/translations/Arch_ru.ts +++ b/src/Mod/Arch/Resources/translations/Arch_ru.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + Геометрия больше этого значения будет обрезана. Значение ноль снимает ограничение. diff --git a/src/Mod/Arch/Resources/translations/Arch_sl.qm b/src/Mod/Arch/Resources/translations/Arch_sl.qm index d12f5367d7..486ed64aad 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_sl.qm and b/src/Mod/Arch/Resources/translations/Arch_sl.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_sl.ts b/src/Mod/Arch/Resources/translations/Arch_sl.ts index 840c260a21..6ecbd896ec 100644 --- a/src/Mod/Arch/Resources/translations/Arch_sl.ts +++ b/src/Mod/Arch/Resources/translations/Arch_sl.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + Geometrija izven te vrednosti bo porezana. Za neomejenost pustite vrednost nič. diff --git a/src/Mod/Arch/Resources/translations/Arch_zh-CN.qm b/src/Mod/Arch/Resources/translations/Arch_zh-CN.qm index 11dd9859cf..d96059682f 100644 Binary files a/src/Mod/Arch/Resources/translations/Arch_zh-CN.qm and b/src/Mod/Arch/Resources/translations/Arch_zh-CN.qm differ diff --git a/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts b/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts index 9cc8dcd7e3..6a75514ca8 100644 --- a/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts +++ b/src/Mod/Arch/Resources/translations/Arch_zh-CN.ts @@ -2041,7 +2041,7 @@ Geometry further than this value will be cut off. Keep zero for unlimited. - Geometry further than this value will be cut off. Keep zero for unlimited. + 大于此值的几何形状将被切断。无限制保持零。 diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index f7ec8bdc1e..2f43884416 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -105,7 +105,7 @@ FreeCADGui.updateLocale() # sets the default working plane plane = WorkingPlane.plane() FreeCAD.DraftWorkingPlane = plane -defaultWP = Draft.getParam("defaultWP",1) +defaultWP = Draft.getParam("defaultWP",0) if defaultWP == 1: plane.alignToPointAndAxis(Vector(0,0,0), Vector(0,0,1), 0) elif defaultWP == 2: plane.alignToPointAndAxis(Vector(0,0,0), Vector(0,1,0), 0) elif defaultWP == 3: plane.alignToPointAndAxis(Vector(0,0,0), Vector(1,0,0), 0) diff --git a/src/Mod/Draft/Resources/translations/Draft.ts b/src/Mod/Draft/Resources/translations/Draft.ts index 7c72dc066b..7e6857db1a 100644 --- a/src/Mod/Draft/Resources/translations/Draft.ts +++ b/src/Mod/Draft/Resources/translations/Draft.ts @@ -992,7 +992,7 @@ Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1009,21 +1009,25 @@ Use 'arch' to force US arch notation - - If this is True, this object will be recomputed only if it is - visible - - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + + + + + This object will be recomputed only if this is True. + + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_af.qm b/src/Mod/Draft/Resources/translations/Draft_af.qm index 4ea6d1fd9d..1cf302a556 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_af.qm and b/src/Mod/Draft/Resources/translations/Draft_af.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_af.ts b/src/Mod/Draft/Resources/translations/Draft_af.ts index e43bdf53a6..8a19a053f4 100644 --- a/src/Mod/Draft/Resources/translations/Draft_af.ts +++ b/src/Mod/Draft/Resources/translations/Draft_af.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_ar.qm b/src/Mod/Draft/Resources/translations/Draft_ar.qm index 70b42dfd31..1a29efa0d4 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ar.qm and b/src/Mod/Draft/Resources/translations/Draft_ar.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ar.ts b/src/Mod/Draft/Resources/translations/Draft_ar.ts index 13be9d10b4..c896caff9c 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ar.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ar.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_ca.qm b/src/Mod/Draft/Resources/translations/Draft_ca.qm index 5700c4acd4..d8f09c247f 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ca.qm and b/src/Mod/Draft/Resources/translations/Draft_ca.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ca.ts b/src/Mod/Draft/Resources/translations/Draft_ca.ts index c74afe3719..fc7d928b68 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ca.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ca.ts @@ -1079,7 +1079,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1098,22 +1098,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_cs.qm b/src/Mod/Draft/Resources/translations/Draft_cs.qm index 8ceadf8c05..b7f6d8f7c4 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_cs.qm and b/src/Mod/Draft/Resources/translations/Draft_cs.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_cs.ts b/src/Mod/Draft/Resources/translations/Draft_cs.ts index 35ffa1a359..26fdef460d 100644 --- a/src/Mod/Draft/Resources/translations/Draft_cs.ts +++ b/src/Mod/Draft/Resources/translations/Draft_cs.ts @@ -1084,7 +1084,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1103,22 +1103,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_de.qm b/src/Mod/Draft/Resources/translations/Draft_de.qm index ed20dec94f..1a6ec14336 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_de.qm and b/src/Mod/Draft/Resources/translations/Draft_de.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_de.ts b/src/Mod/Draft/Resources/translations/Draft_de.ts index 26bee79191..12a051831b 100644 --- a/src/Mod/Draft/Resources/translations/Draft_de.ts +++ b/src/Mod/Draft/Resources/translations/Draft_de.ts @@ -1089,7 +1089,7 @@ Leer lassen für die Standardeinstellung des Systems. Benutzen Sie 'arch' um die US-Bogen Notation zu erzwingen - + A list of exclusion points. Any edge touching any of those points will not be drawn. Eine Liste mit Ausschlusspunkten. Jede Kante, die einen dieser Punkte berührt, wird nicht gezeichnet. @@ -1097,32 +1097,34 @@ Benutzen Sie 'arch' um die US-Bogen Notation zu erzwingen For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Für Schnittlinien- und Schnittflächenmodi, verbleiben die Flächen an der Schnittposition Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Länge der Linienabschnitte, wenn Ellipsen oder B-Splines + in Linienabschnitte gewandelt werden - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Wenn dies wahr ist, wird nur Körper-Geometrie bearbeitet. Dies überschreibt die Nur-Körper-Eigenschaft des Basisobjekts - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Wenn dies wahr ist, werden die Inhalte an die Grenzen der Abschnittsebene gekoppelt. Dies überschreibt die Clip-Eigenschaft des Basisobjekts + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -1607,7 +1609,7 @@ Die Anordnung kann in eine orthogonale oder polare Anordnung durch ändern des T Array - Array + Anordnung @@ -2181,7 +2183,7 @@ CTRL to snap, SHIFT to constrain. Array - Array + Anordnung @@ -3771,7 +3773,7 @@ value by using the [ and ] keys while drawing The space between the text and the dimension line - The space between the text and the dimension line + Der Abstand zwischen dem Text und der Maßlinie @@ -3781,7 +3783,7 @@ value by using the [ and ] keys while drawing The spacing between different lines of text - The spacing between different lines of text + Der Abstand zwischen den Textzeilen @@ -6784,7 +6786,7 @@ Antworten Sie mit "Ja", um FreeCAD den automatischen Download der Bibliotheken z Array - Array + Anordnung diff --git a/src/Mod/Draft/Resources/translations/Draft_el.qm b/src/Mod/Draft/Resources/translations/Draft_el.qm index 533b9a813a..15e81de4ca 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_el.qm and b/src/Mod/Draft/Resources/translations/Draft_el.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_el.ts b/src/Mod/Draft/Resources/translations/Draft_el.ts index 8df1e61354..652c5bb240 100644 --- a/src/Mod/Draft/Resources/translations/Draft_el.ts +++ b/src/Mod/Draft/Resources/translations/Draft_el.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_es-ES.qm b/src/Mod/Draft/Resources/translations/Draft_es-ES.qm index c34eb4f5f9..16cc356007 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_es-ES.qm and b/src/Mod/Draft/Resources/translations/Draft_es-ES.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_es-ES.ts b/src/Mod/Draft/Resources/translations/Draft_es-ES.ts index b9739d018d..e771d18da1 100644 --- a/src/Mod/Draft/Resources/translations/Draft_es-ES.ts +++ b/src/Mod/Draft/Resources/translations/Draft_es-ES.ts @@ -1092,7 +1092,7 @@ Dejar en blanco para el valor predeterminado del sistema. Utilice 'arch' para forzar notación de arco de Estados Unidos - + A list of exclusion points. Any edge touching any of those points will not be drawn. Una lista de puntos de exclusión. No se trazará cualquier borde que toque alguno de esos puntos. @@ -1100,32 +1100,34 @@ Utilice 'arch' para forzar notación de arco de Estados Unidos For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Para los modos Líneas de corte y Caras de corte, + esto deja las caras en la ubicación del corte Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + La longitud de los segmentos de línea resultantes del despiece de elipses o B-splines en segmentos de línea - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Si esto es verdadero, sólo se manejará la geometría sólida. Esto anula la propiedad de Sólo Sólidos del objeto base - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Si esto es verdadero, el contenido es recortado hasta los bordes de la sección plana, si aplica. Esto anula la propiedad Clip del objeto base + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -3783,7 +3785,7 @@ usando las teclas [ y ] mientras dibuja The space between the text and the dimension line - The space between the text and the dimension line + El espacio entre el texto y la línea de cota @@ -3793,7 +3795,7 @@ usando las teclas [ y ] mientras dibuja The spacing between different lines of text - The spacing between different lines of text + El espaciado entre líneas de texto diff --git a/src/Mod/Draft/Resources/translations/Draft_eu.qm b/src/Mod/Draft/Resources/translations/Draft_eu.qm index c0711e18ae..6000d3097e 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_eu.qm and b/src/Mod/Draft/Resources/translations/Draft_eu.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_eu.ts b/src/Mod/Draft/Resources/translations/Draft_eu.ts index 845e28bc48..a56607a5be 100644 --- a/src/Mod/Draft/Resources/translations/Draft_eu.ts +++ b/src/Mod/Draft/Resources/translations/Draft_eu.ts @@ -1089,7 +1089,7 @@ Utzi hutsik sistemaren unitate lehenetsia erabiltzeko. Erabili 'arch' US arku-notazioa behartzeko. - + A list of exclusion points. Any edge touching any of those points will not be drawn. Esklusio-puntuen zerrenda bat. Puntu horietako edozein ukitzen duten ertzak ez dira marraztuko. @@ -1108,22 +1108,25 @@ Erabili 'arch' US arku-notazioa behartzeko. into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_fi.qm b/src/Mod/Draft/Resources/translations/Draft_fi.qm index 2245bc7322..6eee9e03a3 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_fi.qm and b/src/Mod/Draft/Resources/translations/Draft_fi.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_fi.ts b/src/Mod/Draft/Resources/translations/Draft_fi.ts index 9a18cc6048..c4cc745cb6 100644 --- a/src/Mod/Draft/Resources/translations/Draft_fi.ts +++ b/src/Mod/Draft/Resources/translations/Draft_fi.ts @@ -1082,7 +1082,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1101,22 +1101,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_fil.qm b/src/Mod/Draft/Resources/translations/Draft_fil.qm index fe7062f257..ae486bf80a 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_fil.qm and b/src/Mod/Draft/Resources/translations/Draft_fil.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_fil.ts b/src/Mod/Draft/Resources/translations/Draft_fil.ts index a7865160fe..77883e5d5d 100644 --- a/src/Mod/Draft/Resources/translations/Draft_fil.ts +++ b/src/Mod/Draft/Resources/translations/Draft_fil.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_fr.qm b/src/Mod/Draft/Resources/translations/Draft_fr.qm index 05b58b6315..a1ac969eae 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_fr.qm and b/src/Mod/Draft/Resources/translations/Draft_fr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_fr.ts b/src/Mod/Draft/Resources/translations/Draft_fr.ts index 8ec099cdce..1299d61094 100644 --- a/src/Mod/Draft/Resources/translations/Draft_fr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_fr.ts @@ -1085,7 +1085,7 @@ Laisser vide pour la valeur par défaut du système. Utilisez 'arch' pour forcer la notation architecturale US - + A list of exclusion points. Any edge touching any of those points will not be drawn. Liste de points d’exclusion. Une arête touchant l’un de ces points ne sera pas dessinée. @@ -1093,32 +1093,33 @@ Utilisez 'arch' pour forcer la notation architecturale US For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Pour les modes lignes de coupe et coupes, ceci laisse les faces à l'emplacement de la coupe Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Longueur des segments de la ligne si approximation d'ellipses ou de B-splines en ligne de segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Si ceci est vrai, seule la géométrie solide est prise en compte. Ceci écrase la propriété Solides uniquement de l'objet de base - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Si ceci est vrai, les contenus sont coupés aux bordures du plan de coupe, si possible. Ceci écrase la propriété Clip de l'objet de base + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -1466,7 +1467,7 @@ from menu Tools -> Addon Manager Object snapping - Accrochage d'objet + Aimantation aux objets @@ -2906,12 +2907,12 @@ Les formes fermées peuvent être utilisées pour les extrusions et les opérati Show snap toolbar - Afficher la barre d'outils d'accrochage + Afficher la barre d'outils d'aimantation Show the snap toolbar if it is hidden. - Afficher la barre d'outils d'accrochage si elle est cachée. + Afficher la barre d'outils d'aimantation si elle est cachée. @@ -2958,7 +2959,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to points in a circular arc located at multiples of 30 and 45 degree angles. - Paramétrer l’accrochage sur des points, dans un arc circulaire, situés à des multiples d’angles de 30 et 45 degrés. + Paramétrer l’aimantation sur des points, dans un arc circulaire, situés à des multiples d’angles de 30 et 45 degrés. @@ -2971,7 +2972,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to the center of a circular arc. - Fixer l'accrochage au centre d'un arc circulaire. + Définir l'aimantation au centre d'un arc de cercle. @@ -2984,7 +2985,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Show temporary linear dimensions when editing an object and using other snapping methods. - Afficher les cotes linéaires temporaires lors de l'édition d'un objet et de l'utilisation d'autres méthodes d'accrochage. + Afficher les cotes linéaires temporaires lors de l'édition d'un objet et de l'utilisation d'autres méthodes d'aimantation. @@ -2997,7 +2998,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to endpoints of an edge. - Paramétrer l'accrochage aux extrémités d'une arête. + Définir l'aimantation aux extrémités d'une arête. @@ -3010,7 +3011,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to the extension of an edge. - Définir l'accrochage aux prolongement d'une arête. + Définir l'aimantation aux prolongement d'une arête. @@ -3023,7 +3024,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to the intersection of grid lines. - Définir l’accrochage à l’intersection des lignes de la grille. + Définir l’aimantation à l’intersection des lignes de la grille. @@ -3036,7 +3037,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to the intersection of edges. - Paramétrer l’accrochage à l’intersection des arêtes. + Définir l’aimantation à l’intersection d'arêtes. @@ -3044,12 +3045,12 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Main snapping toggle On/Off - Active/Désactive l'accrochage principal + Active/Désactive l'aimantation générale Activates or deactivates all snap methods at once. - Active ou désactive toutes les méthodes d’accrochage en même temps. + Active ou désactive toutes les méthodes d’aimantation en même temps. @@ -3062,7 +3063,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to the midpoint of an edge. - Paramétrer l'accrochage au point milieu d'une arête. + Définir l'aimantation au milieu d'une arête. @@ -3075,7 +3076,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to the nearest point of an edge. - Paramétrer l'accrochage au point le plus proche d'une arête. + Définir l'aimantation au point le plus proche d'une arête. @@ -3088,7 +3089,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to a direction that is a multiple of 45 degrees from a point. - Paramétrer l'accrochage dans une direction qui est un multiple de 45 degrés à partir d'un point. + Définir l'aimantation à une direction multiple de 45 degrés à partir d'un point. @@ -3101,7 +3102,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to a direction that is parallel to an edge. - Paramétrer l'accrochage dans une direction parallèle à une arête. + Définir l'aimantation dans une direction parallèle à une arête. @@ -3114,7 +3115,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to a direction that is perpendicular to an edge. - Paramétrer l'accrochage dans une direction perpendiculaire à une arête. + Définir l'aimantation dans une direction perpendiculaire à une arête. @@ -3127,7 +3128,7 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Set snapping to the special points defined inside an object. - Paramétrer l'accrochage sur les points spéciaux définis à l'intérieur d'un objet. + Définir l'aimantation sur les points spéciaux définis à l'intérieur d'un objet. @@ -3142,8 +3143,8 @@ les lignes droites Draft qui sont dessinées dans le plan XY. Les objets sélect Restricts snapping to a point in the current working plane. If you select a point outside the working plane, for example, by using other snapping methods, it will snap to that point's projection in the current working plane. - Restreint l'accrochage à un point dans le plan de travail actuel. -Si vous sélectionnez un point en dehors du plan de travail, par exemple, en utilisant d'autres méthodes d'accrochage, + Restreint l'aimantation à un point dans le plan de travail actuel. +Si vous sélectionnez un point en dehors du plan de travail, par exemple, en utilisant d'autres méthodes d'aimantation, il s'alignera sur la projection de ce point dans le plan de travail actuel. @@ -3204,7 +3205,7 @@ puis tracez une ligne pour spécifier la distance et la direction de l'étiremen Creates a multi-line annotation. CTRL to snap. - Crée une annotation multiligne. CTRL pour accrocher. + Crée une annotation multi-ligne. CTRL pour aimanter. @@ -3281,7 +3282,7 @@ Ceci est destiné à être utilisé avec des formes fermées et des solides, et Trims or extends the selected object, or extrudes single faces. CTRL snaps, SHIFT constrains to current segment or to normal, ALT inverts. Ajuste ou étend l'objet sélectionné, ou extrude des faces uniques. -CTRL pour accrocher, SHIFT pour contraindre au segment actuel ou à la normale, ALT pour inverser. +CTRL pour aimanter, SHIFT pour contraindre au segment actuel ou à la normale, ALT pour inverser. @@ -3326,7 +3327,7 @@ convertir les bords fermés en faces remplies et en polygones paramétriques, et Creates a multiple-points line (polyline). CTRL to snap, SHIFT to constrain. - Crée une ligne à plusieurs points (polyligne). CTRL pour accrocher, SHIFT pour contraindre. + Crée une ligne brisée (polyligne). CTRL pour aimanter, SHIFT pour contraindre. @@ -3483,14 +3484,14 @@ sera déplacé au centre de la vue The distance at which a point can be snapped to when approaching the mouse. You can also change this value by using the [ and ] keys while drawing - La distance à laquelle un point peut être accroché + La distance à laquelle un point peut être aimanté en approchant la souris. Vous pouvez également modifier cette valeur en utilisant les touches [ et ] lors du dessin Snapping radius - Rayon d'accrochage + Rayon d'aimantation @@ -3775,7 +3776,7 @@ en utilisant les touches [ et ] lors du dessin The space between the text and the dimension line - The space between the text and the dimension line + L'espace entre le texte et la ligne de cote @@ -3785,7 +3786,7 @@ en utilisant les touches [ et ] lors du dessin The spacing between different lines of text - The spacing between different lines of text + L'écartement entre les différentes lignes de texte @@ -4089,12 +4090,12 @@ comme "Arial:Bold" If this is checked, snapping is activated without the need to press the snap mod key - Si cette case est cochée, l’ancrage est actif sans avoir à presser la touche du mode ancrage + Si cette case est cochée, l’aimantation est active sans avoir à presser la touche du mode aimantation Always snap (disable snap mod) - Toujours ancré (désactiver le mode ancrage) + Toujours aimanté (désactive le mode d'aimantation) @@ -4329,7 +4330,7 @@ comme "Arial:Bold" Grid and snapping - Grille et ancrage + Grille et aimantation @@ -4509,7 +4510,7 @@ comme "Arial:Bold" The default color for snap symbols - Couleur par défaut pour les accrochages + Couleur par défaut pour les symboles d'aimantation @@ -4761,7 +4762,7 @@ Les valeurs ayant des différences inférieures à cette valeur sont considéré Snap - Accroche + Aimantation @@ -4895,12 +4896,12 @@ Notez que ce n'est pas entièrement supporté et que de nombreux objets ne seron Enable snap statusbar widget - Activer le widget d'accrochage dans la barre d'état + Activer le widget d'aimantation dans la barre d'état Draft snap widget - Widget d'accrochage Draft + Widget d'aimantation Draft @@ -5224,7 +5225,7 @@ Remarque : l’exportateur C++ est plus rapide, mais n'est pas encore aussi fon Draft Snap - Accrochage Draft + Aimantation Draft @@ -5564,17 +5565,17 @@ To enabled FreeCAD to download these libraries, answer Yes. Snap On/Off - Fermoir On/Off + Aimantation On/Off Increase snap radius - Augmenter le rayon d'accrochage + Augmenter le rayon d'aimantation Decrease snap radius - Augmenter le rayon d'accrochage + Diminuer le rayon d'aimantation @@ -5599,7 +5600,7 @@ To enabled FreeCAD to download these libraries, answer Yes. Add custom snap point - Ajouter un point d’accrochage personnalisé + Ajouter un point d’aimantation personnalisé @@ -5619,7 +5620,7 @@ To enabled FreeCAD to download these libraries, answer Yes. Cycle snap object - Alterner entre différents accrochages + Alterner entre différentes aimantation @@ -5724,7 +5725,7 @@ To enabled FreeCAD to download these libraries, answer Yes. Toggle near snap on/off - Activer ou désactiver l'accrochage de proximité + Activer ou désactiver l'aimantation de proximité @@ -6705,17 +6706,17 @@ To enabled FreeCAD to download these libraries, answer Yes. Main toggle snap - Basculer l'accrochage principal + Basculer l'aimantation générale Midpoint snap - Accrochage au milieu + Aimantation au milieu Perpendicular snap - Accrochage perpendiculaire + Aimantation perpendiculaire @@ -6725,17 +6726,17 @@ To enabled FreeCAD to download these libraries, answer Yes. Intersection snap - Accrochage d'intersection + Aimantation d'intersection Parallel snap - Accrochage parallèle + Aimantation parallèle Endpoint snap - Accrochage du point d'extrémité + Aimantation au point d'extrémité @@ -6745,27 +6746,27 @@ To enabled FreeCAD to download these libraries, answer Yes. Arc center snap - Accrochage au centre de l'arc + Aimantation au centre d'arc Edge extension snap - Accrochage de l'extension d'arête + Aimantation à l'extension d'arête Near snap - Près de l'accrochage + Aimantation de proximité Orthogonal snap - Accrochage orthogonal + Aimantation orthogonal Special point snap - Accrochage de points spéciaux + Aimantation aux points spéciaux @@ -6780,7 +6781,7 @@ To enabled FreeCAD to download these libraries, answer Yes. Show snap toolbar - Afficher la barre d'outils d'accrochage + Afficher la barre d'outils d'aimantation diff --git a/src/Mod/Draft/Resources/translations/Draft_gl.qm b/src/Mod/Draft/Resources/translations/Draft_gl.qm index bc004a6358..671cd1f1fd 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_gl.qm and b/src/Mod/Draft/Resources/translations/Draft_gl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_gl.ts b/src/Mod/Draft/Resources/translations/Draft_gl.ts index e8891d817c..dba0ac619b 100644 --- a/src/Mod/Draft/Resources/translations/Draft_gl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_gl.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_hr.qm b/src/Mod/Draft/Resources/translations/Draft_hr.qm index f1e746beae..efa8271ac1 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_hr.qm and b/src/Mod/Draft/Resources/translations/Draft_hr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_hr.ts b/src/Mod/Draft/Resources/translations/Draft_hr.ts index 522ae41739..a642da8637 100644 --- a/src/Mod/Draft/Resources/translations/Draft_hr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_hr.ts @@ -1091,7 +1091,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1110,22 +1110,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_hu.qm b/src/Mod/Draft/Resources/translations/Draft_hu.qm index a3c988f8e1..95b6d4a461 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_hu.qm and b/src/Mod/Draft/Resources/translations/Draft_hu.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_hu.ts b/src/Mod/Draft/Resources/translations/Draft_hu.ts index b7cdca1136..d3bb9db097 100644 --- a/src/Mod/Draft/Resources/translations/Draft_hu.ts +++ b/src/Mod/Draft/Resources/translations/Draft_hu.ts @@ -670,7 +670,7 @@ Ez a tulajdonság csak olvasható, mert a szám a 'Pont tárgy' pontjaitól füg If these are present, the copies will be created along these subelements only. Leave this property empty to create copies along the entire 'Path Object'. A 'Görbe tárgy' csatlakoztatott éleinek listája. -Ha léteznek, a másolatok csak ezen alelemek mentén jönnek létre. +Ha léteznek, a másolatok csak ezen al-elemek mentén jönnek létre. Hagyja üresen ezt a tulajdonságot, hogy másolatot készítsen a teljes 'Görbe tárgy' mentén. @@ -1090,7 +1090,7 @@ Hagyja üresen a rendszer alapértelmezetthez. Használja az 'arch' kifejezést amerikai US arch jelölésének kikényszerítésére - + A list of exclusion points. Any edge touching any of those points will not be drawn. A kizárási pontok listája. A pontok bármelyikét érintő élek nem kerülnek kisorsolásra. @@ -1098,32 +1098,35 @@ Használja az 'arch' kifejezést amerikai US arch jelölésének kikényszerít For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Szakaszvonal- és szakaszfelületi üzemmódoknál + ez a felületeket vágási helyzetben hagyja Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + A vonalszakaszok hossza ellipszisek vagy B-görbék után + vonalszakaszokká alakítható - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Ha ez igaz, csak szilárd geometriát kezelünk. Ez felülírja az alaptárgy Csak szilárd anyagok tulajdonságát - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Ha igaz, a tartalom adott esetben a szakaszsík határaira vágott. Ez felülírja az alapobjektum vágási tulajdonságát - Clip + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -1646,7 +1649,7 @@ Az elrendezés merőleges vagy poláris elrendezésre alakítható a típus megv Offset direction is not defined. Please move the mouse on either side of the object first to indicate a direction - Az eltolás iránya nem meghatérozott. Először mozgassa az egeret a tárgy egyik oldalára, hogy meghatározza az irányt + Az eltolás iránya nem meghatározott. Először mozgassa az egeret a tárgy egyik oldalára, hogy meghatározza az irányt @@ -3781,7 +3784,7 @@ módosíthatja rajzolás közben The space between the text and the dimension line - The space between the text and the dimension line + A szöveg- és a méretvonal távolsága @@ -3791,7 +3794,7 @@ módosíthatja rajzolás közben The spacing between different lines of text - The spacing between different lines of text + A különböző szövegsorok közötti térköz diff --git a/src/Mod/Draft/Resources/translations/Draft_id.qm b/src/Mod/Draft/Resources/translations/Draft_id.qm index 0caee94bff..bf94b1b72b 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_id.qm and b/src/Mod/Draft/Resources/translations/Draft_id.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_id.ts b/src/Mod/Draft/Resources/translations/Draft_id.ts index c6dd33442f..0eea8e7b26 100644 --- a/src/Mod/Draft/Resources/translations/Draft_id.ts +++ b/src/Mod/Draft/Resources/translations/Draft_id.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_it.qm b/src/Mod/Draft/Resources/translations/Draft_it.qm index 6d163f7692..047a629f8e 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_it.qm and b/src/Mod/Draft/Resources/translations/Draft_it.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_it.ts b/src/Mod/Draft/Resources/translations/Draft_it.ts index 664a5a4cde..f517e2394e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_it.ts +++ b/src/Mod/Draft/Resources/translations/Draft_it.ts @@ -1065,7 +1065,7 @@ beyond the dimension line Rotation factor of the twisted array. - Rotation factor of the twisted array. + Fattore di rotazione dell'array attorcigliato. @@ -1082,7 +1082,7 @@ Lasciare vuoto per il sistema predefinito. Usare 'arch' per forzare la notazione dell'arco statunitense - + A list of exclusion points. Any edge touching any of those points will not be drawn. Un elenco di punti di esclusione. Qualsiasi bordo che tocca uno di questi punti non sarà disegnato. @@ -1090,32 +1090,34 @@ Usare 'arch' per forzare la notazione dell'arco statunitense For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Per le modalità Cutlines e Cutfaces, + questo lascia le facce nella posizione di taglio Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Lunghezza dei segmenti di linea per tassellare ellissi o B-spline - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Se questo è vero, viene gestita solo la geometria solida. Questo sovrascrive la proprietà Solidi dell'oggetto base - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Se questo è vero, i contenuti vengono ritagliati ai bordi del piano di sezione, se applicabile. Questo sovrascrive la proprietà Clip dell'oggetto base + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -1663,7 +1665,7 @@ La Serie può essere trasformata in una serie polare o circolare cambiandone il Warning - Warning + Attenzione @@ -3775,7 +3777,7 @@ utilizzando i tasti [ e ] durante il disegno The space between the text and the dimension line - The space between the text and the dimension line + La spaziatura tra il testo e la linea di quota @@ -3785,7 +3787,7 @@ utilizzando i tasti [ e ] durante il disegno The spacing between different lines of text - The spacing between different lines of text + La spaziatura tra le righe del testo @@ -7409,37 +7411,37 @@ Not available if Draft preference option 'Use Part Primitives' is enabled Local u0394X - Local u0394X + Locale u0394X Local u0394Y - Local u0394Y + Locale u0394Y Local u0394Z - Local u0394Z + Locale u0394Z Global u0394X - Global u0394X + Globale u0394X Global u0394Y - Global u0394Y + Globale u0394Y Global u0394Z - Global u0394Z + Globale u0394Z Autogroup: - Autogroup: + Auto-gruppo: @@ -7480,7 +7482,7 @@ Not available if Draft preference option 'Use Part Primitives' is enabled Selected Shapes must define a plane - Selected Shapes must define a plane + Le forme selezionate devono definire un piano diff --git a/src/Mod/Draft/Resources/translations/Draft_ja.qm b/src/Mod/Draft/Resources/translations/Draft_ja.qm index 170ad61047..9a7f922f86 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ja.qm and b/src/Mod/Draft/Resources/translations/Draft_ja.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ja.ts b/src/Mod/Draft/Resources/translations/Draft_ja.ts index f971aca6e7..38c628ad26 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ja.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ja.ts @@ -1075,7 +1075,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1094,22 +1094,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_kab.qm b/src/Mod/Draft/Resources/translations/Draft_kab.qm index b5e1004937..07a7d30ab2 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_kab.qm and b/src/Mod/Draft/Resources/translations/Draft_kab.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_kab.ts b/src/Mod/Draft/Resources/translations/Draft_kab.ts index 6ec5d224ed..ccd344dd71 100644 --- a/src/Mod/Draft/Resources/translations/Draft_kab.ts +++ b/src/Mod/Draft/Resources/translations/Draft_kab.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_ko.qm b/src/Mod/Draft/Resources/translations/Draft_ko.qm index e04e32b4c6..0f4ad1c7b1 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ko.qm and b/src/Mod/Draft/Resources/translations/Draft_ko.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ko.ts b/src/Mod/Draft/Resources/translations/Draft_ko.ts index c98afc95d1..fad217b6f4 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ko.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ko.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_lt.qm b/src/Mod/Draft/Resources/translations/Draft_lt.qm index e4d57ce42d..7244841b45 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_lt.qm and b/src/Mod/Draft/Resources/translations/Draft_lt.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_lt.ts b/src/Mod/Draft/Resources/translations/Draft_lt.ts index 4f41b71199..f14a24d291 100644 --- a/src/Mod/Draft/Resources/translations/Draft_lt.ts +++ b/src/Mod/Draft/Resources/translations/Draft_lt.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_nl.qm b/src/Mod/Draft/Resources/translations/Draft_nl.qm index 271587a65b..c79fd7632a 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_nl.qm and b/src/Mod/Draft/Resources/translations/Draft_nl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_nl.ts b/src/Mod/Draft/Resources/translations/Draft_nl.ts index b6ea344d81..08ccbde2b8 100644 --- a/src/Mod/Draft/Resources/translations/Draft_nl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_nl.ts @@ -1089,7 +1089,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1097,32 +1097,35 @@ Use 'arch' to force US arch notation For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Voor snijvlak- en kniplijn-modi, + laat dit de vlakken achter op de snijlocatie Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Lengte van lijnsegmenten bij betegelen van Ellipsen of B-splines + naar lijnsegmenten - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Als dit Waar is, wordt alleen ruimtelijke geometrie gebruikt. Dit is overschrijft over de Alleen Ruimtelijke Geometrie-eigenschap van het basisobject - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Als dit Waar is, wordt de inhoud afgesneden aan de randen van het sectievlak, indien van toepassing. Dit overschrijft de Uitgeknipt eigenschap van het basisobject + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -3781,7 +3784,7 @@ waarde ook wijzigen door de [ and ] sleutels te gebruiken tijdens het tekenen The space between the text and the dimension line - The space between the text and the dimension line + De afstand tussen de tekst en de maatlijn @@ -3791,7 +3794,7 @@ waarde ook wijzigen door de [ and ] sleutels te gebruiken tijdens het tekenen The spacing between different lines of text - The spacing between different lines of text + De afstand tussen twee regels tekst diff --git a/src/Mod/Draft/Resources/translations/Draft_no.qm b/src/Mod/Draft/Resources/translations/Draft_no.qm index 89bffa2e31..b344ac85fd 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_no.qm and b/src/Mod/Draft/Resources/translations/Draft_no.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_no.ts b/src/Mod/Draft/Resources/translations/Draft_no.ts index 3b3267db5e..cc678f666b 100644 --- a/src/Mod/Draft/Resources/translations/Draft_no.ts +++ b/src/Mod/Draft/Resources/translations/Draft_no.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_pl.qm b/src/Mod/Draft/Resources/translations/Draft_pl.qm index c98b9c6979..ac584ba681 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_pl.qm and b/src/Mod/Draft/Resources/translations/Draft_pl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_pl.ts b/src/Mod/Draft/Resources/translations/Draft_pl.ts index 17454ca7bf..1ff4a9b006 100644 --- a/src/Mod/Draft/Resources/translations/Draft_pl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_pl.ts @@ -103,7 +103,7 @@ Pozostaw tę właściwość pustą, aby móc ustawić " Oś" i "Środek" ręczni Distance and orientation of intervals in 'Axis' direction - Odległość i orientacja przedziałów w kierunku 'osi' + Odległość i orientacja przedziałów w kierunku "osi" @@ -134,8 +134,8 @@ Pozostaw tę właściwość pustą, aby móc ustawić " Oś" i "Środek" ręczni Total number of elements in the array. This property is read-only, as the number depends on the parameters of the array. - Całkowita liczba elementów w tablicy. -Ta właściwość jest tylko do odczytu, ponieważ liczba zależy od parametrów tablicy. + Całkowita liczba elementów w szyku. +Ta właściwość jest tylko do odczytu, ponieważ liczba zależy od parametrów szyku. @@ -217,8 +217,8 @@ są mierzone przez ten obiekt wymiaru. Istnieją różne możliwości: - Obiekt i jedna z jego krawędzi. -- Obiekt i dwa wierzchołki. -- Obiekt łuku i jego krawędź. +- Obiekt i dwa jego wierzchołki. +- Obiekt łukowy i jego krawędź. @@ -359,7 +359,7 @@ Jest to lista ciągów; każdy element na liście będzie wyświetlany w osobnej Number of faces - Liczba płaszczyzn + Liczba ścian @@ -457,7 +457,7 @@ w zależności od wartości "kierunek na wprost". The placement of the 'Text' element in 3D space - Umieszczenie elementu "Tekst" w przestrzeni 3D + Umiejscowienie elementu "Tekst" w przestrzeni 3D @@ -588,7 +588,7 @@ Tą właściwość można tylko przeglądać, ponieważ ilość jest zależna od Show hidden lines - Pokaż ukryte linie + Pokaż niewidoczne linie szwów @@ -1087,7 +1087,7 @@ Pozostaw puste dla systemowych ustawień domyślnych.. Użyj "arch", aby wymusić notację architektoniczną amerykańską - + A list of exclusion points. Any edge touching any of those points will not be drawn. Lista punktów wykluczenia. Każda krawędź dotykająca któregokolwiek z tych punktów nie zostanie narysowana. @@ -1095,32 +1095,35 @@ Użyj "arch", aby wymusić notację architektoniczną amerykańską For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + W trybach Linie cięcia i Powierzchnie cięcia + pozostawia płaszczyzny w miejscu cięcia Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Długość segmentów linii w przypadku rozdrobnienia elipsy lub linii złożonych + w segmenty linii - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Jeśli parametr ma wartość Prawda, obsługiwana jest tylko geometria bryłowa. Zastępuje to właściwość obiektu bazowego - Tylko bryły - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Jeśli parametr ma wartość Prawda, zawartość jest przycinana do granic płaszczyzny przekroju, jeśli ma to zastosowanie. Nadpisuje to właściwość obiektu bazowego - Clip + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -1465,7 +1468,7 @@ z menu Przybory -> Menedżer dodatków Toggles Grid On/Off - Włącz/wyłącz siatkę + Włącz / wyłącz wyświetlanie siatki @@ -1475,17 +1478,17 @@ z menu Przybory -> Menedżer dodatków Toggles Visual Aid Dimensions On/Off - Włącz/wyłącz wizualną pomoc wymiarów + Włącz / wyłącz wizualną pomoc dla wymiarów Toggles Ortho On/Off - Włącz/wyłącz Tryb ortogonalny + Włącz / wyłącz tryb ortogonalny Toggles Constrain to Working Plane On/Off - Przełącza wiązanie do płaszczyzny roboczej włącz / wyłącz + Włącz / wyłącz wiązanie do płaszczyzny roboczej @@ -2945,7 +2948,7 @@ prostych linii projektowych, które są rysowane w płaszczyźnie XY. Wybrane ob Toggles Grid On/Off - Włącz/wyłącz siatkę + Włącz / wyłącz wyświetlanie siatki @@ -3782,7 +3785,7 @@ używając klawisza [ i ] podczas rysowania The space between the text and the dimension line - The space between the text and the dimension line + Odstęp między tekstem a linią wymiarową @@ -3792,7 +3795,7 @@ używając klawisza [ i ] podczas rysowania The spacing between different lines of text - The spacing between different lines of text + Odstępy między poszczególnymi wierszami tekstu @@ -6518,7 +6521,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Create ShapeString - Utwórz ciąg kształtów + Utwórz kształt z tekstu diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm b/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm index cf143da735..5ee8cc27bf 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm and b/src/Mod/Draft/Resources/translations/Draft_pt-BR.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts b/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts index 4fe4c6a18f..662407acea 100644 --- a/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts +++ b/src/Mod/Draft/Resources/translations/Draft_pt-BR.ts @@ -1086,7 +1086,7 @@ Deixe em branco para o padrão do sistema. Use 'arch' para forçar a notação de arco dos EUA - + A list of exclusion points. Any edge touching any of those points will not be drawn. Uma lista de pontos de exclusão. Qualquer aresta que toque em algum desses pontos não será desenhada. @@ -1101,26 +1101,29 @@ Use 'arch' para forçar a notação de arco dos EUA Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Comprimento de segmentos de linha se existir tesselação de Elipses ou Bsplines + em segmentos de linha - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm b/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm index 62fb014d25..b7256fcdc0 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm and b/src/Mod/Draft/Resources/translations/Draft_pt-PT.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts b/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts index 6a4a801d9f..254e1762bb 100644 --- a/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts +++ b/src/Mod/Draft/Resources/translations/Draft_pt-PT.ts @@ -1089,7 +1089,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. Uma lista de pontos de exclusão. Qualquer aresta que toque em qualquer um desses pontos não será desenhada. @@ -1108,22 +1108,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_ro.qm b/src/Mod/Draft/Resources/translations/Draft_ro.qm index 6ff997930e..7e2ae4eab9 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ro.qm and b/src/Mod/Draft/Resources/translations/Draft_ro.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ro.ts b/src/Mod/Draft/Resources/translations/Draft_ro.ts index f20d3fbf83..9b8233e876 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ro.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ro.ts @@ -1090,7 +1090,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1109,22 +1109,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_ru.qm b/src/Mod/Draft/Resources/translations/Draft_ru.qm index 5bcb0f93e1..cf90922225 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_ru.qm and b/src/Mod/Draft/Resources/translations/Draft_ru.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_ru.ts b/src/Mod/Draft/Resources/translations/Draft_ru.ts index 9b6e856601..78226f29a3 100644 --- a/src/Mod/Draft/Resources/translations/Draft_ru.ts +++ b/src/Mod/Draft/Resources/translations/Draft_ru.ts @@ -809,8 +809,8 @@ Otherwise the copies will have the same orientation as the original Base object. If Clones includes several objects, set True for fusion or False for compound - If Clones includes several objects, -set True for fusion or False for compound + Если клоны включают несколько объектов, +установите истина для слияния или ложь для соединения @@ -842,7 +842,7 @@ they will only be editable by changing the style through the 'Annotation style e The base object is the wire, it's formed from 2 objects - The base object is the wire, it's formed from 2 objects + Базовым объектом является ломаная, состоящая из 2 объектов @@ -1085,7 +1085,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. Список точек исключения. Любое ребро коснувшееся любой из этих точек не будет рисоваться. @@ -1093,32 +1093,34 @@ Use 'arch' to force US arch notation For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Для режимов обрезки линий и обрезки граней, + это оставляет грани в месте разрезания Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Длина сегментов линии при тесселяции Эллипсов или B-Сплайнов в линейные сегменты - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Если это истина, обрабатывается только твердотельная геометрия. Это переопределяет свойство только твердое тело базового объекта - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Если это истина, содержимое обрезается по границам плоскости сечения, если применимо. Это переопределяет свойство срез базового объекта + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -1466,7 +1468,7 @@ from menu Tools -> Addon Manager Object snapping - Object snapping + Привязка к объекту @@ -3771,7 +3773,7 @@ value by using the [ and ] keys while drawing The space between the text and the dimension line - The space between the text and the dimension line + Расстояние между текстом и размерной линией @@ -3781,7 +3783,7 @@ value by using the [ and ] keys while drawing The spacing between different lines of text - The spacing between different lines of text + Межстрочный интервал в тексте diff --git a/src/Mod/Draft/Resources/translations/Draft_sk.qm b/src/Mod/Draft/Resources/translations/Draft_sk.qm index ba2869020d..d87d6eb184 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sk.qm and b/src/Mod/Draft/Resources/translations/Draft_sk.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sk.ts b/src/Mod/Draft/Resources/translations/Draft_sk.ts index f6a843d9b8..f8f18b5136 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sk.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sk.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_sl.qm b/src/Mod/Draft/Resources/translations/Draft_sl.qm index 8a9f93d046..4ec97e3367 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sl.qm and b/src/Mod/Draft/Resources/translations/Draft_sl.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sl.ts b/src/Mod/Draft/Resources/translations/Draft_sl.ts index 290f94f656..b5820c744e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sl.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sl.ts @@ -1087,7 +1087,7 @@ Use 'arch' to force US arch notation Če želite vsiliti anglosaški arhitekturni zapis, uporabite "arch" - + A list of exclusion points. Any edge touching any of those points will not be drawn. Seznam izključujočih točk. Katerikoli rob bi se dotaknil teh točk, ne bo izrisan. @@ -1095,32 +1095,35 @@ Use 'arch' to force US arch notation For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Za načine prereznic in prereznih ploskev, + to pušča ploskve na mestu rezanja Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + Dolžina ravnih odsekov, če se na njih razdeli elipse ali B-zlepke + - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + Če drži, potem se obravnava le telesne geometrije. To povozi lastnost "Le telesa" osnovnega predmeta - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + Če drži, je vsebina rezana do robov prerezne ravnine v primeru izvedljivosti. To povozi lastnost "Zamejitev" osnovnega predmeta + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -3777,7 +3780,7 @@ risanjem spremenite s tipkama [ in ] The space between the text and the dimension line - The space between the text and the dimension line + Razmik med besedilom in kotirnico @@ -3787,7 +3790,7 @@ risanjem spremenite s tipkama [ in ] The spacing between different lines of text - The spacing between different lines of text + Razmik med različnimi vrsticami besedila diff --git a/src/Mod/Draft/Resources/translations/Draft_sr.qm b/src/Mod/Draft/Resources/translations/Draft_sr.qm index e7367795b7..4f76acdb95 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sr.qm and b/src/Mod/Draft/Resources/translations/Draft_sr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sr.ts b/src/Mod/Draft/Resources/translations/Draft_sr.ts index a82daaddcb..895cbe09e4 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sr.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm b/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm index 42ff942209..58a7ea2e1b 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm and b/src/Mod/Draft/Resources/translations/Draft_sv-SE.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts b/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts index ca562803df..7990cce967 100644 --- a/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts +++ b/src/Mod/Draft/Resources/translations/Draft_sv-SE.ts @@ -1087,7 +1087,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1106,22 +1106,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_tr.qm b/src/Mod/Draft/Resources/translations/Draft_tr.qm index 18bee0a801..5ea23b227c 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_tr.qm and b/src/Mod/Draft/Resources/translations/Draft_tr.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_tr.ts b/src/Mod/Draft/Resources/translations/Draft_tr.ts index 212c0c9699..1e99b8192e 100644 --- a/src/Mod/Draft/Resources/translations/Draft_tr.ts +++ b/src/Mod/Draft/Resources/translations/Draft_tr.ts @@ -1088,7 +1088,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1107,22 +1107,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_uk.qm b/src/Mod/Draft/Resources/translations/Draft_uk.qm index 44cf383a56..5f22a2cdb7 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_uk.qm and b/src/Mod/Draft/Resources/translations/Draft_uk.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_uk.ts b/src/Mod/Draft/Resources/translations/Draft_uk.ts index 1e1c794c7c..20a57d3231 100644 --- a/src/Mod/Draft/Resources/translations/Draft_uk.ts +++ b/src/Mod/Draft/Resources/translations/Draft_uk.ts @@ -1089,7 +1089,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1097,8 +1097,7 @@ Use 'arch' to force US arch notation For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + Для режимів обрізки ліній та обрізки граней це залишає грані в місці вирізу @@ -1108,22 +1107,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_val-ES.qm b/src/Mod/Draft/Resources/translations/Draft_val-ES.qm index 65885ec26a..d69eac0603 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_val-ES.qm and b/src/Mod/Draft/Resources/translations/Draft_val-ES.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_val-ES.ts b/src/Mod/Draft/Resources/translations/Draft_val-ES.ts index 9db85ea865..92d2a7bcb0 100644 --- a/src/Mod/Draft/Resources/translations/Draft_val-ES.ts +++ b/src/Mod/Draft/Resources/translations/Draft_val-ES.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_vi.qm b/src/Mod/Draft/Resources/translations/Draft_vi.qm index b7e061845f..76915af4c5 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_vi.qm and b/src/Mod/Draft/Resources/translations/Draft_vi.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_vi.ts b/src/Mod/Draft/Resources/translations/Draft_vi.ts index f7d3bfafe0..84374a2e38 100644 --- a/src/Mod/Draft/Resources/translations/Draft_vi.ts +++ b/src/Mod/Draft/Resources/translations/Draft_vi.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm b/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm index 315a4c2e4f..15f6e3f168 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm and b/src/Mod/Draft/Resources/translations/Draft_zh-CN.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts b/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts index 983bc2db78..53af95817f 100644 --- a/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts +++ b/src/Mod/Draft/Resources/translations/Draft_zh-CN.ts @@ -616,12 +616,12 @@ This property is read-only, as the number depends on the points contained within Minor radius of the ellipse - Minor radius of the ellipse + 椭圆的短半径 Major radius of the ellipse - Major radius of the ellipse + 椭圆的长半径 @@ -631,12 +631,12 @@ This property is read-only, as the number depends on the points contained within The points of the Bezier curve - The points of the Bezier curve + 贝塞尔曲线的点 The degree of the Bezier function - The degree of the Bezier function + 贝塞尔函数的次数 @@ -646,17 +646,17 @@ This property is read-only, as the number depends on the points contained within If the Bezier curve should be closed or not - If the Bezier curve should be closed or not + 贝塞尔曲线是封闭的还是开放的 Create a face if this curve is closed - Create a face if this curve is closed + 如果曲线闭合, 则创建一个面 The length of this object - The length of this object + 此对象的高度 @@ -894,7 +894,7 @@ they will only be editable by changing the style through the 'Annotation style e Rotate the dimension text 180 degrees - Rotate the dimension text 180 degrees + 将尺寸文本旋转 180 度 @@ -933,7 +933,7 @@ Write '$dim' so that it is replaced by the dimension length. Rotate the dimension arrows 180 degrees - Rotate the dimension arrows 180 degrees + 尺寸箭头旋转 180 度 @@ -1089,7 +1089,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1097,32 +1097,35 @@ Use 'arch' to force US arch notation For Cutlines and Cutfaces modes, this leaves the faces at the cut location - For Cutlines and Cutfaces modes, - this leaves the faces at the cut location + 对于剪切线和剪切板模式, + 这将把面留在切割位置上 Length of line segments if tessellating Ellipses or B-splines into line segments - Length of line segments if tessellating Ellipses or B-splines - into line segments + 镶嵌椭圆或 B 样条时的线段长度 + 成线段 - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - If this is True, only solid geometry is handled. This overrides the base object's Only Solids property + 如果这是真的,只处理固体几何形状。这将覆盖基础对象的唯一固存属性 - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property - If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + 如果这是真的,内容将被剪切到部分平面的边框,如果适用,这将覆盖基础对象的片段属性 + + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. @@ -2233,8 +2236,8 @@ to polar or circular, and its properties can be modified. Creates an N-degree Bezier curve. The more points you pick, the higher the degree. CTRL to snap, SHIFT to constrain. - Creates an N-degree Bezier curve. The more points you pick, the higher the degree. -CTRL to snap, SHIFT to constrain. + 创建一个 N 次贝塞尔曲线。您选择的点数越多,次数越高。 +按CTRL以捕捉,按SHIFT以约束。 @@ -2305,9 +2308,9 @@ The resulting clone can be scaled in each of its three directions. Creates a Bezier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. After the curve is created you can go back to edit each control point and set the properties of each knot. CTRL to snap, SHIFT to constrain. - Creates a Bezier curve made of 2nd degree (quadratic) and 3rd degree (cubic) segments. Click and drag to define each segment. -After the curve is created you can go back to edit each control point and set the properties of each knot. -CTRL to snap, SHIFT to constrain. + 创建一个二次(平方)和三次(立方)的贝塞尔曲线。点击并拖动来定义每段。 +在曲线创建后,您可以返回编辑每个控制点并设置每个节点的属性。 +按CTRL以捕捉,按SHIFT以约束. @@ -2963,7 +2966,7 @@ straight Draft lines that are drawn in the XY plane. Selected objects that aren' Set snapping to points in a circular arc located at multiples of 30 and 45 degree angles. - Set snapping to points in a circular arc located at multiples of 30 and 45 degree angles. + 设置捕捉到圆弧中位于角度30和45度的点。 @@ -3781,7 +3784,7 @@ value by using the [ and ] keys while drawing The space between the text and the dimension line - The space between the text and the dimension line + 文本和尺寸线之间的间距 @@ -3791,7 +3794,7 @@ value by using the [ and ] keys while drawing The spacing between different lines of text - The spacing between different lines of text + 文本线条之间的间距 @@ -6753,7 +6756,7 @@ https://github.com/yorikvanhavre/Draft-dxf-importer Angle snap (30 and 45 degrees) - Angle snap (30 and 45 degrees) + 角度捕捉(30和45度) diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm b/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm index f1467706b7..f42e8a5a05 100644 Binary files a/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm and b/src/Mod/Draft/Resources/translations/Draft_zh-TW.qm differ diff --git a/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts b/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts index e6a5afd87e..22e38a8290 100644 --- a/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts +++ b/src/Mod/Draft/Resources/translations/Draft_zh-TW.ts @@ -1092,7 +1092,7 @@ Leave blank for system default. Use 'arch' to force US arch notation - + A list of exclusion points. Any edge touching any of those points will not be drawn. A list of exclusion points. Any edge touching any of those points will not be drawn. @@ -1111,22 +1111,25 @@ Use 'arch' to force US arch notation into line segments - - If this is True, this object will be recomputed only if it is - visible - If this is True, this object will be recomputed only if it is - visible - - - + If this is True, only solid geometry is handled. This overrides the base object's Only Solids property If this is True, only solid geometry is handled. This overrides the base object's Only Solids property - + If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property If this is True, the contents are clipped to the borders of the section plane, if applicable. This overrides the base object's Clip property + + + If this is True, this object will include only visible objects + If this is True, this object will include only visible objects + + + + This object will be recomputed only if this is True. + This object will be recomputed only if this is True. + Dialog diff --git a/src/Mod/Draft/draftfunctions/move.py b/src/Mod/Draft/draftfunctions/move.py index 00b5f65c94..cf7ab807e3 100644 --- a/src/Mod/Draft/draftfunctions/move.py +++ b/src/Mod/Draft/draftfunctions/move.py @@ -83,9 +83,9 @@ def move(objectslist, vector, copy=False): newobj = make_copy.make_copy(obj) else: newobj = obj - newobj.X = obj.X + real_vector.x - newobj.Y = obj.Y + real_vector.y - newobj.Z = obj.Z + real_vector.z + newobj.X = obj.X.Value + real_vector.x + newobj.Y = obj.Y.Value + real_vector.y + newobj.Z = obj.Z.Value + real_vector.z elif obj.isDerivedFrom("App::DocumentObjectGroup"): pass diff --git a/src/Mod/Draft/draftgeoutils/geometry.py b/src/Mod/Draft/draftgeoutils/geometry.py index 099fde42c9..0ead657198 100644 --- a/src/Mod/Draft/draftgeoutils/geometry.py +++ b/src/Mod/Draft/draftgeoutils/geometry.py @@ -165,11 +165,17 @@ def findDistance(point, edge, strict=False): return None if strict and ve2: + # Note 1: DraftVecUtils.angle(App.Vector(1, 1, 0)) => -0.7854 + # Note 2: Angles are in the +pi to -pi range. ang1 = DraftVecUtils.angle(ve1.sub(center)) ang2 = DraftVecUtils.angle(ve2.sub(center)) angpt = DraftVecUtils.angle(newpoint.sub(center)) - if ((angpt <= ang2 and angpt >= ang1) - or (angpt <= ang1 and angpt >= ang2)): + if ang1 >= ang2: # Arc does not cross the 9 o'clock point. + if ang1 >= angpt and angpt >= ang2: + return dist + else: + return None + elif ang1 >= angpt or angpt >= ang2: return dist else: return None diff --git a/src/Mod/Draft/draftguitools/gui_base_original.py b/src/Mod/Draft/draftguitools/gui_base_original.py index 91b66878b4..90c42ea81e 100644 --- a/src/Mod/Draft/draftguitools/gui_base_original.py +++ b/src/Mod/Draft/draftguitools/gui_base_original.py @@ -180,6 +180,7 @@ class DraftTool: self.ui.sourceCmd = None if self.planetrack: self.planetrack.finalize() + App.DraftWorkingPlane.restore() if hasattr(Gui, "Snapper"): Gui.Snapper.off() if self.call: @@ -302,4 +303,9 @@ class Modifier(DraftTool): super(Modifier, self).__init__() self.copymode = False + def Activated(self, name="None", noplanesetup=False, is_subtool=False): + super(Modifier, self).Activated(name, noplanesetup, is_subtool) + # call DraftWorkingPlane.save to sync with + # DraftWorkingPlane.restore called in finish method + App.DraftWorkingPlane.save() ## @} diff --git a/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py b/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py index bce3f5aaf3..228872dc47 100644 --- a/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py +++ b/src/Mod/Draft/draftguitools/gui_edit_draft_objects.py @@ -344,7 +344,7 @@ class DraftCircleGuiTools(GuiTools): ] elif node_idx == 1: # user is over arc start point return [ - ("mset first angle", lambda: self.handle_set_first_angle(edit_command, obj, node_idx)), + ("set first angle", lambda: self.handle_set_first_angle(edit_command, obj, node_idx)), ] elif node_idx == 2: # user is over arc end point return [ diff --git a/src/Mod/Draft/draftguitools/gui_groups.py b/src/Mod/Draft/draftguitools/gui_groups.py index 7afd2292f5..465bad01d5 100644 --- a/src/Mod/Draft/draftguitools/gui_groups.py +++ b/src/Mod/Draft/draftguitools/gui_groups.py @@ -254,14 +254,13 @@ class SetAutoGroup(gui_base.GuiCommandSimplest): # and globally initialized in the `Gui` namespace to run # some actions. # If there is only a group selected, it runs the `AutoGroup` method. + params = App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft") self.ui = Gui.draftToolBar s = Gui.Selection.getSelection() if len(s) == 1: - if (utils.get_type(s[0]) == "Layer") or \ - (App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft").GetBool("AutogroupAddGroups", False) - and (s[0].isDerivedFrom("App::DocumentObjectGroup") - or utils.get_type(s[0]) in ["Site", "Building", - "Floor", "BuildingPart"])): + if (utils.get_type(s[0]) == "Layer" + or (params.GetBool("AutogroupAddGroups", False) + and groups.is_group(s[0]))): self.ui.setAutoGroup(s[0].Name) return @@ -269,27 +268,26 @@ class SetAutoGroup(gui_base.GuiCommandSimplest): # including the options "None" and "Add new layer". self.groups = ["None"] gn = [o.Name for o in self.doc.Objects if utils.get_type(o) == "Layer"] - if App.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft").GetBool("AutogroupAddGroups", False): + if params.GetBool("AutogroupAddGroups", False): gn.extend(groups.get_group_names()) - if gn: - self.groups.extend(gn) - self.labels = [translate("draft", "None")] - self.icons = [self.ui.getIcon(":/icons/button_invalid.svg")] - for g in gn: - o = self.doc.getObject(g) - if o: - self.labels.append(o.Label) - self.icons.append(o.ViewObject.Icon) - self.labels.append(translate("draft", "Add new Layer")) - self.icons.append(self.ui.getIcon(":/icons/document-new.svg")) + self.groups.extend(gn) + self.labels = [translate("draft", "None")] + self.icons = [self.ui.getIcon(":/icons/button_invalid.svg")] + for g in gn: + o = self.doc.getObject(g) + if o: + self.labels.append(o.Label) + self.icons.append(o.ViewObject.Icon) + self.labels.append(translate("draft", "Add new Layer")) + self.icons.append(self.ui.getIcon(":/icons/document-new.svg")) - # With the lists created is uses the interface - # to pop up a menu with layer options. - # Once the desired option is chosen - # it launches the `proceed` method. - self.ui.sourceCmd = self - pos = self.ui.autoGroupButton.mapToGlobal(QtCore.QPoint(0, self.ui.autoGroupButton.geometry().height())) - self.ui.popupMenu(self.labels, self.icons, pos) + # With the lists created is uses the interface + # to pop up a menu with layer options. + # Once the desired option is chosen + # it launches the `proceed` method. + self.ui.sourceCmd = self + pos = self.ui.autoGroupButton.mapToGlobal(QtCore.QPoint(0, self.ui.autoGroupButton.geometry().height())) + self.ui.popupMenu(self.labels, self.icons, pos) def proceed(self, labelname): """Set the defined autogroup, or create a new layer. diff --git a/src/Mod/Draft/draftguitools/gui_offset.py b/src/Mod/Draft/draftguitools/gui_offset.py index 8e29299f63..2d441632e1 100644 --- a/src/Mod/Draft/draftguitools/gui_offset.py +++ b/src/Mod/Draft/draftguitools/gui_offset.py @@ -110,7 +110,10 @@ class Offset(gui_base_original.Modifier): self.mode = "Circle" self.center = self.shape.Edges[0].Curve.Center self.ghost.setCenter(self.center) - self.ghost.setStartAngle(math.radians(self.sel.FirstAngle)) + if self.sel.FirstAngle <= self.sel.LastAngle: + self.ghost.setStartAngle(math.radians(self.sel.FirstAngle)) + else: + self.ghost.setStartAngle(math.radians(self.sel.FirstAngle) - 2 * math.pi) self.ghost.setEndAngle(math.radians(self.sel.LastAngle)) elif utils.getType(self.sel) == "BSpline": self.ghost = trackers.bsplineTracker(points=self.sel.Points) diff --git a/src/Mod/Draft/draftguitools/gui_planeproxy.py b/src/Mod/Draft/draftguitools/gui_planeproxy.py index 4615819136..2c05efb137 100644 --- a/src/Mod/Draft/draftguitools/gui_planeproxy.py +++ b/src/Mod/Draft/draftguitools/gui_planeproxy.py @@ -47,8 +47,8 @@ class Draft_WorkingPlaneProxy: """Set icon, menu and tooltip.""" d = {'Pixmap': 'Draft_PlaneProxy', - 'MenuText': QT_TRANSLATE_NOOP("Draft_SetWorkingPlaneProxy","Create working plane proxy"), - 'ToolTip': QT_TRANSLATE_NOOP("Draft_SetWorkingPlaneProxy","Creates a proxy object from the current working plane.\nOnce the object is created double click it in the tree view to restore the camera position and objects' visibilities.\nThen you can use it to save a different camera position and objects' states any time you need.")} + 'MenuText': QT_TRANSLATE_NOOP("Draft_WorkingPlaneProxy","Create working plane proxy"), + 'ToolTip': QT_TRANSLATE_NOOP("Draft_WorkingPlaneProxy","Creates a proxy object from the current working plane.\nOnce the object is created double click it in the tree view to restore the camera position and objects' visibilities.\nThen you can use it to save a different camera position and objects' states any time you need.")} return d def IsActive(self): diff --git a/src/Mod/Draft/draftguitools/gui_selectplane.py b/src/Mod/Draft/draftguitools/gui_selectplane.py index f780fd1429..adf753db5c 100644 --- a/src/Mod/Draft/draftguitools/gui_selectplane.py +++ b/src/Mod/Draft/draftguitools/gui_selectplane.py @@ -127,6 +127,9 @@ class Draft_SelectPlane: self.taskd.form.fieldGridExtension.valueChanged.connect(self.onSetExtension) self.taskd.form.fieldSnapRadius.valueChanged.connect(self.onSetSnapRadius) + # save previous WP to ensure back to the last used when restored + FreeCAD.DraftWorkingPlane.save() + # Try to find a WP from the current selection if FreeCADGui.Selection.getSelectionEx(FreeCAD.ActiveDocument.Name): if self.handle(): @@ -161,7 +164,6 @@ class Draft_SelectPlane: # Reset everything else FreeCADGui.Control.closeDialog() - FreeCAD.DraftWorkingPlane.restore() FreeCADGui.ActiveDocument.resetEdit() return True diff --git a/src/Mod/Draft/draftguitools/gui_setstyle.py b/src/Mod/Draft/draftguitools/gui_setstyle.py index 00422d2995..d502dd7a06 100644 --- a/src/Mod/Draft/draftguitools/gui_setstyle.py +++ b/src/Mod/Draft/draftguitools/gui_setstyle.py @@ -192,7 +192,7 @@ class Draft_SetStyle_TaskPanel: vobj = obj.ViewObject if vobj: if "LineColor" in vobj.PropertiesList: - vobj.LineColor = self.form.LineColor.property("color").rgb()<<8 + vobj.LineColor = self.form.LineColor.property("color").getRgbF() if "LineWidth" in vobj.PropertiesList: vobj.LineWidth = self.form.LineWidth.value() if "DrawStyle" in vobj.PropertiesList: @@ -208,7 +208,7 @@ class Draft_SetStyle_TaskPanel: except Exception: pass if "ShapeColor" in vobj.PropertiesList: - vobj.ShapeColor = self.form.ShapeColor.property("color").rgb()<<8 + vobj.ShapeColor = self.form.ShapeColor.property("color").getRgbF() if "Transparency" in vobj.PropertiesList: vobj.Transparency = self.form.Transparency.value() if "FontName" in vobj.PropertiesList: @@ -218,7 +218,7 @@ class Draft_SetStyle_TaskPanel: if "FontSize" in vobj.PropertiesList: vobj.FontSize = FreeCAD.Units.Quantity(self.form.TextSize.text()).Value if "TextColor" in vobj.PropertiesList: - vobj.TextColor = self.form.TextColor.property("color").rgb()<<8 + vobj.TextColor = self.form.TextColor.property("color").getRgbF() if "ArrowType" in vobj.PropertiesList: vobj.ArrowType = ["Dot", "Circle", "Arrow", "Tick", "Tick-2"][self.form.ArrowStyle.currentIndex()] if "ArrowSize" in vobj.PropertiesList: @@ -243,7 +243,7 @@ class Draft_SetStyle_TaskPanel: vobj = obj.ViewObject vobj.FontName = self.form.TextFont.currentFont().family() vobj.FontSize = FreeCAD.Units.Quantity(self.form.TextSize.text()).Value - vobj.LineColor = self.form.TextColor.property("color").rgb()<<8 + vobj.LineColor = self.form.TextColor.property("color").getRgbF() vobj.ArrowType = ["Dot", "Circle", "Arrow", "Tick", "Tick-2"][self.form.ArrowStyle.currentIndex()] vobj.ArrowSize = FreeCAD.Units.Quantity(self.form.ArrowSize.text()).Value vobj.ShowUnit = self.form.ShowUnit.isChecked() @@ -255,7 +255,7 @@ class Draft_SetStyle_TaskPanel: vobj = obj.ViewObject vobj.FontName = self.form.TextFont.currentFont().family() vobj.FontSize = FreeCAD.Units.Quantity(self.form.TextSize.text()).Value - vobj.TextColor = self.form.TextColor.property("color").rgb()<<8 + vobj.TextColor = self.form.TextColor.property("color").getRgbF() vobj.LineSpacing = self.form.LineSpacing.value() def onLoadStyle(self,index): diff --git a/src/Mod/Draft/draftguitools/gui_tool_utils.py b/src/Mod/Draft/draftguitools/gui_tool_utils.py index 55923ce8c7..c922517816 100644 --- a/src/Mod/Draft/draftguitools/gui_tool_utils.py +++ b/src/Mod/Draft/draftguitools/gui_tool_utils.py @@ -72,10 +72,9 @@ def select_object(arg): If it is of type Keyboard and the `ESCAPE` key, it runs the `finish` method of the active command. - If it is of type Mouse button and `BUTTON1` press, - it captures the position of the cursor (x, y) - and the object below that cursor to add it to the active selection; - then it runs the `proceed` method of the active command + If Ctrl key is pressed, multiple selection is enabled until the + button is released. + Then it runs the `proceed` method of the active command to continue with the command's logic. """ if arg["Type"] == "SoKeyboardEvent": @@ -83,16 +82,8 @@ def select_object(arg): App.activeDraftCommand.finish() # TODO: this part raises a coin3D warning about scene traversal. # It needs to be fixed. - elif arg["Type"] == "SoMouseButtonEvent": - if arg["State"] == "DOWN" and arg["Button"] == "BUTTON1": - cursor = arg["Position"] - snapped = gui_utils.get_3d_view().getObjectInfo((cursor[0], - cursor[1])) - if snapped: - obj = App.ActiveDocument.getObject(snapped['Object']) - Gui.Selection.addSelection(obj) - App.activeDraftCommand.component = snapped['Component'] - App.activeDraftCommand.proceed() + elif not arg["CtrlDown"] and Gui.Selection.hasSelection(): + App.activeDraftCommand.proceed() selectObject = select_object diff --git a/src/Mod/Draft/draftobjects/patharray.py b/src/Mod/Draft/draftobjects/patharray.py index e85007cd5a..264964e775 100644 --- a/src/Mod/Draft/draftobjects/patharray.py +++ b/src/Mod/Draft/draftobjects/patharray.py @@ -328,7 +328,7 @@ class PathArray(DraftLink): for n in edgeNames: e = sub[0].Shape.getElement(n) sl.append(e) - return Part.Wire(sl) + return Part.Wire(Part.__sortEdges__(sl)) def onChanged(self, obj, prop): """Execute when a property is changed.""" diff --git a/src/Mod/Draft/draftobjects/shape2dview.py b/src/Mod/Draft/draftobjects/shape2dview.py index 96a2cd10e4..279e8d338a 100644 --- a/src/Mod/Draft/draftobjects/shape2dview.py +++ b/src/Mod/Draft/draftobjects/shape2dview.py @@ -292,11 +292,11 @@ class Shape2DView(DraftObject): if sh.Volume < 0: sh.reverse() c = sh.section(cutp) + if hasattr(obj,"InPlace"): + if not obj.InPlace: + c = self.getProjected(obj, c, proj) faces = [] if (obj.ProjectionMode == "Cutfaces") and (sh.ShapeType == "Solid"): - if hasattr(obj,"InPlace"): - if not obj.InPlace: - c = self.getProjected(obj, c, proj) wires = DraftGeomUtils.findWires(c.Edges) for w in wires: if w.isClosed(): diff --git a/src/Mod/Draft/draftutils/groups.py b/src/Mod/Draft/draftutils/groups.py index 25118adc94..e58c557721 100644 --- a/src/Mod/Draft/draftutils/groups.py +++ b/src/Mod/Draft/draftutils/groups.py @@ -41,6 +41,34 @@ from draftutils.translate import _tr from draftutils.messages import _msg, _err +def is_group(obj): + """Return True if the given object is considered a group. + + Parameters + ---------- + obj : App::DocumentObject + The object to check. + + Returns + ------- + bool + Returns `True` if `obj` is considered a group: + + The object is derived from `App::DocumentObjectGroup` but not + a `'LayerContainer'`. + + Or the object is of the type `'Project'`, `'Site'`, `'Building'`, + `'Floor'` or `'BuildingPart'` from the Arch Workbench. + + Otherwise returns `False`. + """ + + return ((obj.isDerivedFrom("App::DocumentObjectGroup") + and obj.Name != "LayerContainer") + or utils.get_type(obj) in ("Project", "Site", "Building", + "Floor", "BuildingPart")) + + def get_group_names(doc=None): """Return a list of names of existing groups in the document. @@ -54,12 +82,10 @@ def get_group_names(doc=None): Returns ------- list of str - A list of names of objects that are "groups". - These are objects derived from `App::DocumentObjectGroup` - or which are of types `'Floor'`, `'Building'`, or `'Site'` - from the Arch Workbench. + A list of names of objects that are considered groups. + See the is_group function. - Otherwise, return an empty list. + Otherwise returns an empty list. """ if not doc: found, doc = utils.find_doc(App.activeDocument()) @@ -71,8 +97,7 @@ def get_group_names(doc=None): glist = [] for obj in doc.Objects: - if (obj.isDerivedFrom("App::DocumentObjectGroup") - or utils.get_type(obj) in ("Floor", "Building", "Site")): + if is_group(obj): glist.append(obj.Name) return glist diff --git a/src/Mod/Draft/draftutils/units.py b/src/Mod/Draft/draftutils/units.py index bdcbba6acb..71dbcdbaa3 100644 --- a/src/Mod/Draft/draftutils/units.py +++ b/src/Mod/Draft/draftutils/units.py @@ -95,7 +95,7 @@ def display_external(internal_value, if dim == 'Length': q = App.Units.Quantity(internal_value, App.Units.Length) if not unit: - if not decimals and showUnit: + if decimals == None and showUnit: return q.UserString conversion = q.getUserPreferred()[1] diff --git a/src/Mod/Draft/draftviewproviders/view_base.py b/src/Mod/Draft/draftviewproviders/view_base.py index 162f0db950..43751820b0 100644 --- a/src/Mod/Draft/draftviewproviders/view_base.py +++ b/src/Mod/Draft/draftviewproviders/view_base.py @@ -465,6 +465,9 @@ class ViewProviderDraft(object): return ":/icons/Draft_N-Curve.svg" elif tp in ("ShapeString"): return ":/icons/Draft_ShapeString_tree.svg" + if hasattr(self.Object,"AutoUpdate") and not self.Object.AutoUpdate: + import TechDrawGui + return ":/icons/TechDraw_TreePageUnsync.svg" return ":/icons/Draft_Draft.svg" def claimChildren(self): diff --git a/src/Mod/Draft/importDWG.py b/src/Mod/Draft/importDWG.py index 7e20be076e..29fc05d4c8 100644 --- a/src/Mod/Draft/importDWG.py +++ b/src/Mod/Draft/importDWG.py @@ -203,14 +203,15 @@ def convertToDxf(dwgfilename): """ import os, tempfile, subprocess, sys - import shutil - if shutil.which("dwg2dxf"): + try: outdir = tempfile.mkdtemp() basename = os.path.basename(dwgfilename) result = outdir + os.sep + os.path.splitext(basename)[0] + ".dxf" proc = subprocess.Popen(("dwg2dxf", dwgfilename, "-o", result)) proc.communicate() return result + except: + pass teigha = getTeighaConverter() if teigha: diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.qm b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.qm index db43f59dcc..9f2cf60582 100644 Binary files a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.qm and b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.qm differ diff --git a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts index 8fb318d3fb..13b945d4a9 100644 --- a/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts +++ b/src/Mod/Drawing/Gui/Resources/translations/Drawing_pl.ts @@ -151,7 +151,7 @@ Open &browser view - Otwórz &widok przeglądania + Otwórz &widok z przeglądarki @@ -330,7 +330,7 @@ Different orientation - Inna orientacja + Odmienna orientacja @@ -350,7 +350,7 @@ Czy chcesz kontynuować? The printer uses a different paper size than the drawing. Do you want to continue? - Drukarka używa innego rozmiaru papieru niż rysunek. Czy chcesz kontynuować? + Drukarka używa innego rozmiaru papieru niż zastosowano na rysunku. Czy chcesz kontynuować? @@ -384,7 +384,7 @@ Do you want to continue? Right click for axonometric settings - Wciśnij prawy przycisk myszy, aby ustawić aksonometrię + Kliknij prawym przyciskiem myszki, aby uzyskać ustawienia aksonometryczne @@ -424,7 +424,7 @@ Do you want to continue? Show hidden lines - Pokaż ukryte linie + Pokaż niewidoczne linie szwów @@ -749,7 +749,7 @@ Do you want to continue? Edit axonometric settings... - Edytuj ustawienia aksonometrii... + Edytuj ustawienia aksonometryczne ... diff --git a/src/Mod/Fem/App/FemPostPipeline.cpp b/src/Mod/Fem/App/FemPostPipeline.cpp index ee9efb5eb2..529942538c 100644 --- a/src/Mod/Fem/App/FemPostPipeline.cpp +++ b/src/Mod/Fem/App/FemPostPipeline.cpp @@ -60,11 +60,11 @@ const char* FemPostPipeline::ModeEnums[]= {"Serial","Parallel",NULL}; FemPostPipeline::FemPostPipeline() { - ADD_PROPERTY_TYPE(Filter, (0), "Pipeline", App::Prop_None, "The filter used in in this pipeline"); + ADD_PROPERTY_TYPE(Filter, (0), "Pipeline", App::Prop_None, "The filter used in this pipeline"); ADD_PROPERTY_TYPE(Functions, (0), "Pipeline", App::Prop_Hidden, "The function provider which groups all pipeline functions"); - ADD_PROPERTY_TYPE(Mode,(long(0)), "Pipeline", App::Prop_None, "Selects the pipeline data transition mode. In serial every filter" - "gets the output of the previous one as input, in parallel every" - "filter gets the pipelien source as input."); + ADD_PROPERTY_TYPE(Mode,(long(0)), "Pipeline", App::Prop_None, "Selects the pipeline data transition mode. In serial, every filter" + "gets the output of the previous one as input. In parallel, every" + "filter gets the pipeline source as input."); Mode.setEnums(ModeEnums); } diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index ddc634131d..b1049e25ec 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -48,17 +48,28 @@ SET(FemExamples_SRCS femexamples/buckling_platebuckling.py femexamples/buckling_lateraltorsionalbuckling.py femexamples/ccx_buckling_flexuralbuckling.py - femexamples/ccx_cantilever_base.py + femexamples/ccx_cantilever_base_edge.py + femexamples/ccx_cantilever_base_face.py + femexamples/ccx_cantilever_base_solid.py + femexamples/ccx_cantilever_ele_hexa20.py + femexamples/ccx_cantilever_ele_quad4.py + femexamples/ccx_cantilever_ele_quad8.py + femexamples/ccx_cantilever_ele_tetra4.py + femexamples/ccx_cantilever_ele_tria3.py + femexamples/ccx_cantilever_ele_tria6.py + femexamples/ccx_cantilever_ele_seg2.py + femexamples/ccx_cantilever_ele_seg3.py femexamples/ccx_cantilever_faceload.py femexamples/ccx_cantilever_nodeload.py - femexamples/ccx_cantilever_hexa20faceload.py femexamples/ccx_cantilever_prescribeddisplacement.py + femexamples/constraint_centrif.py femexamples/constraint_contact_shell_shell.py femexamples/constraint_contact_solid_solid.py femexamples/constraint_section_print.py femexamples/constraint_selfweight_cantilever.py femexamples/constraint_tie.py femexamples/constraint_transform_beam_hinged.py + femexamples/constraint_transform_torque.py femexamples/examplesgui.py femexamples/elmer_nonguitutorial01_eigenvalue_of_elastic_beam.py femexamples/equation_electrostatics_capacitance_two_balls.py @@ -69,6 +80,7 @@ SET(FemExamples_SRCS femexamples/material_multiple_bendingbeam_fivefaces.py femexamples/material_multiple_tensionrod_twoboxes.py femexamples/material_nl_platewithhole.py + femexamples/mystran_plate.py femexamples/rc_wall_2d.py femexamples/square_pipe_end_twisted_edgeforces.py femexamples/square_pipe_end_twisted_nodeforces.py @@ -85,8 +97,15 @@ SET(FemExampleMeshes_SRCS femexamples/meshes/mesh_buckling_ibeam_tria6.py femexamples/meshes/mesh_buckling_plate_tria6.py femexamples/meshes/mesh_canticcx_hexa20.py + femexamples/meshes/mesh_canticcx_quad4.py + femexamples/meshes/mesh_canticcx_quad8.py + femexamples/meshes/mesh_canticcx_seg2.py + femexamples/meshes/mesh_canticcx_seg3.py femexamples/meshes/mesh_canticcx_tetra10.py + femexamples/meshes/mesh_canticcx_tria3.py + femexamples/meshes/mesh_canticcx_tria6.py femexamples/meshes/mesh_capacitance_two_balls_tetra10.py + femexamples/meshes/mesh_constraint_centrif_tetra10.py femexamples/meshes/mesh_constraint_tie_tetra10.py femexamples/meshes/mesh_contact_box_halfcylinder_tetra10.py femexamples/meshes/mesh_contact_tube_tube_tria3.py @@ -95,6 +114,7 @@ SET(FemExampleMeshes_SRCS femexamples/meshes/mesh_flexural_buckling.py femexamples/meshes/mesh_multibodybeam_tetra10.py femexamples/meshes/mesh_multibodybeam_tria6.py + femexamples/meshes/mesh_plate_mystran_quad4.py femexamples/meshes/mesh_platewithhole_tetra10.py femexamples/meshes/mesh_rc_wall_2d_tria6.py femexamples/meshes/mesh_section_print_tetra10.py @@ -104,11 +124,13 @@ SET(FemExampleMeshes_SRCS femexamples/meshes/mesh_thermomech_flow1d_seg3.py femexamples/meshes/mesh_thermomech_spine_tetra10.py femexamples/meshes/mesh_transform_beam_hinged_tetra10.py + femexamples/meshes/mesh_transform_torque_tetra10.py ) SET(FemInOut_SRCS feminout/__init__.py feminout/convert2TetGen.py + feminout/exportNastranMesh.py feminout/importCcxDatResults.py feminout/importCcxFrdResults.py feminout/importFenicsMesh.py @@ -129,6 +151,7 @@ SET(FemMesh_SRCS femmesh/__init__.py femmesh/femmesh2mesh.py femmesh/gmshtools.py + femmesh/meshsetsgetter.py femmesh/meshtools.py ) @@ -137,6 +160,7 @@ SET(FemObjects_SRCS femobjects/base_fempythonobject.py femobjects/constant_vacuumpermittivity.py femobjects/constraint_bodyheatsource.py + femobjects/constraint_centrif.py femobjects/constraint_electrostaticpotential.py femobjects/constraint_flowvelocity.py femobjects/constraint_initialflowvelocity.py @@ -182,6 +206,28 @@ SET(FemSolverCalculix_SRCS femsolver/calculix/__init__.py femsolver/calculix/solver.py femsolver/calculix/tasks.py + femsolver/calculix/write_constraint_centrif.py + femsolver/calculix/write_constraint_contact.py + femsolver/calculix/write_constraint_displacement.py + femsolver/calculix/write_constraint_fixed.py + femsolver/calculix/write_constraint_fluidsection.py + femsolver/calculix/write_constraint_force.py + femsolver/calculix/write_constraint_heatflux.py + femsolver/calculix/write_constraint_initialtemperature.py + femsolver/calculix/write_constraint_planerotation.py + femsolver/calculix/write_constraint_pressure.py + femsolver/calculix/write_constraint_sectionprint.py + femsolver/calculix/write_constraint_selfweight.py + femsolver/calculix/write_constraint_temperature.py + femsolver/calculix/write_constraint_tie.py + femsolver/calculix/write_constraint_transform.py + femsolver/calculix/write_femelement_geometry.py + femsolver/calculix/write_femelement_material.py + femsolver/calculix/write_femelement_matgeosets.py + femsolver/calculix/write_footer.py + femsolver/calculix/write_mesh.py + femsolver/calculix/write_step_equation.py + femsolver/calculix/write_step_output.py femsolver/calculix/writer.py ) @@ -211,6 +257,19 @@ SET(FemSolverFenics_SRCS femsolver/fenics/fenics_tools.py ) +SET(FemSolverMystran_SRCS + femsolver/mystran/__init__.py + femsolver/mystran/add_con_fixed.py + femsolver/mystran/add_con_force.py + femsolver/mystran/add_femelement_geometry.py + femsolver/mystran/add_femelement_material.py + femsolver/mystran/add_mesh.py + femsolver/mystran/add_solver_control.py + femsolver/mystran/solver.py + femsolver/mystran/tasks.py + femsolver/mystran/writer.py +) + SET(FemSolverZ88_SRCS femsolver/z88/__init__.py femsolver/z88/solver.py @@ -237,6 +296,7 @@ SET(FemTestsApp_SRCS femtest/app/test_result.py femtest/app/test_solver_calculix.py femtest/app/test_solver_elmer.py + femtest/app/test_solver_mystran.py femtest/app/test_solver_z88.py ) @@ -259,10 +319,17 @@ SET(FemTestsCcx_SRCS femtest/data/calculix/box.FCStd femtest/data/calculix/ccx_buckling_flexuralbuckling.dat femtest/data/calculix/ccx_buckling_flexuralbuckling.inp - femtest/data/calculix/ccxcantilever_faceload.inp - femtest/data/calculix/ccxcantilever_hexa20.inp - femtest/data/calculix/ccxcantilever_nodeload.inp - femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp + femtest/data/calculix/ccx_cantilever_faceload.inp + femtest/data/calculix/ccx_cantilever_ele_hexa20.inp + femtest/data/calculix/ccx_cantilever_ele_quad4.inp + femtest/data/calculix/ccx_cantilever_ele_quad8.inp + femtest/data/calculix/ccx_cantilever_ele_seg2.inp + femtest/data/calculix/ccx_cantilever_ele_seg3.inp + femtest/data/calculix/ccx_cantilever_ele_tria3.inp + femtest/data/calculix/ccx_cantilever_ele_tria6.inp + femtest/data/calculix/ccx_cantilever_nodeload.inp + femtest/data/calculix/ccx_cantilever_prescribeddisplacement.inp + femtest/data/calculix/constraint_centrif.inp femtest/data/calculix/constraint_contact_shell_shell.FCStd femtest/data/calculix/constraint_contact_shell_shell.inp femtest/data/calculix/constraint_contact_solid_solid.FCStd @@ -270,6 +337,8 @@ SET(FemTestsCcx_SRCS femtest/data/calculix/constraint_sectionprint.inp femtest/data/calculix/constraint_selfweight_cantilever.inp femtest/data/calculix/constraint_tie.inp + femtest/data/calculix/constraint_transform_beam_hinged.inp + femtest/data/calculix/constraint_transform_torque.inp femtest/data/calculix/frequency_beamsimple.inp femtest/data/calculix/material_multiple_bendingbeam_fiveboxes.inp femtest/data/calculix/material_multiple_bendingbeam_fivefaces.inp @@ -311,6 +380,16 @@ SET(FemTestsMesh_SRCS femtest/data/mesh/tetra10_mesh.z88 ) +SET(FemTestsMystran_SRCS + femtest/data/mystran/__init__.py + femtest/data/mystran/ccx_cantilever_ele_quad4.bdf + femtest/data/mystran/ccx_cantilever_ele_seg2.bdf + femtest/data/mystran/ccx_cantilever_ele_tria3.bdf + femtest/data/mystran/ccx_cantilever_faceload.bdf + femtest/data/mystran/ccx_cantilever_nodeload.bdf + femtest/data/mystran/mystran_plate.bdf +) + SET(FemTestsOpen_SRCS femtest/data/open/__init__.py femtest/data/open/all_objects_de9b3fb438.FCStd @@ -320,43 +399,56 @@ SET(FemTestsZ88Main_SRCS femtest/data/z88/__init__.py ) -SET(FemTestsZ88Ccxcantifl_SRCS +SET(FemTestsZ88CcxcantiEleHex20_SRCS femtest/data/z88/__init__.py - femtest/data/z88/ccxcantilever_faceload/51.txt - femtest/data/z88/ccxcantilever_faceload/z88.dyn - femtest/data/z88/ccxcantilever_faceload/z88elp.txt - femtest/data/z88/ccxcantilever_faceload/z88i1.txt - femtest/data/z88/ccxcantilever_faceload/z88i2.txt - femtest/data/z88/ccxcantilever_faceload/z88i5.txt - femtest/data/z88/ccxcantilever_faceload/z88int.txt - femtest/data/z88/ccxcantilever_faceload/z88man.txt - femtest/data/z88/ccxcantilever_faceload/z88mat.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/51.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/z88.dyn + femtest/data/z88/ccx_cantilever_ele_hexa20/z88elp.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/z88i1.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/z88i2.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/z88i5.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/z88int.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/z88man.txt + femtest/data/z88/ccx_cantilever_ele_hexa20/z88mat.txt ) -SET(FemTestsZ88Ccxcantihex_SRCS +SET(FemTestsZ88CcxcantiEleTria6_SRCS femtest/data/z88/__init__.py - femtest/data/z88/ccxcantilever_hexa20/51.txt - femtest/data/z88/ccxcantilever_hexa20/z88.dyn - femtest/data/z88/ccxcantilever_hexa20/z88elp.txt - femtest/data/z88/ccxcantilever_hexa20/z88i1.txt - femtest/data/z88/ccxcantilever_hexa20/z88i2.txt - femtest/data/z88/ccxcantilever_hexa20/z88i5.txt - femtest/data/z88/ccxcantilever_hexa20/z88int.txt - femtest/data/z88/ccxcantilever_hexa20/z88man.txt - femtest/data/z88/ccxcantilever_hexa20/z88mat.txt + femtest/data/z88/ccx_cantilever_ele_tria6/51.txt + femtest/data/z88/ccx_cantilever_ele_tria6/z88.dyn + femtest/data/z88/ccx_cantilever_ele_tria6/z88elp.txt + femtest/data/z88/ccx_cantilever_ele_tria6/z88i1.txt + femtest/data/z88/ccx_cantilever_ele_tria6/z88i2.txt + femtest/data/z88/ccx_cantilever_ele_tria6/z88i5.txt + femtest/data/z88/ccx_cantilever_ele_tria6/z88int.txt + femtest/data/z88/ccx_cantilever_ele_tria6/z88man.txt + femtest/data/z88/ccx_cantilever_ele_tria6/z88mat.txt +) + +SET(FemTestsZ88Ccxcantifl_SRCS + femtest/data/z88/__init__.py + femtest/data/z88/ccx_cantilever_faceload/51.txt + femtest/data/z88/ccx_cantilever_faceload/z88.dyn + femtest/data/z88/ccx_cantilever_faceload/z88elp.txt + femtest/data/z88/ccx_cantilever_faceload/z88i1.txt + femtest/data/z88/ccx_cantilever_faceload/z88i2.txt + femtest/data/z88/ccx_cantilever_faceload/z88i5.txt + femtest/data/z88/ccx_cantilever_faceload/z88int.txt + femtest/data/z88/ccx_cantilever_faceload/z88man.txt + femtest/data/z88/ccx_cantilever_faceload/z88mat.txt ) SET(FemTestsZ88Ccxcantinl_SRCS femtest/data/z88/__init__.py - femtest/data/z88/ccxcantilever_nodeload/51.txt - femtest/data/z88/ccxcantilever_nodeload/z88.dyn - femtest/data/z88/ccxcantilever_nodeload/z88elp.txt - femtest/data/z88/ccxcantilever_nodeload/z88i1.txt - femtest/data/z88/ccxcantilever_nodeload/z88i2.txt - femtest/data/z88/ccxcantilever_nodeload/z88i5.txt - femtest/data/z88/ccxcantilever_nodeload/z88int.txt - femtest/data/z88/ccxcantilever_nodeload/z88man.txt - femtest/data/z88/ccxcantilever_nodeload/z88mat.txt + femtest/data/z88/ccx_cantilever_nodeload/51.txt + femtest/data/z88/ccx_cantilever_nodeload/z88.dyn + femtest/data/z88/ccx_cantilever_nodeload/z88elp.txt + femtest/data/z88/ccx_cantilever_nodeload/z88i1.txt + femtest/data/z88/ccx_cantilever_nodeload/z88i2.txt + femtest/data/z88/ccx_cantilever_nodeload/z88i5.txt + femtest/data/z88/ccx_cantilever_nodeload/z88int.txt + femtest/data/z88/ccx_cantilever_nodeload/z88man.txt + femtest/data/z88/ccx_cantilever_nodeload/z88mat.txt ) SET(FemTools_SRCS @@ -386,6 +478,7 @@ SET(FemAllScripts ${FemSolverElmer_SRCS} ${FemSolverElmerEquations_SRCS} ${FemSolverFenics_SRCS} + ${FemSolverMystran_SRCS} ${FemSolverZ88_SRCS} ${FemTests_SRCS} ${FemTestsApp_SRCS} @@ -393,10 +486,12 @@ SET(FemAllScripts ${FemTestsCcx_SRCS} ${FemTestsElmer_SRCS} ${FemTestsMesh_SRCS} + ${FemTestsMystran_SRCS} ${FemTestsOpen_SRCS} ${FemTestsZ88Main_SRCS} ${FemTestsZ88Ccxcantifl_SRCS} - ${FemTestsZ88Ccxcantihex_SRCS} + ${FemTestsZ88CcxcantiEleHex20_SRCS} + ${FemTestsZ88CcxcantiEleTria6_SRCS} ${FemTestsZ88Ccxcantinl_SRCS} ${FemTools_SRCS} ) @@ -422,6 +517,7 @@ INSTALL(FILES ${FemSolverCalculix_SRCS} DESTINATION Mod/Fem/femsolver/calculix) INSTALL(FILES ${FemSolverElmer_SRCS} DESTINATION Mod/Fem/femsolver/elmer) INSTALL(FILES ${FemSolverElmerEquations_SRCS} DESTINATION Mod/Fem/femsolver/elmer/equations) INSTALL(FILES ${FemSolverFenics_SRCS} DESTINATION Mod/Fem/femsolver/fenics) +INSTALL(FILES ${FemSolverMystran_SRCS} DESTINATION Mod/Fem/femsolver/mystran) INSTALL(FILES ${FemSolverZ88_SRCS} DESTINATION Mod/Fem/femsolver/z88) INSTALL(FILES ${FemTests_SRCS} DESTINATION Mod/Fem/femtest) INSTALL(FILES ${FemTestsApp_SRCS} DESTINATION Mod/Fem/femtest/app) @@ -429,11 +525,13 @@ INSTALL(FILES ${FemTestsFiles_SRCS} DESTINATION Mod/Fem/femtest/data) INSTALL(FILES ${FemTestsCcx_SRCS} DESTINATION Mod/Fem/femtest/data/calculix) INSTALL(FILES ${FemTestsElmer_SRCS} DESTINATION Mod/Fem/femtest/data/elmer) INSTALL(FILES ${FemTestsMesh_SRCS} DESTINATION Mod/Fem/femtest/data/mesh) +INSTALL(FILES ${FemTestsMystran_SRCS} DESTINATION Mod/Fem/femtest/data/mystran) INSTALL(FILES ${FemTestsOpen_SRCS} DESTINATION Mod/Fem/femtest/data/open) INSTALL(FILES ${FemTestsZ88Main_SRCS} DESTINATION Mod/Fem/femtest/data/z88) -INSTALL(FILES ${FemTestsZ88Ccxcantifl_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccxcantilever_faceload) -INSTALL(FILES ${FemTestsZ88Ccxcantihex_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccxcantilever_hexa20) -INSTALL(FILES ${FemTestsZ88Ccxcantinl_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccxcantilever_nodeload) +INSTALL(FILES ${FemTestsZ88CcxcantiEleHex20_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20) +INSTALL(FILES ${FemTestsZ88CcxcantiEleTria6_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6) +INSTALL(FILES ${FemTestsZ88Ccxcantifl_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccx_cantilever_faceload) +INSTALL(FILES ${FemTestsZ88Ccxcantinl_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload) INSTALL(FILES ${FemTools_SRCS} DESTINATION Mod/Fem/femtools) @@ -453,6 +551,7 @@ SET(FemGuiObjects_SRCS SET(FemGuiTaskPanels_SRCS femtaskpanels/__init__.py + femtaskpanels/task_constraint_centrif.py femtaskpanels/task_constraint_electrostaticpotential.py femtaskpanels/task_constraint_flowvelocity.py femtaskpanels/task_constraint_initialflowvelocity.py @@ -489,6 +588,7 @@ SET(FemGuiViewProvider_SRCS femviewprovider/view_base_femobject.py femviewprovider/view_constant_vacuumpermittivity.py femviewprovider/view_constraint_bodyheatsource.py + femviewprovider/view_constraint_centrif.py femviewprovider/view_constraint_electrostaticpotential.py femviewprovider/view_constraint_flowvelocity.py femviewprovider/view_constraint_initialflowvelocity.py diff --git a/src/Mod/Fem/Gui/AppFemGui.cpp b/src/Mod/Fem/Gui/AppFemGui.cpp index c088a067c5..fad9b28703 100644 --- a/src/Mod/Fem/Gui/AppFemGui.cpp +++ b/src/Mod/Fem/Gui/AppFemGui.cpp @@ -40,6 +40,7 @@ #include "DlgSettingsFemGmshImp.h" #include "DlgSettingsFemInOutVtkImp.h" #include "DlgSettingsFemMaterialImp.h" +#include "DlgSettingsFemMystranImp.h" #include "DlgSettingsFemZ88Imp.h" #include "ViewProviderFemMesh.h" #include "ViewProviderFemMeshShape.h" @@ -169,6 +170,7 @@ PyMOD_INIT_FUNC(FemGui) new Gui::PrefPageProducer (QT_TRANSLATE_NOOP("QObject","FEM")); new Gui::PrefPageProducer (QT_TRANSLATE_NOOP("QObject","FEM")); new Gui::PrefPageProducer (QT_TRANSLATE_NOOP("QObject","FEM")); + new Gui::PrefPageProducer (QT_TRANSLATE_NOOP("QObject","FEM")); new Gui::PrefPageProducer (QT_TRANSLATE_NOOP("QObject","FEM")); new Gui::PrefPageProducer (QT_TRANSLATE_NOOP("QObject","FEM")); diff --git a/src/Mod/Fem/Gui/CMakeLists.txt b/src/Mod/Fem/Gui/CMakeLists.txt index dcb75c68d8..b70a41634d 100755 --- a/src/Mod/Fem/Gui/CMakeLists.txt +++ b/src/Mod/Fem/Gui/CMakeLists.txt @@ -63,6 +63,7 @@ set(FemGui_UIC_SRCS DlgSettingsFemGmsh.ui DlgSettingsFemInOutVtk.ui DlgSettingsFemMaterial.ui + DlgSettingsFemMystran.ui DlgSettingsFemZ88.ui TaskCreateNodeSet.ui TaskObjectName.ui @@ -129,6 +130,9 @@ SET(FemGui_DLG_SRCS DlgSettingsFemMaterial.ui DlgSettingsFemMaterialImp.cpp DlgSettingsFemMaterialImp.h + DlgSettingsFemMystran.ui + DlgSettingsFemMystranImp.cpp + DlgSettingsFemMystranImp.h DlgSettingsFemZ88.ui DlgSettingsFemZ88Imp.cpp DlgSettingsFemZ88Imp.h @@ -365,6 +369,7 @@ INSTALL(FILES ${FemGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/Fem/Re # Python modules ui files, they are copied as they are, thus the need not to be added to Fem.qrc # see https://forum.freecadweb.org/viewtopic.php?f=10&t=25833 SET(FemGuiPythonUI_SRCS + Resources/ui/ConstraintCentrif.ui Resources/ui/ConstraintTie.ui Resources/ui/ConstraintSectionPrint.ui Resources/ui/ElectrostaticPotential.ui diff --git a/src/Mod/Fem/Gui/DlgSettingsFemGeneral.ui b/src/Mod/Fem/Gui/DlgSettingsFemGeneral.ui index 9c5cd88663..3e247a8ee9 100644 --- a/src/Mod/Fem/Gui/DlgSettingsFemGeneral.ui +++ b/src/Mod/Fem/Gui/DlgSettingsFemGeneral.ui @@ -31,7 +31,7 @@ - Working directory for solving analysis + Working directory for solving analysis and gmsh meshing diff --git a/src/Mod/Fem/Gui/DlgSettingsFemMystran.ui b/src/Mod/Fem/Gui/DlgSettingsFemMystran.ui new file mode 100644 index 0000000000..a16a360f3c --- /dev/null +++ b/src/Mod/Fem/Gui/DlgSettingsFemMystran.ui @@ -0,0 +1,253 @@ + + + FemGui::DlgSettingsFemMystranImp + + + + 0 + 0 + 418 + 144 + + + + Mystran + + + + + + + + + 0 + 0 + + + + Qt::LeftToRight + + + Mystran binary + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + QLayout::SetNoConstraint + + + + + + + Search in known binary directories + + + true + + + UseStandardMystranLocation + + + Mod/Fem/mystran + + + + + + + Mystran + + + + + + + false + + + + 100 + 0 + + + + Mystran binary path + + + + + + + false + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + + 0 + 0 + + + + Leave blank to use default Mystran binary file location + + + MystranBinaryPath + + + Mod/Fem/mystran + + + + + + + Comments + + + + + + + write comments to input file + + + true + + + writeCommentsToInputFile + + + Mod/Fem/mystran + + + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + Gui::PrefCheckBox + QCheckBox +
Gui/PrefWidgets.h
+
+ + Gui::FileChooser + QWidget +
Gui/FileDialog.h
+
+ + Gui::PrefFileChooser + Gui::FileChooser +
Gui/PrefWidgets.h
+
+
+ + + + + + cb_mystran_binary_std + toggled(bool) + l_mystran_binary_path + setEnabled(bool) + + + 406 + 45 + + + 148 + 68 + + + + + cb_mystran_binary_std + toggled(bool) + fc_mystran_binary_path + setEnabled(bool) + + + 406 + 45 + + + 406 + 68 + + + + + cb_mystran_binary_std + toggled(bool) + l_mystran_binary_path + setDisabled(bool) + + + 406 + 45 + + + 148 + 68 + + + + + cb_mystran_binary_std + toggled(bool) + fc_mystran_binary_path + setDisabled(bool) + + + 406 + 45 + + + 406 + 68 + + + + +
diff --git a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp new file mode 100644 index 0000000000..7ed503ea06 --- /dev/null +++ b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.cpp @@ -0,0 +1,74 @@ +/*************************************************************************** + * Copyright (c) 2021 FreeCAD Developers * + * Author: Bernd Hahnebach * + * Based on src/Mod/Fem/Gui/DlgSettingsFemGeneralImp.cpp * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + + +#include "PreCompiled.h" + +#include "DlgSettingsFemMystranImp.h" +#include "ui_DlgSettingsFemMystran.h" +#include +#include + +using namespace FemGui; + +DlgSettingsFemMystranImp::DlgSettingsFemMystranImp( QWidget* parent ) + : PreferencePage( parent ) + , ui(new Ui_DlgSettingsFemMystranImp) +{ + ui->setupUi(this); +} + +DlgSettingsFemMystranImp::~DlgSettingsFemMystranImp() +{ + // no need to delete child widgets, Qt does it all for us +} + +void DlgSettingsFemMystranImp::saveSettings() +{ + ui->cb_mystran_binary_std->onSave(); + ui->fc_mystran_binary_path->onSave(); + ui->cb_mystran_write_comments->onSave(); +} + +void DlgSettingsFemMystranImp::loadSettings() +{ + ui->cb_mystran_binary_std->onRestore(); + ui->fc_mystran_binary_path->onRestore(); + ui->cb_mystran_write_comments->onRestore(); +} + +/** + * Sets the strings of the subwidgets using the current language. + */ +void DlgSettingsFemMystranImp::changeEvent(QEvent *e) +{ + if (e->type() == QEvent::LanguageChange) { + ui->retranslateUi(this); + } + else { + QWidget::changeEvent(e); + } +} + +#include "moc_DlgSettingsFemMystranImp.cpp" diff --git a/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.h b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.h new file mode 100644 index 0000000000..902fa74bf7 --- /dev/null +++ b/src/Mod/Fem/Gui/DlgSettingsFemMystranImp.h @@ -0,0 +1,54 @@ + /************************************************************************** + * Copyright (c) 2021 FreeCAD Developers * + * Author: Bernd Hahnebach * + * Based on src/Mod/Fem/Gui/DlgSettingsFemGeneralImp.h * + * * + * This file is part of the FreeCAD CAx development system. * + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Library General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + * This library is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Library General Public License for more details. * + * * + * You should have received a copy of the GNU Library General Public * + * License along with this library; see the file COPYING.LIB. If not, * + * write to the Free Software Foundation, Inc., 59 Temple Place, * + * Suite 330, Boston, MA 02111-1307, USA * + * * + ***************************************************************************/ + + +#ifndef FEMGUI_DLGSETTINGSFEMMYSTRANIMP_H +#define FEMGUI_DLGSETTINGSFEMMYSTRANIMP_H + +#include +#include + +namespace FemGui { + +class Ui_DlgSettingsFemMystranImp; +class DlgSettingsFemMystranImp : public Gui::Dialog::PreferencePage +{ + Q_OBJECT + +public: + DlgSettingsFemMystranImp( QWidget* parent = 0 ); + ~DlgSettingsFemMystranImp(); + +protected: + void saveSettings(); + void loadSettings(); + void changeEvent(QEvent *e); + +private: + std::unique_ptr ui; +}; + +} // namespace FemGui + +#endif // FEMGUI_DLGSETTINGSFEMMYSTRANIMP_H diff --git a/src/Mod/Fem/Gui/Resources/Fem.qrc b/src/Mod/Fem/Gui/Resources/Fem.qrc index bc18c2a731..a5f8faf7da 100755 --- a/src/Mod/Fem/Gui/Resources/Fem.qrc +++ b/src/Mod/Fem/Gui/Resources/Fem.qrc @@ -10,6 +10,7 @@ icons/FEM_ConstraintBearing.svg + icons/FEM_ConstraintCentrif.svg icons/FEM_ConstraintContact.svg icons/FEM_ConstraintDisplacement.svg icons/FEM_ConstraintElectrostaticPotential.svg @@ -142,6 +143,7 @@ translations/Fem_zh-TW.qm + ui/ConstraintCentrif.ui ui/ConstraintSectionPrint.ui ui/ConstraintTie.ui ui/ElectrostaticPotential.ui diff --git a/src/Mod/Fem/Gui/Resources/icons/FEM_ConstraintCentrif.svg b/src/Mod/Fem/Gui/Resources/icons/FEM_ConstraintCentrif.svg new file mode 100644 index 0000000000..001608e20c --- /dev/null +++ b/src/Mod/Fem/Gui/Resources/icons/FEM_ConstraintCentrif.svg @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + image/svg+xml + + + + [Przemo Firszt] + + + 2015-07-28 + http://www.freecadweb.org/wiki/index.php?title=Artwork + + + FreeCAD + + + FreeCAD/src/Mod/ + + + FreeCAD LGPL2+ + + + https://www.gnu.org/copyleft/lesser.html + + + [agryson] Alexander Gryson + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem.ts b/src/Mod/Fem/Gui/Resources/translations/Fem.ts index a95ebb0ce3..4f4a6ffe68 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem.ts @@ -74,6 +74,11 @@ Geometry reference selector for a
+ + + Geometry reference selector for a + + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + + If no geometry is added to the list, all remaining ones are used. + + Click on "Add" and select geometric elements to add to the list. @@ -100,13 +120,8 @@ - - The following geometry elements are allowed to select: - - - - - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid - - - Geometry reference selector for a - -
SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_af.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_af.qm index 6ef793e90e..0be60627b8 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_af.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_af.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_af.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_af.ts index d33d6495c4..856b1cfaa6 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_af.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_af.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solid - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ar.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ar.qm index 88dab3e3da..4ae7dbbc25 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_ar.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_ar.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ar.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ar.ts index cc9af8b920..7a37c2cd6b 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ar.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ar.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + محدد مرجع الشكل الهندسي لـ + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid صلب - - - Geometry reference selector for a - محدد مرجع الشكل الهندسي لـ - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ca.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ca.qm index e5a3019f27..0c787b4603 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_ca.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_ca.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts index 3a3c7673ec..e210bc3626 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ca.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Selector de referència de geometria per a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Clica a "Afegir" i selecciona els elements geomètrics per afegir-los a la llista. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Sòlid - - - Geometry reference selector for a - Selector de referència de geometria per a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_cs.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_cs.qm index 9156f46cd6..1403453184 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_cs.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_cs.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts index 7a11950b0a..bacb23baad 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_cs.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Volič referenční geometrie pro + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Těleso - - - Geometry reference selector for a - Volič referenční geometrie pro - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_de.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_de.qm index 5797c14914..251a66f16b 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_de.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_de.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts index 4d888ed281..504e0e9663 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_de.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometrie-Referenzauswahl für ein + + + Geometry reference selector for a + Geometrie-Referenzauswahl für ein + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Klicke auf "Hinzufügen" und wähle die geometrische Elemente, um sie zur Liste hinzuzufügen. + + + The following geometry elements are allowed to select: + Die folgenden Geometrieelemente können ausgewählt werden: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Wenn keine Geometrie zur Liste hinzugefügt wird, werden alle verbleibenden verwendet. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Klicke auf "Hinzufügen" und wähle die geometrische Elemente, um sie zur Liste hinzuzufügen. - - The following geometry elements are allowed to select: - Die folgenden Geometrieelemente können ausgewählt werden: - - - - If no geometry is added to the list, all remaining ones are used. - Wenn keine Geometrie zur Liste hinzugefügt wird, werden alle verbleibenden verwendet. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Vollkörper - - - Geometry reference selector for a - Geometrie-Referenzauswahl für ein - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_el.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_el.qm index 13f00e4cb0..d5d13fb2c3 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_el.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_el.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts index 8a5697245b..3daccfc003 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_el.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Επιλογέας γεωμετρίας αναφοράς για ένα + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Στερεό - - - Geometry reference selector for a - Επιλογέας γεωμετρίας αναφοράς για ένα - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.qm index 734a7e16de..d6e6adbf4b 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts index b95aa76607..6c4beacaf5 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_es-ES.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Selector de referencia de geometría para un + + + Geometry reference selector for a + Selector de referencia de geometría para una + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Haga clic en "Añadir" y seleccione elementos geométricos para añadirlos a la lista. + + + The following geometry elements are allowed to select: + Los siguientes elementos de geometría están permitidos para seleccionar: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Si no se añade geometría a la lista, se utilizarán todas las restantes. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Haga clic en 'Añadir' y seleccione elementos geométricos para añadirlos a la lista. - - The following geometry elements are allowed to select: - Los siguientes elementos de geometría están permitidos para seleccionar: - - - - If no geometry is added to the list, all remaining ones are used. - Si no se añade geometría a la lista, se utilizarán todas las restantes. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Sólido - - - Geometry reference selector for a - Selector de referencia de geometría para una - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_eu.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_eu.qm index e6876c314c..e99e530b0b 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_eu.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_eu.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts index d0b896da01..cd1d1a4f97 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_eu.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometria-erreferentziaren hautatzailea honetarako: + + + Geometry reference selector for a + Geometria-erreferentziaren hautatzailea honetarako: + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Sakatu 'Gehitu' eta hautatu elementu geometrikoak, haiek zerrendari gehitzeko. + + + The following geometry elements are allowed to select: + Honako geometria-elementuak hautatu daitezke: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Zerrendari geometriarik gehitzen ez bazaio, geratzen direnak erabiliko dira. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Sakatu 'Gehitu' eta hautatu elementu geometrikoak, haiek zerrendari gehitzeko. - - The following geometry elements are allowed to select: - Honako geometria-elementuak hautatu daitezke: - - - - If no geometry is added to the list, all remaining ones are used. - Zerrendari geometriarik gehitzen ez bazaio, geratzen direnak erabiliko dira. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solidoa - - - Geometry reference selector for a - Geometria-erreferentziaren hautatzailea honetarako: - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.qm index e5dadc814c..773f0f2bf2 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts index ad7268f810..44ef6b0e3d 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_fi.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometrinen viitevalitsin kohteelle + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Kiintomuoto - - - Geometry reference selector for a - Geometrinen viitevalitsin kohteelle - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fil.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_fil.qm index bd8b70fe0d..a5e9d9bd8b 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_fil.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_fil.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fil.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_fil.ts index cbf7ff229a..62e9d53587 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_fil.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_fil.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solid - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.qm index 09fa4b1c3f..01af78f5d0 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts index 23515f844c..a7197c03fc 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_fr.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Sélecteur de référence de géométrie pour une + + + Geometry reference selector for a + Sélecteur de référence de géométrie pour une + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Cliquez sur "Ajouter" et sélectionnez les éléments géométriques pour les ajouter à la liste. + + + The following geometry elements are allowed to select: + Les éléments géométriques suivants sont autorisés à sélectionner: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Si aucune géométrie n'est ajoutée à la liste, tous les éléments restants seront utilisés. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Cliquez sur 'Ajouter' et sélectionnez les éléments géométriques pour les ajouter à la liste. - - The following geometry elements are allowed to select: - Les éléments géométriques suivants sont autorisés à sélectionner: - - - - If no geometry is added to the list, all remaining ones are used. - Si aucune géométrie n'est ajoutée à la liste, tous les éléments restants seront utilisés. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solide - - - Geometry reference selector for a - Sélecteur de référence de géométrie pour une - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_gl.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_gl.qm index 84b586b1ad..1a163bc1c3 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_gl.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_gl.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts index c8ac280007..1dab0ce553 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_gl.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + O selector de xeometría de referencia para + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Sólido - - - Geometry reference selector for a - O selector de xeometría de referencia para - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.qm index ec60fbcf97..19978694ab 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts index acb1d513af..793e2ddc96 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_hr.ts @@ -75,6 +75,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Odabir referentne geometrije za + Add @@ -90,6 +95,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -101,14 +121,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -120,11 +135,6 @@ Solid Čvrsto tijelo - - - Geometry reference selector for a - Odabir referentne geometrije za - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.qm index dfa2998132..ffc9b0d2b7 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts index ac17c1d66b..6105887cc3 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_hu.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometria hivatkozás választó ehhez + + + Geometry reference selector for a + Geometria hivatkozás kiválasztó ehhez + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Kattintson a "Hozzáadás" gombra, és jelölje ki a geometriai elemeket a listához adáshoz. + + + The following geometry elements are allowed to select: + A következő geometriai elemek közül választhat: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Ha nincs geometria hozzáadva a listához, az összes többit használja. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Kattintson a 'Hozzáadás' gombra, és jelölje ki a geometriai elemeket a listához adáshoz. - - The following geometry elements are allowed to select: - A következő geometriai elemek közül választhat: - - - - If no geometry is added to the list, all remaining ones are used. - Ha nincs geometria hozzáadva a listához, az összes többit használja. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Szilárd test - - - Geometry reference selector for a - Geometria hivatkozás kiválasztó ehhez - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_id.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_id.qm index 9eda9876b2..daee2a3475 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_id.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_id.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts index ece4a9ea25..69e8883637 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_id.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Pemilih referensi geometri untuk + + + Geometry reference selector for a + Pemilih referensi geometri untuk + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Klik "Tambahkan" dan pilih elemen geometri untuk menambahkannya ke daftar. + + + The following geometry elements are allowed to select: + Elemen geometri berikut adalah yang diperbolehkan untuk dipilih: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Jika tidak ada geometri yang ditambahkan ke daftar, semua yang tersisa akan digunakan. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Klik 'Tambahkan' dan pilih elemen geometri untuk menambahkannya ke daftar. - - The following geometry elements are allowed to select: - Elemen geometri berikut adalah yang diperbolehkan untuk dipilih: - - - - If no geometry is added to the list, all remaining ones are used. - Jika tidak ada geometri yang ditambahkan ke daftar, semua yang tersisa akan digunakan. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Padat - - - Geometry reference selector for a - Pemilih referensi geometri untuk - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_it.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_it.qm index 29c85f9fa2..ce65c0c278 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_it.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_it.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts index fddab11d21..bb49153958 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_it.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Selettore della geometria di riferimento per + + + Geometry reference selector for a + Selettore della geometria di riferimento per + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Fare clic su "Aggiungi" e selezionare gli elementi geometrici per aggiungerli all'elenco. + + + The following geometry elements are allowed to select: + È consentito selezionare i seguenti elementi di geometria: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Se non viene aggiunta alcuna geometria all'elenco, vengono usate tutte quelle rimanenti. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Fare clic su "Aggiungi" e selezionare gli elementi geometrici per aggiungerli all'elenco. - - The following geometry elements are allowed to select: - È consentito selezionare i seguenti elementi di geometria: - - - - If no geometry is added to the list, all remaining ones are used. - Se non viene aggiunta alcuna geometria all'elenco, vengono usate tutte quelle rimanenti. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solido - - - Geometry reference selector for a - Selettore della geometria di riferimento per - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.qm index 852997acd7..a190ebfc6c 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts index 3d3f257587..56bc750326 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ja.ts @@ -74,6 +74,11 @@ Geometry reference selector for a ジオメトリー参照セレクター + + + Geometry reference selector for a + ジオメトリー参照セレクター + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. 「追加」をクリックしてからジオメトリー要素を選択してリストに追加します。 + + + The following geometry elements are allowed to select: + 次のジオメトリー要素を選択できます: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + リストにジオメトリーが追加されない場合、残りのジオメトリー全てが使用されます。 + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ 「追加」をクリックしてからジオメトリー要素を選択してリストに追加します。 - - The following geometry elements are allowed to select: - 次のジオメトリー要素を選択できます: - - - - If no geometry is added to the list, all remaining ones are used. - リストにジオメトリーが追加されない場合、残りのジオメトリー全てが使用されます。 + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid ソリッド - - - Geometry reference selector for a - ジオメトリー参照セレクター - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_kab.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_kab.qm index d50277090e..6cbc48c0e3 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_kab.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_kab.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_kab.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_kab.ts index 0b4f4f0f8c..a29474e4d9 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_kab.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_kab.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solide - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ko.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ko.qm index a9882d0d34..f2f8f9ca7b 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_ko.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_ko.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts index 25fac7ecbd..8c6bcbb120 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ko.ts @@ -75,6 +75,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -90,6 +95,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -101,14 +121,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -120,11 +135,6 @@ Solid 복합체 - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_lt.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_lt.qm index 8c04534d14..fb72828ecb 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_lt.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_lt.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_lt.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_lt.ts index b5b8e049f2..842d9dbf79 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_lt.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_lt.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Pilnaviduris daiktas - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.qm index 5cce8d4170..4e52395f26 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts index 4d62307097..c6230ec861 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_nl.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometriereferentiekeuze voor een + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Volumemodel - - - Geometry reference selector for a - Geometriereferentiekeuze voor een - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_no.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_no.qm index 3851b693ca..7edd440dba 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_no.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_no.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_no.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_no.ts index 5feb61c8fd..e0c611c06d 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_no.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_no.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solid - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.qm index f7ad338914..2eb15868f2 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts index ac98a8d0ff..28563d6b10 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_pl.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Określenie odniesienia do geometrii dla + + + Geometry reference selector for a + Selektor odniesienia geometrii dla + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Kliknij na "Dodaj" i wybierz elementy geometryczne, aby dodać je do listy. + + + The following geometry elements are allowed to select: + Można wybrać następujące elementy geometrii: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Jeśli żadna geometria nie zostanie dodana do listy, wszystkie pozostałe zostaną użyte. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Kliknij na "Dodaj" i wybierz elementy geometryczne, aby dodać je do listy. - - The following geometry elements are allowed to select: - Można wybrać następujące elementy geometrii: - - - - If no geometry is added to the list, all remaining ones are used. - Jeśli żadna geometria nie zostanie dodana do listy, wszystkie pozostałe zostaną użyte. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Bryła - - - Geometry reference selector for a - Selektor odniesienia geometrii dla - SolidSelector @@ -611,7 +621,7 @@ Run solver calculations - Uruchomić obliczenia dodatku solver + Uruchom obliczenia solwera @@ -922,7 +932,7 @@ Run solver calculations - Uruchomić obliczenia dodatku solver + Uruchom obliczenia solwera @@ -1043,7 +1053,7 @@ Write .inp file and run CalculiX ccx - Wpisz plik .inp i uruchom CalculiX ccx + Zapisz plik .inp i uruchom CalculiX ccx @@ -1056,7 +1066,7 @@ Dialog to start the calculation of the selected solver - Okno dialogowe, aby rozpocząć obliczanie wybranego dodatku solver + Okno dialogowe, do uruchomienia obliczeń wybranym solwerem @@ -1069,7 +1079,7 @@ Dialog to start the calculation of the selected solver - Okno dialogowe, aby rozpocząć obliczanie wybranego dodatku solver + Okno dialogowe, do uruchomienia obliczeń wybranym solwerem @@ -1103,7 +1113,7 @@ Fem - Mes + MES @@ -1117,7 +1127,7 @@ Fem - Mes + MES @@ -1135,7 +1145,7 @@ Fem - Mes + MES @@ -1153,7 +1163,7 @@ Fem - Mes + MES @@ -1171,7 +1181,7 @@ Fem - Mes + MES @@ -1189,7 +1199,7 @@ Fem - Mes + MES @@ -1207,12 +1217,12 @@ Fem - Mes + MES Create FEM pressure constraint - Utwórz wiązanie MES ciśnienia + Utwórz wiązanie MES nacisku @@ -1225,7 +1235,7 @@ Fem - Mes + MES @@ -1243,7 +1253,7 @@ Fem - Mes + MES @@ -1257,7 +1267,7 @@ Fem - Mes + MES @@ -1281,7 +1291,7 @@ Fem - Mes + MES @@ -1295,7 +1305,7 @@ Fem - Mes + MES @@ -1725,7 +1735,7 @@ Selection error - Błąd selekcji + Błąd wyboru @@ -1877,7 +1887,7 @@ Write .inp file - Zapiusz plik .inp + Zapisz plik .inp @@ -2488,7 +2498,7 @@ Pressure - Ciśnienie + Nacisk diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.qm index 0b64b225a0..e10db2fd0f 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts index f8efdf8b76..f4b69ea901 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-BR.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Seletor de referência de geometria para um + + + Geometry reference selector for a + Seletor de referência geometria para um + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Clique em "Adicionar" e selecione os elementos geométricos para adicioná-los à lista. + + + The following geometry elements are allowed to select: + Os seguintes elementos de geometria podem selecionar: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Se nenhuma geometria for adicionada à lista, todas as restantes serão usadas. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Clique em 'Adicionar' e selecione elementos geométricos para adicioná-los à lista. - - The following geometry elements are allowed to select: - Os seguintes elementos de geometria podem selecionar: - - - - If no geometry is added to the list, all remaining ones are used. - Se nenhuma geometria for adicionada à lista, todas as restantes serão usadas. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Sólido - - - Geometry reference selector for a - Seletor de referência geometria para um - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.qm index f0994d2cd6..03a9a848e2 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts index 830a7ac017..5c69d2f1ec 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_pt-PT.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Seletor de referência de geometria para um + + + Geometry reference selector for a + Seletor de geometria de referência para um + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Clique em "Adicionar" e selecione os elementos geométricos para adicionar à lista. + + + The following geometry elements are allowed to select: + Os seguintes elementos de geometria podem ser selecionados: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Se nenhuma geometria for adicionada à lista, todas as restantes serão usadas. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Clique em "Adicionar" e selecione os elementos geométricos para adicionar à lista. - - The following geometry elements are allowed to select: - Os seguintes elementos de geometria podem ser selecionados: - - - - If no geometry is added to the list, all remaining ones are used. - Se nenhuma geometria for adicionada à lista, todas as restantes serão usadas. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Sólido - - - Geometry reference selector for a - Seletor de geometria de referência para um - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ro.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ro.qm index e808a89c02..93d42fe9ff 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_ro.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_ro.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts index 9af8adde25..74def81279 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ro.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometrie selectorul de referinţă pentru o + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solid - - - Geometry reference selector for a - Geometrie selectorul de referinţă pentru o - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.qm index 7a6d673376..d916ec59e5 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts index c213a70342..35786472bd 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_ru.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Выбор геометрии для + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Твердотельный объект - - - Geometry reference selector for a - Выбор геометрии для - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sk.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_sk.qm index 272df441b2..5898e9c8fa 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_sk.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_sk.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sk.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sk.ts index ae1ebd76d9..66e7731f37 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sk.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sk.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Teleso - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sl.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_sl.qm index 2a5817333d..52edac0d3c 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_sl.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_sl.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts index b7046dfbf8..fba0aae108 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sl.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Izbirnik referenčne geometrije za + + + Geometry reference selector for a + Izbirnik referenčne geometrije za + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Kliknite na "Dodaj" in izberite geometrijske prvine, ki jih želite dodati na seznam. + + + The following geometry elements are allowed to select: + Dovoljeno je izbrati naslednje geometrijske prvine: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + Če na seznam ni dodane nobene geometrije, se uporabi vse obstoječe. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Kliknite na "Dodaj" in izberite geometrijske prvine, ki jih želite dodati na seznam. - - The following geometry elements are allowed to select: - Dovoljeno je izbrati naslednje geometrijske prvine: - - - - If no geometry is added to the list, all remaining ones are used. - Če na seznam ni dodane nobene geometrije, se uporabi vse obstoječe. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Telo - - - Geometry reference selector for a - Izbirnik referenčne geometrije za - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sr.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_sr.qm index 3b0a347340..723f50ef10 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_sr.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_sr.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts index 689ea023d9..a6b92dbf55 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sr.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Чврcто тело - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.qm index d5a8be7979..feb90d779f 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts index f36e8a6892..672ee65eff 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_sv-SE.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Solid - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_tr.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_tr.qm index c303e1761e..463a82aabe 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_tr.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_tr.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts index b11a56d48d..8deb95c41d 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_tr.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometri referans seçici için bir + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Katı - - - Geometry reference selector for a - Geometri referans seçici için bir - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.qm index 841ae5f31e..b7af716077 100755 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts index db3b986fa3..fc42e006cf 100755 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_uk.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Суцільне тіло - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.qm index 3d5cf174d7..de384a2389 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts index 43adc63f18..6b1cc35e48 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_val-ES.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Selector de referència de geometria per a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Sòlid - - - Geometry reference selector for a - Selector de referència de geometria per a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_vi.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_vi.qm index b83fdfb891..2d1a16ed74 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_vi.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_vi.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_vi.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_vi.ts index efd3d764ed..ef9f094f0f 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_vi.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_vi.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Công cụ chọn tham chiếu hình học cho một + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid Chất rắn - - - Geometry reference selector for a - Công cụ chọn tham chiếu hình học cho một - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.qm index 57c9c9930b..bc58d3fb08 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts index c9f75ba387..f9f5b07242 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-CN.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + 的几何体参考选择器 + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. 点击"添加"并选择几何元素添加到列表中。 + + + The following geometry elements are allowed to select: + 允许选择以下几何元素: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + 如果没有几何元素添加到列表中,则使用所有剩余的几何图形。 + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ 单击“添加”并选择几何元素添加到列表中。 - - The following geometry elements are allowed to select: - 允许选择以下几何元素: - - - - If no geometry is added to the list, all remaining ones are used. - 如果没有几何元素添加到列表中,则使用所有剩余的几何图形。 + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid 实体 - - - Geometry reference selector for a - 的几何体参考选择器 - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.qm b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.qm index 06d5933e7f..22d5092bf5 100644 Binary files a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.qm and b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.qm differ diff --git a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts index 8488c5c415..298adff706 100644 --- a/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts +++ b/src/Mod/Fem/Gui/Resources/translations/Fem_zh-TW.ts @@ -74,6 +74,11 @@ Geometry reference selector for a Geometry reference selector for a + + + Geometry reference selector for a + Geometry reference selector for a + Add @@ -89,6 +94,21 @@ Click on "Add" and select geometric elements to add them to the list. Click on "Add" and select geometric elements to add them to the list. + + + The following geometry elements are allowed to select: + The following geometry elements are allowed to select: + + + + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + Click on "Add" and select geometric elements to add them to the list.{}The following geometry elements are allowed to select: {}{}{} + + + + If no geometry is added to the list, all remaining ones are used. + If no geometry is added to the list, all remaining ones are used. + Click on "Add" and select geometric elements to add to the list. @@ -100,14 +120,9 @@ Click on 'Add' and select geometric elements to add them to the list. - - The following geometry elements are allowed to select: - The following geometry elements are allowed to select: - - - - If no geometry is added to the list, all remaining ones are used. - If no geometry is added to the list, all remaining ones are used. + + {}If no geometry is added to the list, all remaining ones are used. + {}If no geometry is added to the list, all remaining ones are used. @@ -119,11 +134,6 @@ Solid 實體 - - - Geometry reference selector for a - Geometry reference selector for a - SolidSelector diff --git a/src/Mod/Fem/Gui/Resources/ui/ConstraintCentrif.ui b/src/Mod/Fem/Gui/Resources/ui/ConstraintCentrif.ui new file mode 100644 index 0000000000..8f600c9c07 --- /dev/null +++ b/src/Mod/Fem/Gui/Resources/ui/ConstraintCentrif.ui @@ -0,0 +1,131 @@ + + + Form + + + + 0 + 0 + 350 + 500 + + + + Centrif parameter + + + + + + + 16777215 + 1677215 + + + + Parameter + + + + + + 4 + + + + + + 0 + 0 + + + + Rotation frequency f<sub>rot</sub> [rps] + + + false + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + 0 + + + -1 + + + + + + + + 0 + 0 + + + + + 80 + 20 + + + + revolutions per second + + + Qt::LeftToRight + + + 0.0 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 1.000000000000000 + + + 1000000000.000000000000000 + + + 1/s + + + 2 + + + 0.000000000000000 + + + + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + Gui::InputField + QLineEdit +
Gui/InputField.h
+
+
+ + +
diff --git a/src/Mod/Fem/Gui/Resources/ui/Material.ui b/src/Mod/Fem/Gui/Resources/ui/Material.ui index 818a4f2634..6c5ab1d64c 100755 --- a/src/Mod/Fem/Gui/Resources/ui/Material.ui +++ b/src/Mod/Fem/Gui/Resources/ui/Material.ui @@ -246,7 +246,7 @@ 2.000000000000000 - 2000000000.000000000000000 + 90000000000.000000000000000 Pa diff --git a/src/Mod/Fem/Gui/Workbench.cpp b/src/Mod/Fem/Gui/Workbench.cpp index d3d66dc5d3..238c31a142 100755 --- a/src/Mod/Fem/Gui/Workbench.cpp +++ b/src/Mod/Fem/Gui/Workbench.cpp @@ -142,6 +142,7 @@ Gui::ToolBarItem* Workbench::setupToolBars() const << "Separator" << "FEM_ConstraintForce" << "FEM_ConstraintPressure" + << "FEM_ConstraintCentrif" << "FEM_ConstraintSelfWeight"; Gui::ToolBarItem* thermal = new Gui::ToolBarItem(root); @@ -268,6 +269,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const << "Separator" << "FEM_ConstraintForce" << "FEM_ConstraintPressure" + << "FEM_ConstraintCentrif" << "FEM_ConstraintSelfWeight"; Gui::MenuItem* thermal = new Gui::MenuItem; @@ -335,6 +337,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const << "FEM_SolverCalculixCxxtools" << "FEM_SolverCalculiX" << "FEM_SolverElmer" + << "FEM_SolverMystran" << "FEM_SolverZ88" << "Separator" << "FEM_EquationElasticity" diff --git a/src/Mod/Fem/Init.py b/src/Mod/Fem/Init.py index d2bb0e1626..d1b5fbe46f 100644 --- a/src/Mod/Fem/Init.py +++ b/src/Mod/Fem/Init.py @@ -66,6 +66,8 @@ FreeCAD.addExportType("FEM mesh TetGen (*.poly)", "feminout.convert2TetGen") FreeCAD.addImportType("FEM mesh formats (*.bdf *.dat *.inp *.med *.unv *.vtk *.vtu *.z88)", "Fem") FreeCAD.addExportType("FEM mesh formats (*.dat *.inp *.med *.stl *.unv *.vtk *.vtu *.z88)", "Fem") +FreeCAD.addExportType("FEM mesh Nastran (*.bdf)", "feminout.exportNastranMesh") + FreeCAD.addImportType("FEM result CalculiX (*.frd)", "feminout.importCcxFrdResults") FreeCAD.addImportType("FEM mesh Fenics (*.xml *.xdmf)", "feminout.importFenicsMesh") diff --git a/src/Mod/Fem/ObjectsFem.py b/src/Mod/Fem/ObjectsFem.py index 885025f69a..bc99add23a 100644 --- a/src/Mod/Fem/ObjectsFem.py +++ b/src/Mod/Fem/ObjectsFem.py @@ -98,6 +98,21 @@ def makeConstraintBodyHeatSource( return obj +def makeConstraintCentrif( + doc, + name="ConstraintCentrif" +): + """makeConstraintCentrif(document, [name]): + creates a centrif object to define centrifugal body load constraint""" + obj = doc.addObject("Fem::ConstraintPython", name) + from femobjects import constraint_centrif + constraint_centrif.ConstraintCentrif(obj) + if FreeCAD.GuiUp: + from femviewprovider import view_constraint_centrif + view_constraint_centrif.VPConstraintCentrif(obj.ViewObject) + return obj + + def makeConstraintContact( doc, name="ConstraintContact" @@ -784,6 +799,17 @@ def makeSolverElmer( return obj +def makeSolverMystran( + doc, + name="SolverMystran" +): + """makeSolverMystran(document, [name]): + makes a Mystran solver object""" + import femsolver.mystran.solver + obj = femsolver.mystran.solver.create(doc, name) + return obj + + def makeSolverZ88( doc, name="SolverZ88" diff --git a/src/Mod/Fem/femcommands/commands.py b/src/Mod/Fem/femcommands/commands.py index 8a84c30dda..64565ebd6a 100644 --- a/src/Mod/Fem/femcommands/commands.py +++ b/src/Mod/Fem/femcommands/commands.py @@ -162,6 +162,17 @@ class _ConstraintBodyHeatSource(CommandManager): self.do_activated = "add_obj_on_gui_noset_edit" +class _ConstraintCentrif(CommandManager): + "The FEM_ConstraintCentrif command definition" + + def __init__(self): + super(_ConstraintCentrif, self).__init__() + self.menuetext = "Constraint centrif" + self.tooltip = "Creates a FEM constraint centrif" + self.is_active = "with_analysis" + self.do_activated = "add_obj_on_gui_set_edit" + + class _ConstraintElectrostaticPotential(CommandManager): "The FEM_ConstraintElectrostaticPotential command definition" @@ -730,9 +741,9 @@ class _SolverCalculix(CommandManager): def __init__(self): super(_SolverCalculix, self).__init__() self.pixmap = "FEM_SolverStandard" - self.menuetext = "Solver CalculiX (experimental)" + self.menuetext = "Solver CalculiX (new framework)" self.accel = "S, C" - self.tooltip = "Creates a FEM solver CalculiX (experimental)" + self.tooltip = "Creates a FEM solver CalculiX new framework (less result error handling)" self.is_active = "with_analysis" self.is_active = "with_analysis" self.do_activated = "add_obj_on_gui_noset_edit" @@ -764,6 +775,19 @@ class _SolverElmer(CommandManager): self.do_activated = "add_obj_on_gui_noset_edit" +class _SolverMystran(CommandManager): + "The FEM_SolverMystran command definition" + + def __init__(self): + super(_SolverMystran, self).__init__() + self.pixmap = "FEM_SolverStandard" + self.menuetext = "Solver Mystran" + self.accel = "S, M" + self.tooltip = "Creates a FEM solver Mystran" + self.is_active = "with_analysis" + self.do_activated = "add_obj_on_gui_noset_edit" + + class _SolverRun(CommandManager): "The FEM_SolverRun command definition" @@ -786,7 +810,6 @@ class _SolverZ88(CommandManager): def __init__(self): super(_SolverZ88, self).__init__() - self.pixmap = "FEM_SolverZ88.svg" self.menuetext = "Solver Z88" self.accel = "S, Z" self.tooltip = "Creates a FEM solver Z88" @@ -815,6 +838,10 @@ FreeCADGui.addCommand( "FEM_ConstraintBodyHeatSource", _ConstraintBodyHeatSource() ) +FreeCADGui.addCommand( + "FEM_ConstraintCentrif", + _ConstraintCentrif() +) FreeCADGui.addCommand( "FEM_ConstraintElectrostaticPotential", _ConstraintElectrostaticPotential() @@ -959,6 +986,10 @@ FreeCADGui.addCommand( "FEM_SolverElmer", _SolverElmer() ) +FreeCADGui.addCommand( + "FEM_SolverMystran", + _SolverMystran() +) FreeCADGui.addCommand( "FEM_SolverRun", _SolverRun() diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_base_edge.py b/src/Mod/Fem/femexamples/ccx_cantilever_base_edge.py new file mode 100644 index 0000000000..f1bb01361c --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_base_edge.py @@ -0,0 +1,140 @@ +# *************************************************************************** +# * Copyright (c) 2020 Bernd Hahnebach * +# * Copyright (c) 2020 Sudhanshu Dubey * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD + +import Fem +import ObjectsFem + +from .manager import get_meshname +from .manager import init_doc + + +def setup_cantilever_base_face(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # geometric objects + geom_obj = doc.addObject("Part::Plane", "CanileverPlate") + geom_obj.Width = 1000 + geom_obj.Length = 8000 + geom_obj.Placement = FreeCAD.Placement( + FreeCAD.Vector(0, 500, 0), + FreeCAD.Rotation(0, 0, 90), + FreeCAD.Vector(1, 0, 0), + ) + + doc.recompute() + + if FreeCAD.GuiUp: + geom_obj.ViewObject.Document.activeView().viewAxonometric() + geom_obj.ViewObject.Document.activeView().fitAll() + + # analysis + analysis = ObjectsFem.makeAnalysis(doc, "Analysis") + + # solver + if solvertype == "calculix": + solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX") + elif solvertype == "ccxtools": + solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools") + solver_obj.WorkingDir = u"" + elif solvertype == "mystran": + solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran") + elif solvertype == "z88": + solver_obj = ObjectsFem.makeSolverZ88(doc, "SolverZ88") + else: + FreeCAD.Console.PrintWarning( + "Not known or not supported solver type: {}. " + "No solver object was created.\n".format(solvertype) + ) + if solvertype == "calculix" or solvertype == "ccxtools": + solver_obj.AnalysisType = "static" + solver_obj.GeometricalNonlinearity = "linear" + solver_obj.ThermoMechSteadyState = False + solver_obj.MatrixSolverType = "default" + solver_obj.IterationsControlParameterTimeUse = False + solver_obj.SplitInputWriter = False + analysis.addObject(solver_obj) + + # shell thickness + thickness_obj = ObjectsFem.makeElementGeometry2D(doc, 1000, 'Thickness') + analysis.addObject(thickness_obj) + + # material + material_obj = ObjectsFem.makeMaterialSolid(doc, "MechanicalMaterial") + mat = material_obj.Material + mat["Name"] = "Calculix-Steel" + mat["YoungsModulus"] = "210000 MPa" + mat["PoissonRatio"] = "0.30" + material_obj.Material = mat + analysis.addObject(material_obj) + + # constraint fixed + con_fixed = ObjectsFem.makeConstraintFixed(doc, "ConstraintFixed") + con_fixed.References = [(geom_obj, "Edge1")] + analysis.addObject(con_fixed) + + # constraint force + con_force = ObjectsFem.makeConstraintForce(doc, "ConstraintForce") + con_force.References = [(geom_obj, "Edge3")] + con_force.Force = 9000000.0 # 9'000'000 N = 9 MN + con_force.Direction = (geom_obj, ["Edge3"]) + con_force.Reversed = True + analysis.addObject(con_force) + + # mesh + from .meshes.mesh_canticcx_tria6 import create_nodes, create_elements + fem_mesh = Fem.FemMesh() + control = create_nodes(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0] + femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.ElementDimension = "2D" + femmesh_obj.CharacteristicLengthMax = "500.0 mm" + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_base.py b/src/Mod/Fem/femexamples/ccx_cantilever_base_solid.py similarity index 96% rename from src/Mod/Fem/femexamples/ccx_cantilever_base.py rename to src/Mod/Fem/femexamples/ccx_cantilever_base_solid.py index c3d1d7da51..f92fc3377a 100644 --- a/src/Mod/Fem/femexamples/ccx_cantilever_base.py +++ b/src/Mod/Fem/femexamples/ccx_cantilever_base_solid.py @@ -31,7 +31,7 @@ from .manager import get_meshname from .manager import init_doc -def setup_cantileverbase(doc=None, solvertype="ccxtools"): +def setup_cantilever_base_solid(doc=None, solvertype="ccxtools"): # init FreeCAD document if doc is None: @@ -60,6 +60,8 @@ def setup_cantileverbase(doc=None, solvertype="ccxtools"): elif solvertype == "elmer": solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer") ObjectsFem.makeEquationElasticity(doc, solver_obj) + elif solvertype == "mystran": + solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran") elif solvertype == "z88": solver_obj = ObjectsFem.makeSolverZ88(doc, "SolverZ88") else: diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_hexa20faceload.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py similarity index 88% rename from src/Mod/Fem/femexamples/ccx_cantilever_hexa20faceload.py rename to src/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py index 62f5252903..012c1ea9e8 100644 --- a/src/Mod/Fem/femexamples/ccx_cantilever_hexa20faceload.py +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_hexa20.py @@ -34,11 +34,11 @@ from .manager import init_doc def get_information(): return { - "name": "CCX cantilever hexa20 face load", + "name": "CCX cantilever hexa20 solid elements", "meshtype": "solid", "meshelement": "Hexa20", "constraints": ["fixed", "force"], - "solvers": ["calculix", "z88", "elmer"], + "solvers": ["calculix", "elmer", "z88"], "material": "solid", "equation": "mechanical" } @@ -48,11 +48,12 @@ def get_explanation(header=""): return header + """ To run the example from Python console use: -from femexamples.ccx_cantilever_hexa20faceload import setup +from femexamples.ccx_cantilever_ele_hexa20 import setup setup() See forum topic post: +hexa20 elements and face load ... """ @@ -68,10 +69,15 @@ def setup(doc=None, solvertype="ccxtools"): # just keep the following line and change text string in get_explanation method manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) - # setup cantilever faceload and exchange the mesh + # setup cantilever faceload doc = setup_with_faceload(doc, solvertype) femmesh_obj = doc.getObject(get_meshname()) + # delete explanation object wrongly added with setup faceload + if hasattr(doc, "Explanation_Report001"): + doc.removeObject("Explanation_Report001") + doc.recompute() + # load the hexa20 mesh from .meshes.mesh_canticcx_hexa20 import create_nodes, create_elements new_fem_mesh = Fem.FemMesh() diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py new file mode 100644 index 0000000000..29bcf33718 --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad4.py @@ -0,0 +1,101 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD + +import Fem + +from . import manager +from .ccx_cantilever_base_face import setup_cantilever_base_face +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "CCX cantilever quad4 face elements", + "meshtype": "face", + "meshelement": "Quad4", + "constraints": ["fixed", "force"], + "solvers": ["calculix", "mystran"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.ccx_cantilever_ele_quad4 import setup +setup() + + +See forum topic post: + + +CalculiX cantilever modeled with quad4 face elements + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # setup CalculiX cantilever + doc = setup_cantilever_base_face(doc, solvertype) + femmesh_obj = doc.getObject(get_meshname()) + geom_obj = doc.getObject("CanileverPlate") + + # load the quad4 mesh + from .meshes.mesh_canticcx_quad4 import create_nodes, create_elements + new_fem_mesh = Fem.FemMesh() + control = create_nodes(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + + # overwrite mesh with the quad4 mesh + femmesh_obj.FemMesh = new_fem_mesh + + # set mesh obj parameter + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.ElementDimension = "2D" + femmesh_obj.ElementOrder = "1st" + femmesh_obj.CharacteristicLengthMax = "2000.0 mm" + femmesh_obj.CharacteristicLengthMin = "2000.0 mm" + femmesh_obj.RecombinationAlgorithm = "Blossom full-quad" + femmesh_obj.RecombineAll = True + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py new file mode 100644 index 0000000000..ddba8a2b52 --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_quad8.py @@ -0,0 +1,101 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD + +import Fem + +from . import manager +from .ccx_cantilever_base_face import setup_cantilever_base_face +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "CCX cantilever quad8 face elements", + "meshtype": "face", + "meshelement": "Quad8", + "constraints": ["fixed", "force"], + "solvers": ["calculix"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.ccx_cantilever_ele_quad8 import setup +setup() + + +See forum topic post: + + +CalculiX cantilever modeled with quad8 face elements + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # setup CalculiX cantilever + doc = setup_cantilever_base_face(doc, solvertype) + femmesh_obj = doc.getObject(get_meshname()) + geom_obj = doc.getObject("CanileverPlate") + + # load the quad8 mesh + from .meshes.mesh_canticcx_quad8 import create_nodes, create_elements + new_fem_mesh = Fem.FemMesh() + control = create_nodes(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + + # overwrite mesh with the quad8 mesh + femmesh_obj.FemMesh = new_fem_mesh + + # set mesh obj parameter + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.ElementDimension = "2D" + femmesh_obj.ElementOrder = "1st" + femmesh_obj.CharacteristicLengthMax = "4000.0 mm" + femmesh_obj.CharacteristicLengthMin = "4000.0 mm" + femmesh_obj.RecombinationAlgorithm = "Blossom full-quad" + femmesh_obj.RecombineAll = True + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py new file mode 100644 index 0000000000..cbdadbc8a3 --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg2.py @@ -0,0 +1,99 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD + +import Fem + +from . import manager +from .ccx_cantilever_base_edge import setup_cantilever_base_edge +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "CCX cantilever seg2 beam elements", + "meshtype": "edge", + "meshelement": "Seg2", + "constraints": ["fixed", "force"], + "solvers": ["calculix", "mystran"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.ccx_cantilever_ele_seg2 import setup +setup() + + +See forum topic post (for seg3): +https://forum.freecadweb.org/viewtopic.php?f=18&t=16044 + +CalculiX cantilever modeled with seg2 beam elements + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # setup CalculiX cantilever + doc = setup_cantilever_base_edge(doc, solvertype) + femmesh_obj = doc.getObject(get_meshname()) + geom_obj = doc.getObject("CantileverLine") + + # load the seg2 mesh + from .meshes.mesh_canticcx_seg2 import create_nodes, create_elements + new_fem_mesh = Fem.FemMesh() + control = create_nodes(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + + # overwrite mesh with the seg2 mesh + femmesh_obj.FemMesh = new_fem_mesh + + # set mesh obj parameter + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.ElementDimension = "1D" + femmesh_obj.ElementOrder = "1st" + femmesh_obj.CharacteristicLengthMax = "150.0 mm" + femmesh_obj.CharacteristicLengthMin = "150.0 mm" + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py new file mode 100644 index 0000000000..ce075ecb15 --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_seg3.py @@ -0,0 +1,71 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +from . import manager +from .ccx_cantilever_base_edge import setup_cantilever_base_edge +from .manager import init_doc + + +def get_information(): + return { + "name": "CCX cantilever seg3 beam elements", + "meshtype": "edge", + "meshelement": "Seg3", + "constraints": ["fixed", "force"], + "solvers": ["calculix"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.ccx_cantilever_ele_seg3 import setup +setup() + + +See forum topic post: +https://forum.freecadweb.org/viewtopic.php?f=18&t=16044 + +CalculiX cantilever modeled with seg3 beam elements + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # setup CalculiX cantilever + doc = setup_cantilever_base_edge(doc, solvertype) + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py new file mode 100644 index 0000000000..3d30a8009d --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tetra4.py @@ -0,0 +1,90 @@ +# *************************************************************************** +# * Copyright (c) 2019 Bernd Hahnebach * +# * Copyright (c) 2020 Sudhanshu Dubey * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import Fem + +from . import manager +from .ccx_cantilever_faceload import setup as setup_with_faceload +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "CCX cantilever tetra4 solid elements", + "meshtype": "solid", + "meshelement": "Tetra4", + "constraints": ["fixed", "force"], + "solvers": ["calculix", "elmer", "mystran", "z88"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.ccx_cantilever_ele_tetra4 import setup +setup() + + +Tetra4 elements. There are really a lot needed thus mesh is cleared. +Mesh before run the example. +... + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # delete explanation object wrongly added with setup faceload + if hasattr(doc, "Explanation_Report001"): + doc.removeObject("Explanation_Report001") + doc.recompute() + + # setup cantilever faceload and exchange the mesh + doc = setup_with_faceload(doc, solvertype) + femmesh_obj = doc.getObject(get_meshname()) + geom_obj = doc.getObject("Box") + + # clear mesh and set meshing parameter + femmesh_obj.FemMesh = Fem.FemMesh() + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.ElementDimension = "3D" + femmesh_obj.ElementOrder = "1st" + femmesh_obj.CharacteristicLengthMax = "150.0 mm" + femmesh_obj.CharacteristicLengthMin = "150.0 mm" + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py new file mode 100644 index 0000000000..081bde28fd --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria3.py @@ -0,0 +1,99 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD + +import Fem + +from . import manager +from .ccx_cantilever_base_face import setup_cantilever_base_face +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "CCX cantilever tria3 face elements", + "meshtype": "face", + "meshelement": "Tria3", + "constraints": ["fixed", "force"], + "solvers": ["calculix", "mystran"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.ccx_cantilever_ele_tria3 import setup +setup() + + +See forum topic post: + + +CalculiX cantilever modeled with tria3 face elements + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # setup CalculiX cantilever + doc = setup_cantilever_base_face(doc, solvertype) + femmesh_obj = doc.getObject(get_meshname()) + geom_obj = doc.getObject("CanileverPlate") + + # load the tria3 mesh + from .meshes.mesh_canticcx_tria3 import create_nodes, create_elements + new_fem_mesh = Fem.FemMesh() + control = create_nodes(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(new_fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + + # overwrite mesh with the tria3 mesh + femmesh_obj.FemMesh = new_fem_mesh + + # set mesh obj parameter + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.ElementDimension = "2D" + femmesh_obj.ElementOrder = "1st" + femmesh_obj.CharacteristicLengthMax = "150.0 mm" + femmesh_obj.CharacteristicLengthMin = "150.0 mm" + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py new file mode 100644 index 0000000000..036fc3587f --- /dev/null +++ b/src/Mod/Fem/femexamples/ccx_cantilever_ele_tria6.py @@ -0,0 +1,70 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +from . import manager +from .ccx_cantilever_base_face import setup_cantilever_base_face +from .manager import init_doc + + +def get_information(): + return { + "name": "CCX cantilever tria6 face elements", + "meshtype": "face", + "meshelement": "Tria6", + "constraints": ["fixed", "force"], + "solvers": ["calculix", "z88"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.ccx_cantilever_ele_tria6 import setup +setup() + + +See forum topic post: + +CalculiX cantilever modeled with face elements + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # setup CalculiX cantilever + doc = setup_cantilever_base_face(doc, solvertype) + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py b/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py index 249be5a176..7928b48d30 100644 --- a/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py +++ b/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py @@ -25,7 +25,7 @@ import ObjectsFem from . import manager -from .ccx_cantilever_base import setup_cantileverbase +from .ccx_cantilever_base_solid import setup_cantilever_base_solid from .manager import init_doc @@ -35,7 +35,7 @@ def get_information(): "meshtype": "solid", "meshelement": "Tet10", "constraints": ["fixed", "force"], - "solvers": ["calculix", "z88", "elmer"], + "solvers": ["calculix", "elmer", "mystran", "z88"], "material": "solid", "equation": "mechanical" } @@ -65,8 +65,8 @@ def setup(doc=None, solvertype="ccxtools"): # just keep the following line and change text string in get_explanation method manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) - # setup CalculiX cantilever, apply 9 MN on surface of front end face - doc = setup_cantileverbase(doc, solvertype) + # setup CalculiX cantilever + doc = setup_cantilever_base_solid(doc, solvertype) analysis = doc.Analysis geom_obj = doc.Box diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py b/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py index b34367e3bb..fd82e68d4d 100644 --- a/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py +++ b/src/Mod/Fem/femexamples/ccx_cantilever_nodeload.py @@ -25,7 +25,7 @@ import ObjectsFem from . import manager -from .ccx_cantilever_base import setup_cantileverbase +from .ccx_cantilever_base_solid import setup_cantilever_base_solid from .manager import init_doc @@ -35,7 +35,7 @@ def get_information(): "meshtype": "solid", "meshelement": "Tet10", "constraints": ["fixed", "force"], - "solvers": ["calculix", "z88", "elmer"], + "solvers": ["calculix", "elmer", "mystran", "z88"], "material": "solid", "equation": "mechanical" } @@ -66,7 +66,7 @@ def setup(doc=None, solvertype="ccxtools"): manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) # setup CalculiX cantilever, apply 9 MN on the 4 nodes of the front end face - doc = setup_cantileverbase(doc, solvertype) + doc = setup_cantilever_base_solid(doc, solvertype) analysis = doc.Analysis geom_obj = doc.Box diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py b/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py index 6308d8fd9f..8b601737a5 100644 --- a/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py +++ b/src/Mod/Fem/femexamples/ccx_cantilever_prescribeddisplacement.py @@ -25,7 +25,7 @@ import ObjectsFem from . import manager -from .ccx_cantilever_base import setup_cantileverbase +from .ccx_cantilever_base_solid import setup_cantilever_base_solid from .manager import init_doc @@ -72,7 +72,7 @@ def setup(doc=None, solvertype="ccxtools"): # setup CalculiX cantilever # apply a prescribed displacement of 250 mm in -z on the front end face - doc = setup_cantileverbase(doc, solvertype) + doc = setup_cantilever_base_solid(doc, solvertype) analysis = doc.Analysis geom_obj = doc.Box diff --git a/src/Mod/Fem/femexamples/constraint_centrif.py b/src/Mod/Fem/femexamples/constraint_centrif.py new file mode 100644 index 0000000000..d22749d98e --- /dev/null +++ b/src/Mod/Fem/femexamples/constraint_centrif.py @@ -0,0 +1,197 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD +from FreeCAD import Vector as vec + +from BasicShapes import Shapes +from Draft import clone +from Part import makeLine + +import Fem +import ObjectsFem + +from . import manager +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "Constraint Centrif", + "meshtype": "solid", + "meshelement": "Tet10", + "constraints": ["centrif", "fixed"], + "solvers": ["calculix"], + "material": "multimaterial", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.constraint_centrif import setup +setup() + + +See forum topic post: +https://forum.freecadweb.org/viewtopic.php?f=18&t=57770 + +constraint centrif, concerning CENTRIF label from ccx's *DLOAD card + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # geometric objects + # ring + stiffener = doc.addObject("Part::Box", "Stiffener") + stiffener.Length = 10 + stiffener.Width = 200 + stiffener.Height = 10 + stiffener.Placement.Base = (-5, -100, 0) + circumference = Shapes.addTube(doc, "Circumference") + circumference.Height = 10.0 + circumference.InnerRadius = 97.5 + circumference.OuterRadius = 102.5 + doc.recompute() + + fusion = doc.addObject("Part::MultiFuse", "Fusion") + fusion.Shapes = [stiffener, circumference] + doc.recompute() + + centerhole = doc.addObject("Part::Cylinder", "CenterHole") + centerhole.Radius = 3 + centerhole.Height = 20 + doc.recompute() + + ring_bottom = doc.addObject("Part::Cut", "RingBottom") + ring_bottom.Base = fusion + ring_bottom.Tool = centerhole + doc.recompute() + + # standard ring + ring_top = clone(ring_bottom, delta=vec(0, 0, 20)) + ring_top.Label = "RingTop" + + # compound of both rings + geom_obj = doc.addObject("Part::Compound", "TheRingOfFire") + geom_obj.Links = [ring_bottom, ring_top] + doc.recompute() + + if FreeCAD.GuiUp: + geom_obj.ViewObject.Document.activeView().viewAxonometric() + geom_obj.ViewObject.Document.activeView().fitAll() + + # line for centrif axis + sh_axis_line = makeLine(vec(0, 0, 0), vec(0, 0, 31)) + axis_line = doc.addObject("Part::Feature", "CentrifAxis") + axis_line.Shape = sh_axis_line + doc.recompute() + if FreeCAD.GuiUp: + axis_line.ViewObject.LineWidth = 5.0 + axis_line.ViewObject.LineColor = (1.0, 0.0, 0.0) + + # analysis + analysis = ObjectsFem.makeAnalysis(doc, "Analysis") + + # solver + if solvertype == "calculix": + solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX") + elif solvertype == "ccxtools": + solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools") + solver_obj.WorkingDir = u"" + else: + FreeCAD.Console.PrintWarning( + "Not known or not supported solver type: {}. " + "No solver object was created.\n".format(solvertype) + ) + if solvertype == "calculix" or solvertype == "ccxtools": + solver_obj.AnalysisType = "static" + solver_obj.GeometricalNonlinearity = "linear" + solver_obj.ThermoMechSteadyState = False + solver_obj.MatrixSolverType = "default" + solver_obj.IterationsControlParameterTimeUse = False + solver_obj.SplitInputWriter = False + analysis.addObject(solver_obj) + + # materials + material_obj_scotty = ObjectsFem.makeMaterialSolid(doc, "Steel_Scotty") + mat = material_obj_scotty.Material + mat["Name"] = "Steel_Scotty" + mat["YoungsModulus"] = "210000 MPa" + mat["PoissonRatio"] = "0.30" + mat["Density"] = "4000 kg/m^3" + material_obj_scotty.Material = mat + material_obj_scotty.References = [(ring_bottom, "Solid1")] + analysis.addObject(material_obj_scotty) + + material_obj_std = ObjectsFem.makeMaterialSolid(doc, "Steel_Std") + mat = material_obj_std.Material + mat["Name"] = "Steel_Std" + mat["YoungsModulus"] = "210000 MPa" + mat["PoissonRatio"] = "0.30" + mat["Density"] = "8000 kg/m^3" + material_obj_std.Material = mat + material_obj_std.References = [(ring_top, "Solid1")] + analysis.addObject(material_obj_std) + + # constraint fixed + con_fixed = ObjectsFem.makeConstraintFixed(doc, "ConstraintFixed") + con_fixed.References = [(geom_obj, ("Face4", "Face12"))] + analysis.addObject(con_fixed) + + # constraint centrif + con_centrif = ObjectsFem.makeConstraintCentrif(doc, "ConstraintCentrif") + con_centrif.RotationFrequency = "100 Hz" + con_centrif.RotationAxis = [(axis_line, "Edge1")] + analysis.addObject(con_centrif) + + # mesh + from .meshes.mesh_constraint_centrif_tetra10 import create_nodes, create_elements + fem_mesh = Fem.FemMesh() + control = create_nodes(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0] + femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.CharacteristicLengthMax = "5.0 mm" + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py b/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py index ffa06b15c8..14260ac99d 100644 --- a/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py +++ b/src/Mod/Fem/femexamples/constraint_transform_beam_hinged.py @@ -144,6 +144,7 @@ def setup(doc=None, solvertype="ccxtools"): mat["Density"] = "7900 kg/m^3" mat["ThermalExpansionCoefficient"] = "0.012 mm/m/K" material_obj.Material = mat + analysis.addObject(material_obj) # constraint pressure con_pressure = ObjectsFem.makeConstraintPressure(doc, name="FemConstraintPressure") diff --git a/src/Mod/Fem/femexamples/constraint_transform_torque.py b/src/Mod/Fem/femexamples/constraint_transform_torque.py new file mode 100644 index 0000000000..4f9370a731 --- /dev/null +++ b/src/Mod/Fem/femexamples/constraint_transform_torque.py @@ -0,0 +1,181 @@ +# *************************************************************************** +# * Copyright (c) 2020 Sudhanshu Dubey * +# * Copyright (c) 2020 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +# to run the example use: +""" +from femexamples.constraint_transform_torque import setup() +setup() + +""" + +# constraint transform with a constraint force +# https://forum.freecadweb.org/viewtopic.php?t=19037 +# https://forum.freecadweb.org/viewtopic.php?t=18970 + +import FreeCAD + +import Fem +import ObjectsFem +from Part import makeLine + +from . import manager +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "Constraint Transform Torque", + "meshtype": "solid", + "meshelement": "Tet10", + "constraints": ["fixed", "force", "transform"], + "solvers": ["calculix"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.constraint_transform_torque import setup +setup() + + +See forum topic post: +https://forum.freecadweb.org/viewtopic.php?f=18&t=19037&start=10#p515447 +https://forum.freecadweb.org/viewtopic.php?t=19037 +https://forum.freecadweb.org/viewtopic.php?t=18970 + +constraint transform with a constraint force + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # line for load direction + sh_load_line = makeLine(FreeCAD.Vector(0, 0, 0), FreeCAD.Vector(0, 10, 0)) + load_line = doc.addObject("Part::Feature", "Load_direction_line") + load_line.Shape = sh_load_line + doc.recompute() + if FreeCAD.GuiUp: + load_line.ViewObject.LineWidth = 5.0 + load_line.ViewObject.LineColor = (1.0, 0.0, 0.0) + + # geometry object + # name is important because the other method in this module use obj name + cylinder1 = doc.addObject("Part::Cylinder", "Cylinder1") + cylinder1.Height = "50 mm" + cylinder1.Radius = "5 mm" + cylinder2 = doc.addObject("Part::Cylinder", "Cylinder2") + cylinder2.Height = "50 mm" + cylinder2.Radius = "4 mm" + geom_obj = doc.addObject("Part::Cut", "Cut") + geom_obj.Base = cylinder1 + geom_obj.Tool = cylinder2 + doc.recompute() + + if FreeCAD.GuiUp: + geom_obj.ViewObject.Document.activeView().viewAxonometric() + geom_obj.ViewObject.Document.activeView().fitAll() + + # analysis + analysis = ObjectsFem.makeAnalysis(doc, "Analysis") + + # solver + if solvertype == "calculix": + solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX") + elif solvertype == "ccxtools": + solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools") + solver_obj.WorkingDir = u"" + else: + FreeCAD.Console.PrintWarning( + "Not known or not supported solver type: {}. " + "No solver object was created.\n".format(solvertype) + ) + if solvertype == "calculix" or solvertype == "ccxtools": + solver_obj.AnalysisType = "static" + solver_obj.GeometricalNonlinearity = "linear" + solver_obj.ThermoMechSteadyState = False + solver_obj.MatrixSolverType = "default" + solver_obj.IterationsControlParameterTimeUse = False + solver_obj.SplitInputWriter = False + analysis.addObject(solver_obj) + + # material + material_obj = ObjectsFem.makeMaterialSolid(doc, "MechanicalMaterial") + mat = material_obj.Material + mat["Name"] = "Calculix-Steel" + mat["YoungsModulus"] = "210000 MPa" + mat["PoissonRatio"] = "0.30" + material_obj.Material = mat + analysis.addObject(material_obj) + + # constraint fixed + con_fixed = ObjectsFem.makeConstraintFixed(doc, "ConstraintFixed") + con_fixed.References = [(geom_obj, "Face3")] + analysis.addObject(con_fixed) + + # constraint force + con_force = ObjectsFem.makeConstraintForce(doc, "ConstraintForce") + con_force.References = [(geom_obj, "Face1")] + con_force.Force = 2500.0 # 2500 N = 2.5 kN + con_force.Direction = (load_line, ["Edge1"]) + con_force.Reversed = True + analysis.addObject(con_force) + + # constraint transform + con_transform = ObjectsFem.makeConstraintTransform(doc, name="ConstraintTransform") + con_transform.References = [(geom_obj, "Face1")] + con_transform.TransformType = "Cylindrical" + con_transform.X_rot = 0.0 + con_transform.Y_rot = 0.0 + con_transform.Z_rot = 0.0 + analysis.addObject(con_transform) + + # mesh + from .meshes.mesh_transform_torque_tetra10 import create_nodes, create_elements + fem_mesh = Fem.FemMesh() + control = create_nodes(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0] + femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/examplesgui.py b/src/Mod/Fem/femexamples/examplesgui.py index b36c6b294b..3e288ae87a 100644 --- a/src/Mod/Fem/femexamples/examplesgui.py +++ b/src/Mod/Fem/femexamples/examplesgui.py @@ -57,7 +57,9 @@ class FemExamples(QtGui.QWidget): "__init__.py", "__pycache__", "boxanalysis_base.py", - "ccx_cantilever_base.py", + "ccx_cantilever_base_edge.py", + "ccx_cantilever_base_face.py", + "ccx_cantilever_base_solid.py", "examplesgui.py", "manager.py", "meshes", diff --git a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py index f474e11587..1a85f49fd4 100644 --- a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py +++ b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fiveboxes.py @@ -72,33 +72,33 @@ def setup(doc=None, solvertype="ccxtools"): # geometric objects # name is important because the other method in this module use obj name - box_obj1 = doc.addObject('Part::Box', 'Box1') + box_obj1 = doc.addObject("Part::Box", "Box1") box_obj1.Height = 10 box_obj1.Width = 10 box_obj1.Length = 20 - box_obj2 = doc.addObject('Part::Box', 'Box2') + box_obj2 = doc.addObject("Part::Box", "Box2") box_obj2.Height = 10 box_obj2.Width = 10 box_obj2.Length = 20 box_obj2.Placement.Base = (20, 0, 0) - box_obj3 = doc.addObject('Part::Box', 'Box3') + box_obj3 = doc.addObject("Part::Box", "Box3") box_obj3.Height = 10 box_obj3.Width = 10 box_obj3.Length = 20 box_obj3.Placement.Base = (40, 0, 0) - box_obj4 = doc.addObject('Part::Box', 'Box4') + box_obj4 = doc.addObject("Part::Box", "Box4") box_obj4.Height = 10 box_obj4.Width = 10 box_obj4.Length = 20 box_obj4.Placement.Base = (60, 0, 0) - box_obj5 = doc.addObject('Part::Box', 'Box5') + box_obj5 = doc.addObject("Part::Box", "Box5") box_obj5.Height = 10 box_obj5.Width = 10 box_obj5.Length = 20 box_obj5.Placement.Base = (80, 0, 0) # make a CompSolid out of the boxes, to be able to remesh with GUI - j = BOPTools.SplitFeatures.makeBooleanFragments(name='BooleanFragments') + j = BOPTools.SplitFeatures.makeBooleanFragments(name="BooleanFragments") j.Objects = [box_obj1, box_obj2, box_obj3, box_obj4, box_obj5] j.Mode = "CompSolid" j.Proxy.execute(j) @@ -108,7 +108,7 @@ def setup(doc=None, solvertype="ccxtools"): for obj in j.ViewObject.Proxy.claimChildren(): obj.ViewObject.hide() - geom_obj = doc.addObject('Part::Feature', 'CompSolid') + geom_obj = doc.addObject("Part::Feature", "CompSolid") geom_obj.Shape = j.Shape.CompSolids[0] if FreeCAD.GuiUp: j.ViewObject.hide() @@ -142,33 +142,33 @@ def setup(doc=None, solvertype="ccxtools"): analysis.addObject(solver_obj) # material - material_obj1 = ObjectsFem.makeMaterialSolid(doc, 'FemMaterial1') + material_obj1 = ObjectsFem.makeMaterialSolid(doc, "FemMaterial1") material_obj1.References = [(doc.Box3, "Solid1")] mat = material_obj1.Material - mat['Name'] = "Concrete-Generic" - mat['YoungsModulus'] = "32000 MPa" - mat['PoissonRatio'] = "0.17" - mat['Density'] = "0 kg/m^3" + mat["Name"] = "Concrete-Generic" + mat["YoungsModulus"] = "32000 MPa" + mat["PoissonRatio"] = "0.17" + mat["Density"] = "0 kg/m^3" material_obj1.Material = mat analysis.addObject(material_obj1) - material_obj2 = ObjectsFem.makeMaterialSolid(doc, 'FemMaterial2') + material_obj2 = ObjectsFem.makeMaterialSolid(doc, "FemMaterial2") material_obj2.References = [(doc.Box2, "Solid1"), (doc.Box4, "Solid1")] mat = material_obj2.Material - mat['Name'] = "PLA" - mat['YoungsModulus'] = "3640 MPa" - mat['PoissonRatio'] = "0.36" - mat['Density'] = "0 kg/m^3" + mat["Name"] = "PLA" + mat["YoungsModulus"] = "3640 MPa" + mat["PoissonRatio"] = "0.36" + mat["Density"] = "0 kg/m^3" material_obj2.Material = mat analysis.addObject(material_obj2) - material_obj3 = ObjectsFem.makeMaterialSolid(doc, 'FemMaterial3') + material_obj3 = ObjectsFem.makeMaterialSolid(doc, "FemMaterial3") material_obj3.References = [] mat = material_obj3.Material - mat['Name'] = "Steel-Generic" - mat['YoungsModulus'] = "200000 MPa" - mat['PoissonRatio'] = "0.30" - mat['Density'] = "7900 kg/m^3" + mat["Name"] = "Steel-Generic" + mat["YoungsModulus"] = "200000 MPa" + mat["PoissonRatio"] = "0.30" + mat["Density"] = "7900 kg/m^3" material_obj3.Material = mat analysis.addObject(material_obj3) diff --git a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py index 73bda48513..3a2ee24267 100644 --- a/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py +++ b/src/Mod/Fem/femexamples/material_multiple_bendingbeam_fivefaces.py @@ -71,22 +71,22 @@ def setup(doc=None, solvertype="ccxtools"): # geometric objects # name is important because the other method in this module use obj name # parts - face_obj1 = doc.addObject('Part::Plane', 'Face1') + face_obj1 = doc.addObject("Part::Plane", "Face1") face_obj1.Width = 10 face_obj1.Length = 20 - face_obj2 = doc.addObject('Part::Plane', 'Face2') + face_obj2 = doc.addObject("Part::Plane", "Face2") face_obj2.Width = 10 face_obj2.Length = 20 face_obj2.Placement.Base = (20, 0, 0) - face_obj3 = doc.addObject('Part::Plane', 'Face3') + face_obj3 = doc.addObject("Part::Plane", "Face3") face_obj3.Width = 10 face_obj3.Length = 20 face_obj3.Placement.Base = (40, 0, 0) - face_obj4 = doc.addObject('Part::Plane', 'Face4') + face_obj4 = doc.addObject("Part::Plane", "Face4") face_obj4.Width = 10 face_obj4.Length = 20 face_obj4.Placement.Base = (60, 0, 0) - face_obj5 = doc.addObject('Part::Plane', 'Face5') + face_obj5 = doc.addObject("Part::Plane", "Face5") face_obj5.Width = 10 face_obj5.Length = 20 face_obj5.Placement.Base = (80, 0, 0) @@ -131,40 +131,40 @@ def setup(doc=None, solvertype="ccxtools"): analysis.addObject(solver_obj) # shell thickness - thickness_obj = ObjectsFem.makeElementGeometry2D(doc, 10, 'ShellThickness') + thickness_obj = ObjectsFem.makeElementGeometry2D(doc, 10, "ShellThickness") analysis.addObject(thickness_obj) # materials - material_obj1 = ObjectsFem.makeMaterialSolid(doc, 'FemMaterial1') + material_obj1 = ObjectsFem.makeMaterialSolid(doc, "FemMaterial1") material_obj1.References = [(doc.Face3, "Face1")] mat = material_obj1.Material - mat['Name'] = "Concrete-Generic" - mat['YoungsModulus'] = "32000 MPa" - mat['PoissonRatio'] = "0.17" - mat['Density'] = "0 kg/m^3" + mat["Name"] = "Concrete-Generic" + mat["YoungsModulus"] = "32000 MPa" + mat["PoissonRatio"] = "0.17" + mat["Density"] = "0 kg/m^3" material_obj1.Material = mat analysis.addObject(material_obj1) - material_obj2 = ObjectsFem.makeMaterialSolid(doc, 'FemMaterial2') + material_obj2 = ObjectsFem.makeMaterialSolid(doc, "FemMaterial2") material_obj2.References = [ (doc.Face2, "Face1"), (doc.Face4, "Face1") ] mat = material_obj2.Material - mat['Name'] = "PLA" - mat['YoungsModulus'] = "3640 MPa" - mat['PoissonRatio'] = "0.36" - mat['Density'] = "0 kg/m^3" + mat["Name"] = "PLA" + mat["YoungsModulus"] = "3640 MPa" + mat["PoissonRatio"] = "0.36" + mat["Density"] = "0 kg/m^3" material_obj2.Material = mat analysis.addObject(material_obj2) - material_obj3 = ObjectsFem.makeMaterialSolid(doc, 'FemMaterial3') + material_obj3 = ObjectsFem.makeMaterialSolid(doc, "FemMaterial3") material_obj3.References = [] mat = material_obj3.Material - mat['Name'] = "Steel-Generic" - mat['YoungsModulus'] = "200000 MPa" - mat['PoissonRatio'] = "0.30" - mat['Density'] = "7900 kg/m^3" + mat["Name"] = "Steel-Generic" + mat["YoungsModulus"] = "200000 MPa" + mat["PoissonRatio"] = "0.30" + mat["Density"] = "7900 kg/m^3" material_obj3.Material = mat analysis.addObject(material_obj3) diff --git a/src/Mod/Fem/femexamples/meshes/mesh_canticcx_quad4.py b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_quad4.py new file mode 100644 index 0000000000..f1694c6509 --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_quad4.py @@ -0,0 +1,51 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 500.0, 0.0, 1) + femmesh.addNode(0.0, 500.0000000000002, 1000.0, 2) + femmesh.addNode(8000.0, 500.0, 0.0, 3) + femmesh.addNode(8000.0, 500.0000000000002, 1000.0, 4) + femmesh.addNode(0.0, 500.0000000000001, 500.0, 5) + femmesh.addNode(2000.0, 500.0, 0.0, 6) + femmesh.addNode(4000.0, 500.0, 0.0, 7) + femmesh.addNode(6000.0, 500.0, 0.0, 8) + femmesh.addNode(1000.0, 500.0, 0.0, 9) + femmesh.addNode(7000.0, 500.0, 0.0, 10) + femmesh.addNode(3000.0, 500.0, 0.0, 11) + femmesh.addNode(5000.0, 500.0, 0.0, 12) + femmesh.addNode(8000.0, 500.0000000000001, 500.0, 13) + femmesh.addNode(2000.0, 500.0000000000002, 1000.0, 14) + femmesh.addNode(4000.0, 500.0000000000002, 1000.0, 15) + femmesh.addNode(6000.0, 500.0000000000002, 1000.0, 16) + femmesh.addNode(1000.0, 500.0000000000002, 1000.0, 17) + femmesh.addNode(7000.0, 500.0000000000002, 1000.0, 18) + femmesh.addNode(3000.0, 500.0000000000002, 1000.0, 19) + femmesh.addNode(5000.0, 500.0000000000002, 1000.0, 20) + femmesh.addNode(2000.0, 500.0000000000001, 500.0, 21) + femmesh.addNode(1000.0, 500.0000000000001, 500.0, 22) + femmesh.addNode(6000.0, 500.0000000000001, 500.0, 23) + femmesh.addNode(7000.0, 500.0000000000001, 500.0, 24) + femmesh.addNode(4000.0, 500.0000000000001, 500.0, 25) + femmesh.addNode(3000.0, 500.0000000000001, 500.0, 26) + femmesh.addNode(5000.0, 500.0000000000001, 500.0, 27) + return True + + +def create_elements(femmesh): + # elements + femmesh.addFace([14, 17, 22, 21], 21) + femmesh.addFace([6, 21, 22, 9], 22) + femmesh.addFace([1, 9, 22, 5], 23) + femmesh.addFace([2, 5, 22, 17], 24) + femmesh.addFace([4, 18, 24, 13], 25) + femmesh.addFace([3, 13, 24, 10], 26) + femmesh.addFace([8, 10, 24, 23], 27) + femmesh.addFace([16, 23, 24, 18], 28) + femmesh.addFace([7, 25, 26, 11], 29) + femmesh.addFace([6, 11, 26, 21], 30) + femmesh.addFace([14, 21, 26, 19], 31) + femmesh.addFace([15, 19, 26, 25], 32) + femmesh.addFace([16, 20, 27, 23], 33) + femmesh.addFace([8, 23, 27, 12], 34) + femmesh.addFace([7, 12, 27, 25], 35) + femmesh.addFace([15, 25, 27, 20], 36) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_canticcx_quad8.py b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_quad8.py new file mode 100644 index 0000000000..6b43efaa00 --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_quad8.py @@ -0,0 +1,37 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 500.0, 0.0, 1) + femmesh.addNode(0.0, 500.00000000000324, 1000.0, 2) + femmesh.addNode(8000.0, 500.0, 0.0, 3) + femmesh.addNode(8000.0, 500.00000000000324, 1000.0, 4) + femmesh.addNode(0.0, 500.0000000000001, 500.0, 5) + femmesh.addNode(0.0, 500.00000000000006, 250.0, 6) + femmesh.addNode(0.0, 500.00000000000017, 750.0, 7) + femmesh.addNode(4000.0, 500.0, 0.0, 8) + femmesh.addNode(2000.0, 500.0, 0.0, 9) + femmesh.addNode(6000.0, 500.0, 0.0, 10) + femmesh.addNode(8000.0, 500.0000000000001, 500.0, 11) + femmesh.addNode(8000.0, 500.00000000000006, 250.0, 12) + femmesh.addNode(8000.0, 500.00000000000017, 750.0, 13) + femmesh.addNode(4000.0, 500.0000000000002, 1000.0, 14) + femmesh.addNode(2000.0, 500.0000000000002, 1000.0, 15) + femmesh.addNode(6000.0, 500.0000000000002, 1000.0, 16) + femmesh.addNode(4000.0, 500.0000000000001, 500.0, 17) + femmesh.addNode(2000.0, 500.0000000000001, 500.0, 18) + femmesh.addNode(4000.0, 500.00000000000017, 750.0, 19) + femmesh.addNode(2000.0, 500.00000000000017, 750.0, 20) + femmesh.addNode(6000.0, 500.0000000000001, 500.0, 21) + femmesh.addNode(6000.0, 500.00000000000017, 750.0, 22) + femmesh.addNode(4000.0, 500.00000000000006, 250.0, 23) + femmesh.addNode(6000.0, 500.00000000000006, 250.0, 24) + femmesh.addNode(2000.0, 500.00000000000006, 250.0, 25) + return True + + +def create_elements(femmesh): + # elements + femmesh.addFace([1, 5, 17, 8, 6, 18, 23, 9], 1) + femmesh.addFace([5, 2, 14, 17, 7, 15, 19, 18], 2) + femmesh.addFace([17, 14, 4, 11, 19, 16, 13, 21], 3) + femmesh.addFace([8, 17, 11, 3, 23, 21, 12, 10], 4) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_canticcx_seg2.py b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_seg2.py new file mode 100644 index 0000000000..8aed5793dc --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_seg2.py @@ -0,0 +1,117 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 500.0, 500.0, 1) + femmesh.addNode(8000.0, 500.0, 500.0, 2) + femmesh.addNode(148.14814814814792, 500.0, 500.0, 3) + femmesh.addNode(296.29629629629585, 500.0, 500.0, 4) + femmesh.addNode(444.4444444444438, 500.0, 500.0, 5) + femmesh.addNode(592.5925925925918, 500.0, 500.0, 6) + femmesh.addNode(740.7407407407396, 500.0, 500.0, 7) + femmesh.addNode(888.8888888888874, 500.0, 500.0, 8) + femmesh.addNode(1037.0370370370354, 500.0, 500.0, 9) + femmesh.addNode(1185.1851851851832, 500.0, 500.0, 10) + femmesh.addNode(1333.333333333331, 500.0, 500.0, 11) + femmesh.addNode(1481.4814814814792, 500.0, 500.0, 12) + femmesh.addNode(1629.6296296296275, 500.0, 500.0, 13) + femmesh.addNode(1777.7777777777753, 500.0, 500.0, 14) + femmesh.addNode(1925.9259259259236, 500.0, 500.0, 15) + femmesh.addNode(2074.0740740740716, 500.0, 500.0, 16) + femmesh.addNode(2222.22222222222, 500.0, 500.0, 17) + femmesh.addNode(2370.370370370368, 500.0, 500.0, 18) + femmesh.addNode(2518.5185185185155, 500.0, 500.0, 19) + femmesh.addNode(2666.666666666663, 500.0, 500.0, 20) + femmesh.addNode(2814.8148148148107, 500.0, 500.0, 21) + femmesh.addNode(2962.962962962958, 500.0, 500.0, 22) + femmesh.addNode(3111.1111111111054, 500.0, 500.0, 23) + femmesh.addNode(3259.259259259253, 500.0, 500.0, 24) + femmesh.addNode(3407.4074074074006, 500.0, 500.0, 25) + femmesh.addNode(3555.555555555548, 500.0, 500.0, 26) + femmesh.addNode(3703.7037037036957, 500.0, 500.0, 27) + femmesh.addNode(3851.851851851843, 500.0, 500.0, 28) + femmesh.addNode(3999.9999999999905, 500.0, 500.0, 29) + femmesh.addNode(4148.148148148138, 500.0, 500.0, 30) + femmesh.addNode(4296.296296296286, 500.0, 500.0, 31) + femmesh.addNode(4444.4444444444325, 500.0, 500.0, 32) + femmesh.addNode(4592.59259259258, 500.0, 500.0, 33) + femmesh.addNode(4740.740740740728, 500.0, 500.0, 34) + femmesh.addNode(4888.888888888877, 500.0, 500.0, 35) + femmesh.addNode(5037.037037037026, 500.0, 500.0, 36) + femmesh.addNode(5185.185185185173, 500.0, 500.0, 37) + femmesh.addNode(5333.333333333322, 500.0, 500.0, 38) + femmesh.addNode(5481.481481481471, 500.0, 500.0, 39) + femmesh.addNode(5629.6296296296205, 500.0, 500.0, 40) + femmesh.addNode(5777.777777777769, 500.0, 500.0, 41) + femmesh.addNode(5925.925925925918, 500.0, 500.0, 42) + femmesh.addNode(6074.074074074067, 500.0, 500.0, 43) + femmesh.addNode(6222.222222222214, 500.0, 500.0, 44) + femmesh.addNode(6370.370370370363, 500.0, 500.0, 45) + femmesh.addNode(6518.518518518513, 500.0, 500.0, 46) + femmesh.addNode(6666.6666666666615, 500.0, 500.0, 47) + femmesh.addNode(6814.81481481481, 500.0, 500.0, 48) + femmesh.addNode(6962.962962962959, 500.0, 500.0, 49) + femmesh.addNode(7111.111111111108, 500.0, 500.0, 50) + femmesh.addNode(7259.259259259256, 500.0, 500.0, 51) + femmesh.addNode(7407.407407407406, 500.0, 500.0, 52) + femmesh.addNode(7555.555555555554, 500.0, 500.0, 53) + femmesh.addNode(7703.703703703703, 500.0, 500.0, 54) + femmesh.addNode(7851.851851851851, 500.0, 500.0, 55) + return True + + +def create_elements(femmesh): + # elements + femmesh.addEdge([1, 3], 1) + femmesh.addEdge([3, 4], 2) + femmesh.addEdge([4, 5], 3) + femmesh.addEdge([5, 6], 4) + femmesh.addEdge([6, 7], 5) + femmesh.addEdge([7, 8], 6) + femmesh.addEdge([8, 9], 7) + femmesh.addEdge([9, 10], 8) + femmesh.addEdge([10, 11], 9) + femmesh.addEdge([11, 12], 10) + femmesh.addEdge([12, 13], 11) + femmesh.addEdge([13, 14], 12) + femmesh.addEdge([14, 15], 13) + femmesh.addEdge([15, 16], 14) + femmesh.addEdge([16, 17], 15) + femmesh.addEdge([17, 18], 16) + femmesh.addEdge([18, 19], 17) + femmesh.addEdge([19, 20], 18) + femmesh.addEdge([20, 21], 19) + femmesh.addEdge([21, 22], 20) + femmesh.addEdge([22, 23], 21) + femmesh.addEdge([23, 24], 22) + femmesh.addEdge([24, 25], 23) + femmesh.addEdge([25, 26], 24) + femmesh.addEdge([26, 27], 25) + femmesh.addEdge([27, 28], 26) + femmesh.addEdge([28, 29], 27) + femmesh.addEdge([29, 30], 28) + femmesh.addEdge([30, 31], 29) + femmesh.addEdge([31, 32], 30) + femmesh.addEdge([32, 33], 31) + femmesh.addEdge([33, 34], 32) + femmesh.addEdge([34, 35], 33) + femmesh.addEdge([35, 36], 34) + femmesh.addEdge([36, 37], 35) + femmesh.addEdge([37, 38], 36) + femmesh.addEdge([38, 39], 37) + femmesh.addEdge([39, 40], 38) + femmesh.addEdge([40, 41], 39) + femmesh.addEdge([41, 42], 40) + femmesh.addEdge([42, 43], 41) + femmesh.addEdge([43, 44], 42) + femmesh.addEdge([44, 45], 43) + femmesh.addEdge([45, 46], 44) + femmesh.addEdge([46, 47], 45) + femmesh.addEdge([47, 48], 46) + femmesh.addEdge([48, 49], 47) + femmesh.addEdge([49, 50], 48) + femmesh.addEdge([50, 51], 49) + femmesh.addEdge([51, 52], 50) + femmesh.addEdge([52, 53], 51) + femmesh.addEdge([53, 54], 52) + femmesh.addEdge([54, 55], 53) + femmesh.addEdge([55, 2], 54) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_canticcx_seg3.py b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_seg3.py new file mode 100644 index 0000000000..a16cd33eb7 --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_seg3.py @@ -0,0 +1,24 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 500.0, 500.0, 1) + femmesh.addNode(8000.0, 500.0, 500.0, 2) + femmesh.addNode(1600.0000000000023, 500.0, 500.0, 3) + femmesh.addNode(3200.000000000006, 500.0, 500.0, 4) + femmesh.addNode(4800.000000000003, 500.0, 500.0, 5) + femmesh.addNode(6399.999999999996, 500.0, 500.0, 6) + femmesh.addNode(800.0000000000011, 500.0, 500.0, 7) + femmesh.addNode(2400.000000000004, 500.0, 500.0, 8) + femmesh.addNode(4000.0000000000045, 500.0, 500.0, 9) + femmesh.addNode(5599.999999999999, 500.0, 500.0, 10) + femmesh.addNode(7199.999999999998, 500.0, 500.0, 11) + return True + + +def create_elements(femmesh): + # elements + femmesh.addEdge([1, 3, 7], 1) + femmesh.addEdge([3, 4, 8], 2) + femmesh.addEdge([4, 5, 9], 3) + femmesh.addEdge([5, 6, 10], 4) + femmesh.addEdge([6, 2, 11], 5) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_canticcx_tria3.py b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_tria3.py new file mode 100644 index 0000000000..d510eff161 --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_tria3.py @@ -0,0 +1,1522 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 500.0, 0.0, 1) + femmesh.addNode(0.0, 500.0000000000002, 1000.0, 2) + femmesh.addNode(8000.0, 500.0, 0.0, 3) + femmesh.addNode(8000.0, 500.0000000000002, 1000.0, 4) + femmesh.addNode(0.0, 500.00000000000006, 142.8571428571426, 5) + femmesh.addNode(0.0, 500.00000000000006, 285.7142857142854, 6) + femmesh.addNode(0.0, 500.0000000000001, 428.5714285714277, 7) + femmesh.addNode(0.0, 500.0000000000001, 571.4285714285699, 8) + femmesh.addNode(0.0, 500.00000000000017, 714.2857142857132, 9) + femmesh.addNode(0.0, 500.00000000000017, 857.1428571428565, 10) + femmesh.addNode(148.14814814814792, 500.0, 0.0, 11) + femmesh.addNode(296.29629629629585, 500.0, 0.0, 12) + femmesh.addNode(444.4444444444438, 500.0, 0.0, 13) + femmesh.addNode(592.5925925925918, 500.0, 0.0, 14) + femmesh.addNode(740.7407407407396, 500.0, 0.0, 15) + femmesh.addNode(888.8888888888874, 500.0, 0.0, 16) + femmesh.addNode(1037.0370370370354, 500.0, 0.0, 17) + femmesh.addNode(1185.1851851851832, 500.0, 0.0, 18) + femmesh.addNode(1333.333333333331, 500.0, 0.0, 19) + femmesh.addNode(1481.4814814814792, 500.0, 0.0, 20) + femmesh.addNode(1629.6296296296275, 500.0, 0.0, 21) + femmesh.addNode(1777.7777777777753, 500.0, 0.0, 22) + femmesh.addNode(1925.9259259259236, 500.0, 0.0, 23) + femmesh.addNode(2074.0740740740716, 500.0, 0.0, 24) + femmesh.addNode(2222.22222222222, 500.0, 0.0, 25) + femmesh.addNode(2370.370370370368, 500.0, 0.0, 26) + femmesh.addNode(2518.5185185185155, 500.0, 0.0, 27) + femmesh.addNode(2666.666666666663, 500.0, 0.0, 28) + femmesh.addNode(2814.8148148148107, 500.0, 0.0, 29) + femmesh.addNode(2962.962962962958, 500.0, 0.0, 30) + femmesh.addNode(3111.1111111111054, 500.0, 0.0, 31) + femmesh.addNode(3259.259259259253, 500.0, 0.0, 32) + femmesh.addNode(3407.4074074074006, 500.0, 0.0, 33) + femmesh.addNode(3555.555555555548, 500.0, 0.0, 34) + femmesh.addNode(3703.7037037036957, 500.0, 0.0, 35) + femmesh.addNode(3851.851851851843, 500.0, 0.0, 36) + femmesh.addNode(3999.9999999999905, 500.0, 0.0, 37) + femmesh.addNode(4148.148148148138, 500.0, 0.0, 38) + femmesh.addNode(4296.296296296286, 500.0, 0.0, 39) + femmesh.addNode(4444.4444444444325, 500.0, 0.0, 40) + femmesh.addNode(4592.59259259258, 500.0, 0.0, 41) + femmesh.addNode(4740.740740740728, 500.0, 0.0, 42) + femmesh.addNode(4888.888888888877, 500.0, 0.0, 43) + femmesh.addNode(5037.037037037026, 500.0, 0.0, 44) + femmesh.addNode(5185.185185185173, 500.0, 0.0, 45) + femmesh.addNode(5333.333333333322, 500.0, 0.0, 46) + femmesh.addNode(5481.481481481471, 500.0, 0.0, 47) + femmesh.addNode(5629.6296296296205, 500.0, 0.0, 48) + femmesh.addNode(5777.777777777769, 500.0, 0.0, 49) + femmesh.addNode(5925.925925925918, 500.0, 0.0, 50) + femmesh.addNode(6074.074074074067, 500.0, 0.0, 51) + femmesh.addNode(6222.222222222214, 500.0, 0.0, 52) + femmesh.addNode(6370.370370370363, 500.0, 0.0, 53) + femmesh.addNode(6518.518518518513, 500.0, 0.0, 54) + femmesh.addNode(6666.6666666666615, 500.0, 0.0, 55) + femmesh.addNode(6814.81481481481, 500.0, 0.0, 56) + femmesh.addNode(6962.962962962959, 500.0, 0.0, 57) + femmesh.addNode(7111.111111111108, 500.0, 0.0, 58) + femmesh.addNode(7259.259259259256, 500.0, 0.0, 59) + femmesh.addNode(7407.407407407406, 500.0, 0.0, 60) + femmesh.addNode(7555.555555555554, 500.0, 0.0, 61) + femmesh.addNode(7703.703703703703, 500.0, 0.0, 62) + femmesh.addNode(7851.851851851851, 500.0, 0.0, 63) + femmesh.addNode(8000.0, 500.00000000000006, 142.8571428571426, 64) + femmesh.addNode(8000.0, 500.00000000000006, 285.7142857142854, 65) + femmesh.addNode(8000.0, 500.0000000000001, 428.5714285714277, 66) + femmesh.addNode(8000.0, 500.0000000000001, 571.4285714285699, 67) + femmesh.addNode(8000.0, 500.00000000000017, 714.2857142857132, 68) + femmesh.addNode(8000.0, 500.00000000000017, 857.1428571428565, 69) + femmesh.addNode(148.14814814814792, 500.0000000000002, 1000.0, 70) + femmesh.addNode(296.29629629629585, 500.0000000000002, 1000.0, 71) + femmesh.addNode(444.4444444444438, 500.0000000000002, 1000.0, 72) + femmesh.addNode(592.5925925925918, 500.0000000000002, 1000.0, 73) + femmesh.addNode(740.7407407407396, 500.0000000000002, 1000.0, 74) + femmesh.addNode(888.8888888888874, 500.0000000000002, 1000.0, 75) + femmesh.addNode(1037.0370370370354, 500.0000000000002, 1000.0, 76) + femmesh.addNode(1185.1851851851832, 500.0000000000002, 1000.0, 77) + femmesh.addNode(1333.333333333331, 500.0000000000002, 1000.0, 78) + femmesh.addNode(1481.4814814814792, 500.0000000000002, 1000.0, 79) + femmesh.addNode(1629.6296296296275, 500.0000000000002, 1000.0, 80) + femmesh.addNode(1777.7777777777753, 500.0000000000002, 1000.0, 81) + femmesh.addNode(1925.9259259259236, 500.0000000000002, 1000.0, 82) + femmesh.addNode(2074.0740740740716, 500.0000000000002, 1000.0, 83) + femmesh.addNode(2222.22222222222, 500.0000000000002, 1000.0, 84) + femmesh.addNode(2370.370370370368, 500.0000000000002, 1000.0, 85) + femmesh.addNode(2518.5185185185155, 500.0000000000002, 1000.0, 86) + femmesh.addNode(2666.666666666663, 500.0000000000002, 1000.0, 87) + femmesh.addNode(2814.8148148148107, 500.0000000000002, 1000.0, 88) + femmesh.addNode(2962.962962962958, 500.0000000000002, 1000.0, 89) + femmesh.addNode(3111.1111111111054, 500.0000000000002, 1000.0, 90) + femmesh.addNode(3259.259259259253, 500.0000000000002, 1000.0, 91) + femmesh.addNode(3407.4074074074006, 500.0000000000002, 1000.0, 92) + femmesh.addNode(3555.555555555548, 500.0000000000002, 1000.0, 93) + femmesh.addNode(3703.7037037036957, 500.0000000000002, 1000.0, 94) + femmesh.addNode(3851.851851851843, 500.0000000000002, 1000.0, 95) + femmesh.addNode(3999.9999999999905, 500.0000000000002, 1000.0, 96) + femmesh.addNode(4148.148148148138, 500.0000000000002, 1000.0, 97) + femmesh.addNode(4296.296296296286, 500.0000000000002, 1000.0, 98) + femmesh.addNode(4444.4444444444325, 500.0000000000002, 1000.0, 99) + femmesh.addNode(4592.59259259258, 500.0000000000002, 1000.0, 100) + femmesh.addNode(4740.740740740728, 500.0000000000002, 1000.0, 101) + femmesh.addNode(4888.888888888877, 500.0000000000002, 1000.0, 102) + femmesh.addNode(5037.037037037026, 500.0000000000002, 1000.0, 103) + femmesh.addNode(5185.185185185173, 500.0000000000002, 1000.0, 104) + femmesh.addNode(5333.333333333322, 500.0000000000002, 1000.0, 105) + femmesh.addNode(5481.481481481471, 500.0000000000002, 1000.0, 106) + femmesh.addNode(5629.6296296296205, 500.0000000000002, 1000.0, 107) + femmesh.addNode(5777.777777777769, 500.0000000000002, 1000.0, 108) + femmesh.addNode(5925.925925925918, 500.0000000000002, 1000.0, 109) + femmesh.addNode(6074.074074074067, 500.0000000000002, 1000.0, 110) + femmesh.addNode(6222.222222222214, 500.0000000000002, 1000.0, 111) + femmesh.addNode(6370.370370370363, 500.0000000000002, 1000.0, 112) + femmesh.addNode(6518.518518518513, 500.0000000000002, 1000.0, 113) + femmesh.addNode(6666.6666666666615, 500.0000000000002, 1000.0, 114) + femmesh.addNode(6814.81481481481, 500.0000000000002, 1000.0, 115) + femmesh.addNode(6962.962962962959, 500.0000000000002, 1000.0, 116) + femmesh.addNode(7111.111111111108, 500.0000000000002, 1000.0, 117) + femmesh.addNode(7259.259259259256, 500.0000000000002, 1000.0, 118) + femmesh.addNode(7407.407407407406, 500.0000000000002, 1000.0, 119) + femmesh.addNode(7555.555555555554, 500.0000000000002, 1000.0, 120) + femmesh.addNode(7703.703703703703, 500.0000000000002, 1000.0, 121) + femmesh.addNode(7851.851851851851, 500.0000000000002, 1000.0, 122) + femmesh.addNode(7519.097353946394, 500.0000000000001, 486.44047362110416, 123) + femmesh.addNode(480.90264605360454, 500.0000000000001, 486.44047362110496, 124) + femmesh.addNode(4377.663810653201, 500.0000000000001, 495.2832031601589, 125) + femmesh.addNode(3044.3921495121385, 500.0000000000001, 495.227401818941, 126) + femmesh.addNode(3783.8823981965106, 500.0000000000001, 503.2059322265308, 127) + femmesh.addNode(2437.0893319693373, 500.0000000000001, 495.2274018189408, 128) + femmesh.addNode(1111.0223560497448, 500.0000000000001, 499.8767731965179, 129) + femmesh.addNode(1699.23614741982, 500.0000000000001, 495.8398288530509, 130) + femmesh.addNode(5117.058640509048, 500.0000000000001, 494.16303885375623, 131) + femmesh.addNode(6143.7385044327375, 500.0000000000001, 516.6482122194337, 132) + femmesh.addNode(6884.445927938705, 500.0000000000001, 499.2415848607458, 133) + femmesh.addNode(5647.817460317472, 500.0000000000001, 500.0, 134) + femmesh.addNode(2074.0740740740725, 500.0000000000001, 387.1742112482851, 135) + femmesh.addNode(4740.740740740732, 500.0000000000001, 387.1742112482876, 136) + femmesh.addNode(3407.4074074074015, 500.0000000000001, 387.1742112482837, 137) + femmesh.addNode(6529.516791736783, 500.0000000000001, 627.4332053037916, 138) + femmesh.addNode(804.4217687074812, 500.00000000000017, 659.996920578931, 139) + femmesh.addNode(7195.578231292519, 500.00000000000017, 659.996920578932, 140) + femmesh.addNode(4074.074074074067, 500.00000000000006, 332.3045267489734, 141) + femmesh.addNode(2740.740740740739, 500.00000000000017, 667.6954732510299, 142) + femmesh.addNode(1382.1376450640678, 500.00000000000006, 288.4521733196763, 143) + femmesh.addNode(2741.0040912230174, 500.00000000000006, 332.3822371418406, 144) + femmesh.addNode(4074.0740740740584, 500.00000000000017, 670.2611488393037, 145) + femmesh.addNode(1407.4074074074051, 500.00000000000017, 670.2611488393031, 146) + femmesh.addNode(826.7490268624668, 500.00000000000006, 328.5645802713502, 147) + femmesh.addNode(7177.028374478909, 500.00000000000006, 295.74079643706165, 148) + femmesh.addNode(5374.773883658418, 500.00000000000017, 676.6557030117461, 149) + femmesh.addNode(5391.526003346386, 500.00000000000006, 272.98622012319805, 150) + femmesh.addNode(3295.600900979507, 500.00000000000017, 684.4654431860611, 151) + femmesh.addNode(6406.71201209064, 500.00000000000006, 315.5345568139392, 152) + femmesh.addNode(2185.880580501969, 500.00000000000017, 684.4654431860607, 153) + femmesh.addNode(4628.934234312834, 500.00000000000017, 684.46544318606, 154) + femmesh.addNode(5898.609576424322, 500.00000000000017, 684.4424185223206, 155) + femmesh.addNode(5895.787242082226, 500.00000000000006, 295.8663221082943, 156) + femmesh.addNode(7726.775388768081, 500.00000000000017, 718.3978200389076, 157) + femmesh.addNode(7729.508951769956, 500.00000000000006, 265.880983919481, 158) + femmesh.addNode(273.2246112319166, 500.00000000000017, 718.3978200389083, 159) + femmesh.addNode(270.49104823003944, 500.00000000000006, 265.8809839194801, 160) + femmesh.addNode(3564.677059947713, 500.00000000000017, 741.9687593463968, 161) + femmesh.addNode(4894.335774469002, 500.00000000000017, 743.8671801070692, 162) + femmesh.addNode(1916.8044215337586, 500.00000000000017, 741.9687593463964, 163) + femmesh.addNode(6675.647623858817, 500.00000000000006, 257.9647404998144, 164) + femmesh.addNode(4528.500516254589, 500.00000000000006, 248.68408610023224, 165) + femmesh.addNode(2297.481388180274, 500.00000000000006, 256.41721287599285, 166) + femmesh.addNode(3184.0000933011984, 500.00000000000006, 256.4172128759929, 167) + femmesh.addNode(1863.453366261344, 500.00000000000006, 248.99208026467105, 168) + femmesh.addNode(3620.764124938444, 500.00000000000006, 249.5772677546173, 169) + femmesh.addNode(4980.683550415798, 500.00000000000006, 263.83563313455994, 170) + femmesh.addNode(6311.691982697567, 500.00000000000017, 752.5313754678206, 171) + femmesh.addNode(6758.461328193585, 500.00000000000017, 736.1643668654423, 172) + femmesh.addNode(579.1873060519074, 500.00000000000006, 230.99936263855923, 173) + femmesh.addNode(7420.812693948092, 500.00000000000006, 230.99936263855892, 174) + femmesh.addNode(4370.370370370361, 500.00000000000017, 755.486968449931, 175) + femmesh.addNode(2444.444444444443, 500.00000000000017, 755.4869684499315, 176) + femmesh.addNode(3037.0370370370333, 500.00000000000017, 755.486968449932, 177) + femmesh.addNode(1110.0887911816887, 500.00000000000006, 256.9177769898713, 178) + femmesh.addNode(6148.148148148161, 500.00000000000006, 244.5130315500682, 179) + femmesh.addNode(1128.20496412395, 500.00000000000017, 743.4579917656229, 180) + femmesh.addNode(7445.77750926458, 500.00000000000017, 767.6090351513436, 181) + femmesh.addNode(554.2224907354223, 500.00000000000017, 767.6090351513436, 182) + femmesh.addNode(1642.393190298241, 500.00000000000017, 771.655205235625, 183) + femmesh.addNode(3839.0882911832277, 500.00000000000017, 771.6552052356262, 184) + femmesh.addNode(6951.850743427138, 500.00000000000006, 250.73331227865367, 185) + femmesh.addNode(5620.1722163733475, 500.00000000000006, 235.6164310896373, 186) + femmesh.addNode(5620.548263058523, 500.00000000000017, 749.3388620996512, 187) + femmesh.addNode(5159.555818783418, 500.00000000000017, 758.7270417100899, 188) + femmesh.addNode(6994.49810921379, 500.00000000000017, 768.2631379536306, 189) + femmesh.addNode(211.2329077853915, 500.0000000000001, 499.9999999999989, 190) + femmesh.addNode(7788.767092214614, 500.0000000000001, 499.99999999999886, 191) + femmesh.addNode(4286.145296184866, 500.00000000000006, 217.50850016887512, 192) + femmesh.addNode(3861.9204537942705, 500.00000000000006, 217.00713354476628, 193) + femmesh.addNode(1609.3488440540948, 500.00000000000006, 226.89328602366547, 194) + femmesh.addNode(2528.12375168668, 500.00000000000006, 217.01207118565418, 195) + femmesh.addNode(2953.357729794794, 500.00000000000006, 217.0120711856532, 196) + femmesh.addNode(5190.802710097235, 500.00000000000006, 215.5276462080562, 197) + femmesh.addNode(6078.215097342937, 500.00000000000017, 792.0363019677964, 198) + femmesh.addNode(3583.8208358423444, 500.0000000000001, 478.23494961243927, 199) + femmesh.addNode(6684.0838928646845, 500.0000000000001, 492.00743630250474, 200) + femmesh.addNode(1906.691375941749, 500.0000000000001, 499.93979869666197, 201) + femmesh.addNode(4908.123285768417, 500.0000000000001, 499.9358754754902, 202) + femmesh.addNode(690.7517533456399, 500.0000000000001, 481.4907334328311, 203) + femmesh.addNode(7312.152665935738, 500.0000000000001, 474.7119145275551, 204) + femmesh.addNode(4819.364136862281, 500.00000000000006, 211.52595606001654, 205) + femmesh.addNode(3331.312837011274, 500.00000000000006, 210.99155859252647, 206) + femmesh.addNode(2150.2746332484003, 500.00000000000006, 210.46190281047143, 207) + femmesh.addNode(6570.679781658914, 500.00000000000017, 806.4128943758616, 208) + femmesh.addNode(3206.1827952923813, 500.0000000000001, 488.372495273334, 209) + femmesh.addNode(2275.2986861890936, 500.0000000000001, 488.37249527333245, 210) + femmesh.addNode(4539.505849926999, 500.0000000000001, 488.38179549686936, 211) + femmesh.addNode(6331.498674223819, 500.0000000000001, 510.44824502569446, 212) + femmesh.addNode(7085.945615969861, 500.0000000000001, 496.20921219531465, 213) + femmesh.addNode(914.0543840301425, 500.0000000000001, 496.20921219531584, 214) + femmesh.addNode(4179.7158900239065, 500.0000000000001, 497.3192810510361, 215) + femmesh.addNode(2634.8069329299083, 500.0000000000001, 495.2995176096491, 216) + femmesh.addNode(1518.6772271765653, 500.0000000000001, 500.43551675979285, 217) + femmesh.addNode(2845.7030843500197, 500.0000000000001, 495.7794310960958, 218) + femmesh.addNode(1298.9250894967872, 500.0000000000001, 500.6231840039535, 219) + femmesh.addNode(3953.5190378731395, 500.0000000000001, 508.9347634404576, 220) + femmesh.addNode(5838.996223242491, 500.0000000000001, 497.0598553389991, 221) + femmesh.addNode(5289.258388662224, 500.0000000000001, 518.0355527936534, 222) + femmesh.addNode(925.824759557911, 500.00000000000017, 810.3303624767582, 223) + femmesh.addNode(2587.2054817836924, 500.00000000000017, 813.1174093119453, 224) + femmesh.addNode(1279.1410894996675, 500.00000000000006, 190.67625699075495, 225) + femmesh.addNode(2868.1718643732233, 500.00000000000017, 792.3428470175296, 226) + femmesh.addNode(4231.074077426653, 500.00000000000017, 814.6492663298266, 227) + femmesh.addNode(1253.2563795569567, 500.00000000000017, 812.6444368824419, 228) + femmesh.addNode(971.4204314741182, 500.00000000000006, 186.68409635066166, 229) + femmesh.addNode(4763.0642506869945, 500.00000000000017, 811.918566634371, 230) + femmesh.addNode(2048.453955688606, 500.00000000000017, 807.7927457698634, 231) + femmesh.addNode(3433.027525792866, 500.00000000000017, 807.7927457698639, 232) + femmesh.addNode(6544.094702284656, 500.00000000000006, 192.19247743442926, 233) + femmesh.addNode(7259.309095210777, 500.00000000000017, 776.9781831816584, 234) + femmesh.addNode(717.8965209484061, 500.00000000000017, 803.5750168033601, 235) + femmesh.addNode(4524.024126217463, 500.00000000000017, 837.4173516252623, 236) + femmesh.addNode(3190.690792884138, 500.00000000000017, 837.4173516252647, 237) + femmesh.addNode(2290.7906885973407, 500.00000000000017, 837.4173516252655, 238) + femmesh.addNode(6301.801903995266, 500.00000000000006, 162.58264837474275, 239) + femmesh.addNode(5782.151001755968, 500.00000000000017, 822.6144529923005, 240) + femmesh.addNode(5777.242432958116, 500.00000000000006, 180.41307577128475, 241) + femmesh.addNode(6008.727830918599, 500.00000000000006, 156.43105879757186, 242) + femmesh.addNode(725.6160182470485, 500.00000000000006, 174.81677285424448, 243) + femmesh.addNode(7262.823446094069, 500.00000000000006, 192.4538441331061, 244) + femmesh.addNode(1494.7928306215902, 500.00000000000017, 827.7556137962181, 245) + femmesh.addNode(3986.688650859878, 500.00000000000017, 827.7556137962197, 246) + femmesh.addNode(7825.553130632656, 500.00000000000006, 162.94475519235124, 247) + femmesh.addNode(7826.130266239045, 500.00000000000017, 836.4834420448423, 248) + femmesh.addNode(174.44686936734647, 500.00000000000006, 162.94475519235232, 249) + femmesh.addNode(173.86973376095088, 500.00000000000017, 836.4834420448464, 250) + femmesh.addNode(5516.7524629964155, 500.0000000000001, 470.61996020787507, 251) + femmesh.addNode(4074.074074074062, 500.0, 121.85682748139425, 252) + femmesh.addNode(7086.699429390618, 500.00000000000006, 190.49758598986327, 253) + femmesh.addNode(428.44756058449417, 500.00000000000006, 183.5079071504006, 254) + femmesh.addNode(7571.5524394155, 500.00000000000006, 183.50790715040193, 255) + femmesh.addNode(2740.7407407407372, 500.0, 121.14512062141621, 256) + femmesh.addNode(5467.691311006454, 500.00000000000006, 187.51789055260895, 257) + femmesh.addNode(5467.400791725283, 500.00000000000017, 828.2803450779077, 258) + femmesh.addNode(4734.0515891099985, 500.0000000000001, 583.8482801067205, 259) + femmesh.addNode(2080.7632257048044, 500.0000000000001, 583.8482801067206, 260) + femmesh.addNode(3400.718255776669, 500.0000000000001, 583.8482801067222, 261) + femmesh.addNode(6511.829366887792, 500.0000000000001, 416.15171989328, 262) + femmesh.addNode(400.3512081049426, 500.00000000000017, 846.8008971381519, 263) + femmesh.addNode(7599.648791895056, 500.00000000000017, 846.8008971381512, 264) + femmesh.addNode(966.6320735277731, 500.00000000000017, 698.647975822787, 265) + femmesh.addNode(5297.676075082977, 500.00000000000017, 839.2396947387587, 266) + femmesh.addNode(2609.605679117323, 500.00000000000017, 653.4814963797409, 267) + femmesh.addNode(2884.656176355563, 500.0000000000001, 632.9897863356696, 268) + femmesh.addNode(1250.4934292500484, 500.00000000000006, 354.39301791483, 269) + femmesh.addNode(1457.704031244262, 500.00000000000006, 174.38597584487252, 270) + femmesh.addNode(4205.7663298043235, 500.00000000000017, 654.8844048420551, 271) + femmesh.addNode(1276.5985065799127, 500.00000000000017, 654.8512204592574, 272) + femmesh.addNode(3475.7957490559957, 500.00000000000006, 130.98143095516488, 273) + femmesh.addNode(2006.1825797348654, 500.00000000000006, 130.3681769602606, 274) + femmesh.addNode(4672.9052862415865, 500.00000000000006, 130.769626777317, 275) + femmesh.addNode(6449.497286440266, 500.00000000000017, 872.3962429173732, 276) + femmesh.addNode(956.5842338869468, 500.00000000000006, 344.12594769931235, 277) + femmesh.addNode(5741.105115276625, 500.0000000000001, 636.3630916365788, 278) + femmesh.addNode(5737.421169773017, 500.00000000000006, 356.0063687110833, 279) + femmesh.addNode(1788.1293897467203, 500.00000000000017, 835.2679450895512, 280) + femmesh.addNode(3693.352091734751, 500.00000000000017, 835.2679450895522, 281) + femmesh.addNode(6807.773849262738, 500.00000000000006, 176.45524487039563, 282) + femmesh.addNode(6257.079127394955, 500.00000000000006, 375.7316242978608, 283) + femmesh.addNode(3147.801784975059, 500.0000000000001, 623.8970090043587, 284) + femmesh.addNode(2333.6796965064173, 500.0000000000001, 623.8970090043587, 285) + femmesh.addNode(4481.064200456697, 500.0000000000001, 623.9553851735127, 286) + femmesh.addNode(142.48875513251812, 500.00000000000006, 365.5479406572575, 287) + femmesh.addNode(132.69644839780614, 500.0000000000001, 621.9515129513198, 288) + femmesh.addNode(7857.511244867481, 500.00000000000006, 365.54794065725815, 289) + femmesh.addNode(7867.303551602192, 500.0000000000001, 621.9515129513204, 290) + femmesh.addNode(6050.904786140333, 500.0000000000001, 631.104905099893, 291) + femmesh.addNode(5999.228508041354, 500.0000000000001, 426.6577526874719, 292) + femmesh.addNode(5530.871267588542, 500.0000000000001, 613.5892457981489, 293) + femmesh.addNode(5022.55147120029, 500.00000000000017, 823.4910615448234, 294) + femmesh.addNode(444.86810075408346, 500.00000000000006, 336.59582645899343, 295) + femmesh.addNode(7555.131899245911, 500.00000000000006, 336.5958264589947, 296) + femmesh.addNode(5208.421967836855, 500.00000000000006, 373.8619860209515, 297) + femmesh.addNode(7124.013307196437, 500.00000000000017, 843.4626017775935, 298) + femmesh.addNode(7643.596658117825, 500.0000000000001, 576.1777158335027, 299) + femmesh.addNode(356.40334188216684, 500.0000000000001, 576.1777158335007, 300) + femmesh.addNode(7325.398274566561, 500.0000000000001, 624.7219971245336, 301) + femmesh.addNode(669.4128790649441, 500.0000000000001, 630.9511423060778, 302) + femmesh.addNode(4271.4259430168, 500.00000000000006, 381.33147533687037, 303) + femmesh.addNode(1604.7592763501386, 500.00000000000006, 381.3314753368656, 304) + femmesh.addNode(3868.64401759244, 500.00000000000006, 373.32694976638714, 305) + femmesh.addNode(6876.174786203425, 500.00000000000017, 844.2790834980128, 306) + femmesh.addNode(3709.9466361009627, 500.00000000000017, 659.307020293735, 307) + femmesh.addNode(1771.7687116854875, 500.00000000000017, 658.2547198118081, 308) + femmesh.addNode(2939.648545872431, 500.00000000000006, 380.5429652593053, 309) + femmesh.addNode(2541.832935609046, 500.00000000000006, 380.54296525930584, 310) + femmesh.addNode(6823.303377023775, 500.00000000000006, 349.02942036926675, 311) + femmesh.addNode(5040.2820737786315, 500.00000000000017, 656.2028896227729, 312) + femmesh.addNode(5936.688923736598, 500.00000000000017, 836.7136430070282, 313) + femmesh.addNode(6904.785449318018, 500.00000000000017, 659.1042922054407, 314) + femmesh.addNode(5208.421967836853, 500.0000000000001, 618.4464215357175, 315) + femmesh.addNode(3737.5363252606157, 500.00000000000006, 162.8690753300165, 316) + femmesh.addNode(1716.2474173250976, 500.00000000000006, 141.97654503503156, 317) + femmesh.addNode(4410.701773864508, 500.00000000000006, 163.30513944907898, 318) + femmesh.addNode(2399.2631217871217, 500.00000000000006, 170.3044946230016, 319) + femmesh.addNode(3082.2183596943514, 500.00000000000006, 170.30449462300174, 320) + femmesh.addNode(5324.033304499792, 500.00000000000006, 155.91639291345302, 321) + femmesh.addNode(5090.478583640191, 500.00000000000006, 146.9524258936218, 322) + femmesh.addNode(3848.098725536811, 500.0000000000001, 629.682037888319, 323) + femmesh.addNode(1631.8998987462733, 500.0000000000001, 626.2985077811038, 324) + femmesh.addNode(6985.86484753412, 500.0000000000001, 404.1001082151455, 325) + femmesh.addNode(7057.844245270041, 500.0000000000001, 634.4823372198036, 326) + femmesh.addNode(3540.608606644148, 500.00000000000006, 373.333262023751, 327) + femmesh.addNode(1813.929384731171, 500.0000000000001, 405.88544152653253, 328) + femmesh.addNode(6663.278233719539, 500.0000000000001, 621.6844664136647, 329) + femmesh.addNode(4998.752613089293, 500.0000000000001, 410.0543301382136, 330) + femmesh.addNode(6170.265987554111, 500.00000000000017, 862.3354102331693, 331) + femmesh.addNode(592.765509644456, 500.0000000000001, 394.57261654323963, 332) + femmesh.addNode(7407.234490355553, 500.0000000000001, 394.57261654323133, 333) + femmesh.addNode(4938.544501943162, 500.0, 117.69598813414211, 334) + femmesh.addNode(2254.5731308291006, 500.00000000000006, 136.6309374675551, 335) + femmesh.addNode(3226.9083506523734, 500.00000000000006, 136.63093746755263, 336) + femmesh.addNode(6699.0175752735395, 500.00000000000017, 863.369062532444, 337) + femmesh.addNode(6265.667832999652, 500.0000000000001, 623.5424699259635, 338) + femmesh.addNode(6382.144573309605, 500.00000000000017, 642.585583774286, 339) + femmesh.addNode(3287.7079767721007, 500.00000000000006, 355.80370224167774, 340) + femmesh.addNode(3153.5224958938556, 500.00000000000006, 380.2202340827241, 341) + femmesh.addNode(4466.991157520215, 500.0000000000001, 399.26310595332023, 342) + femmesh.addNode(2347.823657294588, 500.0000000000001, 399.26310595331927, 343) + femmesh.addNode(4607.572883809357, 500.00000000000006, 377.71278105560907, 344) + femmesh.addNode(2198.5917276376504, 500.00000000000006, 355.99367369524987, 345) + femmesh.addNode(4862.285873490269, 500.00000000000006, 356.7457451179127, 346) + femmesh.addNode(3691.955202282983, 500.0000000000001, 403.198392847795, 347) + femmesh.addNode(1949.0013166444596, 500.00000000000006, 380.1484702474387, 348) + femmesh.addNode(7682.268866693696, 500.0000000000001, 421.77382341505654, 349) + femmesh.addNode(317.73113330630065, 500.0000000000001, 421.7738234150559, 350) + femmesh.addNode(3557.772894404354, 500.00000000000017, 861.8561150805002, 351) + femmesh.addNode(1923.7085870771184, 500.00000000000017, 861.8561150804992, 352) + femmesh.addNode(6668.583619555279, 500.00000000000006, 137.93605796145883, 353) + femmesh.addNode(422.89279148885663, 500.00000000000017, 705.2711873455931, 354) + femmesh.addNode(7577.107208511141, 500.00000000000017, 705.271187345593, 355) + femmesh.addNode(2734.926315100451, 500.00000000000017, 888.9545107305078, 356) + femmesh.addNode(5503.918843584262, 500.00000000000006, 330.71293303974284, 357) + femmesh.addNode(7474.552307081463, 500.00000000000017, 888.5084838362908, 358) + femmesh.addNode(525.4476929185394, 500.00000000000017, 888.5084838362966, 359) + femmesh.addNode(6035.493573501297, 500.00000000000006, 304.195501047588, 360) + femmesh.addNode(540.2212360002914, 500.0, 112.61725241699837, 361) + femmesh.addNode(7459.7787639997, 500.0, 112.61725241700351, 362) + femmesh.addNode(4354.442907841224, 500.00000000000017, 888.339347516092, 363) + femmesh.addNode(2460.7843765444773, 500.00000000000017, 888.0750968127634, 364) + femmesh.addNode(3017.589469779312, 500.00000000000017, 885.6019346348578, 365) + femmesh.addNode(1114.9050565484902, 500.0, 113.20294012239405, 366) + femmesh.addNode(1122.287309239265, 500.00000000000017, 887.9008082187651, 367) + femmesh.addNode(6150.994835871662, 500.0, 112.70534774447657, 368) + femmesh.addNode(6563.586741910367, 500.00000000000006, 315.8599768732983, 369) + femmesh.addNode(3452.475630799244, 500.00000000000017, 684.1400231267033, 370) + femmesh.addNode(2029.0058506822288, 500.00000000000017, 684.1400231267022, 371) + femmesh.addNode(4785.808964132577, 500.00000000000017, 684.1400231266972, 372) + femmesh.addNode(4882.9311878878625, 500.00000000000017, 867.5121506116186, 373) + femmesh.addNode(4199.619189652648, 500.0, 120.47005435871915, 374) + femmesh.addNode(3948.5289584954694, 500.0, 120.47005435871124, 375) + femmesh.addNode(2614.9050181912507, 500.0, 120.29130990045124, 376) + femmesh.addNode(2866.5764632902237, 500.0, 120.29130990044634, 377) + femmesh.addNode(7706.426190551767, 500.0, 122.79281432071397, 378) + femmesh.addNode(293.5738094482332, 500.0, 122.79281432071534, 379) + femmesh.addNode(5668.519908699008, 500.0, 108.78741739580167, 380) + femmesh.addNode(5672.2905340790885, 500.00000000000017, 895.9574866333423, 381) + femmesh.addNode(6780.5068908153335, 500.0000000000001, 577.6276790039055, 382) + femmesh.addNode(1717.8290726902774, 500.00000000000006, 316.8197761733028, 383) + femmesh.addNode(4650.466764911562, 500.00000000000017, 883.5856886038878, 384) + femmesh.addNode(2164.3480499032394, 500.00000000000017, 883.585688603893, 385) + femmesh.addNode(3317.133431578238, 500.00000000000017, 883.5856886038969, 386) + femmesh.addNode(6428.244542689359, 500.0, 116.41431139610256, 387) + femmesh.addNode(836.6508539248216, 500.00000000000017, 885.2356310303675, 388) + femmesh.addNode(1597.5206282730637, 500.00000000000017, 893.7491236895847, 389) + femmesh.addNode(3883.9608532084067, 500.00000000000017, 893.7491236895854, 390) + femmesh.addNode(6926.465161850476, 500.0, 123.82919649722665, 391) + femmesh.addNode(4378.563776959021, 500.00000000000006, 305.2556395901117, 392) + femmesh.addNode(712.2419870051812, 500.00000000000006, 319.66613304580596, 393) + femmesh.addNode(7302.225560220031, 500.00000000000006, 328.29619908333325, 394) + femmesh.addNode(3045.329464591457, 500.00000000000006, 305.28035820367467, 395) + femmesh.addNode(2436.1520168900133, 500.00000000000006, 305.28035820366966, 396) + femmesh.addNode(1106.1574778717522, 500.0000000000001, 386.00217950321803, 397) + femmesh.addNode(1117.9057422131627, 500.0000000000001, 622.1179377282334, 398) + femmesh.addNode(3756.164024773751, 500.00000000000006, 281.19576384871647, 399) + femmesh.addNode(5097.69967759807, 500.00000000000006, 317.3991767081932, 400) + femmesh.addNode(5131.145465942268, 500.00000000000017, 885.7289564223155, 401) + femmesh.addNode(6154.250245046664, 500.00000000000017, 697.1943164034237, 402) + femmesh.addNode(3452.15271525592, 500.00000000000006, 274.19460708300153, 403) + femmesh.addNode(1567.6178600338658, 500.0, 108.81013618086062, 404) + femmesh.addNode(7062.49730977581, 500.00000000000006, 300.40403707860503, 405) + femmesh.addNode(6482.64752026125, 500.00000000000017, 739.9989516416008, 406) + femmesh.addNode(4693.327611746292, 500.00000000000006, 269.39362060709345, 407) + femmesh.addNode(1517.1228178606711, 500.00000000000017, 694.5768231229472, 408) + femmesh.addNode(3963.798060037384, 500.00000000000017, 695.1954599819605, 409) + femmesh.addNode(1857.9174134050013, 500.0, 104.26736045199264, 410) + femmesh.addNode(3622.8247892206255, 500.0, 105.37270067698638, 411) + femmesh.addNode(4525.502882516417, 500.0, 105.30444335931585, 412) + femmesh.addNode(847.6263774639385, 500.0, 110.07064815120478, 413) + femmesh.addNode(282.87317584511385, 500.00000000000017, 877.7855258943977, 414) + femmesh.addNode(7717.126824154883, 500.00000000000017, 877.785525894397, 415) + femmesh.addNode(2027.0719864729972, 500.00000000000006, 267.3395309728046, 416) + femmesh.addNode(7015.779521089671, 500.00000000000017, 888.7214870040931, 417) + femmesh.addNode(5952.629790678609, 500.0000000000001, 557.1247698154624, 418) + femmesh.addNode(4107.6773567238815, 500.00000000000017, 890.2581681720553, 419) + femmesh.addNode(1377.8592606467264, 500.00000000000017, 890.0552715233002, 420) + femmesh.addNode(7473.748205742472, 500.0000000000001, 616.9720318049243, 421) + femmesh.addNode(521.9604750418066, 500.0000000000001, 617.1192217303526, 422) + femmesh.addNode(95.44983528072514, 500.0000000000001, 498.72443404169064, 423) + femmesh.addNode(7904.550164719275, 500.0000000000001, 498.72443404169076, 424) + femmesh.addNode(6121.062634589897, 500.00000000000006, 375.56212342765303, 425) + femmesh.addNode(4151.522367566544, 500.00000000000006, 258.53991424747824, 426) + femmesh.addNode(3994.466719790979, 500.00000000000006, 258.41764443089056, 427) + femmesh.addNode(4354.351085094542, 500.0000000000001, 619.199291231222, 428) + femmesh.addNode(2662.9456287413027, 500.00000000000006, 257.5976899925193, 429) + femmesh.addNode(2819.628071253836, 500.00000000000006, 258.82828067624115, 430) + femmesh.addNode(5418.224057723975, 500.0000000000001, 540.786888671358, 431) + femmesh.addNode(5883.187458672368, 500.0, 112.31868098172531, 432) + femmesh.addNode(3021.640795816791, 500.0000000000001, 618.6923063382654, 433) + femmesh.addNode(2459.840685664688, 500.0000000000001, 618.6923063382653, 434) + femmesh.addNode(5610.380855453107, 500.00000000000006, 379.88813316713396, 435) + femmesh.addNode(5262.288932839039, 500.00000000000017, 722.8898289041445, 436) + femmesh.addNode(7184.700911554622, 500.0, 93.46533188647751, 437) + femmesh.addNode(807.6882235109797, 500.0000000000001, 444.13714689257904, 438) + femmesh.addNode(7195.342883397356, 500.0000000000001, 541.568863515383, 439) + femmesh.addNode(1496.0779157026154, 500.00000000000006, 335.95862802786013, 440) + femmesh.addNode(5551.34599817357, 500.0, 92.16588192523949, 441) + femmesh.addNode(5551.3459981735605, 500.0000000000002, 907.8341180747605, 442) + femmesh.addNode(6304.809569856905, 500.0000000000002, 897.4526057236726, 443) + femmesh.addNode(829.631389505289, 500.00000000000017, 772.7215069246502, 444) + femmesh.addNode(4074.074074074068, 500.0000000000001, 556.2021550156052, 445) + femmesh.addNode(2740.7407407407377, 500.0000000000001, 553.6364794273326, 446) + femmesh.addNode(1407.4074074074056, 500.0000000000001, 556.2021550156056, 447) + femmesh.addNode(7752.921937697393, 500.0000000000001, 605.6891042725961, 448) + femmesh.addNode(247.07806230258075, 500.0000000000001, 605.689104272601, 449) + femmesh.addNode(2742.554426357161, 500.0000000000001, 441.557080091506, 450) + femmesh.addNode(1392.2864523495814, 500.0000000000001, 422.67744584028634, 451) + femmesh.addNode(4071.3488295859097, 500.0000000000001, 445.2310697794399, 452) + femmesh.addNode(965.6969126809465, 500.0000000000002, 912.0774375447143, 453) + femmesh.addNode(6034.870736487629, 500.00000000000017, 895.1962961523193, 454) + femmesh.addNode(4813.423945488539, 500.0, 88.0131384501446, 455) + femmesh.addNode(3336.804449325129, 500.0, 89.91235845460876, 456) + femmesh.addNode(2145.712718072921, 500.0, 88.10035749617299, 457) + femmesh.addNode(6588.322684837114, 500.0000000000002, 913.3310723189843, 458) + femmesh.addNode(5217.485699956585, 500.0, 106.99514838295694, 459) + femmesh.addNode(7126.248597636713, 500.00000000000017, 736.6366361423236, 460) + femmesh.addNode(7037.037037037038, 500.0, 82.53410217182414, 461) + femmesh.addNode(626.1800075871399, 500.00000000000017, 891.9385071582001, 462) + femmesh.addNode(7344.2083746165445, 500.00000000000017, 889.0402901816267, 463) + femmesh.addNode(103.79991695738111, 500.00000000000017, 743.8593806334494, 464) + femmesh.addNode(106.40465223691201, 500.00000000000006, 246.5811076582841, 465) + femmesh.addNode(7893.595347763094, 500.00000000000006, 246.5811076582797, 466) + femmesh.addNode(7896.200083042626, 500.00000000000017, 743.8593806334587, 467) + femmesh.addNode(635.6715787265157, 500.0, 103.68667758196041, 468) + femmesh.addNode(7346.378414415707, 500.0, 97.80962770945953, 469) + femmesh.addNode(5498.398551507691, 500.00000000000017, 716.9660389968634, 470) + femmesh.addNode(5855.635907299063, 500.0000000000002, 914.8320239998321, 471) + femmesh.addNode(3551.6012340221146, 500.0000000000001, 594.5031057095781, 472) + femmesh.addNode(1935.1372049729575, 500.0000000000001, 601.706161892535, 473) + femmesh.addNode(4882.6908046827475, 500.0000000000001, 597.4202283839372, 474) + femmesh.addNode(6657.508507648723, 500.0000000000001, 398.2113637306744, 475) + femmesh.addNode(6988.367503141852, 500.0000000000001, 547.5015401796788, 476) + femmesh.addNode(1017.6917785563771, 500.0000000000001, 452.53240748721714, 477) + femmesh.addNode(5387.738295780524, 500.0000000000002, 904.2804586849913, 478) + femmesh.addNode(2726.1438965832976, 500.00000000000017, 776.6288178802687, 479) + femmesh.addNode(5283.5868332074315, 500.00000000000006, 287.1772893263348, 480) + femmesh.addNode(1200.97279705511, 500.0000000000001, 544.4575711592724, 481) + femmesh.addNode(3667.8513153755084, 500.0000000000001, 531.9107568715456, 482) + femmesh.addNode(1815.1905074511733, 500.0000000000001, 537.2906229149341, 483) + femmesh.addNode(6772.260231715166, 500.0000000000001, 461.60647700262405, 484) + femmesh.addNode(4999.581659659807, 500.0000000000001, 536.8608981168566, 485) + femmesh.addNode(7203.6542408510595, 500.0000000000001, 428.72518955741486, 486) + femmesh.addNode(788.2251565826217, 500.0000000000001, 551.7972272592045, 487) + femmesh.addNode(3161.232159794134, 500.00000000000017, 728.6712438637365, 488) + femmesh.addNode(2320.2493216873436, 500.00000000000017, 728.6712438637376, 489) + femmesh.addNode(4494.552829225373, 500.00000000000017, 728.6816681796572, 490) + femmesh.addNode(6272.0158122104, 500.00000000000006, 271.2624406545201, 491) + femmesh.addNode(4089.959200653646, 500.00000000000017, 778.4323403800105, 492) + femmesh.addNode(1391.5222808278213, 500.00000000000017, 778.4323403800091, 493) + femmesh.addNode(2538.431512198923, 500.0000000000001, 533.976240706416, 494) + femmesh.addNode(2944.7369563953916, 500.0000000000001, 531.1174126267546, 495) + femmesh.addNode(7904.589064686527, 500.0000000000002, 906.4443132120504, 496) + femmesh.addNode(95.41093531346792, 500.0000000000002, 906.4443132120568, 497) + femmesh.addNode(90.50736318949515, 500.0, 102.1888063561127, 498) + femmesh.addNode(7909.492636810507, 500.0, 102.18880635611038, 499) + femmesh.addNode(5414.042014906579, 500.0, 82.1501785235767, 500) + femmesh.addNode(1699.2797972192734, 500.0000000000002, 906.521118082376, 501) + femmesh.addNode(3782.201684262197, 500.0000000000002, 906.5211180823751, 502) + femmesh.addNode(1363.769233361906, 500.0, 100.36463107278246, 503) + femmesh.addNode(2592.5925925925876, 500.0000000000002, 920.2962504519037, 504) + femmesh.addNode(2882.320457829789, 500.0000000000002, 915.3559704695299, 505) + femmesh.addNode(4276.278113146783, 500.0000000000001, 534.7238900714791, 506) + femmesh.addNode(5635.0855265602895, 500.0000000000001, 624.8227998835946, 507) + femmesh.addNode(1255.2667795857158, 500.0, 80.84876563718629, 508) + femmesh.addNode(2664.628802972087, 500.00000000000006, 381.4758980189642, 509) + femmesh.addNode(832.8749826325999, 500.00000000000006, 219.12744164786054, 510) + femmesh.addNode(4222.222222222219, 500.0000000000002, 920.9840993419909, 511) + femmesh.addNode(1259.2592592592569, 500.0000000000002, 920.9840993419933, 512) + femmesh.addNode(600.1101576452035, 500.0000000000001, 534.8185943508142, 513) + femmesh.addNode(7399.889842354805, 500.0000000000001, 534.8185943508029, 514) + femmesh.addNode(4149.617420853446, 500.00000000000006, 382.9452534327596, 515) + femmesh.addNode(3343.038093333996, 500.0000000000001, 473.37986692785205, 516) + femmesh.addNode(2202.813115409953, 500.0000000000001, 570.7926188996644, 517) + femmesh.addNode(4676.371426667326, 500.0000000000001, 473.3798669278519, 518) + femmesh.addNode(4611.985460094771, 500.0000000000001, 570.8061541782029, 519) + femmesh.addNode(2140.0547569001665, 500.0000000000001, 476.2901729998216, 520) + femmesh.addNode(3278.668366071523, 500.0000000000001, 570.7926188996656, 521) + femmesh.addNode(6458.982645116712, 500.0000000000001, 524.6420497886927, 522) + femmesh.addNode(6399.472142054875, 500.0000000000001, 426.87068612014446, 523) + femmesh.addNode(962.9629629629617, 500.0, 78.00542123291112, 524) + femmesh.addNode(2492.7052751552174, 500.0, 102.94009310276894, 525) + femmesh.addNode(2988.776206326256, 500.0, 102.94009310276799, 526) + femmesh.addNode(4316.723988778715, 500.0, 103.29546259094175, 527) + femmesh.addNode(3831.424930064103, 500.0, 103.19980639265381, 528) + femmesh.addNode(7218.944669475787, 500.0000000000002, 901.1460389204676, 529) + femmesh.addNode(3471.1990721711118, 500.0000000000001, 481.74561260477105, 530) + femmesh.addNode(2014.286992373035, 500.0000000000001, 488.18451586524384, 531) + femmesh.addNode(4804.089608860568, 500.0000000000001, 475.7595677289195, 532) + femmesh.addNode(6584.199906329039, 500.0000000000001, 513.355040238768, 533) + femmesh.addNode(2817.7076438112927, 500.00000000000006, 381.81799885299773, 534) + femmesh.addNode(6634.452749644213, 500.00000000000017, 735.5099606524759, 535) + femmesh.addNode(5998.042142164987, 500.00000000000017, 722.8587787582359, 536) + femmesh.addNode(3989.5798378280742, 500.0000000000001, 384.150166271885, 537) + femmesh.addNode(7102.959324254702, 500.0000000000001, 392.0640895099264, 538) + femmesh.addNode(1002.715395532759, 500.0000000000001, 561.2332349842806, 539) + femmesh.addNode(5373.098365336791, 500.0000000000001, 399.168690026159, 540) + femmesh.addNode(3466.0691755260673, 500.0000000000002, 912.945469964282, 541) + femmesh.addNode(2015.4123059554024, 500.0000000000002, 912.9454699642827, 542) + femmesh.addNode(1195.4851045136184, 500.0000000000001, 453.57002951351325, 543) + femmesh.addNode(1021.7292038259692, 500.00000000000017, 810.4829151657295, 544) + femmesh.addNode(895.2097556761555, 500.0000000000001, 593.5769141681038, 545) + femmesh.addNode(6576.897880224705, 500.0, 87.0855719830333, 546) + return True + + +def create_elements(femmesh): + # elements + femmesh.addFace([220, 445, 409], 123) + femmesh.addFace([408, 447, 217], 124) + femmesh.addFace([128, 285, 210], 125) + femmesh.addFace([211, 286, 125], 126) + femmesh.addFace([209, 284, 126], 127) + femmesh.addFace([132, 283, 212], 128) + femmesh.addFace([206, 340, 167], 129) + femmesh.addFace([166, 345, 207], 130) + femmesh.addFace([220, 409, 323], 131) + femmesh.addFace([324, 408, 217], 132) + femmesh.addFace([345, 416, 207], 133) + femmesh.addFace([135, 416, 345], 134) + femmesh.addFace([206, 403, 340], 135) + femmesh.addFace([155, 278, 221], 136) + femmesh.addFace([221, 278, 134], 137) + femmesh.addFace([134, 279, 221], 138) + femmesh.addFace([221, 279, 156], 139) + femmesh.addFace([340, 403, 137], 140) + femmesh.addFace([149, 315, 222], 141) + femmesh.addFace([240, 278, 155], 142) + femmesh.addFace([241, 279, 186], 143) + femmesh.addFace([156, 279, 241], 144) + femmesh.addFace([187, 278, 240], 145) + femmesh.addFace([182, 302, 235], 146) + femmesh.addFace([234, 301, 181], 147) + femmesh.addFace([235, 302, 139], 148) + femmesh.addFace([140, 301, 234], 149) + femmesh.addFace([170, 346, 205], 150) + femmesh.addFace([273, 456, 33], 151) + femmesh.addFace([42, 455, 275], 152) + femmesh.addFace([24, 457, 274], 153) + femmesh.addFace([276, 458, 113], 154) + femmesh.addFace([232, 386, 151], 155) + femmesh.addFace([153, 385, 231], 156) + femmesh.addFace([152, 387, 233], 157) + femmesh.addFace([230, 384, 154], 158) + femmesh.addFace([162, 312, 294], 159) + femmesh.addFace([294, 312, 188], 160) + femmesh.addFace([225, 270, 143], 161) + femmesh.addFace([222, 431, 149], 162) + femmesh.addFace([104, 266, 105], 163) + femmesh.addFace([346, 407, 205], 164) + femmesh.addFace([177, 365, 226], 165) + femmesh.addFace([224, 364, 176], 166) + femmesh.addFace([178, 366, 225], 167) + femmesh.addFace([156, 292, 221], 168) + femmesh.addFace([226, 268, 177], 169) + femmesh.addFace([142, 268, 226], 170) + femmesh.addFace([176, 267, 224], 171) + femmesh.addFace([143, 269, 225], 172) + femmesh.addFace([225, 269, 178], 173) + femmesh.addFace([151, 386, 237], 174) + femmesh.addFace([238, 385, 153], 175) + femmesh.addFace([239, 387, 152], 176) + femmesh.addFace([154, 384, 236], 177) + femmesh.addFace([291, 418, 132], 178) + femmesh.addFace([132, 418, 292], 179) + femmesh.addFace([103, 373, 294], 180) + femmesh.addFace([102, 373, 103], 181) + femmesh.addFace([217, 451, 440], 182) + femmesh.addFace([228, 367, 180], 183) + femmesh.addFace([175, 363, 227], 184) + femmesh.addFace([265, 444, 139], 185) + femmesh.addFace([230, 373, 101], 186) + femmesh.addFace([172, 314, 306], 187) + femmesh.addFace([306, 314, 189], 188) + femmesh.addFace([136, 407, 346], 189) + femmesh.addFace([104, 401, 266], 190) + femmesh.addFace([180, 272, 228], 191) + femmesh.addFace([227, 271, 175], 192) + femmesh.addFace([223, 444, 265], 193) + femmesh.addFace([254, 379, 13], 194) + femmesh.addFace([61, 378, 255], 195) + femmesh.addFace([280, 352, 81], 196) + femmesh.addFace([94, 351, 281], 197) + femmesh.addFace([282, 353, 56], 198) + femmesh.addFace([241, 432, 156], 199) + femmesh.addFace([289, 349, 158], 200) + femmesh.addFace([160, 350, 287], 201) + femmesh.addFace([229, 366, 178], 202) + femmesh.addFace([148, 253, 244], 203) + femmesh.addFace([178, 277, 229], 204) + femmesh.addFace([156, 432, 242], 205) + femmesh.addFace([191, 349, 289], 206) + femmesh.addFace([287, 350, 190], 207) + femmesh.addFace([185, 311, 282], 208) + femmesh.addFace([282, 311, 164], 209) + femmesh.addFace([131, 297, 222], 210) + femmesh.addFace([161, 307, 281], 211) + femmesh.addFace([183, 308, 280], 212) + femmesh.addFace([280, 308, 163], 213) + femmesh.addFace([281, 307, 184], 214) + femmesh.addFace([56, 353, 55], 215) + femmesh.addFace([81, 352, 82], 216) + femmesh.addFace([93, 351, 94], 217) + femmesh.addFace([217, 440, 304], 218) + femmesh.addFace([205, 334, 170], 219) + femmesh.addFace([167, 336, 206], 220) + femmesh.addFace([207, 335, 166], 221) + femmesh.addFace([34, 273, 33], 222) + femmesh.addFace([42, 275, 41], 223) + femmesh.addFace([24, 274, 23], 224) + femmesh.addFace([112, 276, 113], 225) + femmesh.addFace([53, 239, 52], 226) + femmesh.addFace([99, 236, 100], 227) + femmesh.addFace([90, 237, 91], 228) + femmesh.addFace([84, 238, 85], 229) + femmesh.addFace([210, 343, 128], 230) + femmesh.addFace([125, 342, 211], 231) + femmesh.addFace([126, 341, 209], 232) + femmesh.addFace([212, 338, 132], 233) + femmesh.addFace([11, 379, 249], 234) + femmesh.addFace([247, 378, 63], 235) + femmesh.addFace([217, 304, 130], 236) + femmesh.addFace([127, 305, 220], 237) + femmesh.addFace([158, 296, 255], 238) + femmesh.addFace([254, 295, 160], 239) + femmesh.addFace([62, 378, 61], 240) + femmesh.addFace([13, 379, 12], 241) + femmesh.addFace([206, 456, 273], 242) + femmesh.addFace([275, 455, 205], 243) + femmesh.addFace([274, 457, 207], 244) + femmesh.addFace([208, 458, 276], 245) + femmesh.addFace([234, 460, 140], 246) + femmesh.addFace([71, 263, 72], 247) + femmesh.addFace([120, 264, 121], 248) + femmesh.addFace([409, 445, 145], 249) + femmesh.addFace([146, 447, 408], 250) + femmesh.addFace([173, 295, 254], 251) + femmesh.addFace([255, 296, 174], 252) + femmesh.addFace([277, 438, 147], 253) + femmesh.addFace([214, 438, 277], 254) + femmesh.addFace([222, 315, 131], 255) + femmesh.addFace([258, 266, 149], 256) + femmesh.addFace([71, 414, 263], 257) + femmesh.addFace([264, 415, 121], 258) + femmesh.addFace([130, 324, 217], 259) + femmesh.addFace([220, 323, 127], 260) + femmesh.addFace([51, 242, 50], 261) + femmesh.addFace([132, 402, 291], 262) + femmesh.addFace([267, 479, 224], 263) + femmesh.addFace([221, 418, 155], 264) + femmesh.addFace([247, 466, 158], 265) + femmesh.addFace([157, 467, 248], 266) + femmesh.addFace([160, 465, 249], 267) + femmesh.addFace([250, 464, 159], 268) + femmesh.addFace([298, 460, 234], 269) + femmesh.addFace([338, 402, 132], 270) + femmesh.addFace([142, 479, 267], 271) + femmesh.addFace([290, 467, 157], 272) + femmesh.addFace([158, 466, 289], 273) + femmesh.addFace([287, 465, 160], 274) + femmesh.addFace([159, 464, 288], 275) + femmesh.addFace([12, 379, 11], 276) + femmesh.addFace([63, 378, 62], 277) + femmesh.addFace([303, 392, 125], 278) + femmesh.addFace([131, 400, 297], 279) + femmesh.addFace([128, 396, 310], 280) + femmesh.addFace([309, 395, 126], 281) + femmesh.addFace([150, 321, 257], 282) + femmesh.addFace([125, 392, 342], 283) + femmesh.addFace([343, 396, 128], 284) + femmesh.addFace([126, 395, 341], 285) + femmesh.addFace([127, 347, 305], 286) + femmesh.addFace([272, 493, 228], 287) + femmesh.addFace([227, 492, 271], 288) + femmesh.addFace([330, 400, 131], 289) + femmesh.addFace([138, 535, 406], 290) + femmesh.addFace([110, 454, 331], 291) + femmesh.addFace([274, 416, 168], 292) + femmesh.addFace([171, 406, 276], 293) + femmesh.addFace([275, 407, 165], 294) + femmesh.addFace([169, 403, 273], 295) + femmesh.addFace([146, 493, 272], 296) + femmesh.addFace([271, 492, 145], 297) + femmesh.addFace([101, 373, 102], 298) + femmesh.addFace([134, 293, 251], 299) + femmesh.addFace([110, 331, 111], 300) + femmesh.addFace([366, 508, 225], 301) + femmesh.addFace([239, 368, 52], 302) + femmesh.addFace([99, 363, 236], 303) + femmesh.addFace([90, 365, 237], 304) + femmesh.addFace([238, 364, 85], 305) + femmesh.addFace([347, 399, 305], 306) + femmesh.addFace([224, 504, 364], 307) + femmesh.addFace([365, 505, 226], 308) + femmesh.addFace([304, 383, 130], 309) + femmesh.addFace([267, 446, 142], 310) + femmesh.addFace([216, 446, 267], 311) + femmesh.addFace([268, 446, 218], 312) + femmesh.addFace([142, 446, 268], 313) + femmesh.addFace([168, 416, 348], 314) + femmesh.addFace([130, 383, 328], 315) + femmesh.addFace([393, 438, 203], 316) + femmesh.addFace([277, 510, 229], 317) + femmesh.addFace([300, 350, 124], 318) + femmesh.addFace([123, 349, 299], 319) + femmesh.addFace([339, 406, 171], 320) + femmesh.addFace([165, 407, 344], 321) + femmesh.addFace([145, 445, 271], 322) + femmesh.addFace([271, 445, 215], 323) + femmesh.addFace([272, 447, 146], 324) + femmesh.addFace([219, 447, 272], 325) + femmesh.addFace([147, 510, 277], 326) + femmesh.addFace([38, 252, 37], 327) + femmesh.addFace([327, 403, 169], 328) + femmesh.addFace([124, 350, 295], 329) + femmesh.addFace([296, 349, 123], 330) + femmesh.addFace([363, 511, 227], 331) + femmesh.addFace([228, 512, 367], 332) + femmesh.addFace([440, 451, 143], 333) + femmesh.addFace([245, 389, 79], 334) + femmesh.addFace([96, 390, 246], 335) + femmesh.addFace([115, 337, 306], 336) + femmesh.addFace([29, 256, 28], 337) + femmesh.addFace([139, 444, 235], 338) + femmesh.addFace([226, 479, 142], 339) + femmesh.addFace([45, 322, 44], 340) + femmesh.addFace([155, 313, 240], 341) + femmesh.addFace([139, 545, 265], 342) + femmesh.addFace([317, 404, 21], 343) + femmesh.addFace([122, 415, 248], 344) + femmesh.addFace([250, 414, 70], 345) + femmesh.addFace([185, 391, 253], 346) + femmesh.addFace([229, 524, 366], 347) + femmesh.addFace([269, 451, 219], 348) + femmesh.addFace([143, 451, 269], 349) + femmesh.addFace([162, 373, 230], 350) + femmesh.addFace([231, 371, 153], 351) + femmesh.addFace([154, 372, 230], 352) + femmesh.addFace([151, 370, 232], 353) + femmesh.addFace([233, 369, 152], 354) + femmesh.addFace([51, 368, 242], 355) + femmesh.addFace([319, 335, 26], 356) + femmesh.addFace([31, 336, 320], 357) + femmesh.addFace([233, 353, 164], 358) + femmesh.addFace([161, 351, 232], 359) + femmesh.addFace([231, 352, 163], 360) + femmesh.addFace([22, 317, 21], 361) + femmesh.addFace([179, 368, 239], 362) + femmesh.addFace([237, 365, 177], 363) + femmesh.addFace([176, 364, 238], 364) + femmesh.addFace([236, 363, 175], 365) + femmesh.addFace([45, 459, 322], 366) + femmesh.addFace([108, 381, 240], 367) + femmesh.addFace([241, 380, 49], 368) + femmesh.addFace([235, 462, 182], 369) + femmesh.addFace([181, 463, 234], 370) + femmesh.addFace([175, 490, 236], 371) + femmesh.addFace([177, 488, 237], 372) + femmesh.addFace([238, 489, 176], 373) + femmesh.addFace([239, 491, 179], 374) + femmesh.addFace([115, 306, 116], 375) + femmesh.addFace([101, 384, 230], 376) + femmesh.addFace([472, 482, 307], 377) + femmesh.addFace([308, 483, 473], 378) + femmesh.addFace([311, 484, 475], 379) + femmesh.addFace([474, 485, 312], 380) + femmesh.addFace([299, 421, 123], 381) + femmesh.addFace([124, 422, 300], 382) + femmesh.addFace([161, 472, 307], 383) + femmesh.addFace([308, 473, 163], 384) + femmesh.addFace([311, 475, 164], 385) + femmesh.addFace([162, 474, 312], 386) + femmesh.addFace([406, 535, 208], 387) + femmesh.addFace([257, 357, 150], 388) + femmesh.addFace([186, 357, 257], 389) + femmesh.addFace([173, 468, 243], 390) + femmesh.addFace([244, 469, 174], 391) + femmesh.addFace([391, 461, 253], 392) + femmesh.addFace([232, 370, 161], 393) + femmesh.addFace([163, 371, 231], 394) + femmesh.addFace([230, 372, 162], 395) + femmesh.addFace([164, 369, 233], 396) + femmesh.addFace([242, 368, 179], 397) + femmesh.addFace([159, 414, 250], 398) + femmesh.addFace([248, 415, 157], 399) + femmesh.addFace([480, 540, 297], 400) + femmesh.addFace([240, 471, 108], 401) + femmesh.addFace([266, 401, 188], 402) + femmesh.addFace([204, 486, 394], 403) + femmesh.addFace([355, 421, 299], 404) + femmesh.addFace([300, 422, 354], 405) + femmesh.addFace([149, 436, 315], 406) + femmesh.addFace([306, 417, 116], 407) + femmesh.addFace([95, 390, 96], 408) + femmesh.addFace([79, 389, 80], 409) + femmesh.addFace([329, 535, 138], 410) + femmesh.addFace([44, 334, 43], 411) + femmesh.addFace([114, 337, 115], 412) + femmesh.addFace([26, 335, 25], 413) + femmesh.addFace([32, 336, 31], 414) + femmesh.addFace([322, 334, 44], 415) + femmesh.addFace([255, 378, 158], 416) + femmesh.addFace([160, 379, 254], 417) + femmesh.addFace([158, 378, 247], 418) + femmesh.addFace([249, 379, 160], 419) + femmesh.addFace([204, 394, 333], 420) + femmesh.addFace([332, 393, 203], 421) + femmesh.addFace([235, 388, 74], 422) + femmesh.addFace([6, 287, 7], 423) + femmesh.addFace([68, 290, 67], 424) + femmesh.addFace([66, 289, 65], 425) + femmesh.addFace([8, 288, 9], 426) + femmesh.addFace([301, 439, 204], 427) + femmesh.addFace([140, 439, 301], 428) + femmesh.addFace([121, 415, 122], 429) + femmesh.addFace([70, 414, 71], 430) + femmesh.addFace([147, 438, 393], 431) + femmesh.addFace([74, 462, 235], 432) + femmesh.addFace([257, 441, 186], 433) + femmesh.addFace([187, 442, 258], 434) + femmesh.addFace([263, 414, 159], 435) + femmesh.addFace([157, 415, 264], 436) + femmesh.addFace([251, 435, 134], 437) + femmesh.addFace([180, 544, 265], 438) + femmesh.addFace([265, 544, 223], 439) + femmesh.addFace([179, 360, 242], 440) + femmesh.addFace([242, 360, 156], 441) + femmesh.addFace([150, 540, 480], 442) + femmesh.addFace([255, 362, 61], 443) + femmesh.addFace([13, 361, 254], 444) + femmesh.addFace([150, 480, 321], 445) + femmesh.addFace([159, 354, 263], 446) + femmesh.addFace([264, 355, 157], 447) + femmesh.addFace([309, 430, 196], 448) + femmesh.addFace([195, 429, 310], 449) + femmesh.addFace([248, 496, 122], 450) + femmesh.addFace([70, 497, 250], 451) + femmesh.addFace([249, 498, 11], 452) + femmesh.addFace([63, 499, 247], 453) + femmesh.addFace([280, 501, 183], 454) + femmesh.addFace([184, 502, 281], 455) + femmesh.addFace([263, 354, 182], 456) + femmesh.addFace([181, 355, 264], 457) + femmesh.addFace([303, 426, 192], 458) + femmesh.addFace([193, 427, 305], 459) + femmesh.addFace([153, 489, 238], 460) + femmesh.addFace([236, 490, 154], 461) + femmesh.addFace([237, 488, 151], 462) + femmesh.addFace([152, 491, 239], 463) + femmesh.addFace([49, 432, 241], 464) + femmesh.addFace([297, 540, 222], 465) + femmesh.addFace([56, 391, 282], 466) + femmesh.addFace([153, 371, 260], 467) + femmesh.addFace([259, 372, 154], 468) + femmesh.addFace([261, 370, 151], 469) + femmesh.addFace([152, 369, 262], 470) + femmesh.addFace([309, 534, 430], 471) + femmesh.addFace([429, 509, 310], 472) + femmesh.addFace([314, 326, 189], 473) + femmesh.addFace([194, 404, 317], 474) + femmesh.addFace([312, 315, 188], 475) + femmesh.addFace([131, 315, 312], 476) + femmesh.addFace([236, 384, 100], 477) + femmesh.addFace([84, 385, 238], 478) + femmesh.addFace([53, 387, 239], 479) + femmesh.addFace([237, 386, 91], 480) + femmesh.addFace([361, 468, 173], 481) + femmesh.addFace([174, 469, 362], 482) + femmesh.addFace([183, 501, 389], 483) + femmesh.addFace([390, 502, 184], 484) + femmesh.addFace([303, 515, 426], 485) + femmesh.addFace([186, 380, 241], 486) + femmesh.addFace([240, 381, 187], 487) + femmesh.addFace([427, 537, 305], 488) + femmesh.addFace([295, 332, 124], 489) + femmesh.addFace([173, 332, 295], 490) + femmesh.addFace([123, 333, 296], 491) + femmesh.addFace([296, 333, 174], 492) + femmesh.addFace([276, 443, 171], 493) + femmesh.addFace([211, 519, 286], 494) + femmesh.addFace([285, 517, 210], 495) + femmesh.addFace([209, 521, 284], 496) + femmesh.addFace([283, 523, 212], 497) + femmesh.addFace([273, 411, 169], 498) + femmesh.addFace([168, 410, 274], 499) + femmesh.addFace([165, 412, 275], 500) + femmesh.addFace([15, 413, 243], 501) + femmesh.addFace([270, 440, 143], 502) + femmesh.addFace([79, 420, 245], 503) + femmesh.addFace([246, 419, 96], 504) + femmesh.addFace([286, 519, 154], 505) + femmesh.addFace([153, 517, 285], 506) + femmesh.addFace([284, 521, 151], 507) + femmesh.addFace([152, 523, 283], 508) + femmesh.addFace([107, 381, 108], 509) + femmesh.addFace([49, 380, 48], 510) + femmesh.addFace([244, 394, 148], 511) + femmesh.addFace([243, 393, 173], 512) + femmesh.addFace([174, 394, 244], 513) + femmesh.addFace([308, 324, 130], 514) + femmesh.addFace([183, 324, 308], 515) + femmesh.addFace([127, 323, 307], 516) + femmesh.addFace([307, 323, 184], 517) + femmesh.addFace([151, 521, 261], 518) + femmesh.addFace([154, 519, 259], 519) + femmesh.addFace([260, 517, 153], 520) + femmesh.addFace([262, 523, 152], 521) + femmesh.addFace([242, 432, 50], 522) + femmesh.addFace([163, 352, 280], 523) + femmesh.addFace([281, 351, 161], 524) + femmesh.addFace([258, 470, 187], 525) + femmesh.addFace([311, 325, 133], 526) + femmesh.addFace([185, 325, 311], 527) + femmesh.addFace([306, 337, 172], 528) + femmesh.addFace([164, 353, 282], 529) + femmesh.addFace([318, 527, 40], 530) + femmesh.addFace([35, 528, 316], 531) + femmesh.addFace([254, 361, 173], 532) + femmesh.addFace([174, 362, 255], 533) + femmesh.addFace([183, 389, 245], 534) + femmesh.addFace([246, 390, 184], 535) + femmesh.addFace([26, 525, 319], 536) + femmesh.addFace([320, 526, 31], 537) + femmesh.addFace([40, 527, 39], 538) + femmesh.addFace([36, 528, 35], 539) + femmesh.addFace([245, 408, 183], 540) + femmesh.addFace([184, 409, 246], 541) + femmesh.addFace([243, 468, 15], 542) + femmesh.addFace([38, 374, 252], 543) + femmesh.addFace([252, 375, 37], 544) + femmesh.addFace([266, 436, 149], 545) + femmesh.addFace([27, 525, 26], 546) + femmesh.addFace([31, 526, 30], 547) + femmesh.addFace([294, 373, 162], 548) + femmesh.addFace([253, 437, 244], 549) + femmesh.addFace([120, 358, 264], 550) + femmesh.addFace([263, 359, 72], 551) + femmesh.addFace([256, 376, 28], 552) + femmesh.addFace([29, 377, 256], 553) + femmesh.addFace([213, 439, 326], 554) + femmesh.addFace([326, 439, 140], 555) + femmesh.addFace([253, 405, 185], 556) + femmesh.addFace([148, 405, 253], 557) + femmesh.addFace([331, 454, 198], 558) + femmesh.addFace([182, 462, 359], 559) + femmesh.addFace([358, 463, 181], 560) + femmesh.addFace([57, 391, 56], 561) + femmesh.addFace([168, 383, 317], 562) + femmesh.addFace([317, 383, 194], 563) + femmesh.addFace([5, 498, 465], 564) + femmesh.addFace([464, 497, 10], 565) + femmesh.addFace([466, 499, 64], 566) + femmesh.addFace([69, 496, 467], 567) + femmesh.addFace([198, 402, 331], 568) + femmesh.addFace([331, 402, 171], 569) + femmesh.addFace([381, 442, 187], 570) + femmesh.addFace([186, 441, 380], 571) + femmesh.addFace([149, 470, 258], 572) + femmesh.addFace([182, 359, 263], 573) + femmesh.addFace([264, 358, 181], 574) + femmesh.addFace([290, 424, 67], 575) + femmesh.addFace([8, 423, 288], 576) + femmesh.addFace([287, 423, 7], 577) + femmesh.addFace([66, 424, 289], 578) + femmesh.addFace([320, 336, 167], 579) + femmesh.addFace([166, 335, 319], 580) + femmesh.addFace([322, 400, 170], 581) + femmesh.addFace([197, 400, 322], 582) + femmesh.addFace([154, 490, 286], 583) + femmesh.addFace([285, 489, 153], 584) + femmesh.addFace([151, 488, 284], 585) + femmesh.addFace([283, 491, 152], 586) + femmesh.addFace([270, 503, 20], 587) + femmesh.addFace([265, 398, 180], 588) + femmesh.addFace([318, 392, 192], 589) + femmesh.addFace([165, 392, 318], 590) + femmesh.addFace([169, 411, 316], 591) + femmesh.addFace([318, 412, 165], 592) + femmesh.addFace([317, 410, 168], 593) + femmesh.addFace([167, 395, 320], 594) + femmesh.addFace([320, 395, 196], 595) + femmesh.addFace([319, 396, 166], 596) + femmesh.addFace([195, 396, 319], 597) + femmesh.addFace([194, 440, 270], 598) + femmesh.addFace([190, 423, 287], 599) + femmesh.addFace([288, 423, 190], 600) + femmesh.addFace([191, 424, 290], 601) + femmesh.addFace([289, 424, 191], 602) + femmesh.addFace([216, 494, 310], 603) + femmesh.addFace([310, 494, 128], 604) + femmesh.addFace([309, 495, 218], 605) + femmesh.addFace([126, 495, 309], 606) + femmesh.addFace([303, 506, 215], 607) + femmesh.addFace([125, 506, 303], 608) + femmesh.addFace([134, 507, 293], 609) + femmesh.addFace([269, 397, 178], 610) + femmesh.addFace([243, 510, 393], 611) + femmesh.addFace([189, 417, 306], 612) + femmesh.addFace([172, 382, 314], 613) + femmesh.addFace([190, 350, 300], 614) + femmesh.addFace([299, 349, 191], 615) + femmesh.addFace([171, 443, 331], 616) + femmesh.addFace([158, 349, 296], 617) + femmesh.addFace([295, 350, 160], 618) + femmesh.addFace([61, 362, 60], 619) + femmesh.addFace([14, 361, 13], 620) + femmesh.addFace([20, 404, 270], 621) + femmesh.addFace([193, 399, 316], 622) + femmesh.addFace([316, 399, 169], 623) + femmesh.addFace([393, 510, 147], 624) + femmesh.addFace([292, 425, 132], 625) + femmesh.addFace([294, 401, 103], 626) + femmesh.addFace([203, 487, 302], 627) + femmesh.addFace([302, 487, 139], 628) + femmesh.addFace([328, 348, 201], 629) + femmesh.addFace([327, 347, 199], 630) + femmesh.addFace([202, 346, 330], 631) + femmesh.addFace([357, 435, 251], 632) + femmesh.addFace([268, 433, 177], 633) + femmesh.addFace([176, 434, 267], 634) + femmesh.addFace([156, 360, 292], 635) + femmesh.addFace([267, 494, 216], 636) + femmesh.addFace([218, 495, 268], 637) + femmesh.addFace([225, 503, 270], 638) + femmesh.addFace([271, 428, 175], 639) + femmesh.addFace([155, 418, 291], 640) + femmesh.addFace([258, 478, 266], 641) + femmesh.addFace([266, 478, 105], 642) + femmesh.addFace([314, 476, 326], 643) + femmesh.addFace([300, 354, 159], 644) + femmesh.addFace([157, 355, 299], 645) + femmesh.addFace([180, 398, 272], 646) + femmesh.addFace([39, 374, 38], 647) + femmesh.addFace([37, 375, 36], 648) + femmesh.addFace([28, 376, 27], 649) + femmesh.addFace([30, 377, 29], 650) + femmesh.addFace([282, 391, 185], 651) + femmesh.addFace([272, 481, 219], 652) + femmesh.addFace([178, 397, 277], 653) + femmesh.addFace([283, 425, 179], 654) + femmesh.addFace([175, 428, 286], 655) + femmesh.addFace([250, 497, 464], 656) + femmesh.addFace([465, 498, 249], 657) + femmesh.addFace([247, 499, 466], 658) + femmesh.addFace([467, 496, 248], 659) + femmesh.addFace([177, 433, 284], 660) + femmesh.addFace([285, 434, 176], 661) + femmesh.addFace([270, 404, 194], 662) + femmesh.addFace([215, 506, 271], 663) + femmesh.addFace([117, 417, 298], 664) + femmesh.addFace([278, 507, 134], 665) + femmesh.addFace([219, 543, 269], 666) + femmesh.addFace([187, 507, 278], 667) + femmesh.addFace([273, 403, 206], 668) + femmesh.addFace([256, 430, 429], 669) + femmesh.addFace([429, 430, 144], 670) + femmesh.addFace([329, 382, 172], 671) + femmesh.addFace([288, 449, 159], 672) + femmesh.addFace([157, 448, 290], 673) + femmesh.addFace([279, 435, 186], 674) + femmesh.addFace([81, 501, 280], 675) + femmesh.addFace([281, 502, 94], 676) + femmesh.addFace([205, 407, 275], 677) + femmesh.addFace([276, 406, 208], 678) + femmesh.addFace([188, 436, 266], 679) + femmesh.addFace([277, 477, 214], 680) + femmesh.addFace([274, 410, 23], 681) + femmesh.addFace([34, 411, 273], 682) + femmesh.addFace([275, 412, 41], 683) + femmesh.addFace([207, 416, 274], 684) + femmesh.addFace([291, 536, 155], 685) + femmesh.addFace([179, 491, 283], 686) + femmesh.addFace([284, 488, 177], 687) + femmesh.addFace([176, 489, 285], 688) + femmesh.addFace([286, 490, 175], 689) + femmesh.addFace([426, 427, 252], 690) + femmesh.addFace([141, 427, 426], 691) + femmesh.addFace([59, 469, 437], 692) + femmesh.addFace([112, 443, 276], 693) + femmesh.addFace([106, 478, 442], 694) + femmesh.addFace([134, 435, 279], 695) + femmesh.addFace([170, 334, 322], 696) + femmesh.addFace([132, 425, 283], 697) + femmesh.addFace([5, 465, 6], 698) + femmesh.addFace([9, 464, 10], 699) + femmesh.addFace([65, 466, 64], 700) + femmesh.addFace([69, 467, 68], 701) + femmesh.addFace([286, 428, 125], 702) + femmesh.addFace([284, 433, 126], 703) + femmesh.addFace([128, 434, 285], 704) + femmesh.addFace([50, 432, 49], 705) + femmesh.addFace([46, 459, 45], 706) + femmesh.addFace([321, 459, 46], 707) + femmesh.addFace([100, 384, 101], 708) + femmesh.addFace([83, 385, 84], 709) + femmesh.addFace([91, 386, 92], 710) + femmesh.addFace([54, 387, 53], 711) + femmesh.addFace([293, 507, 187], 712) + femmesh.addFace([293, 470, 149], 713) + femmesh.addFace([322, 459, 197], 714) + femmesh.addFace([394, 486, 148], 715) + femmesh.addFace([292, 418, 221], 716) + femmesh.addFace([313, 454, 109], 717) + femmesh.addFace([289, 466, 65], 718) + femmesh.addFace([6, 465, 287], 719) + femmesh.addFace([288, 464, 9], 720) + femmesh.addFace([68, 467, 290], 721) + femmesh.addFace([155, 536, 313], 722) + femmesh.addFace([293, 431, 251], 723) + femmesh.addFace([149, 431, 293], 724) + femmesh.addFace([442, 478, 258], 725) + femmesh.addFace([437, 469, 244], 726) + femmesh.addFace([119, 358, 120], 727) + femmesh.addFace([72, 359, 73], 728) + femmesh.addFace([188, 401, 294], 729) + femmesh.addFace([103, 401, 104], 730) + femmesh.addFace([298, 529, 117], 731) + femmesh.addFace([20, 503, 19], 732) + femmesh.addFace([198, 536, 402], 733) + femmesh.addFace([402, 536, 291], 734) + femmesh.addFace([251, 540, 357], 735) + femmesh.addFace([357, 540, 150], 736) + femmesh.addFace([297, 400, 197], 737) + femmesh.addFace([314, 382, 133], 738) + femmesh.addFace([165, 344, 342], 739) + femmesh.addFace([340, 341, 167], 740) + femmesh.addFace([343, 345, 166], 741) + femmesh.addFace([210, 345, 343], 742) + femmesh.addFace([209, 341, 340], 743) + femmesh.addFace([342, 344, 211], 744) + femmesh.addFace([338, 339, 171], 745) + femmesh.addFace([212, 339, 338], 746) + femmesh.addFace([325, 476, 133], 747) + femmesh.addFace([213, 476, 325], 748) + femmesh.addFace([347, 482, 199], 749) + femmesh.addFace([87, 356, 88], 750) + femmesh.addFace([116, 417, 117], 751) + femmesh.addFace([305, 399, 193], 752) + femmesh.addFace([190, 449, 288], 753) + femmesh.addFace([290, 448, 191], 754) + femmesh.addFace([330, 346, 170], 755) + femmesh.addFace([168, 348, 328], 756) + femmesh.addFace([169, 347, 327], 757) + femmesh.addFace([192, 392, 303], 758) + femmesh.addFace([194, 383, 304], 759) + femmesh.addFace([16, 413, 15], 760) + femmesh.addFace([109, 454, 110], 761) + femmesh.addFace([133, 476, 314], 762) + femmesh.addFace([187, 470, 293], 763) + femmesh.addFace([182, 422, 302], 764) + femmesh.addFace([301, 421, 181], 765) + femmesh.addFace([96, 419, 97], 766) + femmesh.addFace([78, 420, 79], 767) + femmesh.addFace([298, 417, 189], 768) + femmesh.addFace([310, 396, 195], 769) + femmesh.addFace([196, 395, 309], 770) + femmesh.addFace([74, 388, 75], 771) + femmesh.addFace([98, 363, 99], 772) + femmesh.addFace([18, 366, 17], 773) + femmesh.addFace([76, 367, 77], 774) + femmesh.addFace([85, 364, 86], 775) + femmesh.addFace([52, 368, 51], 776) + femmesh.addFace([89, 365, 90], 777) + femmesh.addFace([189, 460, 298], 778) + femmesh.addFace([83, 542, 385], 779) + femmesh.addFace([386, 541, 92], 780) + femmesh.addFace([21, 404, 20], 781) + femmesh.addFace([234, 529, 298], 782) + femmesh.addFace([54, 546, 387], 783) + femmesh.addFace([197, 480, 297], 784) + femmesh.addFace([348, 531, 201], 785) + femmesh.addFace([202, 532, 346], 786) + femmesh.addFace([118, 463, 119], 787) + femmesh.addFace([73, 462, 74], 788) + femmesh.addFace([191, 448, 299], 789) + femmesh.addFace([300, 449, 190], 790) + femmesh.addFace([159, 449, 300], 791) + femmesh.addFace([299, 448, 157], 792) + femmesh.addFace([321, 480, 197], 793) + femmesh.addFace([328, 383, 168], 794) + femmesh.addFace([475, 533, 262], 795) + femmesh.addFace([259, 532, 474], 796) + femmesh.addFace([473, 531, 260], 797) + femmesh.addFace([261, 530, 472], 798) + femmesh.addFace([313, 536, 198], 799) + femmesh.addFace([117, 529, 118], 800) + femmesh.addFace([22, 410, 317], 801) + femmesh.addFace([316, 411, 35], 802) + femmesh.addFace([40, 412, 318], 803) + femmesh.addFace([170, 400, 330], 804) + femmesh.addFace([360, 425, 292], 805) + femmesh.addFace([118, 529, 463], 806) + femmesh.addFace([356, 504, 224], 807) + femmesh.addFace([87, 504, 356], 808) + femmesh.addFace([226, 505, 356], 809) + femmesh.addFace([356, 505, 88], 810) + femmesh.addFace([202, 485, 474], 811) + femmesh.addFace([475, 484, 200], 812) + femmesh.addFace([473, 483, 201], 813) + femmesh.addFace([199, 482, 472], 814) + femmesh.addFace([315, 436, 188], 815) + femmesh.addFace([122, 496, 4], 816) + femmesh.addFace([11, 498, 1], 817) + femmesh.addFace([2, 497, 70], 818) + femmesh.addFace([3, 499, 63], 819) + femmesh.addFace([137, 403, 327], 820) + femmesh.addFace([76, 453, 367], 821) + femmesh.addFace([409, 492, 246], 822) + femmesh.addFace([145, 492, 409], 823) + femmesh.addFace([408, 493, 146], 824) + femmesh.addFace([245, 493, 408], 825) + femmesh.addFace([200, 382, 329], 826) + femmesh.addFace([23, 410, 22], 827) + femmesh.addFace([35, 411, 34], 828) + femmesh.addFace([41, 412, 40], 829) + femmesh.addFace([204, 514, 301], 830) + femmesh.addFace([302, 513, 203], 831) + femmesh.addFace([304, 440, 194], 832) + femmesh.addFace([89, 505, 365], 833) + femmesh.addFace([364, 504, 86], 834) + femmesh.addFace([367, 512, 77], 835) + femmesh.addFace([98, 511, 363], 836) + femmesh.addFace([366, 524, 17], 837) + femmesh.addFace([18, 508, 366], 838) + femmesh.addFace([111, 443, 112], 839) + femmesh.addFace([4, 496, 69], 840) + femmesh.addFace([1, 498, 5], 841) + femmesh.addFace([10, 497, 2], 842) + femmesh.addFace([64, 499, 3], 843) + femmesh.addFace([183, 408, 324], 844) + femmesh.addFace([323, 409, 184], 845) + femmesh.addFace([39, 527, 374], 846) + femmesh.addFace([375, 528, 36], 847) + femmesh.addFace([109, 471, 313], 848) + femmesh.addFace([305, 537, 220], 849) + femmesh.addFace([200, 533, 475], 850) + femmesh.addFace([474, 532, 202], 851) + femmesh.addFace([201, 531, 473], 852) + femmesh.addFace([472, 530, 199], 853) + femmesh.addFace([215, 515, 303], 854) + femmesh.addFace([185, 405, 325], 855) + femmesh.addFace([173, 393, 332], 856) + femmesh.addFace([333, 394, 174], 857) + femmesh.addFace([385, 542, 231], 858) + femmesh.addFace([232, 541, 386], 859) + femmesh.addFace([218, 534, 309], 860) + femmesh.addFace([376, 525, 27], 861) + femmesh.addFace([30, 526, 377], 862) + femmesh.addFace([307, 482, 127], 863) + femmesh.addFace([130, 483, 308], 864) + femmesh.addFace([310, 509, 216], 865) + femmesh.addFace([198, 454, 313], 866) + femmesh.addFace([133, 484, 311], 867) + femmesh.addFace([105, 478, 106], 868) + femmesh.addFace([312, 485, 131], 869) + femmesh.addFace([387, 546, 233], 870) + femmesh.addFace([127, 482, 347], 871) + femmesh.addFace([313, 471, 240], 872) + femmesh.addFace([60, 469, 59], 873) + femmesh.addFace([15, 468, 14], 874) + femmesh.addFace([342, 392, 165], 875) + femmesh.addFace([341, 395, 167], 876) + femmesh.addFace([166, 396, 343], 877) + femmesh.addFace([192, 527, 318], 878) + femmesh.addFace([316, 528, 193], 879) + femmesh.addFace([7, 423, 8], 880) + femmesh.addFace([67, 424, 66], 881) + femmesh.addFace([196, 526, 320], 882) + femmesh.addFace([319, 525, 195], 883) + femmesh.addFace([333, 514, 204], 884) + femmesh.addFace([332, 513, 124], 885) + femmesh.addFace([203, 513, 332], 886) + femmesh.addFace([123, 514, 333], 887) + femmesh.addFace([437, 461, 58], 888) + femmesh.addFace([328, 483, 130], 889) + femmesh.addFace([201, 483, 328], 890) + femmesh.addFace([330, 485, 202], 891) + femmesh.addFace([131, 485, 330], 892) + femmesh.addFace([59, 437, 58], 893) + femmesh.addFace([253, 461, 437], 894) + femmesh.addFace([331, 443, 111], 895) + femmesh.addFace([169, 399, 347], 896) + femmesh.addFace([171, 402, 338], 897) + femmesh.addFace([106, 442, 107], 898) + femmesh.addFace([48, 441, 47], 899) + femmesh.addFace([181, 421, 355], 900) + femmesh.addFace([354, 422, 182], 901) + femmesh.addFace([179, 425, 360], 902) + femmesh.addFace([138, 406, 339], 903) + femmesh.addFace([344, 407, 136], 904) + femmesh.addFace([348, 416, 135], 905) + femmesh.addFace([453, 544, 367], 906) + femmesh.addFace([55, 546, 54], 907) + femmesh.addFace([92, 541, 93], 908) + femmesh.addFace([82, 542, 83], 909) + femmesh.addFace([326, 460, 189], 910) + femmesh.addFace([223, 453, 388], 911) + femmesh.addFace([388, 453, 75], 912) + femmesh.addFace([108, 471, 109], 913) + femmesh.addFace([94, 502, 95], 914) + femmesh.addFace([80, 501, 81], 915) + femmesh.addFace([340, 516, 209], 916) + femmesh.addFace([137, 516, 340], 917) + femmesh.addFace([136, 518, 344], 918) + femmesh.addFace([210, 520, 345], 919) + femmesh.addFace([344, 518, 211], 920) + femmesh.addFace([345, 520, 135], 921) + femmesh.addFace([212, 522, 339], 922) + femmesh.addFace([339, 522, 138], 923) + femmesh.addFace([186, 435, 357], 924) + femmesh.addFace([356, 479, 226], 925) + femmesh.addFace([75, 453, 76], 926) + femmesh.addFace([113, 458, 114], 927) + femmesh.addFace([33, 456, 32], 928) + femmesh.addFace([43, 455, 42], 929) + femmesh.addFace([25, 457, 24], 930) + femmesh.addFace([135, 531, 348], 931) + femmesh.addFace([346, 532, 136], 932) + femmesh.addFace([58, 461, 57], 933) + femmesh.addFace([197, 459, 321], 934) + femmesh.addFace([426, 515, 141], 935) + femmesh.addFace([327, 530, 137], 936) + femmesh.addFace([199, 530, 327], 937) + femmesh.addFace([138, 533, 329], 938) + femmesh.addFace([329, 533, 200], 939) + femmesh.addFace([337, 535, 172], 940) + femmesh.addFace([208, 535, 337], 941) + femmesh.addFace([369, 475, 262], 942) + femmesh.addFace([259, 474, 372], 943) + femmesh.addFace([371, 473, 260], 944) + femmesh.addFace([261, 472, 370], 945) + femmesh.addFace([47, 500, 46], 946) + femmesh.addFace([19, 508, 18], 947) + femmesh.addFace([86, 504, 87], 948) + femmesh.addFace([88, 505, 89], 949) + femmesh.addFace([97, 511, 98], 950) + femmesh.addFace([77, 512, 78], 951) + femmesh.addFace([144, 509, 429], 952) + femmesh.addFace([17, 524, 16], 953) + femmesh.addFace([46, 500, 321], 954) + femmesh.addFace([321, 500, 257], 955) + femmesh.addFace([375, 427, 193], 956) + femmesh.addFace([252, 427, 375], 957) + femmesh.addFace([192, 426, 374], 958) + femmesh.addFace([374, 426, 252], 959) + femmesh.addFace([325, 538, 213], 960) + femmesh.addFace([196, 430, 377], 961) + femmesh.addFace([377, 430, 256], 962) + femmesh.addFace([256, 429, 376], 963) + femmesh.addFace([376, 429, 195], 964) + femmesh.addFace([140, 460, 326], 965) + femmesh.addFace([463, 529, 234], 966) + femmesh.addFace([326, 476, 213], 967) + femmesh.addFace([257, 500, 441], 968) + femmesh.addFace([441, 500, 47], 969) + femmesh.addFace([114, 458, 337], 970) + femmesh.addFace([335, 457, 25], 971) + femmesh.addFace([207, 457, 335], 972) + femmesh.addFace([334, 455, 43], 973) + femmesh.addFace([336, 456, 206], 974) + femmesh.addFace([205, 455, 334], 975) + femmesh.addFace([32, 456, 336], 976) + femmesh.addFace([337, 458, 208], 977) + femmesh.addFace([431, 540, 251], 978) + femmesh.addFace([222, 540, 431], 979) + femmesh.addFace([141, 537, 427], 980) + femmesh.addFace([430, 534, 144], 981) + femmesh.addFace([93, 541, 351], 982) + femmesh.addFace([352, 542, 82], 983) + femmesh.addFace([265, 539, 398], 984) + femmesh.addFace([353, 546, 55], 985) + femmesh.addFace([269, 543, 397], 986) + femmesh.addFace([382, 484, 133], 987) + femmesh.addFace([172, 535, 329], 988) + femmesh.addFace([539, 545, 214], 989) + femmesh.addFace([214, 487, 438], 990) + femmesh.addFace([213, 486, 439], 991) + femmesh.addFace([413, 524, 229], 992) + femmesh.addFace([16, 524, 413], 993) + femmesh.addFace([107, 442, 381], 994) + femmesh.addFace([380, 441, 48], 995) + femmesh.addFace([200, 484, 382], 996) + femmesh.addFace([419, 511, 97], 997) + femmesh.addFace([227, 511, 419], 998) + femmesh.addFace([78, 512, 420], 999) + femmesh.addFace([420, 512, 228], 1000) + femmesh.addFace([193, 528, 375], 1001) + femmesh.addFace([374, 527, 192], 1002) + femmesh.addFace([213, 538, 486], 1003) + femmesh.addFace([377, 526, 196], 1004) + femmesh.addFace([195, 525, 376], 1005) + femmesh.addFace([224, 479, 356], 1006) + femmesh.addFace([214, 545, 487], 1007) + femmesh.addFace([265, 545, 539], 1008) + femmesh.addFace([351, 541, 232], 1009) + femmesh.addFace([231, 542, 352], 1010) + femmesh.addFace([119, 463, 358], 1011) + femmesh.addFace([359, 462, 73], 1012) + femmesh.addFace([233, 546, 353], 1013) + femmesh.addFace([235, 444, 388], 1014) + femmesh.addFace([388, 444, 223], 1015) + femmesh.addFace([14, 468, 361], 1016) + femmesh.addFace([362, 469, 60], 1017) + femmesh.addFace([389, 501, 80], 1018) + femmesh.addFace([95, 502, 390], 1019) + femmesh.addFace([57, 461, 391], 1020) + femmesh.addFace([398, 481, 272], 1021) + femmesh.addFace([129, 481, 398], 1022) + femmesh.addFace([370, 472, 161], 1023) + femmesh.addFace([163, 473, 371], 1024) + femmesh.addFace([164, 475, 369], 1025) + femmesh.addFace([372, 474, 162], 1026) + femmesh.addFace([129, 477, 397], 1027) + femmesh.addFace([397, 477, 277], 1028) + femmesh.addFace([398, 539, 129], 1029) + femmesh.addFace([397, 543, 129], 1030) + femmesh.addFace([367, 544, 180], 1031) + femmesh.addFace([405, 538, 325], 1032) + femmesh.addFace([413, 510, 243], 1033) + femmesh.addFace([262, 533, 522], 1034) + femmesh.addFace([260, 531, 520], 1035) + femmesh.addFace([137, 530, 516], 1036) + femmesh.addFace([522, 533, 138], 1037) + femmesh.addFace([516, 530, 261], 1038) + femmesh.addFace([520, 531, 135], 1039) + femmesh.addFace([518, 532, 259], 1040) + femmesh.addFace([136, 532, 518], 1041) + femmesh.addFace([301, 514, 421], 1042) + femmesh.addFace([422, 513, 302], 1043) + femmesh.addFace([420, 493, 245], 1044) + femmesh.addFace([228, 493, 420], 1045) + femmesh.addFace([419, 492, 227], 1046) + femmesh.addFace([246, 492, 419], 1047) + femmesh.addFace([447, 451, 217], 1048) + femmesh.addFace([216, 450, 446], 1049) + femmesh.addFace([445, 452, 215], 1050) + femmesh.addFace([229, 510, 413], 1051) + femmesh.addFace([271, 506, 428], 1052) + femmesh.addFace([148, 538, 405], 1053) + femmesh.addFace([124, 513, 422], 1054) + femmesh.addFace([421, 514, 123], 1055) + femmesh.addFace([268, 495, 433], 1056) + femmesh.addFace([433, 495, 126], 1057) + femmesh.addFace([128, 494, 434], 1058) + femmesh.addFace([434, 494, 267], 1059) + femmesh.addFace([428, 506, 125], 1060) + femmesh.addFace([477, 539, 214], 1061) + femmesh.addFace([446, 450, 218], 1062) + femmesh.addFace([220, 452, 445], 1063) + femmesh.addFace([219, 451, 447], 1064) + femmesh.addFace([439, 486, 204], 1065) + femmesh.addFace([438, 487, 203], 1066) + femmesh.addFace([216, 509, 450], 1067) + femmesh.addFace([481, 543, 219], 1068) + femmesh.addFace([452, 515, 215], 1069) + femmesh.addFace([450, 534, 218], 1070) + femmesh.addFace([220, 537, 452], 1071) + femmesh.addFace([223, 544, 453], 1072) + femmesh.addFace([450, 509, 144], 1073) + femmesh.addFace([486, 538, 148], 1074) + femmesh.addFace([141, 515, 452], 1075) + femmesh.addFace([503, 508, 19], 1076) + femmesh.addFace([522, 523, 262], 1077) + femmesh.addFace([212, 523, 522], 1078) + femmesh.addFace([261, 521, 516], 1079) + femmesh.addFace([260, 520, 517], 1080) + femmesh.addFace([516, 521, 209], 1081) + femmesh.addFace([518, 519, 211], 1082) + femmesh.addFace([517, 520, 210], 1083) + femmesh.addFace([259, 519, 518], 1084) + femmesh.addFace([225, 508, 503], 1085) + femmesh.addFace([144, 534, 450], 1086) + femmesh.addFace([487, 545, 139], 1087) + femmesh.addFace([452, 537, 141], 1088) + femmesh.addFace([129, 539, 477], 1089) + femmesh.addFace([129, 543, 481], 1090) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_canticcx_tria6.py b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_tria6.py new file mode 100644 index 0000000000..71d98d5237 --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_canticcx_tria6.py @@ -0,0 +1,255 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 500.0, 0.0, 1) + femmesh.addNode(0.0, 500.00000000000324, 1000.0, 2) + femmesh.addNode(8000.0, 500.0, 0.0, 3) + femmesh.addNode(8000.0, 500.00000000000324, 1000.0, 4) + femmesh.addNode(0.0, 500.0000000000001, 500.0, 5) + femmesh.addNode(0.0, 500.00000000000006, 250.0, 6) + femmesh.addNode(0.0, 500.00000000000017, 750.0, 7) + femmesh.addNode(500.0, 500.0, 0.0, 8) + femmesh.addNode(1000.0, 500.0, 0.0, 9) + femmesh.addNode(1500.0, 500.0, 0.0, 10) + femmesh.addNode(2000.0, 500.0, 0.0, 11) + femmesh.addNode(2500.0, 500.0, 0.0, 12) + femmesh.addNode(3000.0, 500.0, 0.0, 13) + femmesh.addNode(3500.0, 500.0, 0.0, 14) + femmesh.addNode(4000.0, 500.0, 0.0, 15) + femmesh.addNode(4500.0, 500.0, 0.0, 16) + femmesh.addNode(5000.0, 500.0, 0.0, 17) + femmesh.addNode(5500.0, 500.0, 0.0, 18) + femmesh.addNode(6000.0, 500.0, 0.0, 19) + femmesh.addNode(6500.0, 500.0, 0.0, 20) + femmesh.addNode(7000.0, 500.0, 0.0, 21) + femmesh.addNode(7500.0, 500.0, 0.0, 22) + femmesh.addNode(250.0, 500.0, 0.0, 23) + femmesh.addNode(750.0, 500.0, 0.0, 24) + femmesh.addNode(1250.0, 500.0, 0.0, 25) + femmesh.addNode(1750.0, 500.0, 0.0, 26) + femmesh.addNode(2250.0, 500.0, 0.0, 27) + femmesh.addNode(2750.0, 500.0, 0.0, 28) + femmesh.addNode(3250.0, 500.0, 0.0, 29) + femmesh.addNode(3750.0, 500.0, 0.0, 30) + femmesh.addNode(4250.0, 500.0, 0.0, 31) + femmesh.addNode(4750.0, 500.0, 0.0, 32) + femmesh.addNode(5250.0, 500.0, 0.0, 33) + femmesh.addNode(5750.0, 500.0, 0.0, 34) + femmesh.addNode(6250.0, 500.0, 0.0, 35) + femmesh.addNode(6750.0, 500.0, 0.0, 36) + femmesh.addNode(7250.0, 500.0, 0.0, 37) + femmesh.addNode(7750.0, 500.0, 0.0, 38) + femmesh.addNode(8000.0, 500.0000000000001, 500.0, 39) + femmesh.addNode(8000.0, 500.00000000000006, 250.0, 40) + femmesh.addNode(8000.0, 500.00000000000017, 750.0, 41) + femmesh.addNode(500.0, 500.0000000000002, 1000.0, 42) + femmesh.addNode(1000.0, 500.0000000000002, 1000.0, 43) + femmesh.addNode(1500.0, 500.0000000000002, 1000.0, 44) + femmesh.addNode(2000.0, 500.0000000000002, 1000.0, 45) + femmesh.addNode(2500.0, 500.0000000000002, 1000.0, 46) + femmesh.addNode(3000.0, 500.0000000000002, 1000.0, 47) + femmesh.addNode(3500.0, 500.0000000000002, 1000.0, 48) + femmesh.addNode(4000.0, 500.0000000000002, 1000.0, 49) + femmesh.addNode(4500.0, 500.0000000000002, 1000.0, 50) + femmesh.addNode(5000.0, 500.0000000000002, 1000.0, 51) + femmesh.addNode(5500.0, 500.0000000000002, 1000.0, 52) + femmesh.addNode(6000.0, 500.0000000000002, 1000.0, 53) + femmesh.addNode(6500.0, 500.0000000000002, 1000.0, 54) + femmesh.addNode(7000.0, 500.0000000000002, 1000.0, 55) + femmesh.addNode(7500.0, 500.0000000000002, 1000.0, 56) + femmesh.addNode(250.0, 500.0000000000002, 1000.0, 57) + femmesh.addNode(750.0, 500.0000000000002, 1000.0, 58) + femmesh.addNode(1250.0, 500.0000000000002, 1000.0, 59) + femmesh.addNode(1750.0, 500.0000000000002, 1000.0, 60) + femmesh.addNode(2250.0, 500.0000000000002, 1000.0, 61) + femmesh.addNode(2750.0, 500.0000000000002, 1000.0, 62) + femmesh.addNode(3250.0, 500.0000000000002, 1000.0, 63) + femmesh.addNode(3750.0, 500.0000000000002, 1000.0, 64) + femmesh.addNode(4250.0, 500.0000000000002, 1000.0, 65) + femmesh.addNode(4750.0, 500.0000000000002, 1000.0, 66) + femmesh.addNode(5250.0, 500.0000000000002, 1000.0, 67) + femmesh.addNode(5750.0, 500.0000000000002, 1000.0, 68) + femmesh.addNode(6250.0, 500.0000000000002, 1000.0, 69) + femmesh.addNode(6750.0, 500.0000000000002, 1000.0, 70) + femmesh.addNode(7250.0, 500.0000000000002, 1000.0, 71) + femmesh.addNode(7750.0, 500.0000000000002, 1000.0, 72) + femmesh.addNode(714.9234693877551, 500.0000000000001, 484.05612244897964, 73) + femmesh.addNode(1750.0, 500.0000000000001, 500.0, 74) + femmesh.addNode(2750.0, 500.0000000000001, 500.0, 75) + femmesh.addNode(3750.0, 500.0000000000001, 500.0, 76) + femmesh.addNode(4750.0, 500.0000000000001, 500.0, 77) + femmesh.addNode(5750.0, 500.0000000000001, 500.0, 78) + femmesh.addNode(6756.944444444443, 500.0000000000001, 489.5833333333333, 79) + femmesh.addNode(7301.463293650793, 500.0000000000001, 489.7073412698406, 80) + femmesh.addNode(1244.1539115646258, 500.0000000000001, 497.34268707482994, 81) + femmesh.addNode(2250.0, 500.0000000000001, 500.0, 82) + femmesh.addNode(3250.0, 500.0000000000001, 500.0, 83) + femmesh.addNode(4250.0, 500.0000000000001, 500.0, 84) + femmesh.addNode(5250.0, 500.0000000000001, 500.0, 85) + femmesh.addNode(6251.157407407407, 500.0000000000001, 498.2638888888889, 86) + femmesh.addNode(355.2776691684587, 500.0000000000001, 632.304566974645, 87) + femmesh.addNode(7660.398197179746, 500.00000000000017, 648.5965255878823, 88) + femmesh.addNode(7699.764777975907, 500.00000000000006, 310.456176890242, 89) + femmesh.addNode(314.0402277112428, 500.00000000000006, 323.27213788472494, 90) + femmesh.addNode(1122.0769557823128, 500.00000000000017, 748.6713435374149, 91) + femmesh.addNode(1372.0769557823128, 500.00000000000017, 748.6713435374149, 92) + femmesh.addNode(2125.0, 500.00000000000017, 750.0, 93) + femmesh.addNode(2375.0, 500.00000000000017, 750.0, 94) + femmesh.addNode(3125.0, 500.00000000000017, 750.0, 95) + femmesh.addNode(3375.0, 500.00000000000017, 750.0, 96) + femmesh.addNode(4125.0, 500.00000000000017, 750.0, 97) + femmesh.addNode(4375.0, 500.00000000000017, 750.0, 98) + femmesh.addNode(5125.0, 500.00000000000017, 750.0, 99) + femmesh.addNode(5375.0, 500.00000000000017, 750.0, 100) + femmesh.addNode(6125.5787037037035, 500.00000000000017, 749.1319444444445, 101) + femmesh.addNode(6375.5787037037035, 500.00000000000017, 749.1319444444445, 102) + femmesh.addNode(857.4617346938776, 500.00000000000017, 742.0280612244899, 103) + femmesh.addNode(979.5386904761904, 500.0000000000001, 490.6994047619048, 104) + femmesh.addNode(1497.0769557823128, 500.0000000000001, 498.67134353741494, 105) + femmesh.addNode(1625.0, 500.00000000000017, 750.0, 106) + femmesh.addNode(1875.0, 500.00000000000017, 750.0, 107) + femmesh.addNode(2000.0, 500.0000000000001, 500.0, 108) + femmesh.addNode(2500.0, 500.0000000000001, 500.0, 109) + femmesh.addNode(2625.0, 500.00000000000017, 750.0, 110) + femmesh.addNode(2875.0, 500.00000000000017, 750.0, 111) + femmesh.addNode(3000.0, 500.0000000000001, 500.0, 112) + femmesh.addNode(3500.0, 500.0000000000001, 500.0, 113) + femmesh.addNode(3625.0, 500.00000000000017, 750.0, 114) + femmesh.addNode(3875.0, 500.00000000000017, 750.0, 115) + femmesh.addNode(4000.0, 500.0000000000001, 500.0, 116) + femmesh.addNode(4500.0, 500.0000000000001, 500.0, 117) + femmesh.addNode(4625.0, 500.00000000000017, 750.0, 118) + femmesh.addNode(4875.0, 500.00000000000017, 750.0, 119) + femmesh.addNode(5000.0, 500.0000000000001, 500.0, 120) + femmesh.addNode(5500.0, 500.0000000000001, 500.0, 121) + femmesh.addNode(5625.0, 500.00000000000017, 750.0, 122) + femmesh.addNode(5875.0, 500.00000000000017, 750.0, 123) + femmesh.addNode(6000.5787037037035, 500.0000000000001, 499.13194444444446, 124) + femmesh.addNode(6504.050925925925, 500.0000000000001, 493.9236111111111, 125) + femmesh.addNode(6628.472222222222, 500.00000000000017, 744.7916666666666, 126) + femmesh.addNode(7150.731646825397, 500.00000000000006, 244.8536706349203, 127) + femmesh.addNode(7029.203869047618, 500.0000000000001, 489.64533730158695, 128) + femmesh.addNode(6878.472222222222, 500.00000000000006, 244.79166666666666, 129) + femmesh.addNode(6878.472222222222, 500.00000000000017, 744.7916666666666, 130) + femmesh.addNode(7150.731646825397, 500.00000000000017, 744.8536706349203, 131) + femmesh.addNode(7400.731646825397, 500.00000000000006, 244.8536706349203, 132) + femmesh.addNode(7400.731646825397, 500.00000000000017, 744.8536706349203, 133) + femmesh.addNode(857.4617346938776, 500.00000000000006, 242.02806122448982, 134) + femmesh.addNode(607.4617346938776, 500.00000000000006, 242.02806122448982, 135) + femmesh.addNode(1875.0, 500.00000000000006, 250.0, 136) + femmesh.addNode(1625.0, 500.00000000000006, 250.0, 137) + femmesh.addNode(2875.0, 500.00000000000006, 250.0, 138) + femmesh.addNode(2625.0, 500.00000000000006, 250.0, 139) + femmesh.addNode(3875.0, 500.00000000000006, 250.0, 140) + femmesh.addNode(3625.0, 500.00000000000006, 250.0, 141) + femmesh.addNode(4875.0, 500.00000000000006, 250.0, 142) + femmesh.addNode(4625.0, 500.00000000000006, 250.0, 143) + femmesh.addNode(5875.0, 500.00000000000006, 250.0, 144) + femmesh.addNode(5625.0, 500.00000000000006, 250.0, 145) + femmesh.addNode(6628.472222222222, 500.00000000000006, 244.79166666666666, 146) + femmesh.addNode(607.4617346938776, 500.00000000000017, 742.0280612244899, 147) + femmesh.addNode(1122.0769557823128, 500.00000000000006, 248.67134353741497, 148) + femmesh.addNode(1372.0769557823128, 500.00000000000006, 248.67134353741497, 149) + femmesh.addNode(2125.0, 500.00000000000006, 250.0, 150) + femmesh.addNode(2375.0, 500.00000000000006, 250.0, 151) + femmesh.addNode(3125.0, 500.00000000000006, 250.0, 152) + femmesh.addNode(3375.0, 500.00000000000006, 250.0, 153) + femmesh.addNode(4125.0, 500.00000000000006, 250.0, 154) + femmesh.addNode(4375.0, 500.00000000000006, 250.0, 155) + femmesh.addNode(5125.0, 500.00000000000006, 250.0, 156) + femmesh.addNode(5375.0, 500.00000000000006, 250.0, 157) + femmesh.addNode(6125.5787037037035, 500.00000000000006, 249.13194444444446, 158) + femmesh.addNode(6375.5787037037035, 500.00000000000006, 249.13194444444446, 159) + femmesh.addNode(514.4818485494989, 500.0000000000001, 403.66413016685226, 160) + femmesh.addNode(407.0201138556214, 500.00000000000006, 161.63606894236247, 161) + femmesh.addNode(177.63883458422936, 500.0000000000001, 566.1522834873225, 162) + femmesh.addNode(177.63883458422936, 500.00000000000017, 816.1522834873225, 163) + femmesh.addNode(427.63883458422936, 500.00000000000017, 816.1522834873225, 164) + femmesh.addNode(535.1005692781068, 500.0000000000001, 558.1803447118123, 165) + femmesh.addNode(7599.882388987953, 500.00000000000006, 155.228088445121, 166) + femmesh.addNode(7500.614035813351, 500.0000000000001, 400.08175908004125, 167) + femmesh.addNode(7830.199098589873, 500.00000000000017, 824.2982627939411, 168) + femmesh.addNode(7830.199098589873, 500.0000000000001, 574.2982627939411, 169) + femmesh.addNode(7580.199098589873, 500.00000000000017, 824.2982627939411, 170) + femmesh.addNode(7480.9307454152695, 500.0000000000001, 569.1519334288614, 171) + femmesh.addNode(334.65894843985075, 500.0000000000001, 477.788352429685, 172) + femmesh.addNode(7849.882388987953, 500.0000000000001, 405.228088445121, 173) + femmesh.addNode(7849.882388987953, 500.00000000000006, 155.228088445121, 174) + femmesh.addNode(157.0201138556214, 500.00000000000006, 161.63606894236247, 175) + femmesh.addNode(157.0201138556214, 500.0000000000001, 411.6360689423625, 176) + femmesh.addNode(7680.081487577827, 500.0000000000001, 479.52635123906214, 177) + return True + + +def create_elements(femmesh): + # elements + femmesh.addFace([43, 81, 44, 91, 92, 59], 37) + femmesh.addFace([45, 82, 46, 93, 94, 61], 38) + femmesh.addFace([47, 83, 48, 95, 96, 63], 39) + femmesh.addFace([49, 84, 50, 97, 98, 65], 40) + femmesh.addFace([51, 85, 52, 99, 100, 67], 41) + femmesh.addFace([53, 86, 54, 101, 102, 69], 42) + femmesh.addFace([43, 73, 81, 103, 104, 91], 43) + femmesh.addFace([44, 81, 74, 92, 105, 106], 44) + femmesh.addFace([45, 74, 82, 107, 108, 93], 45) + femmesh.addFace([46, 82, 75, 94, 109, 110], 46) + femmesh.addFace([47, 75, 83, 111, 112, 95], 47) + femmesh.addFace([48, 83, 76, 96, 113, 114], 48) + femmesh.addFace([49, 76, 84, 115, 116, 97], 49) + femmesh.addFace([50, 84, 77, 98, 117, 118], 50) + femmesh.addFace([51, 77, 85, 119, 120, 99], 51) + femmesh.addFace([52, 85, 78, 100, 121, 122], 52) + femmesh.addFace([53, 78, 86, 123, 124, 101], 53) + femmesh.addFace([54, 86, 79, 102, 125, 126], 54) + femmesh.addFace([21, 80, 79, 127, 128, 129], 55) + femmesh.addFace([55, 79, 80, 130, 128, 131], 56) + femmesh.addFace([21, 22, 80, 37, 132, 127], 57) + femmesh.addFace([55, 80, 56, 131, 133, 71], 58) + femmesh.addFace([8, 9, 73, 24, 134, 135], 59) + femmesh.addFace([10, 11, 74, 26, 136, 137], 60) + femmesh.addFace([12, 13, 75, 28, 138, 139], 61) + femmesh.addFace([14, 15, 76, 30, 140, 141], 62) + femmesh.addFace([16, 17, 77, 32, 142, 143], 63) + femmesh.addFace([18, 19, 78, 34, 144, 145], 64) + femmesh.addFace([20, 21, 79, 36, 129, 146], 65) + femmesh.addFace([42, 73, 43, 147, 103, 58], 66) + femmesh.addFace([44, 74, 45, 106, 107, 60], 67) + femmesh.addFace([46, 75, 47, 110, 111, 62], 68) + femmesh.addFace([48, 76, 49, 114, 115, 64], 69) + femmesh.addFace([50, 77, 51, 118, 119, 66], 70) + femmesh.addFace([52, 78, 53, 122, 123, 68], 71) + femmesh.addFace([54, 79, 55, 126, 130, 70], 72) + femmesh.addFace([9, 81, 73, 148, 104, 134], 73) + femmesh.addFace([10, 74, 81, 137, 105, 149], 74) + femmesh.addFace([11, 82, 74, 150, 108, 136], 75) + femmesh.addFace([12, 75, 82, 139, 109, 151], 76) + femmesh.addFace([13, 83, 75, 152, 112, 138], 77) + femmesh.addFace([14, 76, 83, 141, 113, 153], 78) + femmesh.addFace([15, 84, 76, 154, 116, 140], 79) + femmesh.addFace([16, 77, 84, 143, 117, 155], 80) + femmesh.addFace([17, 85, 77, 156, 120, 142], 81) + femmesh.addFace([18, 78, 85, 145, 121, 157], 82) + femmesh.addFace([19, 86, 78, 158, 124, 144], 83) + femmesh.addFace([20, 79, 86, 146, 125, 159], 84) + femmesh.addFace([9, 10, 81, 25, 149, 148], 85) + femmesh.addFace([11, 12, 82, 27, 151, 150], 86) + femmesh.addFace([13, 14, 83, 29, 153, 152], 87) + femmesh.addFace([15, 16, 84, 31, 155, 154], 88) + femmesh.addFace([17, 18, 85, 33, 157, 156], 89) + femmesh.addFace([19, 20, 86, 35, 159, 158], 90) + femmesh.addFace([8, 73, 90, 135, 160, 161], 91) + femmesh.addFace([2, 5, 87, 7, 162, 163], 92) + femmesh.addFace([2, 87, 42, 163, 164, 57], 93) + femmesh.addFace([42, 87, 73, 164, 165, 147], 94) + femmesh.addFace([22, 89, 80, 166, 167, 132], 95) + femmesh.addFace([4, 88, 39, 168, 169, 41], 96) + femmesh.addFace([4, 56, 88, 72, 170, 168], 97) + femmesh.addFace([56, 80, 88, 133, 171, 170], 98) + femmesh.addFace([73, 87, 90, 165, 172, 160], 99) + femmesh.addFace([3, 39, 89, 40, 173, 174], 100) + femmesh.addFace([3, 89, 22, 174, 166, 38], 101) + femmesh.addFace([1, 90, 5, 175, 176, 6], 102) + femmesh.addFace([1, 8, 90, 23, 161, 175], 103) + femmesh.addFace([80, 89, 88, 167, 177, 171], 104) + femmesh.addFace([5, 90, 87, 176, 172, 162], 105) + femmesh.addFace([39, 88, 89, 169, 177, 173], 106) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_constraint_centrif_tetra10.py b/src/Mod/Fem/femexamples/meshes/mesh_constraint_centrif_tetra10.py new file mode 100644 index 0000000000..170302c45c --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_constraint_centrif_tetra10.py @@ -0,0 +1,10931 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(102.5, -2.5e-14, 10.0, 1) + femmesh.addNode(102.5, -2.5e-14, 0.0, 2) + femmesh.addNode(3.0, -1e-15, 10.0, 3) + femmesh.addNode(-4.99999999999884, 97.3717104707524, 10.0, 4) + femmesh.addNode(-4.99999999999885, -97.3717104707523, 10.0, 5) + femmesh.addNode(97.5, -2.4e-14, 10.0, 6) + femmesh.addNode(4.99999999999908, 97.3717104707523, 10.0, 7) + femmesh.addNode(4.99999999999909, -97.3717104707523, 10.0, 8) + femmesh.addNode(3.0, -1e-15, 0.0, 9) + femmesh.addNode(-4.99999999999885, -97.3717104707523, 0.0, 10) + femmesh.addNode(-4.99999999999884, 97.3717104707524, 0.0, 11) + femmesh.addNode(4.99999999999909, -97.3717104707523, 0.0, 12) + femmesh.addNode(97.5, -2.4e-14, 0.0, 13) + femmesh.addNode(4.99999999999908, 97.3717104707523, 0.0, 14) + femmesh.addNode(102.5, -2.5e-14, 30.0, 15) + femmesh.addNode(102.5, -2.5e-14, 20.0, 16) + femmesh.addNode(3.0, -1e-15, 30.0, 17) + femmesh.addNode(-4.99999999999884, 97.3717104707524, 30.0, 18) + femmesh.addNode(-4.99999999999885, -97.3717104707523, 30.0, 19) + femmesh.addNode(97.5, -2.4e-14, 30.0, 20) + femmesh.addNode(4.99999999999908, 97.3717104707523, 30.0, 21) + femmesh.addNode(4.99999999999909, -97.3717104707523, 30.0, 22) + femmesh.addNode(3.0, -1e-15, 20.0, 23) + femmesh.addNode(-4.99999999999885, -97.3717104707523, 20.0, 24) + femmesh.addNode(-4.99999999999884, 97.3717104707524, 20.0, 25) + femmesh.addNode(4.99999999999909, -97.3717104707523, 20.0, 26) + femmesh.addNode(97.5, -2.4e-14, 20.0, 27) + femmesh.addNode(4.99999999999908, 97.3717104707523, 20.0, 28) + femmesh.addNode(102.37844066218436, 4.990479694337564, 10.0, 29) + femmesh.addNode(102.01405097405667, 9.969122522196567, 10.0, 30) + femmesh.addNode(101.4076952276988, 14.92411969283799, 10.0, 31) + femmesh.addNode(100.56081163194992, 19.84371850040931, 10.0, 32) + femmesh.addNode(99.47540890113405, 24.71625020006434, 10.0, 33) + femmesh.addNode(98.15406149061162, 29.53015768493683, 10.0, 34) + femmesh.addNode(96.59990349045574, 34.27402289832108, 10.0, 35) + femmesh.addNode(94.81662119173684, 38.93659391604098, 10.0, 36) + femmesh.addNode(92.80844434304754, 43.50681163477103, 10.0, 37) + femmesh.addNode(90.58013611800622, 47.973836003007555, 10.0, 38) + femmesh.addNode(88.13698181753554, 52.32707173247332, 10.0, 39) + femmesh.addNode(85.4847763337125, 56.556193428970694, 10.0, 40) + femmesh.addNode(82.6298104049247, 60.65117008307587, 10.0, 41) + femmesh.addNode(79.57885569493389, 64.60228886258511, 10.0, 42) + femmesh.addNode(76.33914873123767, 68.40017815027952, 10.0, 43) + femmesh.addNode(72.91837374082576, 72.03582977236573, 10.0, 44) + femmesh.addNode(69.32464442404257, 75.50062036486894, 10.0, 45) + femmesh.addNode(65.56648470978638, 78.78633182729952, 10.0, 46) + femmesh.addNode(61.65280853769175, 81.88517081507935, 10.0, 47) + femmesh.addNode(57.592898715249476, 84.78978722449429, 10.0, 48) + femmesh.addNode(53.396384900012876, 87.493291626328, 10.0, 49) + femmesh.addNode(49.07322075911397, 89.98927160682692, 10.0, 50) + femmesh.addNode(44.63366036026462, 92.27180697723733, 10.0, 51) + femmesh.addNode(40.08823385024101, 94.33548381583883, 10.0, 52) + femmesh.addNode(35.44772247853867, 96.17540730916872, 10.0, 53) + femmesh.addNode(30.723133025439985, 97.78721336197856, 10.0, 54) + femmesh.addNode(25.92567169514729, 99.16707894838608, 10.0, 55) + femmesh.addNode(21.066717535904573, 100.31173117967016, 10.0, 56) + femmesh.addNode(16.157795450152296, 101.21845506720125, 10.0, 57) + femmesh.addNode(11.210548858732139, 101.88509996209446, 10.0, 58) + femmesh.addNode(6.236712083978917, 102.31008465631115, 10.0, 59) + femmesh.addNode(1.2480825172047367, 102.49240113310961, 10.0, 60) + femmesh.addNode(-3.743507363410042, 102.43161695794954, 10.0, 61) + femmesh.addNode(-8.72621805814769, 102.12787630417886, 10.0, 62) + femmesh.addNode(-13.688231127738325, 101.58189961107055, 10.0, 63) + femmesh.addNode(-18.617777225392295, 100.79498187502026, 10.0, 64) + femmesh.addNode(-23.503164012390265, 99.76898957795795, 10.0, 65) + femmesh.addNode(-28.33280389101911, 98.50635626025893, 10.0, 66) + femmesh.addNode(-33.095241489073274, 97.01007674865494, 10.0, 67) + femmesh.addNode(-37.779180830732116, 95.28370005283612, 10.0, 68) + femmesh.addNode(-42.373512129366546, 93.331320947592, 10.0, 69) + femmesh.addNode(-46.867338138725486, 91.15757026045817, 10.0, 70) + femmesh.addNode(-51.25000000000002, 88.76760388790494, 10.0, 71) + femmesh.addNode(-55.511102523458916, 86.16709056612062, 10.0, 72) + femmesh.addNode(-59.64053884469015, 83.36219842539546, 10.0, 73) + femmesh.addNode(-63.62851439696672, 80.35958035999815, 10.0, 74) + femmesh.addNode(-67.46557014287666, 77.16635824824566, 10.0, 75) + femmesh.addNode(-71.14260501011495, 73.7901060601946, 10.0, 76) + femmesh.addNode(-74.65089747822138, 70.23883189302113, 10.0, 77) + femmesh.addNode(-77.98212626506347, 66.5209589766992, 10.0, 78) + femmesh.addNode(-81.12839006399851, 62.64530569502959, 10.0, 79) + femmesh.addNode(-84.08222628489983, 58.621064669407886, 10.0, 80) + femmesh.addNode(-86.83662875459612, 54.457780954942045, 10.0, 81) + femmesh.addNode(-89.38506433474022, 50.165329400636374, 10.0, 82) + femmesh.addNode(-91.72148841769136, 45.753891227340524, 10.0, 83) + femmesh.addNode(-93.84035926365677, 41.233929879018675, 10.0, 84) + femmesh.addNode(-95.73665114508611, 36.61616620461624, 10.0, 85) + femmesh.addNode(-97.40586626714214, 31.91155302939078, 10.0, 86) + femmesh.addNode(-98.84404543597297, 27.131249176020468, 10.0, 87) + femmesh.addNode(-100.0477774494825, 22.286592997109796, 10.0, 88) + femmesh.addNode(-101.01420718832499, 17.38907548186937, 10.0, 89) + femmesh.addNode(-101.74104238793268, 12.450313000759673, 10.0, 90) + femmesh.addNode(-102.22655907551403, 7.482019752743251, 10.0, 91) + femmesh.addNode(-102.46960565912678, 2.495979980499136, 10.0, 92) + femmesh.addNode(-102.4696056591268, -2.495979980498747, 10.0, 93) + femmesh.addNode(-102.22655907551406, -7.482019752742862, 10.0, 94) + femmesh.addNode(-101.74104238793272, -12.450313000759287, 10.0, 95) + femmesh.addNode(-101.01420718832505, -17.38907548186903, 10.0, 96) + femmesh.addNode(-100.04777744948255, -22.28659299710946, 10.0, 97) + femmesh.addNode(-98.84404543597303, -27.13124917602023, 10.0, 98) + femmesh.addNode(-97.40586626714223, -31.911553029390497, 10.0, 99) + femmesh.addNode(-95.73665114508621, -36.616166204616015, 10.0, 100) + femmesh.addNode(-93.84035926365688, -41.233929879018405, 10.0, 101) + femmesh.addNode(-91.72148841769148, -45.7538912273403, 10.0, 102) + femmesh.addNode(-89.38506433474035, -50.16532940063615, 10.0, 103) + femmesh.addNode(-86.83662875459626, -54.45778095494183, 10.0, 104) + femmesh.addNode(-84.08222628489995, -58.621064669407716, 10.0, 105) + femmesh.addNode(-81.12839006399861, -62.64530569502947, 10.0, 106) + femmesh.addNode(-77.98212626506354, -66.5209589766991, 10.0, 107) + femmesh.addNode(-74.65089747822142, -70.23883189302109, 10.0, 108) + femmesh.addNode(-71.14260501011502, -73.79010606019452, 10.0, 109) + femmesh.addNode(-67.46557014287671, -77.1663582482456, 10.0, 110) + femmesh.addNode(-63.62851439696674, -80.35958035999812, 10.0, 111) + femmesh.addNode(-59.64053884469017, -83.36219842539545, 10.0, 112) + femmesh.addNode(-55.511102523458895, -86.16709056612063, 10.0, 113) + femmesh.addNode(-51.24999999999996, -88.76760388790498, 10.0, 114) + femmesh.addNode(-46.86733813872539, -91.15757026045821, 10.0, 115) + femmesh.addNode(-42.37351212936651, -93.33132094759203, 10.0, 116) + femmesh.addNode(-37.77918083073205, -95.28370005283615, 10.0, 117) + femmesh.addNode(-33.09524148907328, -97.01007674865494, 10.0, 118) + femmesh.addNode(-28.332803891019093, -98.50635626025893, 10.0, 119) + femmesh.addNode(-23.503164012390222, -99.76898957795797, 10.0, 120) + femmesh.addNode(-18.617777225392206, -100.79498187502028, 10.0, 121) + femmesh.addNode(-13.688231127738236, -101.58189961107057, 10.0, 122) + femmesh.addNode(-8.726218058147579, -102.12787630417887, 10.0, 123) + femmesh.addNode(-3.7435073634099303, -102.43161695794954, 10.0, 124) + femmesh.addNode(1.2480825172047798, -102.49240113310961, 10.0, 125) + femmesh.addNode(6.236712083978983, -102.31008465631113, 10.0, 126) + femmesh.addNode(11.210548858732205, -101.88509996209444, 10.0, 127) + femmesh.addNode(16.157795450152406, -101.21845506720123, 10.0, 128) + femmesh.addNode(21.066717535904683, -100.31173117967013, 10.0, 129) + femmesh.addNode(25.92567169514742, -99.16707894838605, 10.0, 130) + femmesh.addNode(30.723133025440156, -97.7872133619785, 10.0, 131) + femmesh.addNode(35.44772247853886, -96.17540730916865, 10.0, 132) + femmesh.addNode(40.08823385024112, -94.3354838158388, 10.0, 133) + femmesh.addNode(44.63366036026474, -92.27180697723726, 10.0, 134) + femmesh.addNode(49.07322075911409, -89.98927160682685, 10.0, 135) + femmesh.addNode(53.39638490001303, -87.4932916263279, 10.0, 136) + femmesh.addNode(57.59289871524963, -84.78978722449419, 10.0, 137) + femmesh.addNode(61.65280853769184, -81.88517081507929, 10.0, 138) + femmesh.addNode(65.5664847097865, -78.78633182729942, 10.0, 139) + femmesh.addNode(69.3246444240427, -75.50062036486882, 10.0, 140) + femmesh.addNode(72.9183737408259, -72.03582977236559, 10.0, 141) + femmesh.addNode(76.33914873123781, -68.40017815027934, 10.0, 142) + femmesh.addNode(79.57885569493405, -64.60228886258491, 10.0, 143) + femmesh.addNode(82.62981040492487, -60.651170083075655, 10.0, 144) + femmesh.addNode(85.48477633371262, -56.55619342897051, 10.0, 145) + femmesh.addNode(88.13698181753566, -52.32707173247313, 10.0, 146) + femmesh.addNode(90.58013611800635, -47.97383600300733, 10.0, 147) + femmesh.addNode(92.80844434304763, -43.50681163477085, 10.0, 148) + femmesh.addNode(94.81662119173693, -38.93659391604078, 10.0, 149) + femmesh.addNode(96.59990349045582, -34.27402289832085, 10.0, 150) + femmesh.addNode(98.1540614906117, -29.530157684936572, 10.0, 151) + femmesh.addNode(99.47540890113412, -24.716250200064056, 10.0, 152) + femmesh.addNode(100.56081163194997, -19.843718500408993, 10.0, 153) + femmesh.addNode(101.40769522769884, -14.924119692837735, 10.0, 154) + femmesh.addNode(102.0140509740567, -9.969122522196285, 10.0, 155) + femmesh.addNode(102.37844066218437, -4.9904796943372505, 10.0, 156) + femmesh.addNode(102.5, -2.511e-14, 5.0, 157) + femmesh.addNode(102.37844066218436, 4.990479694337564, 0.0, 158) + femmesh.addNode(102.01405097405667, 9.969122522196567, 0.0, 159) + femmesh.addNode(101.4076952276988, 14.92411969283799, 0.0, 160) + femmesh.addNode(100.56081163194992, 19.84371850040931, 0.0, 161) + femmesh.addNode(99.47540890113405, 24.71625020006434, 0.0, 162) + femmesh.addNode(98.15406149061162, 29.53015768493683, 0.0, 163) + femmesh.addNode(96.59990349045574, 34.27402289832108, 0.0, 164) + femmesh.addNode(94.81662119173684, 38.93659391604098, 0.0, 165) + femmesh.addNode(92.80844434304754, 43.50681163477103, 0.0, 166) + femmesh.addNode(90.58013611800622, 47.973836003007555, 0.0, 167) + femmesh.addNode(88.13698181753554, 52.32707173247332, 0.0, 168) + femmesh.addNode(85.4847763337125, 56.556193428970694, 0.0, 169) + femmesh.addNode(82.6298104049247, 60.65117008307587, 0.0, 170) + femmesh.addNode(79.57885569493389, 64.60228886258511, 0.0, 171) + femmesh.addNode(76.33914873123767, 68.40017815027952, 0.0, 172) + femmesh.addNode(72.91837374082576, 72.03582977236573, 0.0, 173) + femmesh.addNode(69.32464442404257, 75.50062036486894, 0.0, 174) + femmesh.addNode(65.56648470978638, 78.78633182729952, 0.0, 175) + femmesh.addNode(61.65280853769175, 81.88517081507935, 0.0, 176) + femmesh.addNode(57.592898715249476, 84.78978722449429, 0.0, 177) + femmesh.addNode(53.396384900012876, 87.493291626328, 0.0, 178) + femmesh.addNode(49.07322075911397, 89.98927160682692, 0.0, 179) + femmesh.addNode(44.63366036026462, 92.27180697723733, 0.0, 180) + femmesh.addNode(40.08823385024101, 94.33548381583883, 0.0, 181) + femmesh.addNode(35.44772247853867, 96.17540730916872, 0.0, 182) + femmesh.addNode(30.723133025439985, 97.78721336197856, 0.0, 183) + femmesh.addNode(25.92567169514729, 99.16707894838608, 0.0, 184) + femmesh.addNode(21.066717535904573, 100.31173117967016, 0.0, 185) + femmesh.addNode(16.157795450152296, 101.21845506720125, 0.0, 186) + femmesh.addNode(11.210548858732139, 101.88509996209446, 0.0, 187) + femmesh.addNode(6.236712083978917, 102.31008465631115, 0.0, 188) + femmesh.addNode(1.2480825172047367, 102.49240113310961, 0.0, 189) + femmesh.addNode(-3.743507363410042, 102.43161695794954, 0.0, 190) + femmesh.addNode(-8.72621805814769, 102.12787630417886, 0.0, 191) + femmesh.addNode(-13.688231127738325, 101.58189961107055, 0.0, 192) + femmesh.addNode(-18.617777225392295, 100.79498187502026, 0.0, 193) + femmesh.addNode(-23.503164012390265, 99.76898957795795, 0.0, 194) + femmesh.addNode(-28.33280389101911, 98.50635626025893, 0.0, 195) + femmesh.addNode(-33.095241489073274, 97.01007674865494, 0.0, 196) + femmesh.addNode(-37.779180830732116, 95.28370005283612, 0.0, 197) + femmesh.addNode(-42.373512129366546, 93.331320947592, 0.0, 198) + femmesh.addNode(-46.867338138725486, 91.15757026045817, 0.0, 199) + femmesh.addNode(-51.25000000000002, 88.76760388790494, 0.0, 200) + femmesh.addNode(-55.511102523458916, 86.16709056612062, 0.0, 201) + femmesh.addNode(-59.64053884469015, 83.36219842539546, 0.0, 202) + femmesh.addNode(-63.62851439696672, 80.35958035999815, 0.0, 203) + femmesh.addNode(-67.46557014287666, 77.16635824824566, 0.0, 204) + femmesh.addNode(-71.14260501011495, 73.7901060601946, 0.0, 205) + femmesh.addNode(-74.65089747822138, 70.23883189302113, 0.0, 206) + femmesh.addNode(-77.98212626506347, 66.5209589766992, 0.0, 207) + femmesh.addNode(-81.12839006399851, 62.64530569502959, 0.0, 208) + femmesh.addNode(-84.08222628489983, 58.621064669407886, 0.0, 209) + femmesh.addNode(-86.83662875459612, 54.457780954942045, 0.0, 210) + femmesh.addNode(-89.38506433474022, 50.165329400636374, 0.0, 211) + femmesh.addNode(-91.72148841769136, 45.753891227340524, 0.0, 212) + femmesh.addNode(-93.84035926365677, 41.233929879018675, 0.0, 213) + femmesh.addNode(-95.73665114508611, 36.61616620461624, 0.0, 214) + femmesh.addNode(-97.40586626714214, 31.91155302939078, 0.0, 215) + femmesh.addNode(-98.84404543597297, 27.131249176020468, 0.0, 216) + femmesh.addNode(-100.0477774494825, 22.286592997109796, 0.0, 217) + femmesh.addNode(-101.01420718832499, 17.38907548186937, 0.0, 218) + femmesh.addNode(-101.74104238793268, 12.450313000759673, 0.0, 219) + femmesh.addNode(-102.22655907551403, 7.482019752743251, 0.0, 220) + femmesh.addNode(-102.46960565912678, 2.495979980499136, 0.0, 221) + femmesh.addNode(-102.4696056591268, -2.495979980498747, 0.0, 222) + femmesh.addNode(-102.22655907551406, -7.482019752742862, 0.0, 223) + femmesh.addNode(-101.74104238793272, -12.450313000759287, 0.0, 224) + femmesh.addNode(-101.01420718832505, -17.38907548186903, 0.0, 225) + femmesh.addNode(-100.04777744948255, -22.28659299710946, 0.0, 226) + femmesh.addNode(-98.84404543597303, -27.13124917602023, 0.0, 227) + femmesh.addNode(-97.40586626714223, -31.911553029390497, 0.0, 228) + femmesh.addNode(-95.73665114508621, -36.616166204616015, 0.0, 229) + femmesh.addNode(-93.84035926365688, -41.233929879018405, 0.0, 230) + femmesh.addNode(-91.72148841769148, -45.7538912273403, 0.0, 231) + femmesh.addNode(-89.38506433474035, -50.16532940063615, 0.0, 232) + femmesh.addNode(-86.83662875459626, -54.45778095494183, 0.0, 233) + femmesh.addNode(-84.08222628489995, -58.621064669407716, 0.0, 234) + femmesh.addNode(-81.12839006399861, -62.64530569502947, 0.0, 235) + femmesh.addNode(-77.98212626506354, -66.5209589766991, 0.0, 236) + femmesh.addNode(-74.65089747822142, -70.23883189302109, 0.0, 237) + femmesh.addNode(-71.14260501011502, -73.79010606019452, 0.0, 238) + femmesh.addNode(-67.46557014287671, -77.1663582482456, 0.0, 239) + femmesh.addNode(-63.62851439696674, -80.35958035999812, 0.0, 240) + femmesh.addNode(-59.64053884469017, -83.36219842539545, 0.0, 241) + femmesh.addNode(-55.511102523458895, -86.16709056612063, 0.0, 242) + femmesh.addNode(-51.24999999999996, -88.76760388790498, 0.0, 243) + femmesh.addNode(-46.86733813872539, -91.15757026045821, 0.0, 244) + femmesh.addNode(-42.37351212936651, -93.33132094759203, 0.0, 245) + femmesh.addNode(-37.77918083073205, -95.28370005283615, 0.0, 246) + femmesh.addNode(-33.09524148907328, -97.01007674865494, 0.0, 247) + femmesh.addNode(-28.332803891019093, -98.50635626025893, 0.0, 248) + femmesh.addNode(-23.503164012390222, -99.76898957795797, 0.0, 249) + femmesh.addNode(-18.617777225392206, -100.79498187502028, 0.0, 250) + femmesh.addNode(-13.688231127738236, -101.58189961107057, 0.0, 251) + femmesh.addNode(-8.726218058147579, -102.12787630417887, 0.0, 252) + femmesh.addNode(-3.7435073634099303, -102.43161695794954, 0.0, 253) + femmesh.addNode(1.2480825172047798, -102.49240113310961, 0.0, 254) + femmesh.addNode(6.236712083978983, -102.31008465631113, 0.0, 255) + femmesh.addNode(11.210548858732205, -101.88509996209444, 0.0, 256) + femmesh.addNode(16.157795450152406, -101.21845506720123, 0.0, 257) + femmesh.addNode(21.066717535904683, -100.31173117967013, 0.0, 258) + femmesh.addNode(25.92567169514742, -99.16707894838605, 0.0, 259) + femmesh.addNode(30.723133025440156, -97.7872133619785, 0.0, 260) + femmesh.addNode(35.44772247853886, -96.17540730916865, 0.0, 261) + femmesh.addNode(40.08823385024112, -94.3354838158388, 0.0, 262) + femmesh.addNode(44.63366036026474, -92.27180697723726, 0.0, 263) + femmesh.addNode(49.07322075911409, -89.98927160682685, 0.0, 264) + femmesh.addNode(53.39638490001303, -87.4932916263279, 0.0, 265) + femmesh.addNode(57.59289871524963, -84.78978722449419, 0.0, 266) + femmesh.addNode(61.65280853769184, -81.88517081507929, 0.0, 267) + femmesh.addNode(65.5664847097865, -78.78633182729942, 0.0, 268) + femmesh.addNode(69.3246444240427, -75.50062036486882, 0.0, 269) + femmesh.addNode(72.9183737408259, -72.03582977236559, 0.0, 270) + femmesh.addNode(76.33914873123781, -68.40017815027934, 0.0, 271) + femmesh.addNode(79.57885569493405, -64.60228886258491, 0.0, 272) + femmesh.addNode(82.62981040492487, -60.651170083075655, 0.0, 273) + femmesh.addNode(85.48477633371262, -56.55619342897051, 0.0, 274) + femmesh.addNode(88.13698181753566, -52.32707173247313, 0.0, 275) + femmesh.addNode(90.58013611800635, -47.97383600300733, 0.0, 276) + femmesh.addNode(92.80844434304763, -43.50681163477085, 0.0, 277) + femmesh.addNode(94.81662119173693, -38.93659391604078, 0.0, 278) + femmesh.addNode(96.59990349045582, -34.27402289832085, 0.0, 279) + femmesh.addNode(98.1540614906117, -29.530157684936572, 0.0, 280) + femmesh.addNode(99.47540890113412, -24.716250200064056, 0.0, 281) + femmesh.addNode(100.56081163194997, -19.843718500408993, 0.0, 282) + femmesh.addNode(101.40769522769884, -14.924119692837735, 0.0, 283) + femmesh.addNode(102.0140509740567, -9.969122522196285, 0.0, 284) + femmesh.addNode(102.37844066218437, -4.9904796943372505, 0.0, 285) + femmesh.addNode(6.178901352847948e-15, -3.0, 10.0, 286) + femmesh.addNode(-3.0, -1.1025535076145708e-14, 10.0, 287) + femmesh.addNode(-5.51091059616309e-16, 3.0, 10.0, 288) + femmesh.addNode(-9.923329892153278, 96.99369837186072, 10.0, 289) + femmesh.addNode(-14.821207968105751, 96.36691234218392, 10.0, 290) + femmesh.addNode(-19.68107192327408, 95.49295999156645, 10.0, 291) + femmesh.addNode(-24.490456953454412, 94.37408287348279, 10.0, 292) + femmesh.addNode(-29.237027725128208, 93.01315073579696, 10.0, 293) + femmesh.addNode(-33.908610013696915, 91.41365416030044, 10.0, 294) + femmesh.addNode(-38.49322192849735, 89.57969560990621, 10.0, 295) + femmesh.addNode(-42.979104644509746, 87.51597890646188, 10.0, 296) + femmesh.addNode(-47.3547525619371, 85.2277971661694, 10.0, 297) + femmesh.addNode(-51.60894281630028, 82.72101922355556, 10.0, 298) + femmesh.addNode(-55.730764063360965, 80.00207457881324, 10.0, 299) + femmesh.addNode(-59.70964446504272, 77.07793690712143, 10.0, 300) + femmesh.addNode(-63.53537880457094, 73.9561061722403, 10.0, 301) + femmesh.addNode(-67.19815466128574, 70.64458939025637, 10.0, 302) + femmesh.addNode(-70.68857757799296, 67.151880092817, 10.0, 303) + femmesh.addNode(-73.99769515630308, 63.48693654252692, 10.0, 304) + femmesh.addNode(-77.1170200181575, 59.65915875638119, 10.0, 305) + femmesh.addNode(-80.03855157464888, 55.67836439616624, 10.0, 306) + femmesh.addNode(-82.75479654630207, 51.554763587666166, 10.0, 307) + femmesh.addNode(-85.2587881821847, 47.29893273325902, 10.0, 308) + femmesh.addNode(-87.5441041285524, 42.92178738507022, 10.0, 309) + femmesh.addNode(-89.6048829011995, 38.4345542482585, 10.0, 310) + femmesh.addNode(-91.43583891926498, 33.848742386242776, 10.0, 311) + femmesh.addNode(-93.03227606193524, 29.176113701723068, 10.0, 312) + femmesh.addNode(-94.39009971327236, 24.42865276920731, 10.0, 313) + femmesh.addNode(-95.50582726427469, 19.618536096419813, 10.0, 314) + femmesh.addNode(-96.37659704523365, 14.758100893430004, 10.0, 315) + femmesh.addNode(-97.00017566547697, 9.859813429604573, 10.0, 316) + femmesh.addNode(-97.37496374167233, 4.936237059542291, 10.0, 317) + femmesh.addNode(-97.5, 1.4183640017283e-13, 10.0, 318) + femmesh.addNode(-97.37496374167235, -4.936237059541965, 10.0, 319) + femmesh.addNode(-97.00017566547699, -9.859813429604293, 10.0, 320) + femmesh.addNode(-96.37659704523371, -14.75810089342968, 10.0, 321) + femmesh.addNode(-95.50582726427474, -19.618536096419533, 10.0, 322) + femmesh.addNode(-94.39009971327245, -24.428652769206998, 10.0, 323) + femmesh.addNode(-93.03227606193532, -29.176113701722763, 10.0, 324) + femmesh.addNode(-91.43583891926508, -33.848742386242506, 10.0, 325) + femmesh.addNode(-89.60488290119963, -38.434554248258195, 10.0, 326) + femmesh.addNode(-87.54410412855258, -42.92178738506988, 10.0, 327) + femmesh.addNode(-85.25878818218484, -47.29893273325877, 10.0, 328) + femmesh.addNode(-82.75479654630223, -51.55476358766592, 10.0, 329) + femmesh.addNode(-80.03855157464906, -55.67836439616598, 10.0, 330) + femmesh.addNode(-77.11702001815767, -59.65915875638096, 10.0, 331) + femmesh.addNode(-73.99769515630328, -63.48693654252667, 10.0, 332) + femmesh.addNode(-70.68857757799319, -67.15188009281677, 10.0, 333) + femmesh.addNode(-67.19815466128601, -70.64458939025612, 10.0, 334) + femmesh.addNode(-63.53537880457125, -73.95610617224003, 10.0, 335) + femmesh.addNode(-59.70964446504306, -77.07793690712118, 10.0, 336) + femmesh.addNode(-55.73076406336134, -80.00207457881297, 10.0, 337) + femmesh.addNode(-51.60894281630067, -82.72101922355532, 10.0, 338) + femmesh.addNode(-47.3547525619375, -85.22779716616918, 10.0, 339) + femmesh.addNode(-42.979104644510194, -87.51597890646165, 10.0, 340) + femmesh.addNode(-38.4932219284978, -89.57969560990601, 10.0, 341) + femmesh.addNode(-33.908610013697405, -91.41365416030025, 10.0, 342) + femmesh.addNode(-29.237027725128705, -93.01315073579678, 10.0, 343) + femmesh.addNode(-24.490456953454935, -94.37408287348265, 10.0, 344) + femmesh.addNode(-19.68107192327461, -95.49295999156635, 10.0, 345) + femmesh.addNode(-14.82120796810631, -96.36691234218384, 10.0, 346) + femmesh.addNode(-9.92332989215384, -96.99369837186066, 10.0, 347) + femmesh.addNode(-5.0, -92.37828942097019, 10.0, 348) + femmesh.addNode(-5.0, -87.38486837118802, 10.0, 349) + femmesh.addNode(-5.0, -82.39144732140586, 10.0, 350) + femmesh.addNode(-5.0, -77.3980262716237, 10.0, 351) + femmesh.addNode(-5.0, -72.40460522184154, 10.0, 352) + femmesh.addNode(-5.0, -67.41118417205936, 10.0, 353) + femmesh.addNode(-5.0, -62.41776312227721, 10.0, 354) + femmesh.addNode(-5.0, -57.424342072495044, 10.0, 355) + femmesh.addNode(-5.0, -52.43092102271288, 10.0, 356) + femmesh.addNode(-5.0, -47.43749997293072, 10.0, 357) + femmesh.addNode(-5.0, -42.44407892314855, 10.0, 358) + femmesh.addNode(-5.0, -37.45065787336639, 10.0, 359) + femmesh.addNode(-5.0, -32.45723682358424, 10.0, 360) + femmesh.addNode(-5.0, -27.463815773802068, 10.0, 361) + femmesh.addNode(-5.0, -22.47039472401991, 10.0, 362) + femmesh.addNode(-5.0, -17.47697367423774, 10.0, 363) + femmesh.addNode(-5.0, -12.48355262445557, 10.0, 364) + femmesh.addNode(-5.0, -7.4901315746733985, 10.0, 365) + femmesh.addNode(-5.0, -2.496710524891256, 10.0, 366) + femmesh.addNode(-5.0, 2.4967105248909007, 10.0, 367) + femmesh.addNode(-5.0, 7.490131574673072, 10.0, 368) + femmesh.addNode(-5.0, 12.483552624455243, 10.0, 369) + femmesh.addNode(-5.0, 17.4769736742374, 10.0, 370) + femmesh.addNode(-5.0, 22.47039472401957, 10.0, 371) + femmesh.addNode(-5.0, 27.463815773801727, 10.0, 372) + femmesh.addNode(-5.0, 32.457236823583884, 10.0, 373) + femmesh.addNode(-5.0, 37.450657873366055, 10.0, 374) + femmesh.addNode(-5.0, 42.444078923148226, 10.0, 375) + femmesh.addNode(-5.0, 47.4374999729304, 10.0, 376) + femmesh.addNode(-5.0, 52.43092102271254, 10.0, 377) + femmesh.addNode(-5.0, 57.42434207249471, 10.0, 378) + femmesh.addNode(-5.0, 62.41776312227685, 10.0, 379) + femmesh.addNode(-5.0, 67.411184172059, 10.0, 380) + femmesh.addNode(-5.0, 72.40460522184117, 10.0, 381) + femmesh.addNode(-5.0, 77.39802627162334, 10.0, 382) + femmesh.addNode(-5.0, 82.39144732140551, 10.0, 383) + femmesh.addNode(-5.0, 87.38486837118768, 10.0, 384) + femmesh.addNode(-5.0, 92.37828942096982, 10.0, 385) + femmesh.addNode(97.37496374167235, 4.936237059542162, 10.0, 386) + femmesh.addNode(97.00017566547697, 9.859813429604458, 10.0, 387) + femmesh.addNode(96.37659704523368, 14.758100893429901, 10.0, 388) + femmesh.addNode(95.5058272642747, 19.618536096419724, 10.0, 389) + femmesh.addNode(94.39009971327239, 24.42865276920723, 10.0, 390) + femmesh.addNode(93.03227606193525, 29.17611370172301, 10.0, 391) + femmesh.addNode(91.43583891926498, 33.84874238624277, 10.0, 392) + femmesh.addNode(89.60488290119952, 38.434554248258465, 10.0, 393) + femmesh.addNode(87.54410412855243, 42.92178738507017, 10.0, 394) + femmesh.addNode(85.25878818218472, 47.298932733259015, 10.0, 395) + femmesh.addNode(82.75479654630207, 51.554763587666166, 10.0, 396) + femmesh.addNode(80.03855157464888, 55.67836439616624, 10.0, 397) + femmesh.addNode(77.11702001815753, 59.65915875638117, 10.0, 398) + femmesh.addNode(73.9976951563031, 63.4869365425269, 10.0, 399) + femmesh.addNode(70.68857757799296, 67.15188009281698, 10.0, 400) + femmesh.addNode(67.19815466128578, 70.64458939025631, 10.0, 401) + femmesh.addNode(63.535378804570996, 73.95610617224025, 10.0, 402) + femmesh.addNode(59.7096444650428, 77.07793690712137, 10.0, 403) + femmesh.addNode(55.73076406336107, 80.00207457881315, 10.0, 404) + femmesh.addNode(51.6089428163004, 82.72101922355547, 10.0, 405) + femmesh.addNode(47.354752561937225, 85.22779716616932, 10.0, 406) + femmesh.addNode(42.97910464450991, 87.5159789064618, 10.0, 407) + femmesh.addNode(38.49322192849753, 89.57969560990614, 10.0, 408) + femmesh.addNode(33.90861001369713, 91.41365416030035, 10.0, 409) + femmesh.addNode(29.237027725128424, 93.01315073579687, 10.0, 410) + femmesh.addNode(24.490456953454654, 94.37408287348272, 10.0, 411) + femmesh.addNode(19.681071923274324, 95.49295999156641, 10.0, 412) + femmesh.addNode(14.82120796810602, 96.36691234218388, 10.0, 413) + femmesh.addNode(9.923329892153571, 96.9936983718607, 10.0, 414) + femmesh.addNode(9.923329892153891, -96.99369837186066, 10.0, 415) + femmesh.addNode(14.82120796810636, -96.36691234218382, 10.0, 416) + femmesh.addNode(19.68107192327466, -95.49295999156634, 10.0, 417) + femmesh.addNode(24.490456953454984, -94.37408287348264, 10.0, 418) + femmesh.addNode(29.237027725128755, -93.01315073579677, 10.0, 419) + femmesh.addNode(33.908610013697455, -91.41365416030024, 10.0, 420) + femmesh.addNode(38.49322192849785, -89.579695609906, 10.0, 421) + femmesh.addNode(42.97910464451024, -87.51597890646164, 10.0, 422) + femmesh.addNode(47.354752561937545, -85.22779716616914, 10.0, 423) + femmesh.addNode(51.60894281630071, -82.72101922355529, 10.0, 424) + femmesh.addNode(55.730764063361384, -80.00207457881294, 10.0, 425) + femmesh.addNode(59.70964446504309, -77.07793690712114, 10.0, 426) + femmesh.addNode(63.535378804571295, -73.95610617223998, 10.0, 427) + femmesh.addNode(67.19815466128607, -70.64458939025604, 10.0, 428) + femmesh.addNode(70.68857757799324, -67.1518800928167, 10.0, 429) + femmesh.addNode(73.99769515630335, -63.4869365425266, 10.0, 430) + femmesh.addNode(77.11702001815776, -59.659158756380855, 10.0, 431) + femmesh.addNode(80.0385515746491, -55.678364396165904, 10.0, 432) + femmesh.addNode(82.7547965463023, -51.5547635876658, 10.0, 433) + femmesh.addNode(85.2587881821849, -47.29893273325865, 10.0, 434) + femmesh.addNode(87.54410412855262, -42.92178738506979, 10.0, 435) + femmesh.addNode(89.60488290119969, -38.434554248258074, 10.0, 436) + femmesh.addNode(91.43583891926512, -33.84874238624238, 10.0, 437) + femmesh.addNode(93.03227606193538, -29.17611370172263, 10.0, 438) + femmesh.addNode(94.39009971327249, -24.428652769206863, 10.0, 439) + femmesh.addNode(95.50582726427477, -19.618536096419355, 10.0, 440) + femmesh.addNode(96.37659704523374, -14.758100893429544, 10.0, 441) + femmesh.addNode(97.00017566547702, -9.859813429604113, 10.0, 442) + femmesh.addNode(97.37496374167235, -4.936237059541828, 10.0, 443) + femmesh.addNode(5.0, -92.37828942097016, 10.0, 444) + femmesh.addNode(5.0, -87.384868371188, 10.0, 445) + femmesh.addNode(5.0, -82.39144732140585, 10.0, 446) + femmesh.addNode(5.0, -77.39802627162368, 10.0, 447) + femmesh.addNode(5.0, -72.4046052218415, 10.0, 448) + femmesh.addNode(5.0, -67.41118417205935, 10.0, 449) + femmesh.addNode(5.0, -62.417763122277194, 10.0, 450) + femmesh.addNode(5.0, -57.42434207249503, 10.0, 451) + femmesh.addNode(5.0, -52.43092102271287, 10.0, 452) + femmesh.addNode(5.0, -47.43749997293071, 10.0, 453) + femmesh.addNode(5.0, -42.444078923148545, 10.0, 454) + femmesh.addNode(5.0, -37.45065787336638, 10.0, 455) + femmesh.addNode(5.0, -32.457236823584225, 10.0, 456) + femmesh.addNode(5.0, -27.463815773802054, 10.0, 457) + femmesh.addNode(5.0, -22.470394724019897, 10.0, 458) + femmesh.addNode(5.0, -17.476973674237726, 10.0, 459) + femmesh.addNode(5.0, -12.48355262445557, 10.0, 460) + femmesh.addNode(5.0, -7.490131574673413, 10.0, 461) + femmesh.addNode(5.0, -2.496710524891242, 10.0, 462) + femmesh.addNode(5.0, 2.496710524890915, 10.0, 463) + femmesh.addNode(5.0, 7.490131574673072, 10.0, 464) + femmesh.addNode(5.0, 12.483552624455228, 10.0, 465) + femmesh.addNode(5.0, 17.4769736742374, 10.0, 466) + femmesh.addNode(5.0, 22.47039472401957, 10.0, 467) + femmesh.addNode(5.0, 27.463815773801727, 10.0, 468) + femmesh.addNode(5.0, 32.457236823583884, 10.0, 469) + femmesh.addNode(5.0, 37.450657873366055, 10.0, 470) + femmesh.addNode(5.0, 42.4440789231482, 10.0, 471) + femmesh.addNode(5.0, 47.43749997293037, 10.0, 472) + femmesh.addNode(5.0, 52.43092102271254, 10.0, 473) + femmesh.addNode(5.0, 57.42434207249471, 10.0, 474) + femmesh.addNode(5.0, 62.41776312227685, 10.0, 475) + femmesh.addNode(5.0, 67.41118417205902, 10.0, 476) + femmesh.addNode(5.0, 72.40460522184117, 10.0, 477) + femmesh.addNode(5.0, 77.39802627162337, 10.0, 478) + femmesh.addNode(5.0, 82.39144732140551, 10.0, 479) + femmesh.addNode(5.0, 87.38486837118768, 10.0, 480) + femmesh.addNode(5.0, 92.37828942096985, 10.0, 481) + femmesh.addNode(6.178901352847948e-15, 3.0, 0.0, 482) + femmesh.addNode(-3.0, 1.1025535076145708e-14, 0.0, 483) + femmesh.addNode(-5.51091059616309e-16, -3.0, 0.0, 484) + femmesh.addNode(-5.0, -92.37828942097019, 0.0, 485) + femmesh.addNode(-5.0, -87.38486837118802, 0.0, 486) + femmesh.addNode(-5.0, -82.39144732140586, 0.0, 487) + femmesh.addNode(-5.0, -77.3980262716237, 0.0, 488) + femmesh.addNode(-5.0, -72.40460522184154, 0.0, 489) + femmesh.addNode(-5.0, -67.41118417205936, 0.0, 490) + femmesh.addNode(-5.0, -62.41776312227721, 0.0, 491) + femmesh.addNode(-5.0, -57.424342072495044, 0.0, 492) + femmesh.addNode(-5.0, -52.43092102271288, 0.0, 493) + femmesh.addNode(-5.0, -47.43749997293072, 0.0, 494) + femmesh.addNode(-5.0, -42.44407892314855, 0.0, 495) + femmesh.addNode(-5.0, -37.45065787336639, 0.0, 496) + femmesh.addNode(-5.0, -32.45723682358424, 0.0, 497) + femmesh.addNode(-5.0, -27.463815773802068, 0.0, 498) + femmesh.addNode(-5.0, -22.47039472401991, 0.0, 499) + femmesh.addNode(-5.0, -17.47697367423774, 0.0, 500) + femmesh.addNode(-5.0, -12.48355262445557, 0.0, 501) + femmesh.addNode(-5.0, -7.4901315746733985, 0.0, 502) + femmesh.addNode(-5.0, -2.496710524891256, 0.0, 503) + femmesh.addNode(-5.0, 2.4967105248909007, 0.0, 504) + femmesh.addNode(-5.0, 7.490131574673072, 0.0, 505) + femmesh.addNode(-5.0, 12.483552624455243, 0.0, 506) + femmesh.addNode(-5.0, 17.4769736742374, 0.0, 507) + femmesh.addNode(-5.0, 22.47039472401957, 0.0, 508) + femmesh.addNode(-5.0, 27.463815773801727, 0.0, 509) + femmesh.addNode(-5.0, 32.457236823583884, 0.0, 510) + femmesh.addNode(-5.0, 37.450657873366055, 0.0, 511) + femmesh.addNode(-5.0, 42.444078923148226, 0.0, 512) + femmesh.addNode(-5.0, 47.4374999729304, 0.0, 513) + femmesh.addNode(-5.0, 52.43092102271254, 0.0, 514) + femmesh.addNode(-5.0, 57.42434207249471, 0.0, 515) + femmesh.addNode(-5.0, 62.41776312227685, 0.0, 516) + femmesh.addNode(-5.0, 67.411184172059, 0.0, 517) + femmesh.addNode(-5.0, 72.40460522184117, 0.0, 518) + femmesh.addNode(-5.0, 77.39802627162334, 0.0, 519) + femmesh.addNode(-5.0, 82.39144732140551, 0.0, 520) + femmesh.addNode(-5.0, 87.38486837118768, 0.0, 521) + femmesh.addNode(-5.0, 92.37828942096982, 0.0, 522) + femmesh.addNode(-9.923329892153278, 96.99369837186072, 0.0, 523) + femmesh.addNode(-14.821207968105751, 96.36691234218392, 0.0, 524) + femmesh.addNode(-19.68107192327408, 95.49295999156645, 0.0, 525) + femmesh.addNode(-24.490456953454412, 94.37408287348279, 0.0, 526) + femmesh.addNode(-29.237027725128208, 93.01315073579696, 0.0, 527) + femmesh.addNode(-33.908610013696915, 91.41365416030044, 0.0, 528) + femmesh.addNode(-38.49322192849735, 89.57969560990621, 0.0, 529) + femmesh.addNode(-42.979104644509746, 87.51597890646188, 0.0, 530) + femmesh.addNode(-47.3547525619371, 85.2277971661694, 0.0, 531) + femmesh.addNode(-51.60894281630028, 82.72101922355556, 0.0, 532) + femmesh.addNode(-55.730764063360965, 80.00207457881324, 0.0, 533) + femmesh.addNode(-59.70964446504272, 77.07793690712143, 0.0, 534) + femmesh.addNode(-63.53537880457094, 73.9561061722403, 0.0, 535) + femmesh.addNode(-67.19815466128574, 70.64458939025637, 0.0, 536) + femmesh.addNode(-70.68857757799296, 67.151880092817, 0.0, 537) + femmesh.addNode(-73.99769515630308, 63.48693654252692, 0.0, 538) + femmesh.addNode(-77.1170200181575, 59.65915875638119, 0.0, 539) + femmesh.addNode(-80.03855157464888, 55.67836439616624, 0.0, 540) + femmesh.addNode(-82.75479654630207, 51.554763587666166, 0.0, 541) + femmesh.addNode(-85.2587881821847, 47.29893273325902, 0.0, 542) + femmesh.addNode(-87.5441041285524, 42.92178738507022, 0.0, 543) + femmesh.addNode(-89.6048829011995, 38.4345542482585, 0.0, 544) + femmesh.addNode(-91.43583891926498, 33.848742386242776, 0.0, 545) + femmesh.addNode(-93.03227606193524, 29.176113701723068, 0.0, 546) + femmesh.addNode(-94.39009971327236, 24.42865276920731, 0.0, 547) + femmesh.addNode(-95.50582726427469, 19.618536096419813, 0.0, 548) + femmesh.addNode(-96.37659704523365, 14.758100893430004, 0.0, 549) + femmesh.addNode(-97.00017566547697, 9.859813429604573, 0.0, 550) + femmesh.addNode(-97.37496374167233, 4.936237059542291, 0.0, 551) + femmesh.addNode(-97.5, 1.4183640017283e-13, 0.0, 552) + femmesh.addNode(-97.37496374167235, -4.936237059541965, 0.0, 553) + femmesh.addNode(-97.00017566547699, -9.859813429604293, 0.0, 554) + femmesh.addNode(-96.37659704523371, -14.75810089342968, 0.0, 555) + femmesh.addNode(-95.50582726427474, -19.618536096419533, 0.0, 556) + femmesh.addNode(-94.39009971327245, -24.428652769206998, 0.0, 557) + femmesh.addNode(-93.03227606193532, -29.176113701722763, 0.0, 558) + femmesh.addNode(-91.43583891926508, -33.848742386242506, 0.0, 559) + femmesh.addNode(-89.60488290119963, -38.434554248258195, 0.0, 560) + femmesh.addNode(-87.54410412855258, -42.92178738506988, 0.0, 561) + femmesh.addNode(-85.25878818218484, -47.29893273325877, 0.0, 562) + femmesh.addNode(-82.75479654630223, -51.55476358766592, 0.0, 563) + femmesh.addNode(-80.03855157464906, -55.67836439616598, 0.0, 564) + femmesh.addNode(-77.11702001815767, -59.65915875638096, 0.0, 565) + femmesh.addNode(-73.99769515630328, -63.48693654252667, 0.0, 566) + femmesh.addNode(-70.68857757799319, -67.15188009281677, 0.0, 567) + femmesh.addNode(-67.19815466128601, -70.64458939025612, 0.0, 568) + femmesh.addNode(-63.53537880457125, -73.95610617224003, 0.0, 569) + femmesh.addNode(-59.70964446504306, -77.07793690712118, 0.0, 570) + femmesh.addNode(-55.73076406336134, -80.00207457881297, 0.0, 571) + femmesh.addNode(-51.60894281630067, -82.72101922355532, 0.0, 572) + femmesh.addNode(-47.3547525619375, -85.22779716616918, 0.0, 573) + femmesh.addNode(-42.979104644510194, -87.51597890646165, 0.0, 574) + femmesh.addNode(-38.4932219284978, -89.57969560990601, 0.0, 575) + femmesh.addNode(-33.908610013697405, -91.41365416030025, 0.0, 576) + femmesh.addNode(-29.237027725128705, -93.01315073579678, 0.0, 577) + femmesh.addNode(-24.490456953454935, -94.37408287348265, 0.0, 578) + femmesh.addNode(-19.68107192327461, -95.49295999156635, 0.0, 579) + femmesh.addNode(-14.82120796810631, -96.36691234218384, 0.0, 580) + femmesh.addNode(-9.92332989215384, -96.99369837186066, 0.0, 581) + femmesh.addNode(9.923329892153891, -96.99369837186066, 0.0, 582) + femmesh.addNode(14.82120796810636, -96.36691234218382, 0.0, 583) + femmesh.addNode(19.68107192327466, -95.49295999156634, 0.0, 584) + femmesh.addNode(24.490456953454984, -94.37408287348264, 0.0, 585) + femmesh.addNode(29.237027725128755, -93.01315073579677, 0.0, 586) + femmesh.addNode(33.908610013697455, -91.41365416030024, 0.0, 587) + femmesh.addNode(38.49322192849785, -89.579695609906, 0.0, 588) + femmesh.addNode(42.97910464451024, -87.51597890646164, 0.0, 589) + femmesh.addNode(47.354752561937545, -85.22779716616914, 0.0, 590) + femmesh.addNode(51.60894281630071, -82.72101922355529, 0.0, 591) + femmesh.addNode(55.730764063361384, -80.00207457881294, 0.0, 592) + femmesh.addNode(59.70964446504309, -77.07793690712114, 0.0, 593) + femmesh.addNode(63.535378804571295, -73.95610617223998, 0.0, 594) + femmesh.addNode(67.19815466128607, -70.64458939025604, 0.0, 595) + femmesh.addNode(70.68857757799324, -67.1518800928167, 0.0, 596) + femmesh.addNode(73.99769515630335, -63.4869365425266, 0.0, 597) + femmesh.addNode(77.11702001815776, -59.659158756380855, 0.0, 598) + femmesh.addNode(80.0385515746491, -55.678364396165904, 0.0, 599) + femmesh.addNode(82.7547965463023, -51.5547635876658, 0.0, 600) + femmesh.addNode(85.2587881821849, -47.29893273325865, 0.0, 601) + femmesh.addNode(87.54410412855262, -42.92178738506979, 0.0, 602) + femmesh.addNode(89.60488290119969, -38.434554248258074, 0.0, 603) + femmesh.addNode(91.43583891926512, -33.84874238624238, 0.0, 604) + femmesh.addNode(93.03227606193538, -29.17611370172263, 0.0, 605) + femmesh.addNode(94.39009971327249, -24.428652769206863, 0.0, 606) + femmesh.addNode(95.50582726427477, -19.618536096419355, 0.0, 607) + femmesh.addNode(96.37659704523374, -14.758100893429544, 0.0, 608) + femmesh.addNode(97.00017566547702, -9.859813429604113, 0.0, 609) + femmesh.addNode(97.37496374167235, -4.936237059541828, 0.0, 610) + femmesh.addNode(5.0, -92.37828942097016, 0.0, 611) + femmesh.addNode(5.0, -87.384868371188, 0.0, 612) + femmesh.addNode(5.0, -82.39144732140585, 0.0, 613) + femmesh.addNode(5.0, -77.39802627162368, 0.0, 614) + femmesh.addNode(5.0, -72.4046052218415, 0.0, 615) + femmesh.addNode(5.0, -67.41118417205935, 0.0, 616) + femmesh.addNode(5.0, -62.417763122277194, 0.0, 617) + femmesh.addNode(5.0, -57.42434207249503, 0.0, 618) + femmesh.addNode(5.0, -52.43092102271287, 0.0, 619) + femmesh.addNode(5.0, -47.43749997293071, 0.0, 620) + femmesh.addNode(5.0, -42.444078923148545, 0.0, 621) + femmesh.addNode(5.0, -37.45065787336638, 0.0, 622) + femmesh.addNode(5.0, -32.457236823584225, 0.0, 623) + femmesh.addNode(5.0, -27.463815773802054, 0.0, 624) + femmesh.addNode(5.0, -22.470394724019897, 0.0, 625) + femmesh.addNode(5.0, -17.476973674237726, 0.0, 626) + femmesh.addNode(5.0, -12.48355262445557, 0.0, 627) + femmesh.addNode(5.0, -7.490131574673413, 0.0, 628) + femmesh.addNode(5.0, -2.496710524891242, 0.0, 629) + femmesh.addNode(5.0, 2.496710524890915, 0.0, 630) + femmesh.addNode(5.0, 7.490131574673072, 0.0, 631) + femmesh.addNode(5.0, 12.483552624455228, 0.0, 632) + femmesh.addNode(5.0, 17.4769736742374, 0.0, 633) + femmesh.addNode(5.0, 22.47039472401957, 0.0, 634) + femmesh.addNode(5.0, 27.463815773801727, 0.0, 635) + femmesh.addNode(5.0, 32.457236823583884, 0.0, 636) + femmesh.addNode(5.0, 37.450657873366055, 0.0, 637) + femmesh.addNode(5.0, 42.4440789231482, 0.0, 638) + femmesh.addNode(5.0, 47.43749997293037, 0.0, 639) + femmesh.addNode(5.0, 52.43092102271254, 0.0, 640) + femmesh.addNode(5.0, 57.42434207249471, 0.0, 641) + femmesh.addNode(5.0, 62.41776312227685, 0.0, 642) + femmesh.addNode(5.0, 67.41118417205902, 0.0, 643) + femmesh.addNode(5.0, 72.40460522184117, 0.0, 644) + femmesh.addNode(5.0, 77.39802627162337, 0.0, 645) + femmesh.addNode(5.0, 82.39144732140551, 0.0, 646) + femmesh.addNode(5.0, 87.38486837118768, 0.0, 647) + femmesh.addNode(5.0, 92.37828942096985, 0.0, 648) + femmesh.addNode(97.37496374167235, 4.936237059542162, 0.0, 649) + femmesh.addNode(97.00017566547697, 9.859813429604458, 0.0, 650) + femmesh.addNode(96.37659704523368, 14.758100893429901, 0.0, 651) + femmesh.addNode(95.5058272642747, 19.618536096419724, 0.0, 652) + femmesh.addNode(94.39009971327239, 24.42865276920723, 0.0, 653) + femmesh.addNode(93.03227606193525, 29.17611370172301, 0.0, 654) + femmesh.addNode(91.43583891926498, 33.84874238624277, 0.0, 655) + femmesh.addNode(89.60488290119952, 38.434554248258465, 0.0, 656) + femmesh.addNode(87.54410412855243, 42.92178738507017, 0.0, 657) + femmesh.addNode(85.25878818218472, 47.298932733259015, 0.0, 658) + femmesh.addNode(82.75479654630207, 51.554763587666166, 0.0, 659) + femmesh.addNode(80.03855157464888, 55.67836439616624, 0.0, 660) + femmesh.addNode(77.11702001815753, 59.65915875638117, 0.0, 661) + femmesh.addNode(73.9976951563031, 63.4869365425269, 0.0, 662) + femmesh.addNode(70.68857757799296, 67.15188009281698, 0.0, 663) + femmesh.addNode(67.19815466128578, 70.64458939025631, 0.0, 664) + femmesh.addNode(63.535378804570996, 73.95610617224025, 0.0, 665) + femmesh.addNode(59.7096444650428, 77.07793690712137, 0.0, 666) + femmesh.addNode(55.73076406336107, 80.00207457881315, 0.0, 667) + femmesh.addNode(51.6089428163004, 82.72101922355547, 0.0, 668) + femmesh.addNode(47.354752561937225, 85.22779716616932, 0.0, 669) + femmesh.addNode(42.97910464450991, 87.5159789064618, 0.0, 670) + femmesh.addNode(38.49322192849753, 89.57969560990614, 0.0, 671) + femmesh.addNode(33.90861001369713, 91.41365416030035, 0.0, 672) + femmesh.addNode(29.237027725128424, 93.01315073579687, 0.0, 673) + femmesh.addNode(24.490456953454654, 94.37408287348272, 0.0, 674) + femmesh.addNode(19.681071923274324, 95.49295999156641, 0.0, 675) + femmesh.addNode(14.82120796810602, 96.36691234218388, 0.0, 676) + femmesh.addNode(9.923329892153571, 96.9936983718607, 0.0, 677) + femmesh.addNode(3.0, -7.3e-16, 5.0, 678) + femmesh.addNode(-5.0, -97.37171047075223, 5.0, 679) + femmesh.addNode(-5.0, 97.37171047075223, 5.0, 680) + femmesh.addNode(5.0, -97.37171047075223, 5.0, 681) + femmesh.addNode(5.0, 97.37171047075223, 5.0, 682) + femmesh.addNode(102.37844066218436, 4.990479694337564, 30.0, 683) + femmesh.addNode(102.01405097405667, 9.969122522196567, 30.0, 684) + femmesh.addNode(101.4076952276988, 14.92411969283799, 30.0, 685) + femmesh.addNode(100.56081163194992, 19.84371850040931, 30.0, 686) + femmesh.addNode(99.47540890113405, 24.71625020006434, 30.0, 687) + femmesh.addNode(98.15406149061162, 29.53015768493683, 30.0, 688) + femmesh.addNode(96.59990349045574, 34.27402289832108, 30.0, 689) + femmesh.addNode(94.81662119173684, 38.93659391604098, 30.0, 690) + femmesh.addNode(92.80844434304754, 43.50681163477103, 30.0, 691) + femmesh.addNode(90.58013611800622, 47.973836003007555, 30.0, 692) + femmesh.addNode(88.13698181753554, 52.32707173247332, 30.0, 693) + femmesh.addNode(85.4847763337125, 56.556193428970694, 30.0, 694) + femmesh.addNode(82.6298104049247, 60.65117008307587, 30.0, 695) + femmesh.addNode(79.57885569493389, 64.60228886258511, 30.0, 696) + femmesh.addNode(76.33914873123767, 68.40017815027952, 30.0, 697) + femmesh.addNode(72.91837374082576, 72.03582977236573, 30.0, 698) + femmesh.addNode(69.32464442404257, 75.50062036486894, 30.0, 699) + femmesh.addNode(65.56648470978638, 78.78633182729952, 30.0, 700) + femmesh.addNode(61.65280853769175, 81.88517081507935, 30.0, 701) + femmesh.addNode(57.592898715249476, 84.78978722449429, 30.0, 702) + femmesh.addNode(53.396384900012876, 87.493291626328, 30.0, 703) + femmesh.addNode(49.07322075911397, 89.98927160682692, 30.0, 704) + femmesh.addNode(44.63366036026462, 92.27180697723733, 30.0, 705) + femmesh.addNode(40.08823385024101, 94.33548381583883, 30.0, 706) + femmesh.addNode(35.44772247853867, 96.17540730916872, 30.0, 707) + femmesh.addNode(30.723133025439985, 97.78721336197856, 30.0, 708) + femmesh.addNode(25.92567169514729, 99.16707894838608, 30.0, 709) + femmesh.addNode(21.066717535904573, 100.31173117967016, 30.0, 710) + femmesh.addNode(16.157795450152296, 101.21845506720125, 30.0, 711) + femmesh.addNode(11.210548858732139, 101.88509996209446, 30.0, 712) + femmesh.addNode(6.236712083978917, 102.31008465631115, 30.0, 713) + femmesh.addNode(1.2480825172047367, 102.49240113310961, 30.0, 714) + femmesh.addNode(-3.743507363410042, 102.43161695794954, 30.0, 715) + femmesh.addNode(-8.72621805814769, 102.12787630417886, 30.0, 716) + femmesh.addNode(-13.688231127738325, 101.58189961107055, 30.0, 717) + femmesh.addNode(-18.617777225392295, 100.79498187502026, 30.0, 718) + femmesh.addNode(-23.503164012390265, 99.76898957795795, 30.0, 719) + femmesh.addNode(-28.33280389101911, 98.50635626025893, 30.0, 720) + femmesh.addNode(-33.095241489073274, 97.01007674865494, 30.0, 721) + femmesh.addNode(-37.779180830732116, 95.28370005283612, 30.0, 722) + femmesh.addNode(-42.373512129366546, 93.331320947592, 30.0, 723) + femmesh.addNode(-46.867338138725486, 91.15757026045817, 30.0, 724) + femmesh.addNode(-51.25000000000002, 88.76760388790494, 30.0, 725) + femmesh.addNode(-55.511102523458916, 86.16709056612062, 30.0, 726) + femmesh.addNode(-59.64053884469015, 83.36219842539546, 30.0, 727) + femmesh.addNode(-63.62851439696672, 80.35958035999815, 30.0, 728) + femmesh.addNode(-67.46557014287666, 77.16635824824566, 30.0, 729) + femmesh.addNode(-71.14260501011495, 73.7901060601946, 30.0, 730) + femmesh.addNode(-74.65089747822138, 70.23883189302113, 30.0, 731) + femmesh.addNode(-77.98212626506347, 66.5209589766992, 30.0, 732) + femmesh.addNode(-81.12839006399851, 62.64530569502959, 30.0, 733) + femmesh.addNode(-84.08222628489983, 58.621064669407886, 30.0, 734) + femmesh.addNode(-86.83662875459612, 54.457780954942045, 30.0, 735) + femmesh.addNode(-89.38506433474022, 50.165329400636374, 30.0, 736) + femmesh.addNode(-91.72148841769136, 45.753891227340524, 30.0, 737) + femmesh.addNode(-93.84035926365677, 41.233929879018675, 30.0, 738) + femmesh.addNode(-95.73665114508611, 36.61616620461624, 30.0, 739) + femmesh.addNode(-97.40586626714214, 31.91155302939078, 30.0, 740) + femmesh.addNode(-98.84404543597297, 27.131249176020468, 30.0, 741) + femmesh.addNode(-100.0477774494825, 22.286592997109796, 30.0, 742) + femmesh.addNode(-101.01420718832499, 17.38907548186937, 30.0, 743) + femmesh.addNode(-101.74104238793268, 12.450313000759673, 30.0, 744) + femmesh.addNode(-102.22655907551403, 7.482019752743251, 30.0, 745) + femmesh.addNode(-102.46960565912678, 2.495979980499136, 30.0, 746) + femmesh.addNode(-102.4696056591268, -2.495979980498747, 30.0, 747) + femmesh.addNode(-102.22655907551406, -7.482019752742862, 30.0, 748) + femmesh.addNode(-101.74104238793272, -12.450313000759287, 30.0, 749) + femmesh.addNode(-101.01420718832505, -17.38907548186903, 30.0, 750) + femmesh.addNode(-100.04777744948255, -22.28659299710946, 30.0, 751) + femmesh.addNode(-98.84404543597303, -27.13124917602023, 30.0, 752) + femmesh.addNode(-97.40586626714223, -31.911553029390497, 30.0, 753) + femmesh.addNode(-95.73665114508621, -36.616166204616015, 30.0, 754) + femmesh.addNode(-93.84035926365688, -41.233929879018405, 30.0, 755) + femmesh.addNode(-91.72148841769148, -45.7538912273403, 30.0, 756) + femmesh.addNode(-89.38506433474035, -50.16532940063615, 30.0, 757) + femmesh.addNode(-86.83662875459626, -54.45778095494183, 30.0, 758) + femmesh.addNode(-84.08222628489995, -58.621064669407716, 30.0, 759) + femmesh.addNode(-81.12839006399861, -62.64530569502947, 30.0, 760) + femmesh.addNode(-77.98212626506354, -66.5209589766991, 30.0, 761) + femmesh.addNode(-74.65089747822142, -70.23883189302109, 30.0, 762) + femmesh.addNode(-71.14260501011502, -73.79010606019452, 30.0, 763) + femmesh.addNode(-67.46557014287671, -77.1663582482456, 30.0, 764) + femmesh.addNode(-63.62851439696674, -80.35958035999812, 30.0, 765) + femmesh.addNode(-59.64053884469017, -83.36219842539545, 30.0, 766) + femmesh.addNode(-55.511102523458895, -86.16709056612063, 30.0, 767) + femmesh.addNode(-51.24999999999996, -88.76760388790498, 30.0, 768) + femmesh.addNode(-46.86733813872539, -91.15757026045821, 30.0, 769) + femmesh.addNode(-42.37351212936651, -93.33132094759203, 30.0, 770) + femmesh.addNode(-37.77918083073205, -95.28370005283615, 30.0, 771) + femmesh.addNode(-33.09524148907328, -97.01007674865494, 30.0, 772) + femmesh.addNode(-28.332803891019093, -98.50635626025893, 30.0, 773) + femmesh.addNode(-23.503164012390222, -99.76898957795797, 30.0, 774) + femmesh.addNode(-18.617777225392206, -100.79498187502028, 30.0, 775) + femmesh.addNode(-13.688231127738236, -101.58189961107057, 30.0, 776) + femmesh.addNode(-8.726218058147579, -102.12787630417887, 30.0, 777) + femmesh.addNode(-3.7435073634099303, -102.43161695794954, 30.0, 778) + femmesh.addNode(1.2480825172047798, -102.49240113310961, 30.0, 779) + femmesh.addNode(6.236712083978983, -102.31008465631113, 30.0, 780) + femmesh.addNode(11.210548858732205, -101.88509996209444, 30.0, 781) + femmesh.addNode(16.157795450152406, -101.21845506720123, 30.0, 782) + femmesh.addNode(21.066717535904683, -100.31173117967013, 30.0, 783) + femmesh.addNode(25.92567169514742, -99.16707894838605, 30.0, 784) + femmesh.addNode(30.723133025440156, -97.7872133619785, 30.0, 785) + femmesh.addNode(35.44772247853886, -96.17540730916865, 30.0, 786) + femmesh.addNode(40.08823385024112, -94.3354838158388, 30.0, 787) + femmesh.addNode(44.63366036026474, -92.27180697723726, 30.0, 788) + femmesh.addNode(49.07322075911409, -89.98927160682685, 30.0, 789) + femmesh.addNode(53.39638490001303, -87.4932916263279, 30.0, 790) + femmesh.addNode(57.59289871524963, -84.78978722449419, 30.0, 791) + femmesh.addNode(61.65280853769184, -81.88517081507929, 30.0, 792) + femmesh.addNode(65.5664847097865, -78.78633182729942, 30.0, 793) + femmesh.addNode(69.3246444240427, -75.50062036486882, 30.0, 794) + femmesh.addNode(72.9183737408259, -72.03582977236559, 30.0, 795) + femmesh.addNode(76.33914873123781, -68.40017815027934, 30.0, 796) + femmesh.addNode(79.57885569493405, -64.60228886258491, 30.0, 797) + femmesh.addNode(82.62981040492487, -60.651170083075655, 30.0, 798) + femmesh.addNode(85.48477633371262, -56.55619342897051, 30.0, 799) + femmesh.addNode(88.13698181753566, -52.32707173247313, 30.0, 800) + femmesh.addNode(90.58013611800635, -47.97383600300733, 30.0, 801) + femmesh.addNode(92.80844434304763, -43.50681163477085, 30.0, 802) + femmesh.addNode(94.81662119173693, -38.93659391604078, 30.0, 803) + femmesh.addNode(96.59990349045582, -34.27402289832085, 30.0, 804) + femmesh.addNode(98.1540614906117, -29.530157684936572, 30.0, 805) + femmesh.addNode(99.47540890113412, -24.716250200064056, 30.0, 806) + femmesh.addNode(100.56081163194997, -19.843718500408993, 30.0, 807) + femmesh.addNode(101.40769522769884, -14.924119692837735, 30.0, 808) + femmesh.addNode(102.0140509740567, -9.969122522196285, 30.0, 809) + femmesh.addNode(102.37844066218437, -4.9904796943372505, 30.0, 810) + femmesh.addNode(102.5, -2.511e-14, 25.0, 811) + femmesh.addNode(102.37844066218436, 4.990479694337564, 20.0, 812) + femmesh.addNode(102.01405097405667, 9.969122522196567, 20.0, 813) + femmesh.addNode(101.4076952276988, 14.92411969283799, 20.0, 814) + femmesh.addNode(100.56081163194992, 19.84371850040931, 20.0, 815) + femmesh.addNode(99.47540890113405, 24.71625020006434, 20.0, 816) + femmesh.addNode(98.15406149061162, 29.53015768493683, 20.0, 817) + femmesh.addNode(96.59990349045574, 34.27402289832108, 20.0, 818) + femmesh.addNode(94.81662119173684, 38.93659391604098, 20.0, 819) + femmesh.addNode(92.80844434304754, 43.50681163477103, 20.0, 820) + femmesh.addNode(90.58013611800622, 47.973836003007555, 20.0, 821) + femmesh.addNode(88.13698181753554, 52.32707173247332, 20.0, 822) + femmesh.addNode(85.4847763337125, 56.556193428970694, 20.0, 823) + femmesh.addNode(82.6298104049247, 60.65117008307587, 20.0, 824) + femmesh.addNode(79.57885569493389, 64.60228886258511, 20.0, 825) + femmesh.addNode(76.33914873123767, 68.40017815027952, 20.0, 826) + femmesh.addNode(72.91837374082576, 72.03582977236573, 20.0, 827) + femmesh.addNode(69.32464442404257, 75.50062036486894, 20.0, 828) + femmesh.addNode(65.56648470978638, 78.78633182729952, 20.0, 829) + femmesh.addNode(61.65280853769175, 81.88517081507935, 20.0, 830) + femmesh.addNode(57.592898715249476, 84.78978722449429, 20.0, 831) + femmesh.addNode(53.396384900012876, 87.493291626328, 20.0, 832) + femmesh.addNode(49.07322075911397, 89.98927160682692, 20.0, 833) + femmesh.addNode(44.63366036026462, 92.27180697723733, 20.0, 834) + femmesh.addNode(40.08823385024101, 94.33548381583883, 20.0, 835) + femmesh.addNode(35.44772247853867, 96.17540730916872, 20.0, 836) + femmesh.addNode(30.723133025439985, 97.78721336197856, 20.0, 837) + femmesh.addNode(25.92567169514729, 99.16707894838608, 20.0, 838) + femmesh.addNode(21.066717535904573, 100.31173117967016, 20.0, 839) + femmesh.addNode(16.157795450152296, 101.21845506720125, 20.0, 840) + femmesh.addNode(11.210548858732139, 101.88509996209446, 20.0, 841) + femmesh.addNode(6.236712083978917, 102.31008465631115, 20.0, 842) + femmesh.addNode(1.2480825172047367, 102.49240113310961, 20.0, 843) + femmesh.addNode(-3.743507363410042, 102.43161695794954, 20.0, 844) + femmesh.addNode(-8.72621805814769, 102.12787630417886, 20.0, 845) + femmesh.addNode(-13.688231127738325, 101.58189961107055, 20.0, 846) + femmesh.addNode(-18.617777225392295, 100.79498187502026, 20.0, 847) + femmesh.addNode(-23.503164012390265, 99.76898957795795, 20.0, 848) + femmesh.addNode(-28.33280389101911, 98.50635626025893, 20.0, 849) + femmesh.addNode(-33.095241489073274, 97.01007674865494, 20.0, 850) + femmesh.addNode(-37.779180830732116, 95.28370005283612, 20.0, 851) + femmesh.addNode(-42.373512129366546, 93.331320947592, 20.0, 852) + femmesh.addNode(-46.867338138725486, 91.15757026045817, 20.0, 853) + femmesh.addNode(-51.25000000000002, 88.76760388790494, 20.0, 854) + femmesh.addNode(-55.511102523458916, 86.16709056612062, 20.0, 855) + femmesh.addNode(-59.64053884469015, 83.36219842539546, 20.0, 856) + femmesh.addNode(-63.62851439696672, 80.35958035999815, 20.0, 857) + femmesh.addNode(-67.46557014287666, 77.16635824824566, 20.0, 858) + femmesh.addNode(-71.14260501011495, 73.7901060601946, 20.0, 859) + femmesh.addNode(-74.65089747822138, 70.23883189302113, 20.0, 860) + femmesh.addNode(-77.98212626506347, 66.5209589766992, 20.0, 861) + femmesh.addNode(-81.12839006399851, 62.64530569502959, 20.0, 862) + femmesh.addNode(-84.08222628489983, 58.621064669407886, 20.0, 863) + femmesh.addNode(-86.83662875459612, 54.457780954942045, 20.0, 864) + femmesh.addNode(-89.38506433474022, 50.165329400636374, 20.0, 865) + femmesh.addNode(-91.72148841769136, 45.753891227340524, 20.0, 866) + femmesh.addNode(-93.84035926365677, 41.233929879018675, 20.0, 867) + femmesh.addNode(-95.73665114508611, 36.61616620461624, 20.0, 868) + femmesh.addNode(-97.40586626714214, 31.91155302939078, 20.0, 869) + femmesh.addNode(-98.84404543597297, 27.131249176020468, 20.0, 870) + femmesh.addNode(-100.0477774494825, 22.286592997109796, 20.0, 871) + femmesh.addNode(-101.01420718832499, 17.38907548186937, 20.0, 872) + femmesh.addNode(-101.74104238793268, 12.450313000759673, 20.0, 873) + femmesh.addNode(-102.22655907551403, 7.482019752743251, 20.0, 874) + femmesh.addNode(-102.46960565912678, 2.495979980499136, 20.0, 875) + femmesh.addNode(-102.4696056591268, -2.495979980498747, 20.0, 876) + femmesh.addNode(-102.22655907551406, -7.482019752742862, 20.0, 877) + femmesh.addNode(-101.74104238793272, -12.450313000759287, 20.0, 878) + femmesh.addNode(-101.01420718832505, -17.38907548186903, 20.0, 879) + femmesh.addNode(-100.04777744948255, -22.28659299710946, 20.0, 880) + femmesh.addNode(-98.84404543597303, -27.13124917602023, 20.0, 881) + femmesh.addNode(-97.40586626714223, -31.911553029390497, 20.0, 882) + femmesh.addNode(-95.73665114508621, -36.616166204616015, 20.0, 883) + femmesh.addNode(-93.84035926365688, -41.233929879018405, 20.0, 884) + femmesh.addNode(-91.72148841769148, -45.7538912273403, 20.0, 885) + femmesh.addNode(-89.38506433474035, -50.16532940063615, 20.0, 886) + femmesh.addNode(-86.83662875459626, -54.45778095494183, 20.0, 887) + femmesh.addNode(-84.08222628489995, -58.621064669407716, 20.0, 888) + femmesh.addNode(-81.12839006399861, -62.64530569502947, 20.0, 889) + femmesh.addNode(-77.98212626506354, -66.5209589766991, 20.0, 890) + femmesh.addNode(-74.65089747822142, -70.23883189302109, 20.0, 891) + femmesh.addNode(-71.14260501011502, -73.79010606019452, 20.0, 892) + femmesh.addNode(-67.46557014287671, -77.1663582482456, 20.0, 893) + femmesh.addNode(-63.62851439696674, -80.35958035999812, 20.0, 894) + femmesh.addNode(-59.64053884469017, -83.36219842539545, 20.0, 895) + femmesh.addNode(-55.511102523458895, -86.16709056612063, 20.0, 896) + femmesh.addNode(-51.24999999999996, -88.76760388790498, 20.0, 897) + femmesh.addNode(-46.86733813872539, -91.15757026045821, 20.0, 898) + femmesh.addNode(-42.37351212936651, -93.33132094759203, 20.0, 899) + femmesh.addNode(-37.77918083073205, -95.28370005283615, 20.0, 900) + femmesh.addNode(-33.09524148907328, -97.01007674865494, 20.0, 901) + femmesh.addNode(-28.332803891019093, -98.50635626025893, 20.0, 902) + femmesh.addNode(-23.503164012390222, -99.76898957795797, 20.0, 903) + femmesh.addNode(-18.617777225392206, -100.79498187502028, 20.0, 904) + femmesh.addNode(-13.688231127738236, -101.58189961107057, 20.0, 905) + femmesh.addNode(-8.726218058147579, -102.12787630417887, 20.0, 906) + femmesh.addNode(-3.7435073634099303, -102.43161695794954, 20.0, 907) + femmesh.addNode(1.2480825172047798, -102.49240113310961, 20.0, 908) + femmesh.addNode(6.236712083978983, -102.31008465631113, 20.0, 909) + femmesh.addNode(11.210548858732205, -101.88509996209444, 20.0, 910) + femmesh.addNode(16.157795450152406, -101.21845506720123, 20.0, 911) + femmesh.addNode(21.066717535904683, -100.31173117967013, 20.0, 912) + femmesh.addNode(25.92567169514742, -99.16707894838605, 20.0, 913) + femmesh.addNode(30.723133025440156, -97.7872133619785, 20.0, 914) + femmesh.addNode(35.44772247853886, -96.17540730916865, 20.0, 915) + femmesh.addNode(40.08823385024112, -94.3354838158388, 20.0, 916) + femmesh.addNode(44.63366036026474, -92.27180697723726, 20.0, 917) + femmesh.addNode(49.07322075911409, -89.98927160682685, 20.0, 918) + femmesh.addNode(53.39638490001303, -87.4932916263279, 20.0, 919) + femmesh.addNode(57.59289871524963, -84.78978722449419, 20.0, 920) + femmesh.addNode(61.65280853769184, -81.88517081507929, 20.0, 921) + femmesh.addNode(65.5664847097865, -78.78633182729942, 20.0, 922) + femmesh.addNode(69.3246444240427, -75.50062036486882, 20.0, 923) + femmesh.addNode(72.9183737408259, -72.03582977236559, 20.0, 924) + femmesh.addNode(76.33914873123781, -68.40017815027934, 20.0, 925) + femmesh.addNode(79.57885569493405, -64.60228886258491, 20.0, 926) + femmesh.addNode(82.62981040492487, -60.651170083075655, 20.0, 927) + femmesh.addNode(85.48477633371262, -56.55619342897051, 20.0, 928) + femmesh.addNode(88.13698181753566, -52.32707173247313, 20.0, 929) + femmesh.addNode(90.58013611800635, -47.97383600300733, 20.0, 930) + femmesh.addNode(92.80844434304763, -43.50681163477085, 20.0, 931) + femmesh.addNode(94.81662119173693, -38.93659391604078, 20.0, 932) + femmesh.addNode(96.59990349045582, -34.27402289832085, 20.0, 933) + femmesh.addNode(98.1540614906117, -29.530157684936572, 20.0, 934) + femmesh.addNode(99.47540890113412, -24.716250200064056, 20.0, 935) + femmesh.addNode(100.56081163194997, -19.843718500408993, 20.0, 936) + femmesh.addNode(101.40769522769884, -14.924119692837735, 20.0, 937) + femmesh.addNode(102.0140509740567, -9.969122522196285, 20.0, 938) + femmesh.addNode(102.37844066218437, -4.9904796943372505, 20.0, 939) + femmesh.addNode(6.178901352847948e-15, -3.0, 30.0, 940) + femmesh.addNode(-3.0, -1.1025535076145708e-14, 30.0, 941) + femmesh.addNode(-5.51091059616309e-16, 3.0, 30.0, 942) + femmesh.addNode(-9.923329892153278, 96.99369837186072, 30.0, 943) + femmesh.addNode(-14.821207968105751, 96.36691234218392, 30.0, 944) + femmesh.addNode(-19.68107192327408, 95.49295999156645, 30.0, 945) + femmesh.addNode(-24.490456953454412, 94.37408287348279, 30.0, 946) + femmesh.addNode(-29.237027725128208, 93.01315073579696, 30.0, 947) + femmesh.addNode(-33.908610013696915, 91.41365416030044, 30.0, 948) + femmesh.addNode(-38.49322192849735, 89.57969560990621, 30.0, 949) + femmesh.addNode(-42.979104644509746, 87.51597890646188, 30.0, 950) + femmesh.addNode(-47.3547525619371, 85.2277971661694, 30.0, 951) + femmesh.addNode(-51.60894281630028, 82.72101922355556, 30.0, 952) + femmesh.addNode(-55.730764063360965, 80.00207457881324, 30.0, 953) + femmesh.addNode(-59.70964446504272, 77.07793690712143, 30.0, 954) + femmesh.addNode(-63.53537880457094, 73.9561061722403, 30.0, 955) + femmesh.addNode(-67.19815466128574, 70.64458939025637, 30.0, 956) + femmesh.addNode(-70.68857757799296, 67.151880092817, 30.0, 957) + femmesh.addNode(-73.99769515630308, 63.48693654252692, 30.0, 958) + femmesh.addNode(-77.1170200181575, 59.65915875638119, 30.0, 959) + femmesh.addNode(-80.03855157464888, 55.67836439616624, 30.0, 960) + femmesh.addNode(-82.75479654630207, 51.554763587666166, 30.0, 961) + femmesh.addNode(-85.2587881821847, 47.29893273325902, 30.0, 962) + femmesh.addNode(-87.5441041285524, 42.92178738507022, 30.0, 963) + femmesh.addNode(-89.6048829011995, 38.4345542482585, 30.0, 964) + femmesh.addNode(-91.43583891926498, 33.848742386242776, 30.0, 965) + femmesh.addNode(-93.03227606193524, 29.176113701723068, 30.0, 966) + femmesh.addNode(-94.39009971327236, 24.42865276920731, 30.0, 967) + femmesh.addNode(-95.50582726427469, 19.618536096419813, 30.0, 968) + femmesh.addNode(-96.37659704523365, 14.758100893430004, 30.0, 969) + femmesh.addNode(-97.00017566547697, 9.859813429604573, 30.0, 970) + femmesh.addNode(-97.37496374167233, 4.936237059542291, 30.0, 971) + femmesh.addNode(-97.5, 1.4183640017283e-13, 30.0, 972) + femmesh.addNode(-97.37496374167235, -4.936237059541965, 30.0, 973) + femmesh.addNode(-97.00017566547699, -9.859813429604293, 30.0, 974) + femmesh.addNode(-96.37659704523371, -14.75810089342968, 30.0, 975) + femmesh.addNode(-95.50582726427474, -19.618536096419533, 30.0, 976) + femmesh.addNode(-94.39009971327245, -24.428652769206998, 30.0, 977) + femmesh.addNode(-93.03227606193532, -29.176113701722763, 30.0, 978) + femmesh.addNode(-91.43583891926508, -33.848742386242506, 30.0, 979) + femmesh.addNode(-89.60488290119963, -38.434554248258195, 30.0, 980) + femmesh.addNode(-87.54410412855258, -42.92178738506988, 30.0, 981) + femmesh.addNode(-85.25878818218484, -47.29893273325877, 30.0, 982) + femmesh.addNode(-82.75479654630223, -51.55476358766592, 30.0, 983) + femmesh.addNode(-80.03855157464906, -55.67836439616598, 30.0, 984) + femmesh.addNode(-77.11702001815767, -59.65915875638096, 30.0, 985) + femmesh.addNode(-73.99769515630328, -63.48693654252667, 30.0, 986) + femmesh.addNode(-70.68857757799319, -67.15188009281677, 30.0, 987) + femmesh.addNode(-67.19815466128601, -70.64458939025612, 30.0, 988) + femmesh.addNode(-63.53537880457125, -73.95610617224003, 30.0, 989) + femmesh.addNode(-59.70964446504306, -77.07793690712118, 30.0, 990) + femmesh.addNode(-55.73076406336134, -80.00207457881297, 30.0, 991) + femmesh.addNode(-51.60894281630067, -82.72101922355532, 30.0, 992) + femmesh.addNode(-47.3547525619375, -85.22779716616918, 30.0, 993) + femmesh.addNode(-42.979104644510194, -87.51597890646165, 30.0, 994) + femmesh.addNode(-38.4932219284978, -89.57969560990601, 30.0, 995) + femmesh.addNode(-33.908610013697405, -91.41365416030025, 30.0, 996) + femmesh.addNode(-29.237027725128705, -93.01315073579678, 30.0, 997) + femmesh.addNode(-24.490456953454935, -94.37408287348265, 30.0, 998) + femmesh.addNode(-19.68107192327461, -95.49295999156635, 30.0, 999) + femmesh.addNode(-14.82120796810631, -96.36691234218384, 30.0, 1000) + femmesh.addNode(-9.92332989215384, -96.99369837186066, 30.0, 1001) + femmesh.addNode(-5.0, -92.37828942097019, 30.0, 1002) + femmesh.addNode(-5.0, -87.38486837118802, 30.0, 1003) + femmesh.addNode(-5.0, -82.39144732140586, 30.0, 1004) + femmesh.addNode(-5.0, -77.3980262716237, 30.0, 1005) + femmesh.addNode(-5.0, -72.40460522184154, 30.0, 1006) + femmesh.addNode(-5.0, -67.41118417205936, 30.0, 1007) + femmesh.addNode(-5.0, -62.41776312227721, 30.0, 1008) + femmesh.addNode(-5.0, -57.424342072495044, 30.0, 1009) + femmesh.addNode(-5.0, -52.43092102271288, 30.0, 1010) + femmesh.addNode(-5.0, -47.43749997293072, 30.0, 1011) + femmesh.addNode(-5.0, -42.44407892314855, 30.0, 1012) + femmesh.addNode(-5.0, -37.45065787336639, 30.0, 1013) + femmesh.addNode(-5.0, -32.45723682358424, 30.0, 1014) + femmesh.addNode(-5.0, -27.463815773802068, 30.0, 1015) + femmesh.addNode(-5.0, -22.47039472401991, 30.0, 1016) + femmesh.addNode(-5.0, -17.47697367423774, 30.0, 1017) + femmesh.addNode(-5.0, -12.48355262445557, 30.0, 1018) + femmesh.addNode(-5.0, -7.4901315746733985, 30.0, 1019) + femmesh.addNode(-5.0, -2.496710524891256, 30.0, 1020) + femmesh.addNode(-5.0, 2.4967105248909007, 30.0, 1021) + femmesh.addNode(-5.0, 7.490131574673072, 30.0, 1022) + femmesh.addNode(-5.0, 12.483552624455243, 30.0, 1023) + femmesh.addNode(-5.0, 17.4769736742374, 30.0, 1024) + femmesh.addNode(-5.0, 22.47039472401957, 30.0, 1025) + femmesh.addNode(-5.0, 27.463815773801727, 30.0, 1026) + femmesh.addNode(-5.0, 32.457236823583884, 30.0, 1027) + femmesh.addNode(-5.0, 37.450657873366055, 30.0, 1028) + femmesh.addNode(-5.0, 42.444078923148226, 30.0, 1029) + femmesh.addNode(-5.0, 47.4374999729304, 30.0, 1030) + femmesh.addNode(-5.0, 52.43092102271254, 30.0, 1031) + femmesh.addNode(-5.0, 57.42434207249471, 30.0, 1032) + femmesh.addNode(-5.0, 62.41776312227685, 30.0, 1033) + femmesh.addNode(-5.0, 67.411184172059, 30.0, 1034) + femmesh.addNode(-5.0, 72.40460522184117, 30.0, 1035) + femmesh.addNode(-5.0, 77.39802627162334, 30.0, 1036) + femmesh.addNode(-5.0, 82.39144732140551, 30.0, 1037) + femmesh.addNode(-5.0, 87.38486837118768, 30.0, 1038) + femmesh.addNode(-5.0, 92.37828942096982, 30.0, 1039) + femmesh.addNode(97.37496374167235, 4.936237059542162, 30.0, 1040) + femmesh.addNode(97.00017566547697, 9.859813429604458, 30.0, 1041) + femmesh.addNode(96.37659704523368, 14.758100893429901, 30.0, 1042) + femmesh.addNode(95.5058272642747, 19.618536096419724, 30.0, 1043) + femmesh.addNode(94.39009971327239, 24.42865276920723, 30.0, 1044) + femmesh.addNode(93.03227606193525, 29.17611370172301, 30.0, 1045) + femmesh.addNode(91.43583891926498, 33.84874238624277, 30.0, 1046) + femmesh.addNode(89.60488290119952, 38.434554248258465, 30.0, 1047) + femmesh.addNode(87.54410412855243, 42.92178738507017, 30.0, 1048) + femmesh.addNode(85.25878818218472, 47.298932733259015, 30.0, 1049) + femmesh.addNode(82.75479654630207, 51.554763587666166, 30.0, 1050) + femmesh.addNode(80.03855157464888, 55.67836439616624, 30.0, 1051) + femmesh.addNode(77.11702001815753, 59.65915875638117, 30.0, 1052) + femmesh.addNode(73.9976951563031, 63.4869365425269, 30.0, 1053) + femmesh.addNode(70.68857757799296, 67.15188009281698, 30.0, 1054) + femmesh.addNode(67.19815466128578, 70.64458939025631, 30.0, 1055) + femmesh.addNode(63.535378804570996, 73.95610617224025, 30.0, 1056) + femmesh.addNode(59.7096444650428, 77.07793690712137, 30.0, 1057) + femmesh.addNode(55.73076406336107, 80.00207457881315, 30.0, 1058) + femmesh.addNode(51.6089428163004, 82.72101922355547, 30.0, 1059) + femmesh.addNode(47.354752561937225, 85.22779716616932, 30.0, 1060) + femmesh.addNode(42.97910464450991, 87.5159789064618, 30.0, 1061) + femmesh.addNode(38.49322192849753, 89.57969560990614, 30.0, 1062) + femmesh.addNode(33.90861001369713, 91.41365416030035, 30.0, 1063) + femmesh.addNode(29.237027725128424, 93.01315073579687, 30.0, 1064) + femmesh.addNode(24.490456953454654, 94.37408287348272, 30.0, 1065) + femmesh.addNode(19.681071923274324, 95.49295999156641, 30.0, 1066) + femmesh.addNode(14.82120796810602, 96.36691234218388, 30.0, 1067) + femmesh.addNode(9.923329892153571, 96.9936983718607, 30.0, 1068) + femmesh.addNode(9.923329892153891, -96.99369837186066, 30.0, 1069) + femmesh.addNode(14.82120796810636, -96.36691234218382, 30.0, 1070) + femmesh.addNode(19.68107192327466, -95.49295999156634, 30.0, 1071) + femmesh.addNode(24.490456953454984, -94.37408287348264, 30.0, 1072) + femmesh.addNode(29.237027725128755, -93.01315073579677, 30.0, 1073) + femmesh.addNode(33.908610013697455, -91.41365416030024, 30.0, 1074) + femmesh.addNode(38.49322192849785, -89.579695609906, 30.0, 1075) + femmesh.addNode(42.97910464451024, -87.51597890646164, 30.0, 1076) + femmesh.addNode(47.354752561937545, -85.22779716616914, 30.0, 1077) + femmesh.addNode(51.60894281630071, -82.72101922355529, 30.0, 1078) + femmesh.addNode(55.730764063361384, -80.00207457881294, 30.0, 1079) + femmesh.addNode(59.70964446504309, -77.07793690712114, 30.0, 1080) + femmesh.addNode(63.535378804571295, -73.95610617223998, 30.0, 1081) + femmesh.addNode(67.19815466128607, -70.64458939025604, 30.0, 1082) + femmesh.addNode(70.68857757799324, -67.1518800928167, 30.0, 1083) + femmesh.addNode(73.99769515630335, -63.4869365425266, 30.0, 1084) + femmesh.addNode(77.11702001815776, -59.659158756380855, 30.0, 1085) + femmesh.addNode(80.0385515746491, -55.678364396165904, 30.0, 1086) + femmesh.addNode(82.7547965463023, -51.5547635876658, 30.0, 1087) + femmesh.addNode(85.2587881821849, -47.29893273325865, 30.0, 1088) + femmesh.addNode(87.54410412855262, -42.92178738506979, 30.0, 1089) + femmesh.addNode(89.60488290119969, -38.434554248258074, 30.0, 1090) + femmesh.addNode(91.43583891926512, -33.84874238624238, 30.0, 1091) + femmesh.addNode(93.03227606193538, -29.17611370172263, 30.0, 1092) + femmesh.addNode(94.39009971327249, -24.428652769206863, 30.0, 1093) + femmesh.addNode(95.50582726427477, -19.618536096419355, 30.0, 1094) + femmesh.addNode(96.37659704523374, -14.758100893429544, 30.0, 1095) + femmesh.addNode(97.00017566547702, -9.859813429604113, 30.0, 1096) + femmesh.addNode(97.37496374167235, -4.936237059541828, 30.0, 1097) + femmesh.addNode(5.0, -92.37828942097016, 30.0, 1098) + femmesh.addNode(5.0, -87.384868371188, 30.0, 1099) + femmesh.addNode(5.0, -82.39144732140585, 30.0, 1100) + femmesh.addNode(5.0, -77.39802627162368, 30.0, 1101) + femmesh.addNode(5.0, -72.4046052218415, 30.0, 1102) + femmesh.addNode(5.0, -67.41118417205935, 30.0, 1103) + femmesh.addNode(5.0, -62.417763122277194, 30.0, 1104) + femmesh.addNode(5.0, -57.42434207249503, 30.0, 1105) + femmesh.addNode(5.0, -52.43092102271287, 30.0, 1106) + femmesh.addNode(5.0, -47.43749997293071, 30.0, 1107) + femmesh.addNode(5.0, -42.444078923148545, 30.0, 1108) + femmesh.addNode(5.0, -37.45065787336638, 30.0, 1109) + femmesh.addNode(5.0, -32.457236823584225, 30.0, 1110) + femmesh.addNode(5.0, -27.463815773802054, 30.0, 1111) + femmesh.addNode(5.0, -22.470394724019897, 30.0, 1112) + femmesh.addNode(5.0, -17.476973674237726, 30.0, 1113) + femmesh.addNode(5.0, -12.48355262445557, 30.0, 1114) + femmesh.addNode(5.0, -7.490131574673413, 30.0, 1115) + femmesh.addNode(5.0, -2.496710524891242, 30.0, 1116) + femmesh.addNode(5.0, 2.496710524890915, 30.0, 1117) + femmesh.addNode(5.0, 7.490131574673072, 30.0, 1118) + femmesh.addNode(5.0, 12.483552624455228, 30.0, 1119) + femmesh.addNode(5.0, 17.4769736742374, 30.0, 1120) + femmesh.addNode(5.0, 22.47039472401957, 30.0, 1121) + femmesh.addNode(5.0, 27.463815773801727, 30.0, 1122) + femmesh.addNode(5.0, 32.457236823583884, 30.0, 1123) + femmesh.addNode(5.0, 37.450657873366055, 30.0, 1124) + femmesh.addNode(5.0, 42.4440789231482, 30.0, 1125) + femmesh.addNode(5.0, 47.43749997293037, 30.0, 1126) + femmesh.addNode(5.0, 52.43092102271254, 30.0, 1127) + femmesh.addNode(5.0, 57.42434207249471, 30.0, 1128) + femmesh.addNode(5.0, 62.41776312227685, 30.0, 1129) + femmesh.addNode(5.0, 67.41118417205902, 30.0, 1130) + femmesh.addNode(5.0, 72.40460522184117, 30.0, 1131) + femmesh.addNode(5.0, 77.39802627162337, 30.0, 1132) + femmesh.addNode(5.0, 82.39144732140551, 30.0, 1133) + femmesh.addNode(5.0, 87.38486837118768, 30.0, 1134) + femmesh.addNode(5.0, 92.37828942096985, 30.0, 1135) + femmesh.addNode(6.178901352847948e-15, 3.0, 20.0, 1136) + femmesh.addNode(-3.0, 1.1025535076145708e-14, 20.0, 1137) + femmesh.addNode(-5.51091059616309e-16, -3.0, 20.0, 1138) + femmesh.addNode(-5.0, -92.37828942097019, 20.0, 1139) + femmesh.addNode(-5.0, -87.38486837118802, 20.0, 1140) + femmesh.addNode(-5.0, -82.39144732140586, 20.0, 1141) + femmesh.addNode(-5.0, -77.3980262716237, 20.0, 1142) + femmesh.addNode(-5.0, -72.40460522184154, 20.0, 1143) + femmesh.addNode(-5.0, -67.41118417205936, 20.0, 1144) + femmesh.addNode(-5.0, -62.41776312227721, 20.0, 1145) + femmesh.addNode(-5.0, -57.424342072495044, 20.0, 1146) + femmesh.addNode(-5.0, -52.43092102271288, 20.0, 1147) + femmesh.addNode(-5.0, -47.43749997293072, 20.0, 1148) + femmesh.addNode(-5.0, -42.44407892314855, 20.0, 1149) + femmesh.addNode(-5.0, -37.45065787336639, 20.0, 1150) + femmesh.addNode(-5.0, -32.45723682358424, 20.0, 1151) + femmesh.addNode(-5.0, -27.463815773802068, 20.0, 1152) + femmesh.addNode(-5.0, -22.47039472401991, 20.0, 1153) + femmesh.addNode(-5.0, -17.47697367423774, 20.0, 1154) + femmesh.addNode(-5.0, -12.48355262445557, 20.0, 1155) + femmesh.addNode(-5.0, -7.4901315746733985, 20.0, 1156) + femmesh.addNode(-5.0, -2.496710524891256, 20.0, 1157) + femmesh.addNode(-5.0, 2.4967105248909007, 20.0, 1158) + femmesh.addNode(-5.0, 7.490131574673072, 20.0, 1159) + femmesh.addNode(-5.0, 12.483552624455243, 20.0, 1160) + femmesh.addNode(-5.0, 17.4769736742374, 20.0, 1161) + femmesh.addNode(-5.0, 22.47039472401957, 20.0, 1162) + femmesh.addNode(-5.0, 27.463815773801727, 20.0, 1163) + femmesh.addNode(-5.0, 32.457236823583884, 20.0, 1164) + femmesh.addNode(-5.0, 37.450657873366055, 20.0, 1165) + femmesh.addNode(-5.0, 42.444078923148226, 20.0, 1166) + femmesh.addNode(-5.0, 47.4374999729304, 20.0, 1167) + femmesh.addNode(-5.0, 52.43092102271254, 20.0, 1168) + femmesh.addNode(-5.0, 57.42434207249471, 20.0, 1169) + femmesh.addNode(-5.0, 62.41776312227685, 20.0, 1170) + femmesh.addNode(-5.0, 67.411184172059, 20.0, 1171) + femmesh.addNode(-5.0, 72.40460522184117, 20.0, 1172) + femmesh.addNode(-5.0, 77.39802627162334, 20.0, 1173) + femmesh.addNode(-5.0, 82.39144732140551, 20.0, 1174) + femmesh.addNode(-5.0, 87.38486837118768, 20.0, 1175) + femmesh.addNode(-5.0, 92.37828942096982, 20.0, 1176) + femmesh.addNode(-9.923329892153278, 96.99369837186072, 20.0, 1177) + femmesh.addNode(-14.821207968105751, 96.36691234218392, 20.0, 1178) + femmesh.addNode(-19.68107192327408, 95.49295999156645, 20.0, 1179) + femmesh.addNode(-24.490456953454412, 94.37408287348279, 20.0, 1180) + femmesh.addNode(-29.237027725128208, 93.01315073579696, 20.0, 1181) + femmesh.addNode(-33.908610013696915, 91.41365416030044, 20.0, 1182) + femmesh.addNode(-38.49322192849735, 89.57969560990621, 20.0, 1183) + femmesh.addNode(-42.979104644509746, 87.51597890646188, 20.0, 1184) + femmesh.addNode(-47.3547525619371, 85.2277971661694, 20.0, 1185) + femmesh.addNode(-51.60894281630028, 82.72101922355556, 20.0, 1186) + femmesh.addNode(-55.730764063360965, 80.00207457881324, 20.0, 1187) + femmesh.addNode(-59.70964446504272, 77.07793690712143, 20.0, 1188) + femmesh.addNode(-63.53537880457094, 73.9561061722403, 20.0, 1189) + femmesh.addNode(-67.19815466128574, 70.64458939025637, 20.0, 1190) + femmesh.addNode(-70.68857757799296, 67.151880092817, 20.0, 1191) + femmesh.addNode(-73.99769515630308, 63.48693654252692, 20.0, 1192) + femmesh.addNode(-77.1170200181575, 59.65915875638119, 20.0, 1193) + femmesh.addNode(-80.03855157464888, 55.67836439616624, 20.0, 1194) + femmesh.addNode(-82.75479654630207, 51.554763587666166, 20.0, 1195) + femmesh.addNode(-85.2587881821847, 47.29893273325902, 20.0, 1196) + femmesh.addNode(-87.5441041285524, 42.92178738507022, 20.0, 1197) + femmesh.addNode(-89.6048829011995, 38.4345542482585, 20.0, 1198) + femmesh.addNode(-91.43583891926498, 33.848742386242776, 20.0, 1199) + femmesh.addNode(-93.03227606193524, 29.176113701723068, 20.0, 1200) + femmesh.addNode(-94.39009971327236, 24.42865276920731, 20.0, 1201) + femmesh.addNode(-95.50582726427469, 19.618536096419813, 20.0, 1202) + femmesh.addNode(-96.37659704523365, 14.758100893430004, 20.0, 1203) + femmesh.addNode(-97.00017566547697, 9.859813429604573, 20.0, 1204) + femmesh.addNode(-97.37496374167233, 4.936237059542291, 20.0, 1205) + femmesh.addNode(-97.5, 1.4183640017283e-13, 20.0, 1206) + femmesh.addNode(-97.37496374167235, -4.936237059541965, 20.0, 1207) + femmesh.addNode(-97.00017566547699, -9.859813429604293, 20.0, 1208) + femmesh.addNode(-96.37659704523371, -14.75810089342968, 20.0, 1209) + femmesh.addNode(-95.50582726427474, -19.618536096419533, 20.0, 1210) + femmesh.addNode(-94.39009971327245, -24.428652769206998, 20.0, 1211) + femmesh.addNode(-93.03227606193532, -29.176113701722763, 20.0, 1212) + femmesh.addNode(-91.43583891926508, -33.848742386242506, 20.0, 1213) + femmesh.addNode(-89.60488290119963, -38.434554248258195, 20.0, 1214) + femmesh.addNode(-87.54410412855258, -42.92178738506988, 20.0, 1215) + femmesh.addNode(-85.25878818218484, -47.29893273325877, 20.0, 1216) + femmesh.addNode(-82.75479654630223, -51.55476358766592, 20.0, 1217) + femmesh.addNode(-80.03855157464906, -55.67836439616598, 20.0, 1218) + femmesh.addNode(-77.11702001815767, -59.65915875638096, 20.0, 1219) + femmesh.addNode(-73.99769515630328, -63.48693654252667, 20.0, 1220) + femmesh.addNode(-70.68857757799319, -67.15188009281677, 20.0, 1221) + femmesh.addNode(-67.19815466128601, -70.64458939025612, 20.0, 1222) + femmesh.addNode(-63.53537880457125, -73.95610617224003, 20.0, 1223) + femmesh.addNode(-59.70964446504306, -77.07793690712118, 20.0, 1224) + femmesh.addNode(-55.73076406336134, -80.00207457881297, 20.0, 1225) + femmesh.addNode(-51.60894281630067, -82.72101922355532, 20.0, 1226) + femmesh.addNode(-47.3547525619375, -85.22779716616918, 20.0, 1227) + femmesh.addNode(-42.979104644510194, -87.51597890646165, 20.0, 1228) + femmesh.addNode(-38.4932219284978, -89.57969560990601, 20.0, 1229) + femmesh.addNode(-33.908610013697405, -91.41365416030025, 20.0, 1230) + femmesh.addNode(-29.237027725128705, -93.01315073579678, 20.0, 1231) + femmesh.addNode(-24.490456953454935, -94.37408287348265, 20.0, 1232) + femmesh.addNode(-19.68107192327461, -95.49295999156635, 20.0, 1233) + femmesh.addNode(-14.82120796810631, -96.36691234218384, 20.0, 1234) + femmesh.addNode(-9.92332989215384, -96.99369837186066, 20.0, 1235) + femmesh.addNode(9.923329892153891, -96.99369837186066, 20.0, 1236) + femmesh.addNode(14.82120796810636, -96.36691234218382, 20.0, 1237) + femmesh.addNode(19.68107192327466, -95.49295999156634, 20.0, 1238) + femmesh.addNode(24.490456953454984, -94.37408287348264, 20.0, 1239) + femmesh.addNode(29.237027725128755, -93.01315073579677, 20.0, 1240) + femmesh.addNode(33.908610013697455, -91.41365416030024, 20.0, 1241) + femmesh.addNode(38.49322192849785, -89.579695609906, 20.0, 1242) + femmesh.addNode(42.97910464451024, -87.51597890646164, 20.0, 1243) + femmesh.addNode(47.354752561937545, -85.22779716616914, 20.0, 1244) + femmesh.addNode(51.60894281630071, -82.72101922355529, 20.0, 1245) + femmesh.addNode(55.730764063361384, -80.00207457881294, 20.0, 1246) + femmesh.addNode(59.70964446504309, -77.07793690712114, 20.0, 1247) + femmesh.addNode(63.535378804571295, -73.95610617223998, 20.0, 1248) + femmesh.addNode(67.19815466128607, -70.64458939025604, 20.0, 1249) + femmesh.addNode(70.68857757799324, -67.1518800928167, 20.0, 1250) + femmesh.addNode(73.99769515630335, -63.4869365425266, 20.0, 1251) + femmesh.addNode(77.11702001815776, -59.659158756380855, 20.0, 1252) + femmesh.addNode(80.0385515746491, -55.678364396165904, 20.0, 1253) + femmesh.addNode(82.7547965463023, -51.5547635876658, 20.0, 1254) + femmesh.addNode(85.2587881821849, -47.29893273325865, 20.0, 1255) + femmesh.addNode(87.54410412855262, -42.92178738506979, 20.0, 1256) + femmesh.addNode(89.60488290119969, -38.434554248258074, 20.0, 1257) + femmesh.addNode(91.43583891926512, -33.84874238624238, 20.0, 1258) + femmesh.addNode(93.03227606193538, -29.17611370172263, 20.0, 1259) + femmesh.addNode(94.39009971327249, -24.428652769206863, 20.0, 1260) + femmesh.addNode(95.50582726427477, -19.618536096419355, 20.0, 1261) + femmesh.addNode(96.37659704523374, -14.758100893429544, 20.0, 1262) + femmesh.addNode(97.00017566547702, -9.859813429604113, 20.0, 1263) + femmesh.addNode(97.37496374167235, -4.936237059541828, 20.0, 1264) + femmesh.addNode(5.0, -92.37828942097016, 20.0, 1265) + femmesh.addNode(5.0, -87.384868371188, 20.0, 1266) + femmesh.addNode(5.0, -82.39144732140585, 20.0, 1267) + femmesh.addNode(5.0, -77.39802627162368, 20.0, 1268) + femmesh.addNode(5.0, -72.4046052218415, 20.0, 1269) + femmesh.addNode(5.0, -67.41118417205935, 20.0, 1270) + femmesh.addNode(5.0, -62.417763122277194, 20.0, 1271) + femmesh.addNode(5.0, -57.42434207249503, 20.0, 1272) + femmesh.addNode(5.0, -52.43092102271287, 20.0, 1273) + femmesh.addNode(5.0, -47.43749997293071, 20.0, 1274) + femmesh.addNode(5.0, -42.444078923148545, 20.0, 1275) + femmesh.addNode(5.0, -37.45065787336638, 20.0, 1276) + femmesh.addNode(5.0, -32.457236823584225, 20.0, 1277) + femmesh.addNode(5.0, -27.463815773802054, 20.0, 1278) + femmesh.addNode(5.0, -22.470394724019897, 20.0, 1279) + femmesh.addNode(5.0, -17.476973674237726, 20.0, 1280) + femmesh.addNode(5.0, -12.48355262445557, 20.0, 1281) + femmesh.addNode(5.0, -7.490131574673413, 20.0, 1282) + femmesh.addNode(5.0, -2.496710524891242, 20.0, 1283) + femmesh.addNode(5.0, 2.496710524890915, 20.0, 1284) + femmesh.addNode(5.0, 7.490131574673072, 20.0, 1285) + femmesh.addNode(5.0, 12.483552624455228, 20.0, 1286) + femmesh.addNode(5.0, 17.4769736742374, 20.0, 1287) + femmesh.addNode(5.0, 22.47039472401957, 20.0, 1288) + femmesh.addNode(5.0, 27.463815773801727, 20.0, 1289) + femmesh.addNode(5.0, 32.457236823583884, 20.0, 1290) + femmesh.addNode(5.0, 37.450657873366055, 20.0, 1291) + femmesh.addNode(5.0, 42.4440789231482, 20.0, 1292) + femmesh.addNode(5.0, 47.43749997293037, 20.0, 1293) + femmesh.addNode(5.0, 52.43092102271254, 20.0, 1294) + femmesh.addNode(5.0, 57.42434207249471, 20.0, 1295) + femmesh.addNode(5.0, 62.41776312227685, 20.0, 1296) + femmesh.addNode(5.0, 67.41118417205902, 20.0, 1297) + femmesh.addNode(5.0, 72.40460522184117, 20.0, 1298) + femmesh.addNode(5.0, 77.39802627162337, 20.0, 1299) + femmesh.addNode(5.0, 82.39144732140551, 20.0, 1300) + femmesh.addNode(5.0, 87.38486837118768, 20.0, 1301) + femmesh.addNode(5.0, 92.37828942096985, 20.0, 1302) + femmesh.addNode(97.37496374167235, 4.936237059542162, 20.0, 1303) + femmesh.addNode(97.00017566547697, 9.859813429604458, 20.0, 1304) + femmesh.addNode(96.37659704523368, 14.758100893429901, 20.0, 1305) + femmesh.addNode(95.5058272642747, 19.618536096419724, 20.0, 1306) + femmesh.addNode(94.39009971327239, 24.42865276920723, 20.0, 1307) + femmesh.addNode(93.03227606193525, 29.17611370172301, 20.0, 1308) + femmesh.addNode(91.43583891926498, 33.84874238624277, 20.0, 1309) + femmesh.addNode(89.60488290119952, 38.434554248258465, 20.0, 1310) + femmesh.addNode(87.54410412855243, 42.92178738507017, 20.0, 1311) + femmesh.addNode(85.25878818218472, 47.298932733259015, 20.0, 1312) + femmesh.addNode(82.75479654630207, 51.554763587666166, 20.0, 1313) + femmesh.addNode(80.03855157464888, 55.67836439616624, 20.0, 1314) + femmesh.addNode(77.11702001815753, 59.65915875638117, 20.0, 1315) + femmesh.addNode(73.9976951563031, 63.4869365425269, 20.0, 1316) + femmesh.addNode(70.68857757799296, 67.15188009281698, 20.0, 1317) + femmesh.addNode(67.19815466128578, 70.64458939025631, 20.0, 1318) + femmesh.addNode(63.535378804570996, 73.95610617224025, 20.0, 1319) + femmesh.addNode(59.7096444650428, 77.07793690712137, 20.0, 1320) + femmesh.addNode(55.73076406336107, 80.00207457881315, 20.0, 1321) + femmesh.addNode(51.6089428163004, 82.72101922355547, 20.0, 1322) + femmesh.addNode(47.354752561937225, 85.22779716616932, 20.0, 1323) + femmesh.addNode(42.97910464450991, 87.5159789064618, 20.0, 1324) + femmesh.addNode(38.49322192849753, 89.57969560990614, 20.0, 1325) + femmesh.addNode(33.90861001369713, 91.41365416030035, 20.0, 1326) + femmesh.addNode(29.237027725128424, 93.01315073579687, 20.0, 1327) + femmesh.addNode(24.490456953454654, 94.37408287348272, 20.0, 1328) + femmesh.addNode(19.681071923274324, 95.49295999156641, 20.0, 1329) + femmesh.addNode(14.82120796810602, 96.36691234218388, 20.0, 1330) + femmesh.addNode(9.923329892153571, 96.9936983718607, 20.0, 1331) + femmesh.addNode(3.0, -7.3e-16, 25.0, 1332) + femmesh.addNode(-5.0, -97.37171047075223, 25.0, 1333) + femmesh.addNode(-5.0, 97.37171047075223, 25.0, 1334) + femmesh.addNode(5.0, -97.37171047075223, 25.0, 1335) + femmesh.addNode(5.0, 97.37171047075223, 25.0, 1336) + femmesh.addNode(102.46918662808096, 2.513123908507805, 7.5, 1337) + femmesh.addNode(102.22655907551405, 7.4820197527430174, 7.5, 1338) + femmesh.addNode(102.37844066218436, 4.990479694337563, 5.0, 1339) + femmesh.addNode(102.46918662808096, 2.513123908507805, 2.5000000000000004, 1340) + femmesh.addNode(102.46918662808096, -2.5131239085076476, 2.500000000000023, 1341) + femmesh.addNode(102.37844066218437, -4.9904796943372505, 5.0, 1342) + femmesh.addNode(102.22655907551405, 7.4820197527430174, 2.5, 1343) + femmesh.addNode(102.46918662808096, -2.5131239085077386, 7.499999999999999, 1344) + femmesh.addNode(101.74104238793271, 12.450313000759458, 7.5, 1345) + femmesh.addNode(102.01405097405667, 9.969122522196567, 5.0, 1346) + femmesh.addNode(101.74104238793271, 12.450313000759458, 2.5, 1347) + femmesh.addNode(101.01420718832503, 17.38907548186917, 7.5, 1348) + femmesh.addNode(101.4076952276988, 14.92411969283799, 5.0, 1349) + femmesh.addNode(101.01420718832503, 17.38907548186917, 2.5, 1350) + femmesh.addNode(100.04777744948254, 22.286592997109576, 7.5, 1351) + femmesh.addNode(100.56081163194992, 19.84371850040931, 5.0, 1352) + femmesh.addNode(100.04777744948254, 22.286592997109576, 2.5, 1353) + femmesh.addNode(98.84404543597302, 27.131249176020315, 7.499999999999999, 1354) + femmesh.addNode(99.47540890113405, 24.71625020006434, 5.0, 1355) + femmesh.addNode(98.84404543597302, 27.131249176020315, 2.5000000000000004, 1356) + femmesh.addNode(97.4058662671422, 31.911553029390607, 7.500000000000001, 1357) + femmesh.addNode(98.15406149061162, 29.53015768493683, 5.0, 1358) + femmesh.addNode(97.4058662671422, 31.911553029390607, 2.5000000000000004, 1359) + femmesh.addNode(95.73665114508619, 36.616166204616086, 7.499999999999999, 1360) + femmesh.addNode(96.59990349045574, 34.27402289832108, 5.0, 1361) + femmesh.addNode(95.73665114508619, 36.616166204616086, 2.5, 1362) + femmesh.addNode(93.84035926365682, 41.23392987901854, 7.5, 1363) + femmesh.addNode(94.81662119173684, 38.93659391604098, 4.999999999999999, 1364) + femmesh.addNode(93.84035926365682, 41.23392987901854, 2.5, 1365) + femmesh.addNode(91.72148841769142, 45.753891227340404, 7.5, 1366) + femmesh.addNode(92.80844434304754, 43.50681163477103, 5.0, 1367) + femmesh.addNode(91.72148841769142, 45.753891227340404, 2.5000000000000004, 1368) + femmesh.addNode(89.38506433474029, 50.165329400636246, 7.5, 1369) + femmesh.addNode(90.58013611800622, 47.973836003007555, 5.0, 1370) + femmesh.addNode(89.38506433474029, 50.165329400636246, 2.5, 1371) + femmesh.addNode(86.83662875459619, 54.457780954941946, 7.5, 1372) + femmesh.addNode(88.13698181753554, 52.32707173247332, 5.0, 1373) + femmesh.addNode(86.83662875459619, 54.457780954941946, 2.5, 1374) + femmesh.addNode(84.08222628489989, 58.621064669407794, 7.5, 1375) + femmesh.addNode(85.4847763337125, 56.556193428970694, 5.0, 1376) + femmesh.addNode(84.08222628489989, 58.621064669407794, 2.5, 1377) + femmesh.addNode(81.12839006399857, 62.64530569502953, 7.5, 1378) + femmesh.addNode(82.6298104049247, 60.65117008307587, 5.0, 1379) + femmesh.addNode(81.12839006399857, 62.64530569502953, 2.5, 1380) + femmesh.addNode(77.98212626506353, 66.52095897669915, 7.5, 1381) + femmesh.addNode(79.57885569493389, 64.60228886258511, 5.0, 1382) + femmesh.addNode(77.98212626506353, 66.52095897669915, 2.5, 1383) + femmesh.addNode(74.65089747822141, 70.23883189302109, 7.5, 1384) + femmesh.addNode(76.33914873123767, 68.40017815027952, 5.0, 1385) + femmesh.addNode(74.65089747822141, 70.23883189302109, 2.5, 1386) + femmesh.addNode(71.142605010115, 73.79010606019455, 7.5, 1387) + femmesh.addNode(72.91837374082576, 72.03582977236573, 5.000000000000001, 1388) + femmesh.addNode(71.142605010115, 73.79010606019455, 2.5, 1389) + femmesh.addNode(67.4655701428767, 77.1663582482456, 7.5, 1390) + femmesh.addNode(69.32464442404257, 75.50062036486894, 5.0, 1391) + femmesh.addNode(67.4655701428767, 77.1663582482456, 2.5, 1392) + femmesh.addNode(63.62851439696674, 80.35958035999812, 7.5, 1393) + femmesh.addNode(65.5664847097864, 78.7863318272995, 5.0, 1394) + femmesh.addNode(63.62851439696674, 80.35958035999812, 2.5, 1395) + femmesh.addNode(59.64053884469019, 83.36219842539543, 7.5, 1396) + femmesh.addNode(61.65280853769175, 81.88517081507935, 5.0, 1397) + femmesh.addNode(59.64053884469019, 83.36219842539543, 2.5, 1398) + femmesh.addNode(55.511102523458945, 86.1670905661206, 7.5, 1399) + femmesh.addNode(57.592898715249476, 84.78978722449429, 5.0, 1400) + femmesh.addNode(55.511102523458945, 86.1670905661206, 2.5, 1401) + femmesh.addNode(51.250000000000036, 88.76760388790494, 7.5, 1402) + femmesh.addNode(53.3963849000129, 87.49329162632799, 5.0, 1403) + femmesh.addNode(51.250000000000036, 88.76760388790494, 2.5, 1404) + femmesh.addNode(46.86733813872548, 91.15757026045817, 7.5, 1405) + femmesh.addNode(49.07322075911397, 89.98927160682692, 5.0, 1406) + femmesh.addNode(46.86733813872548, 91.15757026045817, 2.5, 1407) + femmesh.addNode(42.37351212936654, 93.331320947592, 7.5, 1408) + femmesh.addNode(44.63366036026462, 92.27180697723733, 5.0, 1409) + femmesh.addNode(42.37351212936654, 93.331320947592, 2.5, 1410) + femmesh.addNode(37.77918083073209, 95.28370005283614, 7.5, 1411) + femmesh.addNode(40.08823385024101, 94.33548381583883, 5.0, 1412) + femmesh.addNode(37.77918083073209, 95.28370005283614, 2.5, 1413) + femmesh.addNode(33.095241489073224, 97.01007674865497, 7.5, 1414) + femmesh.addNode(35.44772247853867, 96.17540730916872, 5.0, 1415) + femmesh.addNode(33.095241489073224, 97.01007674865497, 2.5, 1416) + femmesh.addNode(28.332803891019083, 98.50635626025893, 7.5, 1417) + femmesh.addNode(30.723133025439985, 97.78721336197856, 5.000000000000001, 1418) + femmesh.addNode(28.332803891019083, 98.50635626025893, 2.5, 1419) + femmesh.addNode(23.50316401239025, 99.76898957795795, 7.500000000000001, 1420) + femmesh.addNode(25.92567169514729, 99.16707894838608, 5.0, 1421) + femmesh.addNode(23.50316401239023, 99.76898957795797, 2.5000000000000004, 1422) + femmesh.addNode(18.617777225392242, 100.79498187502027, 7.5, 1423) + femmesh.addNode(21.066717535904573, 100.31173117967016, 5.0, 1424) + femmesh.addNode(18.617777225392242, 100.79498187502027, 2.5000000000000027, 1425) + femmesh.addNode(13.688231127738293, 101.58189961107055, 7.5, 1426) + femmesh.addNode(16.157795450152317, 101.21845506720125, 4.999999999999999, 1427) + femmesh.addNode(13.688231127738293, 101.58189961107055, 2.5, 1428) + femmesh.addNode(8.726218058147657, 102.12787630417886, 7.5, 1429) + femmesh.addNode(11.210548858732139, 101.88509996209446, 5.0, 1430) + femmesh.addNode(8.726218058147657, 102.12787630417886, 2.5, 1431) + femmesh.addNode(3.743507363410032, 102.43161695794954, 7.5, 1432) + femmesh.addNode(6.236712083978917, 102.31008465631115, 5.0, 1433) + femmesh.addNode(3.7435073634100093, 102.43161695794954, 2.5, 1434) + femmesh.addNode(-1.248082517204747, 102.49240113310961, 7.5, 1435) + femmesh.addNode(1.2480825172047367, 102.49240113310961, 5.0, 1436) + femmesh.addNode(-1.2480825172047696, 102.49240113310961, 2.5, 1437) + femmesh.addNode(-6.23671208397895, 102.31008465631113, 7.5, 1438) + femmesh.addNode(-3.743507363410042, 102.43161695794954, 5.0, 1439) + femmesh.addNode(-6.23671208397895, 102.31008465631113, 2.5, 1440) + femmesh.addNode(-11.21054885873217, 101.88509996209446, 7.5, 1441) + femmesh.addNode(-8.72621805814769, 102.12787630417886, 5.0, 1442) + femmesh.addNode(-11.21054885873217, 101.88509996209446, 2.5, 1443) + femmesh.addNode(-16.15779545015235, 101.21845506720123, 7.4999999999999964, 1444) + femmesh.addNode(-13.688231127738348, 101.58189961107055, 5.0, 1445) + femmesh.addNode(-16.15779545015235, 101.21845506720123, 2.500000000000003, 1446) + femmesh.addNode(-21.066717535904605, 100.31173117967015, 7.5, 1447) + femmesh.addNode(-18.617777225392295, 100.79498187502026, 5.0, 1448) + femmesh.addNode(-21.066717535904605, 100.31173117967015, 2.5, 1449) + femmesh.addNode(-25.925671695147305, 99.16707894838608, 7.5, 1450) + femmesh.addNode(-23.503164012390265, 99.76898957795795, 5.0, 1451) + femmesh.addNode(-25.925671695147305, 99.16707894838608, 2.5, 1452) + femmesh.addNode(-30.72313302544002, 97.78721336197856, 7.499999999999999, 1453) + femmesh.addNode(-28.33280389101911, 98.50635626025893, 5.0, 1454) + femmesh.addNode(-30.723133025440042, 97.78721336197854, 2.5, 1455) + femmesh.addNode(-35.4477224785387, 96.1754073091687, 7.5, 1456) + femmesh.addNode(-33.095241489073274, 97.01007674865494, 5.0, 1457) + femmesh.addNode(-35.44772247853872, 96.1754073091687, 2.5000000000000004, 1458) + femmesh.addNode(-40.08823385024104, 94.33548381583881, 7.499999999999999, 1459) + femmesh.addNode(-37.779180830732116, 95.28370005283612, 5.0, 1460) + femmesh.addNode(-40.08823385024104, 94.33548381583881, 2.5, 1461) + femmesh.addNode(-44.63366036026463, 92.27180697723732, 7.5, 1462) + femmesh.addNode(-42.373512129366546, 93.331320947592, 5.0, 1463) + femmesh.addNode(-44.63366036026463, 92.27180697723732, 2.5, 1464) + femmesh.addNode(-49.073220759113944, 89.98927160682695, 7.5, 1465) + femmesh.addNode(-46.867338138725486, 91.15757026045817, 5.0, 1466) + femmesh.addNode(-49.073220759113944, 89.98927160682695, 2.5000000000000004, 1467) + femmesh.addNode(-53.39638490001288, 87.493291626328, 7.499999999999999, 1468) + femmesh.addNode(-51.25000000000002, 88.76760388790494, 5.0, 1469) + femmesh.addNode(-53.39638490001288, 87.493291626328, 2.5, 1470) + femmesh.addNode(-57.592898715249454, 84.7897872244943, 7.499999999999999, 1471) + femmesh.addNode(-55.511102523458916, 86.16709056612062, 5.0, 1472) + femmesh.addNode(-57.592898715249454, 84.7897872244943, 2.5000000000000004, 1473) + femmesh.addNode(-61.65280853769174, 81.88517081507935, 7.5, 1474) + femmesh.addNode(-59.64053884469015, 83.36219842539546, 5.0, 1475) + femmesh.addNode(-61.652808537691705, 81.88517081507939, 2.5, 1476) + femmesh.addNode(-65.56648470978637, 78.78633182729952, 7.500000000000001, 1477) + femmesh.addNode(-63.62851439696672, 80.35958035999815, 5.0, 1478) + femmesh.addNode(-65.56648470978637, 78.78633182729952, 2.5000000000000004, 1479) + femmesh.addNode(-69.32464442404253, 75.50062036486898, 7.5, 1480) + femmesh.addNode(-67.46557014287666, 77.16635824824566, 5.0, 1481) + femmesh.addNode(-69.32464442404253, 75.50062036486898, 2.5, 1482) + femmesh.addNode(-72.9183737408257, 72.03582977236579, 7.5, 1483) + femmesh.addNode(-71.14260501011495, 73.7901060601946, 5.0, 1484) + femmesh.addNode(-72.9183737408257, 72.03582977236579, 2.5, 1485) + femmesh.addNode(-76.33914873123764, 68.40017815027954, 7.5, 1486) + femmesh.addNode(-74.65089747822138, 70.23883189302113, 5.0, 1487) + femmesh.addNode(-76.33914873123764, 68.40017815027954, 2.5, 1488) + femmesh.addNode(-79.57885569493385, 64.60228886258516, 7.5, 1489) + femmesh.addNode(-77.98212626506347, 66.5209589766992, 5.0, 1490) + femmesh.addNode(-79.57885569493385, 64.60228886258516, 2.500000000000001, 1491) + femmesh.addNode(-82.62981040492465, 60.65117008307594, 7.5, 1492) + femmesh.addNode(-81.12839006399851, 62.64530569502959, 5.000000000000001, 1493) + femmesh.addNode(-82.62981040492465, 60.65117008307594, 2.500000000000001, 1494) + femmesh.addNode(-85.48477633371243, 56.55619342897081, 7.5, 1495) + femmesh.addNode(-84.08222628489983, 58.621064669407886, 5.0, 1496) + femmesh.addNode(-85.48477633371243, 56.55619342897081, 2.5, 1497) + femmesh.addNode(-88.13698181753549, 52.32707173247342, 7.5, 1498) + femmesh.addNode(-86.83662875459612, 54.457780954942045, 5.0, 1499) + femmesh.addNode(-88.13698181753549, 52.32707173247342, 2.5, 1500) + femmesh.addNode(-90.58013611800615, 47.97383600300768, 7.5, 1501) + femmesh.addNode(-89.38506433474022, 50.165329400636374, 5.0, 1502) + femmesh.addNode(-90.58013611800615, 47.97383600300768, 2.5, 1503) + femmesh.addNode(-92.80844434304747, 43.50681163477117, 7.5, 1504) + femmesh.addNode(-91.72148841769136, 45.753891227340524, 5.0, 1505) + femmesh.addNode(-92.80844434304747, 43.50681163477117, 2.5, 1506) + femmesh.addNode(-94.81662119173679, 38.93659391604111, 7.499999999999999, 1507) + femmesh.addNode(-93.84035926365677, 41.233929879018675, 5.0, 1508) + femmesh.addNode(-94.81662119173679, 38.93659391604111, 2.5, 1509) + femmesh.addNode(-96.59990349045567, 34.27402289832127, 7.5, 1510) + femmesh.addNode(-95.73665114508611, 36.61616620461624, 5.0, 1511) + femmesh.addNode(-96.59990349045567, 34.27402289832127, 2.5, 1512) + femmesh.addNode(-98.15406149061157, 29.530157684937002, 7.5, 1513) + femmesh.addNode(-97.40586626714214, 31.91155302939078, 5.0, 1514) + femmesh.addNode(-98.15406149061157, 29.530157684937002, 2.5000000000000004, 1515) + femmesh.addNode(-99.475408901134, 24.716250200064533, 7.499999999999999, 1516) + femmesh.addNode(-98.84404543597297, 27.131249176020468, 5.0, 1517) + femmesh.addNode(-99.475408901134, 24.716250200064533, 2.5, 1518) + femmesh.addNode(-100.56081163194987, 19.843718500409473, 7.5, 1519) + femmesh.addNode(-100.0477774494825, 22.286592997109796, 5.0, 1520) + femmesh.addNode(-100.56081163194987, 19.843718500409473, 2.5000000000000004, 1521) + femmesh.addNode(-101.40769522769877, 14.924119692838172, 7.5, 1522) + femmesh.addNode(-101.01420718832499, 17.38907548186937, 5.0, 1523) + femmesh.addNode(-101.40769522769877, 14.924119692838172, 2.5000000000000004, 1524) + femmesh.addNode(-102.01405097405664, 9.969122522196816, 7.5, 1525) + femmesh.addNode(-101.74104238793268, 12.450313000759673, 5.0, 1526) + femmesh.addNode(-102.01405097405664, 9.969122522196816, 2.5000000000000004, 1527) + femmesh.addNode(-102.37844066218435, 4.990479694337784, 7.5, 1528) + femmesh.addNode(-102.22655907551403, 7.482019752743251, 5.0, 1529) + femmesh.addNode(-102.37844066218435, 4.990479694337784, 2.5000000000000004, 1530) + femmesh.addNode(-102.5, 1.9462920572978604e-13, 7.5, 1531) + femmesh.addNode(-102.46960565912678, 2.495979980499136, 5.0, 1532) + femmesh.addNode(-102.5, 1.9462920572978604e-13, 2.5000000000000004, 1533) + femmesh.addNode(-102.37844066218437, -4.990479694337395, 7.5, 1534) + femmesh.addNode(-102.4696056591268, -2.495979980498747, 5.0, 1535) + femmesh.addNode(-102.37844066218437, -4.990479694337395, 2.5, 1536) + femmesh.addNode(-102.01405097405669, -9.969122522196429, 7.5, 1537) + femmesh.addNode(-102.22655907551406, -7.482019752742862, 5.0, 1538) + femmesh.addNode(-102.01405097405669, -9.969122522196429, 2.500000000000001, 1539) + femmesh.addNode(-101.40769522769882, -14.924119692837834, 7.5, 1540) + femmesh.addNode(-101.74104238793272, -12.450313000759287, 5.000000000000001, 1541) + femmesh.addNode(-101.40769522769882, -14.924119692837834, 2.5000000000000004, 1542) + femmesh.addNode(-100.56081163194993, -19.84371850040918, 7.5, 1543) + femmesh.addNode(-101.01420718832505, -17.38907548186903, 5.0, 1544) + femmesh.addNode(-100.56081163194993, -19.84371850040918, 2.5, 1545) + femmesh.addNode(-99.47540890113407, -24.71625020006424, 7.5, 1546) + femmesh.addNode(-100.04777744948255, -22.28659299710946, 5.0, 1547) + femmesh.addNode(-99.47540890113407, -24.71625020006424, 2.5, 1548) + femmesh.addNode(-98.15406149061165, -29.530157684936714, 7.5, 1549) + femmesh.addNode(-98.84404543597303, -27.13124917602023, 5.0, 1550) + femmesh.addNode(-98.15406149061165, -29.530157684936714, 2.5, 1551) + femmesh.addNode(-96.59990349045576, -34.27402289832099, 7.5, 1552) + femmesh.addNode(-97.40586626714223, -31.911553029390497, 5.0, 1553) + femmesh.addNode(-96.59990349045576, -34.27402289832099, 2.5, 1554) + femmesh.addNode(-94.8166211917369, -38.93659391604087, 7.5, 1555) + femmesh.addNode(-95.73665114508621, -36.616166204616015, 5.0, 1556) + femmesh.addNode(-94.8166211917369, -38.93659391604087, 2.5, 1557) + femmesh.addNode(-92.8084443430476, -43.5068116347709, 7.5, 1558) + femmesh.addNode(-93.84035926365688, -41.233929879018405, 5.0, 1559) + femmesh.addNode(-92.8084443430476, -43.5068116347709, 2.5000000000000004, 1560) + femmesh.addNode(-90.58013611800628, -47.973836003007456, 7.5, 1561) + femmesh.addNode(-91.72148841769148, -45.7538912273403, 5.0, 1562) + femmesh.addNode(-90.58013611800628, -47.973836003007456, 2.5, 1563) + femmesh.addNode(-88.1369818175356, -52.32707173247324, 7.5, 1564) + femmesh.addNode(-89.38506433474035, -50.16532940063615, 5.0, 1565) + femmesh.addNode(-88.1369818175356, -52.32707173247324, 2.5, 1566) + femmesh.addNode(-85.48477633371256, -56.55619342897059, 7.5, 1567) + femmesh.addNode(-86.83662875459626, -54.45778095494183, 5.0, 1568) + femmesh.addNode(-85.48477633371256, -56.55619342897059, 2.5, 1569) + femmesh.addNode(-82.62981040492475, -60.651170083075804, 7.5, 1570) + femmesh.addNode(-84.08222628489995, -58.621064669407716, 5.0, 1571) + femmesh.addNode(-82.62981040492475, -60.651170083075804, 2.5, 1572) + femmesh.addNode(-79.57885569493392, -64.60228886258506, 7.5, 1573) + femmesh.addNode(-81.12839006399861, -62.64530569502947, 5.0, 1574) + femmesh.addNode(-79.57885569493392, -64.60228886258506, 2.5, 1575) + femmesh.addNode(-76.33914873123769, -68.40017815027949, 7.5, 1576) + femmesh.addNode(-77.98212626506354, -66.5209589766991, 5.0, 1577) + femmesh.addNode(-76.33914873123769, -68.40017815027949, 2.5, 1578) + femmesh.addNode(-72.9183737408258, -72.03582977236569, 7.5, 1579) + femmesh.addNode(-74.65089747822145, -70.23883189302104, 5.0, 1580) + femmesh.addNode(-72.9183737408258, -72.03582977236569, 2.5, 1581) + femmesh.addNode(-69.32464442404259, -75.50062036486894, 7.5, 1582) + femmesh.addNode(-71.14260501011502, -73.79010606019452, 5.0, 1583) + femmesh.addNode(-69.32464442404259, -75.50062036486894, 2.5, 1584) + femmesh.addNode(-65.5664847097864, -78.7863318272995, 7.5, 1585) + femmesh.addNode(-67.46557014287671, -77.1663582482456, 5.0, 1586) + femmesh.addNode(-65.5664847097864, -78.7863318272995, 2.5, 1587) + femmesh.addNode(-61.652808537691726, -81.88517081507936, 7.5, 1588) + femmesh.addNode(-63.62851439696674, -80.35958035999812, 4.999999999999999, 1589) + femmesh.addNode(-61.652808537691726, -81.88517081507936, 2.5, 1590) + femmesh.addNode(-57.59289871524944, -84.78978722449432, 7.5, 1591) + femmesh.addNode(-59.64053884469017, -83.36219842539545, 5.0, 1592) + femmesh.addNode(-57.59289871524944, -84.78978722449432, 2.5000000000000004, 1593) + femmesh.addNode(-53.396384900012826, -87.49329162632803, 7.5, 1594) + femmesh.addNode(-55.511102523458895, -86.16709056612063, 5.0, 1595) + femmesh.addNode(-53.396384900012826, -87.49329162632803, 2.5, 1596) + femmesh.addNode(-49.07322075911388, -89.98927160682696, 7.5, 1597) + femmesh.addNode(-51.24999999999996, -88.76760388790498, 5.0, 1598) + femmesh.addNode(-49.07322075911388, -89.98927160682696, 2.5, 1599) + femmesh.addNode(-44.63366036026453, -92.27180697723736, 7.500000000000002, 1600) + femmesh.addNode(-46.86733813872539, -91.15757026045821, 5.0, 1601) + femmesh.addNode(-44.633660360264614, -92.27180697723733, 2.5000000000000004, 1602) + femmesh.addNode(-40.088233850240975, -94.33548381583886, 7.5, 1603) + femmesh.addNode(-42.37351212936651, -93.33132094759203, 5.000000000000001, 1604) + femmesh.addNode(-40.088233850240975, -94.33548381583886, 2.5000000000000004, 1605) + femmesh.addNode(-35.44772247853864, -96.17540730916873, 7.499999999999999, 1606) + femmesh.addNode(-37.77918083073205, -95.28370005283615, 5.0, 1607) + femmesh.addNode(-35.44772247853864, -96.17540730916873, 2.5, 1608) + femmesh.addNode(-30.72313302544002, -97.78721336197856, 7.5, 1609) + femmesh.addNode(-33.09524148907328, -97.01007674865494, 5.0, 1610) + femmesh.addNode(-30.72313302544002, -97.78721336197856, 2.5, 1611) + femmesh.addNode(-25.925671695147287, -99.16707894838608, 7.5, 1612) + femmesh.addNode(-28.332803891019093, -98.50635626025893, 5.0, 1613) + femmesh.addNode(-25.925671695147287, -99.16707894838608, 2.5, 1614) + femmesh.addNode(-21.06671753590454, -100.31173117967018, 7.5, 1615) + femmesh.addNode(-23.503164012390222, -99.76898957795797, 5.0, 1616) + femmesh.addNode(-21.06671753590454, -100.31173117967018, 2.5000000000000004, 1617) + femmesh.addNode(-16.15779545015226, -101.21845506720126, 7.499999999999999, 1618) + femmesh.addNode(-18.617777225392206, -100.79498187502028, 5.0, 1619) + femmesh.addNode(-16.15779545015226, -101.21845506720126, 2.5000000000000004, 1620) + femmesh.addNode(-11.21054885873206, -101.88509996209447, 7.5, 1621) + femmesh.addNode(-13.688231127738236, -101.58189961107057, 5.0, 1622) + femmesh.addNode(-11.21054885873206, -101.88509996209447, 2.5000000000000004, 1623) + femmesh.addNode(-6.236712083978839, -102.31008465631115, 7.5, 1624) + femmesh.addNode(-8.726218058147579, -102.12787630417887, 5.0, 1625) + femmesh.addNode(-6.236712083978839, -102.31008465631115, 2.5, 1626) + femmesh.addNode(-1.2480825172046355, -102.49240113310961, 7.5, 1627) + femmesh.addNode(-3.7435073634099303, -102.43161695794954, 5.0, 1628) + femmesh.addNode(-1.2480825172046355, -102.49240113310961, 2.5000000000000004, 1629) + femmesh.addNode(3.743507363410075, -102.43161695794954, 7.5, 1630) + femmesh.addNode(1.2480825172047798, -102.49240113310961, 5.0, 1631) + femmesh.addNode(3.743507363410075, -102.43161695794954, 2.5, 1632) + femmesh.addNode(8.726218058147722, -102.12787630417886, 7.5, 1633) + femmesh.addNode(6.236712083978983, -102.31008465631113, 5.0, 1634) + femmesh.addNode(8.726218058147722, -102.12787630417886, 2.5, 1635) + femmesh.addNode(13.688231127738382, -101.58189961107054, 7.5, 1636) + femmesh.addNode(11.210548858732205, -101.88509996209444, 5.0, 1637) + femmesh.addNode(13.688231127738382, -101.58189961107054, 2.5000000000000004, 1638) + femmesh.addNode(18.61777722539235, -100.79498187502026, 7.5, 1639) + femmesh.addNode(16.157795450152406, -101.21845506720123, 5.0, 1640) + femmesh.addNode(18.61777722539235, -100.79498187502026, 2.5, 1641) + femmesh.addNode(23.50316401239036, -99.76898957795794, 7.5, 1642) + femmesh.addNode(21.066717535904683, -100.31173117967013, 5.0, 1643) + femmesh.addNode(23.50316401239036, -99.76898957795794, 2.5, 1644) + femmesh.addNode(28.332803891019232, -98.5063562602589, 7.5, 1645) + femmesh.addNode(25.92567169514742, -99.16707894838605, 5.0, 1646) + femmesh.addNode(28.332803891019232, -98.5063562602589, 2.5, 1647) + femmesh.addNode(33.095241489073416, -97.0100767486549, 7.5, 1648) + femmesh.addNode(30.723133025440156, -97.7872133619785, 5.0, 1649) + femmesh.addNode(33.095241489073416, -97.0100767486549, 2.5, 1650) + femmesh.addNode(37.77918083073227, -95.28370005283607, 7.5, 1651) + femmesh.addNode(35.44772247853886, -96.17540730916865, 5.0, 1652) + femmesh.addNode(37.77918083073227, -95.28370005283607, 2.5, 1653) + femmesh.addNode(42.37351212936664, -93.33132094759196, 7.499999999999999, 1654) + femmesh.addNode(40.08823385024112, -94.3354838158388, 5.0, 1655) + femmesh.addNode(42.37351212936664, -93.33132094759196, 2.5000000000000004, 1656) + femmesh.addNode(46.8673381387256, -91.15757026045812, 7.5, 1657) + femmesh.addNode(44.63366036026474, -92.27180697723726, 5.0, 1658) + femmesh.addNode(46.8673381387256, -91.15757026045812, 2.5, 1659) + femmesh.addNode(51.25000000000017, -88.76760388790487, 7.5, 1660) + femmesh.addNode(49.07322075911409, -89.98927160682685, 5.0, 1661) + femmesh.addNode(51.25000000000017, -88.76760388790487, 2.5, 1662) + femmesh.addNode(55.51110252345909, -86.1670905661205, 7.499999999999999, 1663) + femmesh.addNode(53.39638490001303, -87.4932916263279, 4.999999999999999, 1664) + femmesh.addNode(55.51110252345909, -86.1670905661205, 2.5, 1665) + femmesh.addNode(59.64053884469028, -83.36219842539536, 7.5, 1666) + femmesh.addNode(57.59289871524963, -84.78978722449419, 5.0, 1667) + femmesh.addNode(59.64053884469028, -83.36219842539536, 2.5, 1668) + femmesh.addNode(63.62851439696686, -80.35958035999803, 7.5, 1669) + femmesh.addNode(61.65280853769192, -81.88517081507923, 5.000000000000001, 1670) + femmesh.addNode(63.62851439696686, -80.35958035999803, 2.5, 1671) + femmesh.addNode(67.46557014287683, -77.1663582482455, 7.5, 1672) + femmesh.addNode(65.5664847097865, -78.78633182729942, 5.0, 1673) + femmesh.addNode(67.46557014287683, -77.1663582482455, 2.5, 1674) + femmesh.addNode(71.14260501011513, -73.79010606019442, 7.5, 1675) + femmesh.addNode(69.3246444240427, -75.50062036486882, 5.0, 1676) + femmesh.addNode(71.14260501011513, -73.79010606019442, 2.5000000000000004, 1677) + femmesh.addNode(74.65089747822155, -70.23883189302093, 7.499999999999999, 1678) + femmesh.addNode(72.9183737408259, -72.03582977236559, 5.0, 1679) + femmesh.addNode(74.65089747822155, -70.23883189302093, 2.5, 1680) + femmesh.addNode(77.98212626506367, -66.52095897669898, 7.5, 1681) + femmesh.addNode(76.33914873123781, -68.40017815027934, 5.0, 1682) + femmesh.addNode(77.98212626506367, -66.52095897669898, 2.5, 1683) + femmesh.addNode(81.12839006399872, -62.64530569502932, 7.5, 1684) + femmesh.addNode(79.57885569493405, -64.60228886258491, 5.0, 1685) + femmesh.addNode(81.12839006399872, -62.64530569502932, 2.5, 1686) + femmesh.addNode(84.08222628490006, -58.62106466940755, 7.5, 1687) + femmesh.addNode(82.62981040492487, -60.651170083075655, 5.0, 1688) + femmesh.addNode(84.08222628490006, -58.62106466940755, 2.5, 1689) + femmesh.addNode(86.83662875459632, -54.45778095494175, 7.499999999999999, 1690) + femmesh.addNode(85.48477633371262, -56.55619342897051, 5.0, 1691) + femmesh.addNode(86.83662875459632, -54.45778095494175, 2.5, 1692) + femmesh.addNode(89.38506433474042, -50.16532940063603, 7.5, 1693) + femmesh.addNode(88.13698181753566, -52.32707173247313, 5.0, 1694) + femmesh.addNode(89.38506433474042, -50.16532940063603, 2.5000000000000004, 1695) + femmesh.addNode(91.7214884176915, -45.75389122734025, 7.5, 1696) + femmesh.addNode(90.58013611800635, -47.97383600300733, 5.0, 1697) + femmesh.addNode(91.7214884176915, -45.75389122734025, 2.5000000000000004, 1698) + femmesh.addNode(93.8403592636569, -41.233929879018355, 7.5, 1699) + femmesh.addNode(92.80844434304763, -43.50681163477085, 5.0, 1700) + femmesh.addNode(93.8403592636569, -41.233929879018355, 2.5, 1701) + femmesh.addNode(95.73665114508627, -36.61616620461587, 7.5, 1702) + femmesh.addNode(94.81662119173693, -38.93659391604078, 5.0, 1703) + femmesh.addNode(95.73665114508627, -36.61616620461587, 2.5000000000000004, 1704) + femmesh.addNode(97.40586626714227, -31.91155302939036, 7.5, 1705) + femmesh.addNode(96.59990349045582, -34.27402289832085, 5.0, 1706) + femmesh.addNode(97.40586626714227, -31.91155302939036, 2.5, 1707) + femmesh.addNode(98.84404543597309, -27.13124917602004, 7.5, 1708) + femmesh.addNode(98.1540614906117, -29.530157684936572, 5.0, 1709) + femmesh.addNode(98.84404543597309, -27.13124917602004, 2.5, 1710) + femmesh.addNode(100.04777744948261, -22.286592997109274, 7.5, 1711) + femmesh.addNode(99.47540890113412, -24.716250200064056, 5.0, 1712) + femmesh.addNode(100.04777744948261, -22.286592997109274, 2.5, 1713) + femmesh.addNode(101.01420718832509, -17.38907548186884, 7.5, 1714) + femmesh.addNode(100.56081163194996, -19.843718500409082, 5.0, 1715) + femmesh.addNode(101.01420718832509, -17.38907548186884, 2.5, 1716) + femmesh.addNode(101.74104238793274, -12.450313000759188, 7.5, 1717) + femmesh.addNode(101.40769522769884, -14.924119692837735, 4.999999999999999, 1718) + femmesh.addNode(101.74104238793274, -12.450313000759188, 2.5, 1719) + femmesh.addNode(102.22655907551406, -7.482019752742719, 7.5, 1720) + femmesh.addNode(102.0140509740567, -9.969122522196285, 5.000000000000001, 1721) + femmesh.addNode(102.22655907551406, -7.482019752742719, 2.5, 1722) + femmesh.addNode(-0.2853112673120588, 94.72413287949848, 10.0, 1723) + femmesh.addNode(-0.2853112673122157, -94.72413287949868, 10.0, 1724) + femmesh.addNode(-4.479502520223326e-16, 54.92763154760362, 10.0, 1725) + femmesh.addNode(4.287564466048963e-14, 64.9144736471679, 10.0, 1726) + femmesh.addNode(0.0, 74.90131574673225, 10.0, 1727) + femmesh.addNode(1.395708945243054e-15, -9.333568703443396, 10.0, 1728) + femmesh.addNode(-4.308722690807155e-15, 34.953947348474976, 10.0, 1729) + femmesh.addNode(-4.801714581503802e-14, 84.88815784629651, 10.0, 1730) + femmesh.addNode(1.8464920793956026e-15, -34.95394734847532, 10.0, 1731) + femmesh.addNode(4.2165101616987295e-15, -24.967105248910986, 10.0, 1732) + femmesh.addNode(0.10498849441157056, 9.243460001242807, 10.0, 1733) + femmesh.addNode(-6.4207898257488215e-15, -54.92763154760395, 10.0, 1734) + femmesh.addNode(-4.7628567756419216e-14, -84.88815784629682, 10.0, 1735) + femmesh.addNode(0.0, -64.91447364716826, 10.0, 1736) + femmesh.addNode(-0.10498849441157235, 24.89702070275489, 10.0, 1737) + femmesh.addNode(-4.347399669712137e-15, -44.94078944803966, 10.0, 1738) + femmesh.addNode(-7.216449660063518e-15, 44.94078944803931, 10.0, 1739) + femmesh.addNode(-1.449133223237431e-14, -74.90131574673258, 10.0, 1740) + femmesh.addNode(0.10498849441157139, 19.926961168357977, 10.0, 1741) + femmesh.addNode(-0.12248657681350102, -14.906426523071014, 10.0, 1742) + femmesh.addNode(-0.04755187788535142, 89.85643438501832, 10.0, 1743) + femmesh.addNode(-0.047551877885377354, -89.85643438501862, 10.0, 1744) + femmesh.addNode(7.145940776748271e-15, 69.90789469695007, 10.0, 1745) + femmesh.addNode(-2.0688917950951327e-15, 39.94736839825713, 10.0, 1746) + femmesh.addNode(-8.002857635839668e-15, 79.89473679651441, 10.0, 1747) + femmesh.addNode(-1.0649376138032293e-14, -79.89473679651474, 10.0, 1748) + femmesh.addNode(1.0105003735157218e-15, -29.960526298693143, 10.0, 1749) + femmesh.addNode(-2.4152220387290515e-15, -69.90789469695042, 10.0, 1750) + femmesh.addNode(-4.1681793171942244e-16, -39.94736839825747, 10.0, 1751) + femmesh.addNode(-0.01749808240192944, 29.948845541000182, 10.0, 1752) + femmesh.addNode(-1.0701316376248033e-15, -59.92105259738611, 10.0, 1753) + femmesh.addNode(7.0712824014112165e-15, 59.92105259738577, 10.0, 1754) + femmesh.addNode(-1.4254297219643292e-15, 49.93421049782146, 10.0, 1755) + femmesh.addNode(-1.794698249243493e-15, -49.934210497821795, 10.0, 1756) + femmesh.addNode(-0.020414429468916133, -19.961378094749545, 10.0, 1757) + femmesh.addNode(0.03499616480385684, 14.848578961164343, 10.0, 1758) + femmesh.addNode(-1.08193663740298, 98.96321859746833, 10.0, 1759) + femmesh.addNode(-1.0819366374036892, -98.96321859746874, 10.0, 1760) + femmesh.addNode(-2.2627254638290366, -5.164465262893022, 10.0, 1761) + femmesh.addNode(2.4192029088375038, -5.1245003301337135, 10.0, 1762) + femmesh.addNode(2.270377686453866, 5.157897573227971, 10.0, 1763) + femmesh.addNode(-2.4133386482671932, 5.119467198528593, 10.0, 1764) + femmesh.addNode(-80.60171324798912, 59.15413544460329, 10.0, 1765) + femmesh.addNode(-80.60171324798927, -59.15413544460309, 10.0, 1766) + femmesh.addNode(-0.2853112673123716, 94.72413287949861, 0.0, 1767) + femmesh.addNode(-0.07533427848942643, -94.72413287949894, 0.0, 1768) + femmesh.addNode(-4.479502520223326e-16, 54.92763154760362, 0.0, 1769) + femmesh.addNode(4.287564466048963e-14, 64.9144736471679, 0.0, 1770) + femmesh.addNode(0.0, 74.90131574673225, 0.0, 1771) + femmesh.addNode(0.08999013806706094, -9.273496235309892, 0.0, 1772) + femmesh.addNode(-4.308722690807155e-15, 34.953947348474976, 0.0, 1773) + femmesh.addNode(-2.879567945329859e-15, -19.973684199128815, 0.0, 1774) + femmesh.addNode(0.10498849441157201, -34.883862802319555, 0.0, 1775) + femmesh.addNode(0.10498849441157163, 9.243460001242804, 0.0, 1776) + femmesh.addNode(-6.446305499989104e-15, -54.927631547603966, 0.0, 1777) + femmesh.addNode(2.968385764219323e-14, -84.88815784629692, 0.0, 1778) + femmesh.addNode(1.299545214078903e-15, -64.91447364716826, 0.0, 1779) + femmesh.addNode(-0.10498849441157235, 24.89702070275489, 0.0, 1780) + femmesh.addNode(2.4833617986310832e-15, -44.940789448039645, 0.0, 1781) + femmesh.addNode(0.0, 84.8881578462966, 0.0, 1782) + femmesh.addNode(-7.216449660063518e-15, 44.94078944803931, 0.0, 1783) + femmesh.addNode(-1.449133223237431e-14, -74.90131574673258, 0.0, 1784) + femmesh.addNode(0.1399846592154287, -29.913803267922646, 0.0, 1785) + femmesh.addNode(0.10498849441157139, 19.926961168357977, 0.0, 1786) + femmesh.addNode(-0.0475518778853954, 89.85643438501836, 0.0, 1787) + femmesh.addNode(-0.01255571308156642, -89.8564343850187, 0.0, 1788) + femmesh.addNode(7.145940776748271e-15, 69.90789469695007, 0.0, 1789) + femmesh.addNode(-2.0688917950951327e-15, 39.94736839825713, 0.0, 1790) + femmesh.addNode(2.236028095069777e-15, -79.89473679651475, 0.0, 1791) + femmesh.addNode(-1.9025716964825258e-15, -69.90789469695042, 0.0, 1792) + femmesh.addNode(0.0, 79.89473679651442, 0.0, 1793) + femmesh.addNode(0.017498082401929377, -39.93568764056484, 0.0, 1794) + femmesh.addNode(0.014998356344509526, -14.861372171970885, 0.0, 1795) + femmesh.addNode(-0.01749808240192944, 29.948845541000182, 0.0, 1796) + femmesh.addNode(-8.577933809850335e-16, -59.921052597386115, 0.0, 1797) + femmesh.addNode(7.0712824014112165e-15, 59.92105259738577, 0.0, 1798) + femmesh.addNode(-8.08520353509691e-16, -49.934210497821795, 0.0, 1799) + femmesh.addNode(-1.4254297219643292e-15, 49.93421049782146, 0.0, 1800) + femmesh.addNode(0.023330776535904298, -24.9593180771159, 0.0, 1801) + femmesh.addNode(0.03499616480385701, 14.848578961164343, 0.0, 1802) + femmesh.addNode(-1.0819366374048933, 98.96321859746932, 0.0, 1803) + femmesh.addNode(-1.081936637404952, -98.96321859746953, 0.0, 1804) + femmesh.addNode(2.2692845117931157, -5.160086803116528, 0.0, 1805) + femmesh.addNode(-2.414176399777149, -5.1211449090638475, 0.0, 1806) + femmesh.addNode(-2.255073241204368, 5.157897573227965, 0.0, 1807) + femmesh.addNode(2.425067169407999, 5.119467198528598, 0.0, 1808) + femmesh.addNode(-80.60171324798912, 59.15413544460329, 0.0, 1809) + femmesh.addNode(-80.60171324798927, -59.15413544460309, 0.0, 1810) + femmesh.addNode(2.121320343559643, 2.1213203435596424, 7.5, 1811) + femmesh.addNode(2.182098464197385e-15, 3.0, 5.000000000000001, 1812) + femmesh.addNode(2.121320343559644, -2.121320343559641, 7.5, 1813) + femmesh.addNode(2.1134441994840667e-15, -3.0, 5.0, 1814) + femmesh.addNode(2.121320343559642, -2.121320343559643, 2.5, 1815) + femmesh.addNode(2.121320343559644, 2.121320343559641, 2.5, 1816) + femmesh.addNode(-2.1213203435596433, 2.121320343559642, 7.5, 1817) + femmesh.addNode(-3.0, 3.6739403974420594e-16, 5.0, 1818) + femmesh.addNode(-2.12132034355964, -2.121320343559645, 7.5, 1819) + femmesh.addNode(-2.1213203435596375, 2.1213203435596473, 2.5, 1820) + femmesh.addNode(-2.121320343559643, -2.1213203435596424, 2.5, 1821) + femmesh.addNode(-7.481740346109426, 97.21251751391586, 7.499999999999801, 1822) + femmesh.addNode(-12.376237459793572, 96.7113165370982, 7.5, 1823) + femmesh.addNode(-9.92332989215345, 96.9936983718607, 4.9999999999999485, 1824) + femmesh.addNode(-7.481740346109836, 97.21251751391583, 2.4999999999999596, 1825) + femmesh.addNode(-7.481740346109924, -97.21251751391583, 2.500000000000086, 1826) + femmesh.addNode(-9.923329892154184, -96.99369837186063, 5.0, 1827) + femmesh.addNode(-12.376237459793572, 96.7113165370982, 2.5, 1828) + femmesh.addNode(-7.481740346110097, -97.21251751391581, 7.500000000000043, 1829) + femmesh.addNode(-17.256673422289886, 95.96070665848826, 7.5, 1830) + femmesh.addNode(-14.821207968105751, 96.36691234218392, 5.0, 1831) + femmesh.addNode(-17.256673422289886, 95.96070665848826, 2.5, 1832) + femmesh.addNode(-22.092848669382985, 94.96397231409259, 7.5, 1833) + femmesh.addNode(-19.68107192327408, 95.49295999156645, 5.0, 1834) + femmesh.addNode(-22.092848669382985, 94.96397231409259, 2.5, 1835) + femmesh.addNode(-26.87235915476493, 93.72366997433105, 7.5, 1836) + femmesh.addNode(-24.490456953454434, 94.37408287348278, 5.0, 1837) + femmesh.addNode(-26.87235915476493, 93.72366997433105, 2.5, 1838) + femmesh.addNode(-31.58294616853359, 92.24298082410124, 7.5, 1839) + femmesh.addNode(-29.237027725128208, 93.01315073579696, 5.0, 1840) + femmesh.addNode(-31.58294616853359, 92.24298082410124, 2.5, 1841) + femmesh.addNode(-36.212527778899606, 90.52570260352816, 7.4999999999999964, 1842) + femmesh.addNode(-33.908610013696936, 91.41365416030042, 5.0, 1843) + femmesh.addNode(-36.212527778899606, 90.52570260352816, 2.5000000000000027, 1844) + femmesh.addNode(-40.74922982048493, 88.57623986734424, 7.499999999999999, 1845) + femmesh.addNode(-38.49322192849735, 89.57969560990621, 5.0, 1846) + femmesh.addNode(-40.74922982048493, 88.57623986734424, 2.5, 1847) + femmesh.addNode(-45.181416349732025, 86.39959268788348, 7.499999999999998, 1848) + femmesh.addNode(-42.979104644509746, 87.51597890646188, 5.0, 1849) + femmesh.addNode(-45.181416349732025, 86.39959268788348, 2.4999999999999996, 1850) + femmesh.addNode(-49.497719489311166, 84.0013438306642, 7.5, 1851) + femmesh.addNode(-47.3547525619371, 85.2277971661694, 5.0, 1852) + femmesh.addNode(-49.497719489311166, 84.0013438306642, 2.4999999999999996, 1853) + femmesh.addNode(-53.68706858497857, 81.38764443545351, 7.5, 1854) + femmesh.addNode(-51.60894281630028, 82.72101922355556, 5.0, 1855) + femmesh.addNode(-53.68706858497857, 81.38764443545351, 2.5, 1856) + femmesh.addNode(-57.73871860010348, 78.56519823953903, 7.5, 1857) + femmesh.addNode(-55.730764063360965, 80.00207457881324, 5.0, 1858) + femmesh.addNode(-57.73871860010348, 78.56519823953903, 2.5, 1859) + femmesh.addNode(-61.64227767503579, 75.54124438367285, 7.5, 1860) + femmesh.addNode(-59.70964446504269, 77.07793690712147, 4.999999999999999, 1861) + femmesh.addNode(-61.64227767503579, 75.54124438367285, 2.5, 1862) + femmesh.addNode(-65.38773378062898, 72.32353884478825, 7.5, 1863) + femmesh.addNode(-63.53537880457094, 73.9561061722403, 5.0, 1864) + femmesh.addNode(-65.38773378062898, 72.32353884478825, 2.5, 1865) + femmesh.addNode(-68.96548039755643, 68.92033454311041, 7.5, 1866) + femmesh.addNode(-67.19815466128574, 70.64458939025637, 5.0, 1867) + femmesh.addNode(-68.9654803975564, 68.92033454311044, 2.5, 1868) + femmesh.addNode(-72.3663411555571, 65.3403601746847, 7.5, 1869) + femmesh.addNode(-70.68857757799296, 67.151880092817, 5.0, 1870) + femmesh.addNode(-72.3663411555571, 65.3403601746847, 2.5, 1871) + femmesh.addNode(-75.58159336941512, 61.592797823612344, 7.5, 1872) + femmesh.addNode(-73.99769515630308, 63.48693654252692, 5.0, 1873) + femmesh.addNode(-75.58159336941512, 61.592797823612344, 2.5, 1874) + femmesh.addNode(-78.60299041130689, 57.68725941141594, 7.5, 1875) + femmesh.addNode(-77.1170200181575, 59.65915875638119, 5.0, 1876) + femmesh.addNode(-78.60299041130689, 57.68725941141594, 2.5, 1877) + femmesh.addNode(-81.42278286213416, 53.633762043937885, 7.5, 1878) + femmesh.addNode(-80.03855157464888, 55.67836439616624, 5.0, 1879) + femmesh.addNode(-81.42278286213416, 53.633762043937885, 2.5, 1880) + femmesh.addNode(-84.03373838759308, 49.442702319003224, 7.5, 1881) + femmesh.addNode(-82.75479654630207, 51.554763587666166, 5.0, 1882) + femmesh.addNode(-84.03373838759308, 49.442702319003224, 2.5, 1883) + femmesh.addNode(-86.42916028800029, 45.12482966074391, 7.5, 1884) + femmesh.addNode(-85.2587881821847, 47.29893273325902, 5.0, 1885) + femmesh.addNode(-86.42916028800029, 45.12482966074391, 2.5, 1886) + femmesh.addNode(-88.6029046742985, 40.69121874897792, 7.5, 1887) + femmesh.addNode(-87.5441041285524, 42.92178738507022, 5.0, 1888) + femmesh.addNode(-88.6029046742985, 40.69121874897792, 2.5, 1889) + femmesh.addNode(-90.54939622618781, 36.153241114357186, 7.5, 1890) + femmesh.addNode(-89.6048829011995, 38.4345542482585, 5.0, 1891) + femmesh.addNode(-90.54939622618781, 36.153241114357186, 2.5, 1892) + femmesh.addNode(-92.26364249196524, 31.52253597213943, 7.5, 1893) + femmesh.addNode(-91.43583891926498, 33.848742386242776, 5.0, 1894) + femmesh.addNode(-92.26364249196524, 31.52253597213943, 2.5, 1895) + femmesh.addNode(-93.7412466933965, 26.8109803693893, 7.5, 1896) + femmesh.addNode(-93.03227606193524, 29.176113701723068, 5.0, 1897) + femmesh.addNode(-93.7412466933965, 26.8109803693893, 2.4999999999999996, 1898) + femmesh.addNode(-94.97841900277623, 22.030658722177893, 7.5, 1899) + femmesh.addNode(-94.39009971327236, 24.42865276920731, 5.0, 1900) + femmesh.addNode(-94.97841900277623, 22.030658722177893, 2.5, 1901) + femmesh.addNode(-95.97198626325374, 17.193831820912855, 7.499999999999999, 1902) + femmesh.addNode(-95.50582726427469, 19.618536096419813, 5.0, 1903) + femmesh.addNode(-95.97198626325374, 17.193831820912855, 2.4999999999999996, 1904) + femmesh.addNode(-96.71940012749266, 12.312905383294956, 7.5, 1905) + femmesh.addNode(-96.37659704523365, 14.758100893430004, 5.0, 1906) + femmesh.addNode(-96.71940012749266, 12.312905383294956, 2.5, 1907) + femmesh.addNode(-97.2187435937903, 7.400398235558702, 7.5, 1908) + femmesh.addNode(-97.00017566547697, 9.859813429604573, 5.0, 1909) + femmesh.addNode(-97.2187435937903, 7.400398235558702, 2.5, 1910) + femmesh.addNode(-97.46873592289235, 2.4689102036068826, 7.5, 1911) + femmesh.addNode(-97.37496374167233, 4.936237059542291, 4.999999999999999, 1912) + femmesh.addNode(-97.46873592289235, 2.4689102036068826, 2.5, 1913) + femmesh.addNode(-97.46873592289236, -2.4689102036065558, 7.5, 1914) + femmesh.addNode(-97.5, 1.4183640017283e-13, 5.0, 1915) + femmesh.addNode(-97.46873592289236, -2.4689102036065558, 2.5, 1916) + femmesh.addNode(-97.21874359379031, -7.400398235558376, 7.5, 1917) + femmesh.addNode(-97.37496374167235, -4.936237059541965, 5.0, 1918) + femmesh.addNode(-97.21874359379031, -7.400398235558376, 2.5, 1919) + femmesh.addNode(-96.7194001274927, -12.31290538329463, 7.5, 1920) + femmesh.addNode(-97.00017566547699, -9.859813429604293, 5.0, 1921) + femmesh.addNode(-96.7194001274927, -12.31290538329463, 2.5, 1922) + femmesh.addNode(-95.9719862632538, -17.193831820912532, 7.5, 1923) + femmesh.addNode(-96.37659704523371, -14.75810089342968, 5.0, 1924) + femmesh.addNode(-95.9719862632538, -17.193831820912532, 2.5, 1925) + femmesh.addNode(-94.9784190027763, -22.030658722177577, 7.5, 1926) + femmesh.addNode(-95.50582726427476, -19.61853609641949, 4.999999999999999, 1927) + femmesh.addNode(-94.9784190027763, -22.030658722177577, 2.5, 1928) + femmesh.addNode(-93.74124669339659, -26.81098036938898, 7.5, 1929) + femmesh.addNode(-94.39009971327245, -24.428652769206998, 5.0, 1930) + femmesh.addNode(-93.74124669339659, -26.81098036938898, 2.5, 1931) + femmesh.addNode(-92.26364249196534, -31.52253597213916, 7.5, 1932) + femmesh.addNode(-93.03227606193532, -29.176113701722763, 5.000000000000001, 1933) + femmesh.addNode(-92.26364249196534, -31.52253597213916, 2.5, 1934) + femmesh.addNode(-90.5493962261879, -36.15324111435692, 7.499999999999997, 1935) + femmesh.addNode(-91.43583891926508, -33.848742386242506, 5.0, 1936) + femmesh.addNode(-90.5493962261879, -36.15324111435692, 2.4999999999999996, 1937) + femmesh.addNode(-88.60290467429864, -40.69121874897762, 7.5, 1938) + femmesh.addNode(-89.60488290119963, -38.434554248258195, 5.0, 1939) + femmesh.addNode(-88.60290467429864, -40.69121874897762, 2.5, 1940) + femmesh.addNode(-86.42916028800045, -45.12482966074362, 7.5, 1941) + femmesh.addNode(-87.54410412855258, -42.92178738506988, 5.0, 1942) + femmesh.addNode(-86.42916028800042, -45.12482966074366, 2.5, 1943) + femmesh.addNode(-84.03373838759322, -49.442702319002976, 7.5, 1944) + femmesh.addNode(-85.25878818218484, -47.29893273325877, 5.0, 1945) + femmesh.addNode(-84.03373838759322, -49.442702319002976, 2.5, 1946) + femmesh.addNode(-81.42278286213431, -53.63376204393766, 7.5, 1947) + femmesh.addNode(-82.75479654630223, -51.55476358766592, 5.0, 1948) + femmesh.addNode(-81.42278286213433, -53.633762043937615, 2.4999999999999996, 1949) + femmesh.addNode(-78.60299041130705, -57.68725941141571, 7.5, 1950) + femmesh.addNode(-80.03855157464906, -55.67836439616598, 5.0, 1951) + femmesh.addNode(-78.6029904113071, -57.687259411415646, 2.500000000000006, 1952) + femmesh.addNode(-75.58159336941532, -61.59279782361209, 7.5, 1953) + femmesh.addNode(-77.11702001815772, -59.659158756380926, 5.0, 1954) + femmesh.addNode(-75.58159336941532, -61.59279782361209, 2.5, 1955) + femmesh.addNode(-72.36634115555732, -65.34036017468446, 7.5, 1956) + femmesh.addNode(-73.99769515630328, -63.48693654252667, 5.0, 1957) + femmesh.addNode(-72.36634115555732, -65.34036017468446, 2.5, 1958) + femmesh.addNode(-68.96548039755668, -68.92033454311019, 7.5, 1959) + femmesh.addNode(-70.68857757799319, -67.15188009281677, 5.0, 1960) + femmesh.addNode(-68.96548039755668, -68.92033454311019, 2.5, 1961) + femmesh.addNode(-65.38773378062928, -72.32353884478796, 7.5, 1962) + femmesh.addNode(-67.19815466128601, -70.64458939025612, 5.0, 1963) + femmesh.addNode(-65.38773378062928, -72.32353884478796, 2.5, 1964) + femmesh.addNode(-61.64227767503611, -75.54124438367258, 7.5, 1965) + femmesh.addNode(-63.53537880457125, -73.95610617224003, 5.0, 1966) + femmesh.addNode(-61.64227767503611, -75.54124438367258, 2.5, 1967) + femmesh.addNode(-57.738718600103844, -78.56519823953876, 7.5, 1968) + femmesh.addNode(-59.70964446504306, -77.07793690712118, 5.0, 1969) + femmesh.addNode(-57.738718600103844, -78.56519823953876, 2.5, 1970) + femmesh.addNode(-53.687068584978945, -81.38764443545327, 7.5, 1971) + femmesh.addNode(-55.73076406336134, -80.00207457881297, 5.0, 1972) + femmesh.addNode(-53.687068584978945, -81.38764443545327, 2.5, 1973) + femmesh.addNode(-49.497719489311564, -84.00134383066396, 7.500000000000001, 1974) + femmesh.addNode(-51.60894281630067, -82.72101922355532, 5.0, 1975) + femmesh.addNode(-49.497719489311564, -84.00134383066396, 2.5, 1976) + femmesh.addNode(-45.18141634973247, -86.39959268788324, 7.5, 1977) + femmesh.addNode(-47.3547525619375, -85.22779716616918, 5.0, 1978) + femmesh.addNode(-45.18141634973247, -86.39959268788324, 2.5, 1979) + femmesh.addNode(-40.74922982048538, -88.57623986734401, 7.5, 1980) + femmesh.addNode(-42.979104644510194, -87.51597890646165, 5.0, 1981) + femmesh.addNode(-40.74922982048538, -88.57623986734401, 2.5, 1982) + femmesh.addNode(-36.21252777890009, -90.52570260352796, 7.5, 1983) + femmesh.addNode(-38.4932219284978, -89.57969560990601, 5.0, 1984) + femmesh.addNode(-36.21252777890009, -90.52570260352796, 2.5, 1985) + femmesh.addNode(-31.58294616853408, -92.24298082410108, 7.5, 1986) + femmesh.addNode(-33.908610013697405, -91.41365416030025, 5.0, 1987) + femmesh.addNode(-31.58294616853408, -92.24298082410108, 2.5, 1988) + femmesh.addNode(-26.872359154765455, -93.72366997433089, 7.5, 1989) + femmesh.addNode(-29.237027725128705, -93.01315073579678, 5.0, 1990) + femmesh.addNode(-26.872359154765455, -93.72366997433089, 2.5, 1991) + femmesh.addNode(-22.092848669383514, -94.96397231409246, 7.5, 1992) + femmesh.addNode(-24.490456953454935, -94.37408287348265, 5.0, 1993) + femmesh.addNode(-22.092848669383514, -94.96397231409246, 2.5, 1994) + femmesh.addNode(-17.25667342229042, -95.96070665848818, 7.5, 1995) + femmesh.addNode(-19.68107192327461, -95.49295999156635, 5.0, 1996) + femmesh.addNode(-17.25667342229042, -95.96070665848818, 2.5, 1997) + femmesh.addNode(-12.376237459794131, -96.71131653709811, 7.5, 1998) + femmesh.addNode(-14.82120796810631, -96.36691234218384, 5.0, 1999) + femmesh.addNode(-12.376237459794131, -96.71131653709811, 2.5, 2000) + femmesh.addNode(-5.0, -90.18853304210681, 5.094971544492571, 2001) + femmesh.addNode(-5.0, 54.92763154760371, 5.0, 2002) + femmesh.addNode(-5.0, -4.9934210497823415, 5.0, 2003) + femmesh.addNode(-5.0, 64.91447364716791, 5.0, 2004) + femmesh.addNode(-5.0, 90.18853304210663, 5.094971544492484, 2005) + femmesh.addNode(-5.0, -30.030610844848923, 5.1049884944115735, 2006) + femmesh.addNode(-5.0, 44.870704901883556, 5.1049884944115504, 2007) + femmesh.addNode(-5.0, 19.973684199128613, 5.0, 2008) + femmesh.addNode(-5.0, -45.04591626727327, 5.122486576813504, 2009) + femmesh.addNode(-5.0, -60.026179416619755, 5.122486576813504, 2010) + femmesh.addNode(-5.0, 29.925484025614963, 5.017498082401989, 2011) + femmesh.addNode(-5.0, -74.90131574673262, 5.0, 2012) + femmesh.addNode(-5.0, -19.9035996529731, 5.1049884944115735, 2013) + femmesh.addNode(-5.0, 9.916757553408416, 5.104988494411548, 2014) + femmesh.addNode(-5.0, 74.8662734736543, 4.9825019175981025, 2015) + femmesh.addNode(-5.0, 84.90427459755665, 4.893342013935278, 2016) + femmesh.addNode(-5.0, 4.946698019011492, 4.895011505588423, 2017) + femmesh.addNode(-5.0, -84.90427459755702, 4.8933420139352615, 2018) + femmesh.addNode(-5.0, -49.98677390743862, 5.142901006282422, 2019) + femmesh.addNode(-5.0, -35.00067037924582, 5.139984659215433, 2020) + femmesh.addNode(-5.0, -64.9670370567851, 5.1429010062824165, 2021) + femmesh.addNode(-5.0, -14.933540118576161, 4.895011505588428, 2022) + femmesh.addNode(-5.0, 39.90064536748662, 5.139984659215445, 2023) + femmesh.addNode(-5.0, 49.92252974012885, 5.017498082401925, 2024) + femmesh.addNode(-5.0, 14.968582391653712, 5.017498082401924, 2025) + femmesh.addNode(-5.0, 24.961264870064355, 5.002916347066998, 2026) + femmesh.addNode(-5.0, -24.96710524891101, 5.034996164803857, 2027) + femmesh.addNode(-5.0, 59.92105259738577, 5.0, 2028) + femmesh.addNode(-5.0, 69.90205431810375, 4.997083652933017, 2029) + femmesh.addNode(-5.0, 79.8915825428781, 4.97930732192223, 2030) + femmesh.addNode(-5.0, -9.979054927769411, 4.982501917598071, 2031) + femmesh.addNode(-5.0, -79.8974229217248, 4.98222366898921, 2032) + femmesh.addNode(-5.0, -54.95391325241237, 5.044231263849321, 2033) + femmesh.addNode(-5.0, -0.007787171795257564, 4.98250191759807, 2034) + femmesh.addNode(-5.0, -69.91665526521993, 5.023816834380402, 2035) + femmesh.addNode(-5.0, -39.9726767065915, 5.0437452060048225, 2036) + femmesh.addNode(-5.0, 34.94031979783358, 5.026247123602905, 2037) + femmesh.addNode(-5.0, -93.82112677702426, 3.670984687479204, 2038) + femmesh.addNode(-5.0, 93.82112677702435, 3.670984687478688, 2039) + femmesh.addNode(-5.0, 94.226274036321, 6.753191246394235, 2040) + femmesh.addNode(-5.0, -94.22627403632117, 6.753191246394355, 2041) + femmesh.addNode(7.481740346109677, 97.21251751391584, 2.5000000000000817, 2042) + femmesh.addNode(9.923329892153594, 96.99369837186069, 5.0, 2043) + femmesh.addNode(7.481740346109802, -97.21251751391584, 7.499999999999936, 2044) + femmesh.addNode(12.376237459794183, -96.71131653709811, 7.5, 2045) + femmesh.addNode(9.923329892154063, -96.99369837186065, 4.999999999999934, 2046) + femmesh.addNode(7.481740346110109, 97.2125175139158, 7.499999999999999, 2047) + femmesh.addNode(7.481740346110234, -97.2125175139158, 2.4999999999999543, 2048) + femmesh.addNode(12.376237459794183, -96.71131653709811, 2.5, 2049) + femmesh.addNode(17.25667342229047, -95.96070665848816, 7.5, 2050) + femmesh.addNode(14.82120796810636, -96.36691234218382, 5.0, 2051) + femmesh.addNode(17.25667342229047, -95.96070665848816, 2.5, 2052) + femmesh.addNode(22.092848669383564, -94.96397231409246, 7.5, 2053) + femmesh.addNode(19.68107192327466, -95.49295999156634, 5.0, 2054) + femmesh.addNode(22.092848669383564, -94.96397231409246, 2.5, 2055) + femmesh.addNode(26.872359154765505, -93.72366997433087, 7.5, 2056) + femmesh.addNode(24.490456953454984, -94.37408287348264, 5.0, 2057) + femmesh.addNode(26.872359154765505, -93.72366997433087, 2.5, 2058) + femmesh.addNode(31.58294616853413, -92.24298082410105, 7.5, 2059) + femmesh.addNode(29.237027725128755, -93.01315073579677, 5.0, 2060) + femmesh.addNode(31.58294616853413, -92.24298082410105, 2.5, 2061) + femmesh.addNode(36.21252777890014, -90.52570260352795, 7.5, 2062) + femmesh.addNode(33.908610013697455, -91.41365416030024, 5.0, 2063) + femmesh.addNode(36.21252777890014, -90.52570260352795, 2.5, 2064) + femmesh.addNode(40.749229820485425, -88.576239867344, 7.5, 2065) + femmesh.addNode(38.49322192849785, -89.579695609906, 5.0, 2066) + femmesh.addNode(40.749229820485425, -88.576239867344, 2.5, 2067) + femmesh.addNode(45.181416349732515, -86.39959268788321, 7.5, 2068) + femmesh.addNode(42.97910464451024, -87.51597890646164, 5.0, 2069) + femmesh.addNode(45.181416349732515, -86.39959268788321, 2.5, 2070) + femmesh.addNode(49.497719489311606, -84.00134383066394, 7.5, 2071) + femmesh.addNode(47.354752561937545, -85.22779716616914, 5.0, 2072) + femmesh.addNode(49.497719489311606, -84.00134383066394, 2.5, 2073) + femmesh.addNode(53.68706858497899, -81.38764443545324, 7.5, 2074) + femmesh.addNode(51.60894281630071, -82.72101922355529, 5.0, 2075) + femmesh.addNode(53.68706858497899, -81.38764443545324, 2.5, 2076) + femmesh.addNode(57.73871860010388, -78.56519823953872, 7.5, 2077) + femmesh.addNode(55.730764063361384, -80.00207457881294, 5.0, 2078) + femmesh.addNode(57.73871860010388, -78.56519823953872, 2.5, 2079) + femmesh.addNode(61.64227767503615, -75.54124438367255, 7.5, 2080) + femmesh.addNode(59.70964446504309, -77.07793690712114, 5.0, 2081) + femmesh.addNode(61.64227767503615, -75.54124438367255, 2.5, 2082) + femmesh.addNode(65.3877337806293, -72.32353884478792, 7.5, 2083) + femmesh.addNode(63.535378804571295, -73.95610617223998, 5.0, 2084) + femmesh.addNode(65.3877337806293, -72.32353884478792, 2.5, 2085) + femmesh.addNode(68.96548039755673, -68.92033454311013, 7.5, 2086) + femmesh.addNode(67.19815466128607, -70.64458939025604, 5.000000000000001, 2087) + femmesh.addNode(68.96548039755673, -68.92033454311013, 2.5, 2088) + femmesh.addNode(72.36634115555738, -65.34036017468439, 7.5, 2089) + femmesh.addNode(70.68857757799324, -67.1518800928167, 5.0, 2090) + femmesh.addNode(72.36634115555738, -65.34036017468439, 2.5, 2091) + femmesh.addNode(75.58159336941539, -61.59279782361201, 7.5, 2092) + femmesh.addNode(73.99769515630335, -63.4869365425266, 5.0, 2093) + femmesh.addNode(75.58159336941539, -61.59279782361201, 2.5, 2094) + femmesh.addNode(78.60299041130715, -57.6872594114156, 7.5, 2095) + femmesh.addNode(77.11702001815776, -59.659158756380855, 5.0, 2096) + femmesh.addNode(78.60299041130715, -57.6872594114156, 2.5, 2097) + femmesh.addNode(81.42278286213438, -53.633762043937544, 7.5, 2098) + femmesh.addNode(80.0385515746491, -55.678364396165904, 5.0, 2099) + femmesh.addNode(81.42278286213438, -53.633762043937544, 2.5, 2100) + femmesh.addNode(84.03373838759327, -49.442702319002855, 7.5, 2101) + femmesh.addNode(82.7547965463023, -51.5547635876658, 5.0, 2102) + femmesh.addNode(84.03373838759327, -49.442702319002855, 2.5, 2103) + femmesh.addNode(86.42916028800049, -45.124829660743536, 7.5, 2104) + femmesh.addNode(85.2587881821849, -47.29893273325865, 5.0, 2105) + femmesh.addNode(86.42916028800049, -45.124829660743536, 2.5, 2106) + femmesh.addNode(88.6029046742987, -40.69121874897749, 7.5, 2107) + femmesh.addNode(87.54410412855262, -42.92178738506979, 5.0, 2108) + femmesh.addNode(88.6029046742987, -40.69121874897749, 2.5, 2109) + femmesh.addNode(90.54939622618795, -36.153241114356796, 7.5, 2110) + femmesh.addNode(89.60488290119969, -38.434554248258074, 5.0, 2111) + femmesh.addNode(90.54939622618795, -36.153241114356796, 2.5, 2112) + femmesh.addNode(92.26364249196538, -31.52253597213903, 7.5, 2113) + femmesh.addNode(91.43583891926512, -33.84874238624238, 5.0, 2114) + femmesh.addNode(92.26364249196538, -31.52253597213903, 2.5, 2115) + femmesh.addNode(93.74124669339663, -26.810980369388847, 7.5, 2116) + femmesh.addNode(93.03227606193538, -29.17611370172263, 5.0, 2117) + femmesh.addNode(93.74124669339663, -26.810980369388847, 2.5, 2118) + femmesh.addNode(94.97841900277635, -22.030658722177442, 7.5, 2119) + femmesh.addNode(94.39009971327249, -24.428652769206863, 5.0, 2120) + femmesh.addNode(94.97841900277635, -22.030658722177442, 2.5, 2121) + femmesh.addNode(95.97198626325383, -17.193831820912397, 7.5, 2122) + femmesh.addNode(95.50582726427477, -19.618536096419355, 5.0, 2123) + femmesh.addNode(95.97198626325383, -17.193831820912397, 2.5, 2124) + femmesh.addNode(96.7194001274927, -12.312905383294495, 7.5, 2125) + femmesh.addNode(96.37659704523374, -14.758100893429544, 5.0, 2126) + femmesh.addNode(96.7194001274927, -12.312905383294495, 2.5, 2127) + femmesh.addNode(97.21874359379031, -7.400398235558327, 7.499999999999992, 2128) + femmesh.addNode(97.00017566547702, -9.859813429604113, 5.0, 2129) + femmesh.addNode(97.21874359379031, -7.400398235558327, 2.500000000000014, 2130) + femmesh.addNode(97.46873592289236, -2.4689102036065917, 7.5, 2131) + femmesh.addNode(97.37496374167235, -4.936237059541915, 5.000000000000011, 2132) + femmesh.addNode(97.46873592289236, -2.468910203606505, 2.5, 2133) + femmesh.addNode(97.46873592289235, 2.468910203606803, 7.5, 2134) + femmesh.addNode(97.5, 1.4931417925815102e-13, 5.0, 2135) + femmesh.addNode(97.46873592289235, 2.4689102036068897, 2.5, 2136) + femmesh.addNode(97.2187435937903, 7.400398235558537, 7.5, 2137) + femmesh.addNode(97.37496374167233, 4.936237059542212, 4.999999999999989, 2138) + femmesh.addNode(97.2187435937903, 7.400398235558537, 2.5, 2139) + femmesh.addNode(96.71940012749268, 12.31290538329479, 7.5, 2140) + femmesh.addNode(97.00017566547697, 9.85981342960441, 5.0, 2141) + femmesh.addNode(96.71940012749268, 12.31290538329479, 2.5, 2142) + femmesh.addNode(95.97198626325377, 17.193831820912692, 7.5, 2143) + femmesh.addNode(96.37659704523368, 14.75810089342984, 4.999999999999999, 2144) + femmesh.addNode(95.97198626325377, 17.193831820912692, 2.5, 2145) + femmesh.addNode(94.97841900277626, 22.030658722177815, 7.5, 2146) + femmesh.addNode(95.5058272642747, 19.618536096419735, 5.0, 2147) + femmesh.addNode(94.97841900277626, 22.030658722177815, 2.5, 2148) + femmesh.addNode(93.74124669339653, 26.810980369389217, 7.5, 2149) + femmesh.addNode(94.39009971327239, 24.428652769207236, 5.0, 2150) + femmesh.addNode(93.74124669339653, 26.810980369389217, 2.5, 2151) + femmesh.addNode(92.26364249196526, 31.522535972139398, 7.5, 2152) + femmesh.addNode(93.03227606193525, 29.176113701722993, 5.0, 2153) + femmesh.addNode(92.26364249196526, 31.522535972139398, 2.5, 2154) + femmesh.addNode(90.54939622618781, 36.15324111435716, 7.499999999999998, 2155) + femmesh.addNode(91.435838919265, 33.84874238624274, 5.0, 2156) + femmesh.addNode(90.54939622618781, 36.15324111435716, 2.5, 2157) + femmesh.addNode(88.60290467429854, 40.691218748977846, 7.5, 2158) + femmesh.addNode(89.60488290119953, 38.43455424825843, 5.0, 2159) + femmesh.addNode(88.60290467429854, 40.691218748977846, 2.5, 2160) + femmesh.addNode(86.4291602880003, 45.12482966074388, 7.5, 2161) + femmesh.addNode(87.54410412855245, 42.92178738507014, 5.0, 2162) + femmesh.addNode(86.4291602880003, 45.12482966074388, 2.5, 2163) + femmesh.addNode(84.03373838759309, 49.442702319003196, 7.5, 2164) + femmesh.addNode(85.25878818218473, 47.298932733258994, 5.0, 2165) + femmesh.addNode(84.03373838759309, 49.442702319003196, 2.5, 2166) + femmesh.addNode(81.42278286213417, 53.633762043937864, 7.5, 2167) + femmesh.addNode(82.7547965463021, 51.55476358766613, 5.0, 2168) + femmesh.addNode(81.42278286213417, 53.633762043937864, 2.5, 2169) + femmesh.addNode(78.60299041130692, 57.687259411415916, 7.5, 2170) + femmesh.addNode(80.03855157464889, 55.67836439616622, 5.0, 2171) + femmesh.addNode(78.60299041130692, 57.687259411415916, 2.5, 2172) + femmesh.addNode(75.58159336941513, 61.592797823612315, 7.5, 2173) + femmesh.addNode(77.11702001815753, 59.65915875638115, 5.0, 2174) + femmesh.addNode(75.58159336941513, 61.592797823612315, 2.5, 2175) + femmesh.addNode(72.36634115555712, 65.34036017468468, 7.5, 2176) + femmesh.addNode(73.99769515630311, 63.48693654252689, 5.0, 2177) + femmesh.addNode(72.36634115555712, 65.34036017468468, 2.5, 2178) + femmesh.addNode(68.96548039755646, 68.9203345431104, 7.5, 2179) + femmesh.addNode(70.68857757799297, 67.15188009281697, 5.0, 2180) + femmesh.addNode(68.96548039755646, 68.9203345431104, 2.5, 2181) + femmesh.addNode(65.38773378062903, 72.32353884478819, 7.499999999999998, 2182) + femmesh.addNode(67.19815466128578, 70.64458939025631, 5.0, 2183) + femmesh.addNode(65.38773378062903, 72.32353884478819, 2.5, 2184) + femmesh.addNode(61.64227767503586, 75.5412443836728, 7.5, 2185) + femmesh.addNode(63.535378804571, 73.95610617224024, 5.0, 2186) + femmesh.addNode(61.64227767503586, 75.5412443836728, 2.5, 2187) + femmesh.addNode(57.738718600103574, 78.56519823953894, 7.5, 2188) + femmesh.addNode(59.70964446504279, 77.07793690712138, 5.0, 2189) + femmesh.addNode(57.738718600103574, 78.56519823953894, 2.5, 2190) + femmesh.addNode(53.68706858497874, 81.3876444354534, 7.5, 2191) + femmesh.addNode(55.73076406336107, 80.00207457881315, 5.0, 2192) + femmesh.addNode(53.68706858497874, 81.3876444354534, 2.5, 2193) + femmesh.addNode(49.49771948931135, 84.00134383066408, 7.5, 2194) + femmesh.addNode(51.60894281630046, 82.72101922355544, 5.0, 2195) + femmesh.addNode(49.49771948931135, 84.00134383066408, 2.5, 2196) + femmesh.addNode(45.181416349732245, 86.39959268788336, 7.499999999999999, 2197) + femmesh.addNode(47.35475256193728, 85.2277971661693, 5.0, 2198) + femmesh.addNode(45.181416349732245, 86.39959268788336, 2.4999999999999996, 2199) + femmesh.addNode(40.749229820485155, 88.57623986734413, 7.5, 2200) + femmesh.addNode(42.979104644509974, 87.51597890646177, 5.0, 2201) + femmesh.addNode(40.749229820485155, 88.57623986734413, 2.5, 2202) + femmesh.addNode(36.21252777889986, 90.52570260352806, 7.5, 2203) + femmesh.addNode(38.493221928497576, 89.57969560990611, 5.0, 2204) + femmesh.addNode(36.21252777889986, 90.52570260352806, 2.5, 2205) + femmesh.addNode(31.582946168533848, 92.24298082410115, 7.5, 2206) + femmesh.addNode(33.90861001369717, 91.41365416030034, 5.0, 2207) + femmesh.addNode(31.582946168533848, 92.24298082410115, 2.5, 2208) + femmesh.addNode(26.872359154765217, 93.72366997433096, 7.5, 2209) + femmesh.addNode(29.237027725128467, 93.01315073579687, 5.0, 2210) + femmesh.addNode(26.872359154765217, 93.72366997433096, 2.5, 2211) + femmesh.addNode(22.092848669383272, 94.96397231409252, 7.5, 2212) + femmesh.addNode(24.490456953454697, 94.3740828734827, 5.0, 2213) + femmesh.addNode(22.092848669383272, 94.96397231409252, 2.5, 2214) + femmesh.addNode(17.256673422290174, 95.96070665848822, 7.5, 2215) + femmesh.addNode(19.68107192327437, 95.49295999156641, 5.0, 2216) + femmesh.addNode(17.256673422290174, 95.96070665848822, 2.5, 2217) + femmesh.addNode(12.376237459793886, 96.71131653709814, 7.5, 2218) + femmesh.addNode(14.821207968106066, 96.36691234218387, 5.0, 2219) + femmesh.addNode(12.376237459793886, 96.71131653709814, 2.5, 2220) + femmesh.addNode(5.0, 74.9013157467322, 5.0, 2221) + femmesh.addNode(5.0, 64.91447364716808, 5.0, 2222) + femmesh.addNode(5.0, 34.95394734847497, 5.0, 2223) + femmesh.addNode(5.0, 44.94078944803934, 5.000000000000007, 2224) + femmesh.addNode(5.0, 54.92763154760371, 5.000000000000003, 2225) + femmesh.addNode(5.0, 84.95824239245218, 5.1049884944115895, 2226) + femmesh.addNode(5.0, -90.23144194791644, 5.159250214540474, 2227) + femmesh.addNode(5.0, -69.90789469695044, 5.0, 2228) + femmesh.addNode(5.0, -59.92105259738611, 5.0, 2229) + femmesh.addNode(5.0, -29.96052629869314, 5.0, 2230) + femmesh.addNode(5.0, -20.00872647220669, 5.017498082401937, 2231) + femmesh.addNode(5.0, -5.063505595938111, 5.104988494411592, 2232) + femmesh.addNode(5.0, -39.94736839825747, 5.000000000000003, 2233) + femmesh.addNode(5.0, 4.993421049781986, 5.0, 2234) + femmesh.addNode(5.0, 24.967105248910585, 5.0, 2235) + femmesh.addNode(5.0, -79.89473679651476, 5.0, 2236) + femmesh.addNode(5.0, -49.93421049782178, 5.000000000000002, 2237) + femmesh.addNode(5.0, 14.980263149346243, 5.0, 2238) + femmesh.addNode(5.0, 90.39513847423186, 5.101686242875829, 2239) + femmesh.addNode(5.0, -10.033565130335006, 5.139984659215445, 2240) + femmesh.addNode(5.0, 49.934210497821454, 5.000000000000002, 2241) + femmesh.addNode(5.0, 29.96052629869277, 5.0, 2242) + femmesh.addNode(5.0, 39.94736839825714, 5.000000000000001, 2243) + femmesh.addNode(5.0, -24.972945627757298, 5.002916347066989, 2244) + femmesh.addNode(5.0, 59.921052597385795, 5.0, 2245) + femmesh.addNode(5.0, -54.92763154760395, 5.0, 2246) + femmesh.addNode(5.0, -84.94646835493648, 5.026541702423412, 2247) + femmesh.addNode(5.0, -64.91447364716828, 5.0, 2248) + femmesh.addNode(5.0, -34.95394734847531, 5.0, 2249) + femmesh.addNode(5.0, -74.90131574673259, 5.0, 2250) + femmesh.addNode(5.0, 19.973684199128456, 5.0, 2251) + femmesh.addNode(5.0, -0.011680757692815291, 5.017498082401932, 2252) + femmesh.addNode(5.0, -44.940789448039624, 5.000000000000001, 2253) + femmesh.addNode(5.0, 9.986842099564129, 5.0, 2254) + femmesh.addNode(5.0, 69.90789469695008, 5.0, 2255) + femmesh.addNode(5.0, 79.906417554207, 5.017498082401931, 2256) + femmesh.addNode(5.0, -14.993890699988057, 5.0262471236028965, 2257) + femmesh.addNode(5.0, -93.8233606850735, 3.674331140522103, 2258) + femmesh.addNode(5.0, 93.9814667438041, 3.510084682257441, 2259) + femmesh.addNode(5.0, 94.37061000828385, 6.892668627718211, 2260) + femmesh.addNode(5.0, -94.23530259909293, 6.766716271012516, 2261) + femmesh.addNode(102.46918662808096, 2.513123908507805, 27.5, 2262) + femmesh.addNode(102.22655907551405, 7.4820197527430174, 27.5, 2263) + femmesh.addNode(102.37844066218436, 4.990479694337564, 25.0, 2264) + femmesh.addNode(102.46918662808096, 2.513123908507805, 22.5, 2265) + femmesh.addNode(102.46918662808096, -2.5131239085076476, 22.500000000000046, 2266) + femmesh.addNode(102.37844066218437, -4.9904796943372505, 25.0, 2267) + femmesh.addNode(102.22655907551405, 7.4820197527430174, 22.5, 2268) + femmesh.addNode(102.46918662808096, -2.5131239085077386, 27.5, 2269) + femmesh.addNode(101.74104238793271, 12.450313000759458, 27.5, 2270) + femmesh.addNode(102.01405097405667, 9.969122522196567, 25.0, 2271) + femmesh.addNode(101.74104238793271, 12.450313000759458, 22.5, 2272) + femmesh.addNode(101.01420718832503, 17.38907548186917, 27.5, 2273) + femmesh.addNode(101.4076952276988, 14.92411969283799, 25.0, 2274) + femmesh.addNode(101.01420718832503, 17.38907548186917, 22.5, 2275) + femmesh.addNode(100.04777744948254, 22.286592997109576, 27.5, 2276) + femmesh.addNode(100.56081163194992, 19.84371850040931, 25.0, 2277) + femmesh.addNode(100.04777744948254, 22.286592997109576, 22.5, 2278) + femmesh.addNode(98.84404543597302, 27.131249176020315, 27.5, 2279) + femmesh.addNode(99.47540890113405, 24.71625020006434, 25.0, 2280) + femmesh.addNode(98.84404543597302, 27.131249176020315, 22.5, 2281) + femmesh.addNode(97.40586626714222, 31.9115530293906, 27.5, 2282) + femmesh.addNode(98.15406149061162, 29.53015768493683, 25.0, 2283) + femmesh.addNode(97.4058662671422, 31.911553029390607, 22.5, 2284) + femmesh.addNode(95.73665114508619, 36.616166204616086, 27.5, 2285) + femmesh.addNode(96.59990349045574, 34.27402289832108, 25.0, 2286) + femmesh.addNode(95.73665114508619, 36.616166204616086, 22.5, 2287) + femmesh.addNode(93.84035926365682, 41.23392987901854, 27.5, 2288) + femmesh.addNode(94.81662119173684, 38.93659391604098, 25.0, 2289) + femmesh.addNode(93.84035926365682, 41.23392987901854, 22.5, 2290) + femmesh.addNode(91.72148841769142, 45.753891227340404, 27.5, 2291) + femmesh.addNode(92.80844434304754, 43.50681163477103, 25.0, 2292) + femmesh.addNode(91.72148841769142, 45.753891227340404, 22.5, 2293) + femmesh.addNode(89.38506433474029, 50.165329400636246, 27.5, 2294) + femmesh.addNode(90.58013611800622, 47.973836003007555, 25.0, 2295) + femmesh.addNode(89.38506433474029, 50.165329400636246, 22.5, 2296) + femmesh.addNode(86.83662875459619, 54.457780954941946, 27.5, 2297) + femmesh.addNode(88.13698181753554, 52.32707173247332, 25.0, 2298) + femmesh.addNode(86.83662875459619, 54.457780954941946, 22.5, 2299) + femmesh.addNode(84.08222628489989, 58.621064669407794, 27.5, 2300) + femmesh.addNode(85.4847763337125, 56.556193428970694, 25.0, 2301) + femmesh.addNode(84.08222628489989, 58.621064669407794, 22.5, 2302) + femmesh.addNode(81.12839006399857, 62.64530569502953, 27.5, 2303) + femmesh.addNode(82.6298104049247, 60.65117008307587, 25.0, 2304) + femmesh.addNode(81.12839006399857, 62.64530569502953, 22.5, 2305) + femmesh.addNode(77.98212626506353, 66.52095897669915, 27.5, 2306) + femmesh.addNode(79.57885569493389, 64.60228886258511, 25.0, 2307) + femmesh.addNode(77.98212626506353, 66.52095897669915, 22.5, 2308) + femmesh.addNode(74.65089747822141, 70.23883189302109, 27.5, 2309) + femmesh.addNode(76.33914873123767, 68.40017815027952, 25.0, 2310) + femmesh.addNode(74.65089747822141, 70.23883189302109, 22.5, 2311) + femmesh.addNode(71.142605010115, 73.79010606019455, 27.5, 2312) + femmesh.addNode(72.91837374082576, 72.03582977236573, 25.0, 2313) + femmesh.addNode(71.142605010115, 73.79010606019455, 22.5, 2314) + femmesh.addNode(67.4655701428767, 77.1663582482456, 27.5, 2315) + femmesh.addNode(69.32464442404257, 75.50062036486894, 25.0, 2316) + femmesh.addNode(67.4655701428767, 77.1663582482456, 22.5, 2317) + femmesh.addNode(63.62851439696674, 80.35958035999812, 27.5, 2318) + femmesh.addNode(65.5664847097864, 78.7863318272995, 25.0, 2319) + femmesh.addNode(63.62851439696674, 80.35958035999812, 22.5, 2320) + femmesh.addNode(59.64053884469019, 83.36219842539543, 27.5, 2321) + femmesh.addNode(61.65280853769175, 81.88517081507935, 25.0, 2322) + femmesh.addNode(59.64053884469019, 83.36219842539543, 22.5, 2323) + femmesh.addNode(55.511102523458945, 86.1670905661206, 27.5, 2324) + femmesh.addNode(57.592898715249476, 84.78978722449429, 25.0, 2325) + femmesh.addNode(55.511102523458945, 86.1670905661206, 22.5, 2326) + femmesh.addNode(51.250000000000036, 88.76760388790494, 27.5, 2327) + femmesh.addNode(53.396384900012876, 87.493291626328, 25.0, 2328) + femmesh.addNode(51.250000000000036, 88.76760388790494, 22.5, 2329) + femmesh.addNode(46.86733813872548, 91.15757026045817, 27.5, 2330) + femmesh.addNode(49.07322075911397, 89.98927160682692, 25.0, 2331) + femmesh.addNode(46.86733813872548, 91.15757026045817, 22.5, 2332) + femmesh.addNode(42.37351212936654, 93.331320947592, 27.5, 2333) + femmesh.addNode(44.63366036026462, 92.27180697723733, 25.0, 2334) + femmesh.addNode(42.37351212936654, 93.331320947592, 22.5, 2335) + femmesh.addNode(37.77918083073209, 95.28370005283614, 27.5, 2336) + femmesh.addNode(40.08823385024101, 94.33548381583883, 25.0, 2337) + femmesh.addNode(37.77918083073209, 95.28370005283614, 22.5, 2338) + femmesh.addNode(33.095241489073224, 97.01007674865497, 27.5, 2339) + femmesh.addNode(35.44772247853867, 96.17540730916872, 25.0, 2340) + femmesh.addNode(33.095241489073224, 97.01007674865497, 22.5, 2341) + femmesh.addNode(28.332803891019083, 98.50635626025893, 27.5, 2342) + femmesh.addNode(30.723133025439985, 97.78721336197856, 25.0, 2343) + femmesh.addNode(28.332803891019083, 98.50635626025893, 22.5, 2344) + femmesh.addNode(23.50316401239025, 99.76898957795795, 27.5, 2345) + femmesh.addNode(25.92567169514729, 99.16707894838608, 25.0, 2346) + femmesh.addNode(23.50316401239023, 99.76898957795797, 22.5, 2347) + femmesh.addNode(18.617777225392242, 100.79498187502027, 27.499999999999996, 2348) + femmesh.addNode(21.066717535904573, 100.31173117967016, 25.0, 2349) + femmesh.addNode(18.617777225392242, 100.79498187502027, 22.5, 2350) + femmesh.addNode(13.688231127738293, 101.58189961107055, 27.5, 2351) + femmesh.addNode(16.157795450152317, 101.21845506720125, 25.0, 2352) + femmesh.addNode(13.688231127738293, 101.58189961107055, 22.5, 2353) + femmesh.addNode(8.726218058147657, 102.12787630417886, 27.5, 2354) + femmesh.addNode(11.210548858732139, 101.88509996209446, 25.0, 2355) + femmesh.addNode(8.726218058147657, 102.12787630417886, 22.5, 2356) + femmesh.addNode(3.743507363410032, 102.43161695794954, 27.5, 2357) + femmesh.addNode(6.236712083978917, 102.31008465631115, 25.0, 2358) + femmesh.addNode(3.7435073634100093, 102.43161695794954, 22.5, 2359) + femmesh.addNode(-1.248082517204747, 102.49240113310961, 27.5, 2360) + femmesh.addNode(1.2480825172047367, 102.49240113310961, 25.0, 2361) + femmesh.addNode(-1.2480825172047925, 102.49240113310961, 22.5, 2362) + femmesh.addNode(-6.23671208397895, 102.31008465631113, 27.5, 2363) + femmesh.addNode(-3.743507363410042, 102.43161695794954, 25.0, 2364) + femmesh.addNode(-6.23671208397895, 102.31008465631113, 22.5, 2365) + femmesh.addNode(-11.21054885873217, 101.88509996209446, 27.5, 2366) + femmesh.addNode(-8.72621805814769, 102.12787630417886, 25.0, 2367) + femmesh.addNode(-11.21054885873217, 101.88509996209446, 22.5, 2368) + femmesh.addNode(-16.15779545015235, 101.21845506720123, 27.499999999999996, 2369) + femmesh.addNode(-13.688231127738348, 101.58189961107055, 25.0, 2370) + femmesh.addNode(-16.15779545015235, 101.21845506720123, 22.500000000000004, 2371) + femmesh.addNode(-21.066717535904605, 100.31173117967015, 27.5, 2372) + femmesh.addNode(-18.617777225392295, 100.79498187502026, 25.0, 2373) + femmesh.addNode(-21.066717535904605, 100.31173117967015, 22.5, 2374) + femmesh.addNode(-25.925671695147305, 99.16707894838608, 27.5, 2375) + femmesh.addNode(-23.503164012390265, 99.76898957795795, 25.0, 2376) + femmesh.addNode(-25.925671695147305, 99.16707894838608, 22.5, 2377) + femmesh.addNode(-30.72313302544002, 97.78721336197856, 27.5, 2378) + femmesh.addNode(-28.33280389101911, 98.50635626025893, 25.0, 2379) + femmesh.addNode(-30.723133025440042, 97.78721336197854, 22.5, 2380) + femmesh.addNode(-35.44772247853872, 96.1754073091687, 27.5, 2381) + femmesh.addNode(-33.095241489073274, 97.01007674865494, 25.0, 2382) + femmesh.addNode(-35.44772247853872, 96.1754073091687, 22.5, 2383) + femmesh.addNode(-40.08823385024104, 94.33548381583881, 27.5, 2384) + femmesh.addNode(-37.779180830732116, 95.28370005283612, 25.0, 2385) + femmesh.addNode(-40.08823385024104, 94.33548381583881, 22.5, 2386) + femmesh.addNode(-44.63366036026463, 92.27180697723732, 27.5, 2387) + femmesh.addNode(-42.373512129366546, 93.331320947592, 25.0, 2388) + femmesh.addNode(-44.63366036026463, 92.27180697723732, 22.5, 2389) + femmesh.addNode(-49.073220759113944, 89.98927160682695, 27.5, 2390) + femmesh.addNode(-46.867338138725486, 91.15757026045817, 25.0, 2391) + femmesh.addNode(-49.073220759113944, 89.98927160682695, 22.5, 2392) + femmesh.addNode(-53.39638490001288, 87.493291626328, 27.5, 2393) + femmesh.addNode(-51.25000000000002, 88.76760388790494, 25.0, 2394) + femmesh.addNode(-53.39638490001284, 87.49329162632802, 22.5, 2395) + femmesh.addNode(-57.59289871524942, 84.78978722449433, 27.5, 2396) + femmesh.addNode(-55.511102523458916, 86.16709056612062, 25.0, 2397) + femmesh.addNode(-57.59289871524942, 84.78978722449433, 22.5, 2398) + femmesh.addNode(-61.652808537691705, 81.88517081507939, 27.5, 2399) + femmesh.addNode(-59.64053884469015, 83.36219842539546, 25.0, 2400) + femmesh.addNode(-61.652808537691705, 81.88517081507939, 22.5, 2401) + femmesh.addNode(-65.56648470978637, 78.78633182729952, 27.5, 2402) + femmesh.addNode(-63.62851439696672, 80.35958035999815, 25.0, 2403) + femmesh.addNode(-65.56648470978637, 78.78633182729952, 22.5, 2404) + femmesh.addNode(-69.32464442404253, 75.50062036486898, 27.5, 2405) + femmesh.addNode(-67.46557014287666, 77.16635824824566, 25.0, 2406) + femmesh.addNode(-69.32464442404253, 75.50062036486898, 22.5, 2407) + femmesh.addNode(-72.9183737408257, 72.03582977236579, 27.5, 2408) + femmesh.addNode(-71.14260501011495, 73.7901060601946, 25.0, 2409) + femmesh.addNode(-72.9183737408257, 72.03582977236579, 22.5, 2410) + femmesh.addNode(-76.33914873123764, 68.40017815027954, 27.5, 2411) + femmesh.addNode(-74.65089747822138, 70.23883189302113, 25.0, 2412) + femmesh.addNode(-76.33914873123764, 68.40017815027954, 22.5, 2413) + femmesh.addNode(-79.57885569493385, 64.60228886258516, 27.5, 2414) + femmesh.addNode(-77.98212626506347, 66.5209589766992, 25.0, 2415) + femmesh.addNode(-79.57885569493382, 64.60228886258518, 22.5, 2416) + femmesh.addNode(-82.62981040492465, 60.65117008307594, 27.5, 2417) + femmesh.addNode(-81.12839006399851, 62.64530569502959, 25.0, 2418) + femmesh.addNode(-82.62981040492463, 60.651170083075975, 22.5, 2419) + femmesh.addNode(-85.48477633371243, 56.55619342897081, 27.5, 2420) + femmesh.addNode(-84.08222628489983, 58.621064669407886, 25.0, 2421) + femmesh.addNode(-85.48477633371243, 56.55619342897081, 22.5, 2422) + femmesh.addNode(-88.13698181753549, 52.32707173247342, 27.5, 2423) + femmesh.addNode(-86.83662875459612, 54.457780954942045, 25.0, 2424) + femmesh.addNode(-88.13698181753549, 52.32707173247342, 22.5, 2425) + femmesh.addNode(-90.58013611800615, 47.97383600300768, 27.5, 2426) + femmesh.addNode(-89.38506433474022, 50.165329400636374, 25.0, 2427) + femmesh.addNode(-90.58013611800615, 47.97383600300768, 22.5, 2428) + femmesh.addNode(-92.80844434304747, 43.50681163477117, 27.5, 2429) + femmesh.addNode(-91.72148841769136, 45.753891227340524, 25.0, 2430) + femmesh.addNode(-92.80844434304747, 43.50681163477117, 22.5, 2431) + femmesh.addNode(-94.81662119173679, 38.93659391604111, 27.5, 2432) + femmesh.addNode(-93.84035926365677, 41.233929879018675, 25.0, 2433) + femmesh.addNode(-94.81662119173679, 38.93659391604111, 22.5, 2434) + femmesh.addNode(-96.59990349045567, 34.27402289832127, 27.5, 2435) + femmesh.addNode(-95.73665114508611, 36.61616620461624, 25.0, 2436) + femmesh.addNode(-96.59990349045567, 34.27402289832127, 22.5, 2437) + femmesh.addNode(-98.15406149061157, 29.530157684937002, 27.5, 2438) + femmesh.addNode(-97.40586626714214, 31.91155302939078, 25.0, 2439) + femmesh.addNode(-98.15406149061157, 29.530157684937002, 22.5, 2440) + femmesh.addNode(-99.475408901134, 24.716250200064533, 27.5, 2441) + femmesh.addNode(-98.84404543597297, 27.131249176020468, 25.0, 2442) + femmesh.addNode(-99.475408901134, 24.716250200064533, 22.5, 2443) + femmesh.addNode(-100.56081163194987, 19.843718500409473, 27.5, 2444) + femmesh.addNode(-100.0477774494825, 22.286592997109796, 25.0, 2445) + femmesh.addNode(-100.56081163194987, 19.843718500409473, 22.5, 2446) + femmesh.addNode(-101.40769522769877, 14.924119692838172, 27.5, 2447) + femmesh.addNode(-101.01420718832499, 17.38907548186937, 25.0, 2448) + femmesh.addNode(-101.40769522769877, 14.924119692838172, 22.5, 2449) + femmesh.addNode(-102.01405097405664, 9.969122522196816, 27.5, 2450) + femmesh.addNode(-101.74104238793268, 12.450313000759673, 25.0, 2451) + femmesh.addNode(-102.01405097405664, 9.969122522196816, 22.5, 2452) + femmesh.addNode(-102.37844066218435, 4.990479694337784, 27.5, 2453) + femmesh.addNode(-102.22655907551403, 7.482019752743251, 25.0, 2454) + femmesh.addNode(-102.37844066218435, 4.990479694337784, 22.5, 2455) + femmesh.addNode(-102.5, 1.9462920572978604e-13, 27.5, 2456) + femmesh.addNode(-102.46960565912678, 2.495979980499136, 25.0, 2457) + femmesh.addNode(-102.5, 1.9462920572978604e-13, 22.5, 2458) + femmesh.addNode(-102.37844066218437, -4.990479694337395, 27.5, 2459) + femmesh.addNode(-102.4696056591268, -2.495979980498747, 25.0, 2460) + femmesh.addNode(-102.37844066218437, -4.990479694337395, 22.5, 2461) + femmesh.addNode(-102.01405097405669, -9.969122522196429, 27.5, 2462) + femmesh.addNode(-102.22655907551406, -7.482019752742862, 25.0, 2463) + femmesh.addNode(-102.01405097405669, -9.969122522196429, 22.5, 2464) + femmesh.addNode(-101.40769522769882, -14.924119692837834, 27.5, 2465) + femmesh.addNode(-101.74104238793272, -12.450313000759287, 25.0, 2466) + femmesh.addNode(-101.40769522769882, -14.924119692837834, 22.5, 2467) + femmesh.addNode(-100.56081163194993, -19.84371850040918, 27.5, 2468) + femmesh.addNode(-101.01420718832505, -17.38907548186903, 25.0, 2469) + femmesh.addNode(-100.56081163194993, -19.84371850040918, 22.5, 2470) + femmesh.addNode(-99.47540890113407, -24.71625020006424, 27.5, 2471) + femmesh.addNode(-100.04777744948255, -22.28659299710946, 25.0, 2472) + femmesh.addNode(-99.47540890113407, -24.71625020006424, 22.5, 2473) + femmesh.addNode(-98.15406149061165, -29.530157684936714, 27.5, 2474) + femmesh.addNode(-98.84404543597303, -27.13124917602023, 25.0, 2475) + femmesh.addNode(-98.15406149061165, -29.530157684936714, 22.5, 2476) + femmesh.addNode(-96.59990349045576, -34.27402289832099, 27.5, 2477) + femmesh.addNode(-97.40586626714223, -31.911553029390497, 25.0, 2478) + femmesh.addNode(-96.59990349045576, -34.27402289832099, 22.5, 2479) + femmesh.addNode(-94.8166211917369, -38.93659391604087, 27.5, 2480) + femmesh.addNode(-95.73665114508621, -36.616166204615965, 25.0, 2481) + femmesh.addNode(-94.8166211917369, -38.93659391604087, 22.5, 2482) + femmesh.addNode(-92.8084443430476, -43.5068116347709, 27.5, 2483) + femmesh.addNode(-93.84035926365688, -41.233929879018405, 25.0, 2484) + femmesh.addNode(-92.8084443430476, -43.5068116347709, 22.5, 2485) + femmesh.addNode(-90.58013611800628, -47.973836003007456, 27.5, 2486) + femmesh.addNode(-91.72148841769148, -45.7538912273403, 25.0, 2487) + femmesh.addNode(-90.58013611800628, -47.973836003007456, 22.5, 2488) + femmesh.addNode(-88.1369818175356, -52.32707173247324, 27.5, 2489) + femmesh.addNode(-89.38506433474035, -50.16532940063615, 25.0, 2490) + femmesh.addNode(-88.1369818175356, -52.32707173247324, 22.5, 2491) + femmesh.addNode(-85.48477633371256, -56.55619342897059, 27.5, 2492) + femmesh.addNode(-86.83662875459626, -54.45778095494183, 25.0, 2493) + femmesh.addNode(-85.48477633371256, -56.55619342897059, 22.5, 2494) + femmesh.addNode(-82.62981040492475, -60.651170083075804, 27.5, 2495) + femmesh.addNode(-84.08222628489995, -58.621064669407716, 25.0, 2496) + femmesh.addNode(-82.62981040492475, -60.651170083075804, 22.5, 2497) + femmesh.addNode(-79.57885569493392, -64.60228886258506, 27.5, 2498) + femmesh.addNode(-81.12839006399861, -62.64530569502947, 25.0, 2499) + femmesh.addNode(-79.57885569493392, -64.60228886258506, 22.5, 2500) + femmesh.addNode(-76.33914873123769, -68.40017815027949, 27.5, 2501) + femmesh.addNode(-77.98212626506354, -66.5209589766991, 25.0, 2502) + femmesh.addNode(-76.33914873123769, -68.40017815027949, 22.5, 2503) + femmesh.addNode(-72.9183737408258, -72.03582977236569, 27.5, 2504) + femmesh.addNode(-74.65089747822145, -70.23883189302104, 25.0, 2505) + femmesh.addNode(-72.9183737408258, -72.03582977236569, 22.5, 2506) + femmesh.addNode(-69.32464442404259, -75.50062036486894, 27.5, 2507) + femmesh.addNode(-71.14260501011502, -73.79010606019452, 25.0, 2508) + femmesh.addNode(-69.32464442404259, -75.50062036486894, 22.5, 2509) + femmesh.addNode(-65.5664847097864, -78.7863318272995, 27.5, 2510) + femmesh.addNode(-67.46557014287671, -77.1663582482456, 25.0, 2511) + femmesh.addNode(-65.5664847097864, -78.7863318272995, 22.5, 2512) + femmesh.addNode(-61.652808537691726, -81.88517081507936, 27.5, 2513) + femmesh.addNode(-63.62851439696674, -80.35958035999812, 25.0, 2514) + femmesh.addNode(-61.652808537691726, -81.88517081507936, 22.5, 2515) + femmesh.addNode(-57.59289871524944, -84.78978722449432, 27.5, 2516) + femmesh.addNode(-59.64053884469017, -83.36219842539545, 25.0, 2517) + femmesh.addNode(-57.59289871524944, -84.78978722449432, 22.5, 2518) + femmesh.addNode(-53.396384900012826, -87.49329162632803, 27.5, 2519) + femmesh.addNode(-55.511102523458895, -86.16709056612063, 25.0, 2520) + femmesh.addNode(-53.396384900012826, -87.49329162632803, 22.5, 2521) + femmesh.addNode(-49.07322075911388, -89.98927160682696, 27.5, 2522) + femmesh.addNode(-51.24999999999996, -88.76760388790498, 25.0, 2523) + femmesh.addNode(-49.07322075911388, -89.98927160682696, 22.5, 2524) + femmesh.addNode(-44.63366036026453, -92.27180697723736, 27.5, 2525) + femmesh.addNode(-46.86733813872539, -91.15757026045821, 25.0, 2526) + femmesh.addNode(-44.63366036026453, -92.27180697723736, 22.5, 2527) + femmesh.addNode(-40.088233850240975, -94.33548381583886, 27.5, 2528) + femmesh.addNode(-42.37351212936651, -93.33132094759203, 25.0, 2529) + femmesh.addNode(-40.088233850240975, -94.33548381583886, 22.5, 2530) + femmesh.addNode(-35.44772247853864, -96.17540730916873, 27.5, 2531) + femmesh.addNode(-37.77918083073205, -95.28370005283615, 25.0, 2532) + femmesh.addNode(-35.44772247853864, -96.17540730916873, 22.5, 2533) + femmesh.addNode(-30.72313302544002, -97.78721336197856, 27.5, 2534) + femmesh.addNode(-33.09524148907328, -97.01007674865494, 25.0, 2535) + femmesh.addNode(-30.72313302544002, -97.78721336197856, 22.5, 2536) + femmesh.addNode(-25.925671695147287, -99.16707894838608, 27.5, 2537) + femmesh.addNode(-28.332803891019093, -98.50635626025893, 25.0, 2538) + femmesh.addNode(-25.925671695147287, -99.16707894838608, 22.5, 2539) + femmesh.addNode(-21.06671753590454, -100.31173117967018, 27.5, 2540) + femmesh.addNode(-23.503164012390222, -99.76898957795797, 25.0, 2541) + femmesh.addNode(-21.06671753590454, -100.31173117967018, 22.5, 2542) + femmesh.addNode(-16.15779545015226, -101.21845506720126, 27.5, 2543) + femmesh.addNode(-18.617777225392206, -100.79498187502028, 25.0, 2544) + femmesh.addNode(-16.15779545015226, -101.21845506720126, 22.5, 2545) + femmesh.addNode(-11.21054885873206, -101.88509996209447, 27.5, 2546) + femmesh.addNode(-13.688231127738236, -101.58189961107057, 25.0, 2547) + femmesh.addNode(-11.21054885873206, -101.88509996209447, 22.5, 2548) + femmesh.addNode(-6.236712083978839, -102.31008465631115, 27.5, 2549) + femmesh.addNode(-8.726218058147579, -102.12787630417887, 25.0, 2550) + femmesh.addNode(-6.236712083978839, -102.31008465631115, 22.5, 2551) + femmesh.addNode(-1.2480825172046355, -102.49240113310961, 27.5, 2552) + femmesh.addNode(-3.7435073634099303, -102.43161695794954, 25.0, 2553) + femmesh.addNode(-1.2480825172047265, -102.49240113310961, 22.5, 2554) + femmesh.addNode(3.743507363410075, -102.43161695794954, 27.5, 2555) + femmesh.addNode(1.2480825172047798, -102.49240113310961, 25.0, 2556) + femmesh.addNode(3.743507363410075, -102.43161695794954, 22.5, 2557) + femmesh.addNode(8.726218058147722, -102.12787630417886, 27.5, 2558) + femmesh.addNode(6.236712083978983, -102.31008465631113, 25.0, 2559) + femmesh.addNode(8.726218058147722, -102.12787630417886, 22.5, 2560) + femmesh.addNode(13.688231127738382, -101.58189961107054, 27.5, 2561) + femmesh.addNode(11.210548858732205, -101.88509996209444, 25.0, 2562) + femmesh.addNode(13.688231127738382, -101.58189961107054, 22.5, 2563) + femmesh.addNode(18.61777722539235, -100.79498187502026, 27.5, 2564) + femmesh.addNode(16.157795450152406, -101.21845506720123, 25.0, 2565) + femmesh.addNode(18.61777722539235, -100.79498187502026, 22.5, 2566) + femmesh.addNode(23.50316401239036, -99.76898957795794, 27.5, 2567) + femmesh.addNode(21.066717535904683, -100.31173117967013, 25.0, 2568) + femmesh.addNode(23.50316401239036, -99.76898957795794, 22.5, 2569) + femmesh.addNode(28.332803891019232, -98.5063562602589, 27.5, 2570) + femmesh.addNode(25.92567169514742, -99.16707894838605, 25.0, 2571) + femmesh.addNode(28.332803891019232, -98.5063562602589, 22.5, 2572) + femmesh.addNode(33.095241489073416, -97.0100767486549, 27.5, 2573) + femmesh.addNode(30.723133025440156, -97.7872133619785, 25.0, 2574) + femmesh.addNode(33.095241489073416, -97.0100767486549, 22.5, 2575) + femmesh.addNode(37.77918083073227, -95.28370005283607, 27.5, 2576) + femmesh.addNode(35.44772247853886, -96.17540730916865, 25.0, 2577) + femmesh.addNode(37.77918083073227, -95.28370005283607, 22.5, 2578) + femmesh.addNode(42.37351212936664, -93.33132094759196, 27.5, 2579) + femmesh.addNode(40.08823385024112, -94.3354838158388, 25.0, 2580) + femmesh.addNode(42.37351212936664, -93.33132094759196, 22.5, 2581) + femmesh.addNode(46.8673381387256, -91.15757026045812, 27.5, 2582) + femmesh.addNode(44.63366036026474, -92.27180697723726, 25.0, 2583) + femmesh.addNode(46.8673381387256, -91.15757026045812, 22.5, 2584) + femmesh.addNode(51.25000000000017, -88.76760388790487, 27.5, 2585) + femmesh.addNode(49.07322075911409, -89.98927160682685, 25.0, 2586) + femmesh.addNode(51.25000000000017, -88.76760388790487, 22.5, 2587) + femmesh.addNode(55.51110252345909, -86.1670905661205, 27.5, 2588) + femmesh.addNode(53.39638490001303, -87.4932916263279, 25.0, 2589) + femmesh.addNode(55.51110252345909, -86.1670905661205, 22.5, 2590) + femmesh.addNode(59.64053884469028, -83.36219842539536, 27.5, 2591) + femmesh.addNode(57.59289871524963, -84.78978722449419, 25.0, 2592) + femmesh.addNode(59.64053884469028, -83.36219842539536, 22.5, 2593) + femmesh.addNode(63.62851439696686, -80.35958035999803, 27.5, 2594) + femmesh.addNode(61.65280853769192, -81.88517081507923, 25.0, 2595) + femmesh.addNode(63.62851439696686, -80.35958035999803, 22.5, 2596) + femmesh.addNode(67.46557014287683, -77.1663582482455, 27.5, 2597) + femmesh.addNode(65.5664847097865, -78.78633182729942, 25.0, 2598) + femmesh.addNode(67.46557014287683, -77.1663582482455, 22.5, 2599) + femmesh.addNode(71.14260501011513, -73.79010606019442, 27.5, 2600) + femmesh.addNode(69.3246444240427, -75.50062036486882, 25.0, 2601) + femmesh.addNode(71.14260501011513, -73.79010606019442, 22.5, 2602) + femmesh.addNode(74.65089747822155, -70.23883189302093, 27.5, 2603) + femmesh.addNode(72.9183737408259, -72.03582977236559, 25.0, 2604) + femmesh.addNode(74.65089747822155, -70.23883189302093, 22.5, 2605) + femmesh.addNode(77.98212626506367, -66.52095897669898, 27.5, 2606) + femmesh.addNode(76.33914873123781, -68.40017815027934, 25.0, 2607) + femmesh.addNode(77.98212626506367, -66.52095897669898, 22.5, 2608) + femmesh.addNode(81.12839006399872, -62.64530569502932, 27.5, 2609) + femmesh.addNode(79.57885569493405, -64.60228886258491, 25.0, 2610) + femmesh.addNode(81.12839006399872, -62.64530569502932, 22.5, 2611) + femmesh.addNode(84.08222628490006, -58.62106466940755, 27.5, 2612) + femmesh.addNode(82.62981040492487, -60.651170083075655, 25.0, 2613) + femmesh.addNode(84.08222628490006, -58.62106466940755, 22.5, 2614) + femmesh.addNode(86.83662875459632, -54.45778095494175, 27.5, 2615) + femmesh.addNode(85.48477633371262, -56.55619342897051, 25.0, 2616) + femmesh.addNode(86.83662875459632, -54.45778095494175, 22.5, 2617) + femmesh.addNode(89.38506433474042, -50.16532940063603, 27.5, 2618) + femmesh.addNode(88.13698181753566, -52.32707173247313, 25.0, 2619) + femmesh.addNode(89.38506433474042, -50.16532940063603, 22.5, 2620) + femmesh.addNode(91.7214884176915, -45.75389122734025, 27.5, 2621) + femmesh.addNode(90.58013611800635, -47.97383600300733, 25.0, 2622) + femmesh.addNode(91.7214884176915, -45.75389122734025, 22.5, 2623) + femmesh.addNode(93.8403592636569, -41.233929879018355, 27.5, 2624) + femmesh.addNode(92.80844434304763, -43.50681163477085, 25.0, 2625) + femmesh.addNode(93.8403592636569, -41.233929879018355, 22.5, 2626) + femmesh.addNode(95.73665114508627, -36.61616620461587, 27.5, 2627) + femmesh.addNode(94.81662119173693, -38.93659391604078, 25.0, 2628) + femmesh.addNode(95.73665114508627, -36.61616620461587, 22.5, 2629) + femmesh.addNode(97.40586626714227, -31.91155302939036, 27.5, 2630) + femmesh.addNode(96.59990349045582, -34.27402289832085, 25.0, 2631) + femmesh.addNode(97.40586626714227, -31.91155302939036, 22.5, 2632) + femmesh.addNode(98.84404543597309, -27.13124917602004, 27.5, 2633) + femmesh.addNode(98.1540614906117, -29.530157684936572, 25.0, 2634) + femmesh.addNode(98.84404543597309, -27.13124917602004, 22.5, 2635) + femmesh.addNode(100.04777744948261, -22.286592997109274, 27.5, 2636) + femmesh.addNode(99.47540890113412, -24.716250200064056, 25.0, 2637) + femmesh.addNode(100.04777744948261, -22.286592997109274, 22.5, 2638) + femmesh.addNode(101.01420718832509, -17.38907548186884, 27.5, 2639) + femmesh.addNode(100.56081163194996, -19.843718500409082, 25.0, 2640) + femmesh.addNode(101.01420718832509, -17.38907548186884, 22.5, 2641) + femmesh.addNode(101.74104238793274, -12.450313000759188, 27.5, 2642) + femmesh.addNode(101.40769522769884, -14.924119692837735, 25.0, 2643) + femmesh.addNode(101.74104238793274, -12.450313000759188, 22.5, 2644) + femmesh.addNode(102.22655907551406, -7.482019752742719, 27.5, 2645) + femmesh.addNode(102.0140509740567, -9.969122522196285, 25.0, 2646) + femmesh.addNode(102.22655907551406, -7.482019752742719, 22.5, 2647) + femmesh.addNode(-0.18032277290044454, 94.65404833334267, 30.0, 2648) + femmesh.addNode(-0.07533427848898568, -94.72413287949868, 30.0, 2649) + femmesh.addNode(2.08556908550086e-14, 69.90789469695007, 30.0, 2650) + femmesh.addNode(-0.01749808240194219, 44.90574717496142, 30.0, 2651) + femmesh.addNode(-0.10498849441157279, 59.85096805123001, 30.0, 2652) + femmesh.addNode(2.46099437125243e-15, -29.96052629869314, 30.0, 2653) + femmesh.addNode(0.10498849441156617, 34.883862802319214, 30.0, 2654) + femmesh.addNode(-1.913242660605076e-15, -19.973684199128815, 30.0, 2655) + femmesh.addNode(-7.307699519975692e-15, -59.921052597386115, 30.0, 2656) + femmesh.addNode(0.017498082401926907, 19.938641926050607, 30.0, 2657) + femmesh.addNode(0.0, 79.89473679651448, 30.0, 2658) + femmesh.addNode(0.10498849441162017, -84.81807330014108, 30.0, 2659) + femmesh.addNode(-0.017498082401947758, -69.87285242387256, 30.0, 2660) + femmesh.addNode(0.08999013806706264, -9.273496235309892, 30.0, 2661) + femmesh.addNode(-9.994344553503395e-15, -49.9342104978218, 30.0, 2662) + femmesh.addNode(1.9984014443252818e-15, -39.94736839825747, 30.0, 2663) + femmesh.addNode(-0.0899901380670633, 9.27349623530956, 30.0, 2664) + femmesh.addNode(0.092432781330129, 89.80971135424778, 30.0, 2665) + femmesh.addNode(0.13998465921542716, 29.913803267922304, 30.0, 2666) + femmesh.addNode(-0.139984659215437, 54.88090851683311, 30.0, 2667) + femmesh.addNode(-0.10498849441157315, -79.84801376574424, 30.0, 2668) + femmesh.addNode(0.004942369320439378, -89.84475362732601, 30.0, 2669) + femmesh.addNode(3.7720079490681414e-15, 74.90131574673225, 30.0, 2670) + femmesh.addNode(0.014581735334937182, 39.929847261718194, 30.0, 2671) + femmesh.addNode(-0.0029163470669926585, -64.90863326832195, 30.0, 2672) + femmesh.addNode(-1.480686921479706e-15, -44.94078944803963, 30.0, 2673) + femmesh.addNode(2.393216883912466e-16, -24.967105248910975, 30.0, 2674) + femmesh.addNode(0.014998356344510121, -14.861372171970885, 30.0, 2675) + femmesh.addNode(-0.012082009277523027, 14.85553179312424, 30.0, 2676) + femmesh.addNode(4.471731626962435e-16, -34.953947348475296, 30.0, 2677) + femmesh.addNode(-3.0317037488632014e-15, -54.92763154760395, 30.0, 2678) + femmesh.addNode(-0.01749808240192532, 64.9027928894753, 30.0, 2679) + femmesh.addNode(0.015405463555021351, 84.87617992265811, 30.0, 2680) + femmesh.addNode(0.02624712360289264, 24.953477698269246, 30.0, 2681) + femmesh.addNode(-0.02624712360289653, 49.92058294718005, 30.0, 2682) + femmesh.addNode(-0.020414429468920296, -74.88768819609119, 30.0, 2683) + femmesh.addNode(-1.08193663740298, 98.96321859746833, 30.0, 2684) + femmesh.addNode(-1.0819366374036892, -98.96321859746874, 30.0, 2685) + femmesh.addNode(-2.256166415864965, -5.160086803116528, 30.0, 2686) + femmesh.addNode(2.42422941789785, -5.1211449090638475, 30.0, 2687) + femmesh.addNode(2.2561664158650445, 5.160086803116218, 30.0, 2688) + femmesh.addNode(-2.4242294178979438, 5.121144909063526, 30.0, 2689) + femmesh.addNode(-80.60171324798912, 59.15413544460329, 30.0, 2690) + femmesh.addNode(-80.60171324798927, -59.15413544460309, 30.0, 2691) + femmesh.addNode(-0.18032277290081555, 94.65404833334284, 20.0, 2692) + femmesh.addNode(-0.07533427848942664, -94.72413287949894, 20.0, 2693) + femmesh.addNode(-0.1049884944115734, 54.99771609375938, 20.0, 2694) + femmesh.addNode(-0.0174980824019292, 69.94293697002794, 20.0, 2695) + femmesh.addNode(2.46099437125243e-15, -29.96052629869314, 20.0, 2696) + femmesh.addNode(-1.913242660605076e-15, -19.973684199128815, 20.0, 2697) + femmesh.addNode(0.10498849441156344, -74.83123120057685, 20.0, 2698) + femmesh.addNode(-5.796532892949653e-15, -59.921052597386115, 20.0, 2699) + femmesh.addNode(0.10498849441157163, 9.243460001242804, 20.0, 2700) + femmesh.addNode(-4.308722690807155e-15, 34.953947348474976, 20.0, 2701) + femmesh.addNode(-9.994344553503414e-15, -49.93421049782177, 20.0, 2702) + femmesh.addNode(-0.017498082401933807, 79.85969452343654, 20.0, 2703) + femmesh.addNode(-1.5790877446453186e-14, -84.88815784629692, 20.0, 2704) + femmesh.addNode(0.08999013806706144, -9.273496235309892, 20.0, 2705) + femmesh.addNode(-0.10498849441157235, 24.89702070275489, 20.0, 2706) + femmesh.addNode(5.646944883791222e-15, -39.94736839825746, 20.0, 2707) + femmesh.addNode(-7.216449660063518e-15, 44.94078944803931, 20.0, 2708) + femmesh.addNode(-0.15254037229697465, 89.80971135424787, 20.0, 2709) + femmesh.addNode(-0.13998465921542969, 59.967775628156275, 20.0, 2710) + femmesh.addNode(0.10498849441157139, 19.926961168357977, 20.0, 2711) + femmesh.addNode(0.13998465921542783, -69.86117166617993, 20.0, 2712) + femmesh.addNode(-0.012555713081573739, -89.8564343850187, 20.0, 2713) + femmesh.addNode(-0.005832694133976871, 74.90131574673224, 20.0, 2714) + femmesh.addNode(-2.0688917950951327e-15, 39.94736839825713, 20.0, 2715) + femmesh.addNode(2.393216883912466e-16, -24.967105248910975, 20.0, 2716) + femmesh.addNode(-2.6318129077421775e-15, -54.92763154760395, 20.0, 2717) + femmesh.addNode(0.01749808240192431, -79.88305603882213, 20.0, 2718) + femmesh.addNode(0.01499835634450992, -14.861372171970885, 20.0, 2719) + femmesh.addNode(1.055263735940567e-15, -34.953947348475296, 20.0, 2720) + femmesh.addNode(-0.01749808240192944, 29.948845541000182, 20.0, 2721) + femmesh.addNode(-7.245666116186985e-16, -44.940789448039624, 20.0, 2722) + femmesh.addNode(-0.01749808240193025, 49.945891255514084, 20.0, 2723) + femmesh.addNode(-0.028339742449818368, 84.8703395438118, 20.0, 2724) + femmesh.addNode(0.03499616480385701, 14.848578961164343, 20.0, 2725) + femmesh.addNode(-0.026247123602893295, 64.92810119780931, 20.0, 2726) + femmesh.addNode(0.02333077653590352, -64.90668647537318, 20.0, 2727) + femmesh.addNode(-1.0819366374048933, 98.96321859746932, 20.0, 2728) + femmesh.addNode(-1.081936637404952, -98.96321859746953, 20.0, 2729) + femmesh.addNode(2.269284511793116, -5.160086803116528, 20.0, 2730) + femmesh.addNode(-2.414176399777149, -5.1211449090638475, 20.0, 2731) + femmesh.addNode(-2.255073241204368, 5.157897573227965, 20.0, 2732) + femmesh.addNode(2.425067169407999, 5.119467198528598, 20.0, 2733) + femmesh.addNode(-80.60171324798912, 59.15413544460329, 20.0, 2734) + femmesh.addNode(-80.60171324798927, -59.15413544460309, 20.0, 2735) + femmesh.addNode(2.121320343559643, 2.1213203435596424, 27.5, 2736) + femmesh.addNode(2.8482322789724784e-15, 3.0, 25.0, 2737) + femmesh.addNode(2.121320343559644, -2.121320343559641, 27.5, 2738) + femmesh.addNode(2.1134441994840667e-15, -3.0, 25.0, 2739) + femmesh.addNode(2.121320343559642, -2.121320343559643, 22.5, 2740) + femmesh.addNode(2.121320343559644, 2.121320343559641, 22.5, 2741) + femmesh.addNode(-2.1213203435596433, 2.121320343559642, 27.5, 2742) + femmesh.addNode(-3.0, 3.6739403974420594e-16, 25.0, 2743) + femmesh.addNode(-2.1213203435596393, -2.121320343559646, 27.5, 2744) + femmesh.addNode(-2.121320343559639, 2.1213203435596464, 22.5, 2745) + femmesh.addNode(-2.121320343559643, -2.1213203435596424, 22.5, 2746) + femmesh.addNode(-7.481740346109534, 97.21251751391586, 27.49999999999989, 2747) + femmesh.addNode(-12.376237459793572, 96.7113165370982, 27.5, 2748) + femmesh.addNode(-9.923329892153514, 96.9936983718607, 24.9999999999999, 2749) + femmesh.addNode(-7.481740346109814, 97.21251751391584, 22.499999999999932, 2750) + femmesh.addNode(-7.48174034611001, -97.21251751391581, 22.500000000000128, 2751) + femmesh.addNode(-9.92332989215384, -96.99369837186066, 25.0, 2752) + femmesh.addNode(-12.376237459793572, 96.7113165370982, 22.5, 2753) + femmesh.addNode(-7.481740346110097, -97.21251751391581, 27.499999999999996, 2754) + femmesh.addNode(-17.256673422289886, 95.96070665848826, 27.5, 2755) + femmesh.addNode(-14.821207968105751, 96.36691234218392, 25.0, 2756) + femmesh.addNode(-17.256673422289886, 95.96070665848826, 22.5, 2757) + femmesh.addNode(-22.092848669382985, 94.96397231409259, 27.5, 2758) + femmesh.addNode(-19.68107192327408, 95.49295999156645, 25.0, 2759) + femmesh.addNode(-22.092848669382985, 94.96397231409259, 22.5, 2760) + femmesh.addNode(-26.87235915476493, 93.72366997433105, 27.5, 2761) + femmesh.addNode(-24.490456953454434, 94.37408287348278, 25.0, 2762) + femmesh.addNode(-26.87235915476493, 93.72366997433105, 22.5, 2763) + femmesh.addNode(-31.58294616853359, 92.24298082410124, 27.5, 2764) + femmesh.addNode(-29.237027725128208, 93.01315073579696, 25.0, 2765) + femmesh.addNode(-31.58294616853359, 92.24298082410124, 22.5, 2766) + femmesh.addNode(-36.212527778899606, 90.52570260352816, 27.499999999999996, 2767) + femmesh.addNode(-33.908610013696936, 91.41365416030042, 25.0, 2768) + femmesh.addNode(-36.212527778899606, 90.52570260352816, 22.500000000000004, 2769) + femmesh.addNode(-40.74922982048493, 88.57623986734424, 27.5, 2770) + femmesh.addNode(-38.49322192849735, 89.57969560990621, 25.0, 2771) + femmesh.addNode(-40.74922982048493, 88.57623986734424, 22.5, 2772) + femmesh.addNode(-45.181416349732025, 86.39959268788348, 27.5, 2773) + femmesh.addNode(-42.979104644509746, 87.51597890646188, 25.0, 2774) + femmesh.addNode(-45.181416349732025, 86.39959268788348, 22.5, 2775) + femmesh.addNode(-49.497719489311166, 84.0013438306642, 27.5, 2776) + femmesh.addNode(-47.3547525619371, 85.2277971661694, 25.0, 2777) + femmesh.addNode(-49.497719489311166, 84.0013438306642, 22.5, 2778) + femmesh.addNode(-53.68706858497857, 81.38764443545351, 27.5, 2779) + femmesh.addNode(-51.60894281630028, 82.72101922355556, 25.0, 2780) + femmesh.addNode(-53.68706858497857, 81.38764443545351, 22.5, 2781) + femmesh.addNode(-57.73871860010351, 78.56519823953899, 27.5, 2782) + femmesh.addNode(-55.730764063360965, 80.00207457881324, 25.0, 2783) + femmesh.addNode(-57.73871860010351, 78.56519823953899, 22.5, 2784) + femmesh.addNode(-61.64227767503579, 75.54124438367285, 27.5, 2785) + femmesh.addNode(-59.70964446504272, 77.07793690712143, 25.0, 2786) + femmesh.addNode(-61.64227767503579, 75.54124438367285, 22.5, 2787) + femmesh.addNode(-65.38773378062898, 72.32353884478825, 27.5, 2788) + femmesh.addNode(-63.53537880457094, 73.9561061722403, 25.0, 2789) + femmesh.addNode(-65.38773378062898, 72.32353884478825, 22.5, 2790) + femmesh.addNode(-68.96548039755643, 68.92033454311041, 27.5, 2791) + femmesh.addNode(-67.19815466128574, 70.64458939025637, 25.0, 2792) + femmesh.addNode(-68.96548039755643, 68.92033454311041, 22.5, 2793) + femmesh.addNode(-72.3663411555571, 65.3403601746847, 27.5, 2794) + femmesh.addNode(-70.68857757799296, 67.151880092817, 25.0, 2795) + femmesh.addNode(-72.3663411555571, 65.3403601746847, 22.5, 2796) + femmesh.addNode(-75.58159336941512, 61.592797823612344, 27.5, 2797) + femmesh.addNode(-73.99769515630308, 63.48693654252692, 25.0, 2798) + femmesh.addNode(-75.58159336941512, 61.592797823612344, 22.5, 2799) + femmesh.addNode(-78.60299041130689, 57.68725941141594, 27.5, 2800) + femmesh.addNode(-77.1170200181575, 59.65915875638119, 25.0, 2801) + femmesh.addNode(-78.60299041130689, 57.68725941141594, 22.5, 2802) + femmesh.addNode(-81.42278286213416, 53.633762043937885, 27.5, 2803) + femmesh.addNode(-80.03855157464888, 55.67836439616624, 25.0, 2804) + femmesh.addNode(-81.42278286213416, 53.633762043937885, 22.5, 2805) + femmesh.addNode(-84.03373838759308, 49.442702319003224, 27.5, 2806) + femmesh.addNode(-82.75479654630207, 51.554763587666166, 25.0, 2807) + femmesh.addNode(-84.03373838759308, 49.442702319003224, 22.5, 2808) + femmesh.addNode(-86.42916028800029, 45.12482966074391, 27.5, 2809) + femmesh.addNode(-85.25878818218469, 47.298932733259065, 25.0, 2810) + femmesh.addNode(-86.42916028800029, 45.12482966074391, 22.5, 2811) + femmesh.addNode(-88.6029046742985, 40.69121874897792, 27.5, 2812) + femmesh.addNode(-87.5441041285524, 42.92178738507022, 25.0, 2813) + femmesh.addNode(-88.6029046742985, 40.69121874897792, 22.5, 2814) + femmesh.addNode(-90.54939622618781, 36.153241114357186, 27.5, 2815) + femmesh.addNode(-89.6048829011995, 38.4345542482585, 25.0, 2816) + femmesh.addNode(-90.54939622618781, 36.153241114357186, 22.5, 2817) + femmesh.addNode(-92.26364249196524, 31.52253597213943, 27.5, 2818) + femmesh.addNode(-91.43583891926498, 33.848742386242776, 25.0, 2819) + femmesh.addNode(-92.26364249196524, 31.52253597213943, 22.5, 2820) + femmesh.addNode(-93.7412466933965, 26.8109803693893, 27.5, 2821) + femmesh.addNode(-93.03227606193524, 29.176113701723068, 25.0, 2822) + femmesh.addNode(-93.7412466933965, 26.8109803693893, 22.5, 2823) + femmesh.addNode(-94.97841900277623, 22.030658722177893, 27.5, 2824) + femmesh.addNode(-94.39009971327236, 24.42865276920731, 25.0, 2825) + femmesh.addNode(-94.97841900277623, 22.030658722177893, 22.5, 2826) + femmesh.addNode(-95.97198626325374, 17.193831820912855, 27.5, 2827) + femmesh.addNode(-95.50582726427469, 19.618536096419813, 25.0, 2828) + femmesh.addNode(-95.97198626325374, 17.193831820912855, 22.5, 2829) + femmesh.addNode(-96.71940012749266, 12.312905383294956, 27.5, 2830) + femmesh.addNode(-96.37659704523365, 14.758100893430004, 25.0, 2831) + femmesh.addNode(-96.71940012749266, 12.312905383294956, 22.5, 2832) + femmesh.addNode(-97.2187435937903, 7.400398235558702, 27.5, 2833) + femmesh.addNode(-97.00017566547697, 9.859813429604573, 25.0, 2834) + femmesh.addNode(-97.2187435937903, 7.400398235558702, 22.5, 2835) + femmesh.addNode(-97.46873592289235, 2.4689102036068826, 27.5, 2836) + femmesh.addNode(-97.37496374167233, 4.936237059542291, 25.0, 2837) + femmesh.addNode(-97.46873592289235, 2.4689102036068826, 22.5, 2838) + femmesh.addNode(-97.46873592289236, -2.4689102036065558, 27.5, 2839) + femmesh.addNode(-97.5, 1.4183640017283e-13, 25.0, 2840) + femmesh.addNode(-97.46873592289236, -2.4689102036065558, 22.5, 2841) + femmesh.addNode(-97.21874359379031, -7.400398235558376, 27.5, 2842) + femmesh.addNode(-97.37496374167235, -4.936237059541965, 25.0, 2843) + femmesh.addNode(-97.21874359379031, -7.400398235558376, 22.5, 2844) + femmesh.addNode(-96.7194001274927, -12.31290538329463, 27.5, 2845) + femmesh.addNode(-97.00017566547699, -9.859813429604293, 25.0, 2846) + femmesh.addNode(-96.7194001274927, -12.31290538329463, 22.5, 2847) + femmesh.addNode(-95.9719862632538, -17.193831820912532, 27.5, 2848) + femmesh.addNode(-96.37659704523371, -14.75810089342968, 25.0, 2849) + femmesh.addNode(-95.9719862632538, -17.193831820912532, 22.5, 2850) + femmesh.addNode(-94.9784190027763, -22.030658722177577, 27.5, 2851) + femmesh.addNode(-95.50582726427476, -19.61853609641949, 25.0, 2852) + femmesh.addNode(-94.9784190027763, -22.030658722177577, 22.5, 2853) + femmesh.addNode(-93.74124669339659, -26.81098036938898, 27.5, 2854) + femmesh.addNode(-94.39009971327245, -24.428652769206998, 25.0, 2855) + femmesh.addNode(-93.74124669339659, -26.81098036938898, 22.5, 2856) + femmesh.addNode(-92.26364249196534, -31.52253597213916, 27.5, 2857) + femmesh.addNode(-93.03227606193532, -29.176113701722763, 25.0, 2858) + femmesh.addNode(-92.26364249196534, -31.52253597213916, 22.5, 2859) + femmesh.addNode(-90.5493962261879, -36.15324111435692, 27.5, 2860) + femmesh.addNode(-91.43583891926508, -33.848742386242506, 25.0, 2861) + femmesh.addNode(-90.5493962261879, -36.15324111435692, 22.5, 2862) + femmesh.addNode(-88.60290467429864, -40.69121874897762, 27.5, 2863) + femmesh.addNode(-89.60488290119963, -38.434554248258195, 25.0, 2864) + femmesh.addNode(-88.60290467429864, -40.69121874897762, 22.5, 2865) + femmesh.addNode(-86.42916028800045, -45.12482966074362, 27.5, 2866) + femmesh.addNode(-87.54410412855258, -42.92178738506988, 25.0, 2867) + femmesh.addNode(-86.42916028800045, -45.12482966074362, 22.5, 2868) + femmesh.addNode(-84.03373838759322, -49.442702319002976, 27.5, 2869) + femmesh.addNode(-85.25878818218484, -47.29893273325877, 25.0, 2870) + femmesh.addNode(-84.03373838759322, -49.442702319002976, 22.5, 2871) + femmesh.addNode(-81.42278286213431, -53.63376204393766, 27.5, 2872) + femmesh.addNode(-82.75479654630223, -51.55476358766592, 25.0, 2873) + femmesh.addNode(-81.42278286213433, -53.633762043937615, 22.5, 2874) + femmesh.addNode(-78.60299041130705, -57.68725941141571, 27.5, 2875) + femmesh.addNode(-80.03855157464906, -55.67836439616598, 25.0, 2876) + femmesh.addNode(-78.6029904113071, -57.687259411415646, 22.500000000000007, 2877) + femmesh.addNode(-75.58159336941532, -61.59279782361209, 27.5, 2878) + femmesh.addNode(-77.11702001815772, -59.659158756380926, 25.0, 2879) + femmesh.addNode(-75.58159336941532, -61.59279782361209, 22.5, 2880) + femmesh.addNode(-72.36634115555732, -65.34036017468446, 27.5, 2881) + femmesh.addNode(-73.99769515630328, -63.48693654252667, 25.0, 2882) + femmesh.addNode(-72.36634115555732, -65.34036017468446, 22.5, 2883) + femmesh.addNode(-68.96548039755668, -68.92033454311019, 27.5, 2884) + femmesh.addNode(-70.68857757799319, -67.15188009281677, 25.0, 2885) + femmesh.addNode(-68.96548039755668, -68.92033454311019, 22.5, 2886) + femmesh.addNode(-65.38773378062928, -72.32353884478796, 27.5, 2887) + femmesh.addNode(-67.19815466128601, -70.64458939025612, 25.0, 2888) + femmesh.addNode(-65.38773378062928, -72.32353884478796, 22.5, 2889) + femmesh.addNode(-61.64227767503611, -75.54124438367258, 27.5, 2890) + femmesh.addNode(-63.53537880457125, -73.95610617224003, 25.0, 2891) + femmesh.addNode(-61.64227767503611, -75.54124438367258, 22.5, 2892) + femmesh.addNode(-57.738718600103844, -78.56519823953876, 27.5, 2893) + femmesh.addNode(-59.70964446504306, -77.07793690712118, 25.0, 2894) + femmesh.addNode(-57.738718600103844, -78.56519823953876, 22.5, 2895) + femmesh.addNode(-53.687068584978945, -81.38764443545327, 27.5, 2896) + femmesh.addNode(-55.73076406336134, -80.00207457881297, 25.0, 2897) + femmesh.addNode(-53.687068584978945, -81.38764443545327, 22.5, 2898) + femmesh.addNode(-49.497719489311564, -84.00134383066396, 27.5, 2899) + femmesh.addNode(-51.60894281630067, -82.72101922355532, 25.0, 2900) + femmesh.addNode(-49.497719489311564, -84.00134383066396, 22.5, 2901) + femmesh.addNode(-45.18141634973247, -86.39959268788324, 27.5, 2902) + femmesh.addNode(-47.3547525619375, -85.22779716616918, 25.0, 2903) + femmesh.addNode(-45.18141634973247, -86.39959268788324, 22.5, 2904) + femmesh.addNode(-40.74922982048538, -88.57623986734401, 27.5, 2905) + femmesh.addNode(-42.979104644510194, -87.51597890646165, 25.0, 2906) + femmesh.addNode(-40.74922982048538, -88.57623986734401, 22.5, 2907) + femmesh.addNode(-36.21252777890009, -90.52570260352796, 27.5, 2908) + femmesh.addNode(-38.4932219284978, -89.57969560990601, 25.0, 2909) + femmesh.addNode(-36.21252777890009, -90.52570260352796, 22.5, 2910) + femmesh.addNode(-31.58294616853408, -92.24298082410108, 27.5, 2911) + femmesh.addNode(-33.908610013697405, -91.41365416030025, 25.0, 2912) + femmesh.addNode(-31.58294616853408, -92.24298082410108, 22.5, 2913) + femmesh.addNode(-26.872359154765455, -93.72366997433089, 27.5, 2914) + femmesh.addNode(-29.237027725128705, -93.01315073579678, 25.0, 2915) + femmesh.addNode(-26.872359154765455, -93.72366997433089, 22.5, 2916) + femmesh.addNode(-22.092848669383514, -94.96397231409246, 27.5, 2917) + femmesh.addNode(-24.490456953454935, -94.37408287348265, 25.0, 2918) + femmesh.addNode(-22.092848669383514, -94.96397231409246, 22.5, 2919) + femmesh.addNode(-17.25667342229042, -95.96070665848818, 27.5, 2920) + femmesh.addNode(-19.68107192327461, -95.49295999156635, 25.0, 2921) + femmesh.addNode(-17.25667342229042, -95.96070665848818, 22.5, 2922) + femmesh.addNode(-12.376237459794131, -96.71131653709811, 27.5, 2923) + femmesh.addNode(-14.82120796810631, -96.36691234218384, 25.0, 2924) + femmesh.addNode(-12.376237459794131, -96.71131653709811, 22.5, 2925) + femmesh.addNode(-5.0, -90.23144194791645, 25.030692874444668, 2926) + femmesh.addNode(-5.0, 54.927631547603625, 24.99999999999997, 2927) + femmesh.addNode(-5.0, -4.9934210497823415, 25.0, 2928) + femmesh.addNode(-5.0, 64.91447364716791, 25.0, 2929) + femmesh.addNode(-5.0, 90.18853304210663, 25.094971544492484, 2930) + femmesh.addNode(-5.0, -29.96052629869314, 25.0, 2931) + femmesh.addNode(-5.0, 44.870704901883556, 25.10498849441155, 2932) + femmesh.addNode(-5.0, -39.947368398257474, 25.0, 2933) + femmesh.addNode(-5.0, -79.89473679651478, 25.0, 2934) + femmesh.addNode(-5.0, 19.90359965297276, 24.895011505588467, 2935) + femmesh.addNode(-5.0, -59.92105259738611, 25.0, 2936) + femmesh.addNode(-5.0, -49.93421049782184, 25.0, 2937) + femmesh.addNode(-5.0, 29.96052629869297, 25.0, 2938) + femmesh.addNode(-5.0, -69.90789469695045, 25.0, 2939) + femmesh.addNode(-5.0, -19.9035996529731, 24.89501150558843, 2940) + femmesh.addNode(-5.0, 4.9934210497818725, 24.999999999999993, 2941) + femmesh.addNode(-5.0, 74.90131574673208, 25.0, 2942) + femmesh.addNode(-5.0, 84.90427459755665, 25.138315167562215, 2943) + femmesh.addNode(-5.0, 14.933540118575792, 25.104988494411565, 2944) + femmesh.addNode(-5.0, -14.933540118576161, 25.10498849441157, 2945) + femmesh.addNode(-5.0, 39.90064536748662, 24.895011505588407, 2946) + femmesh.addNode(-5.0, 49.92252974012882, 25.01749808240192, 2947) + femmesh.addNode(-5.0, -44.940789448039645, 25.0, 2948) + femmesh.addNode(-5.0, -34.95394734847531, 25.0, 2949) + femmesh.addNode(-5.0, -84.9464683549365, 25.00511547907411, 2950) + femmesh.addNode(-5.0, 24.95542449121804, 24.98250191759808, 2951) + femmesh.addNode(-5.0, -64.9144736471683, 25.0, 2952) + femmesh.addNode(-5.0, -74.90131574673262, 25.0, 2953) + femmesh.addNode(-5.0, -54.927631547603966, 25.0, 2954) + femmesh.addNode(-5.0, -24.95542449121838, 24.98250191759807, 2955) + femmesh.addNode(-5.0, -1.9895196601282805e-13, 25.0, 2956) + femmesh.addNode(-5.0, 59.92105259738574, 24.999999999999993, 2957) + femmesh.addNode(-5.0, 69.90789469695002, 25.0, 2958) + femmesh.addNode(-5.0, 79.89742292172437, 25.023052527927035, 2959) + femmesh.addNode(-5.0, 9.979054927769042, 25.017498082401925, 2960) + femmesh.addNode(-5.0, -9.979054927769411, 25.01749808240193, 2961) + femmesh.addNode(-5.0, 34.94616017667988, 24.982501917598068, 2962) + femmesh.addNode(-5.0, -93.8233606850735, 23.66763823443631, 2963) + femmesh.addNode(-5.0, 93.82112677702435, 23.670984687478686, 2964) + femmesh.addNode(-5.0, 94.226274036321, 26.753191246394234, 2965) + femmesh.addNode(-5.0, -94.23530259909295, 26.739666221776197, 2966) + femmesh.addNode(7.481740346109677, 97.21251751391584, 22.500000000000096, 2967) + femmesh.addNode(9.923329892153765, 96.99369837186067, 25.000000000000092, 2968) + femmesh.addNode(7.481740346109976, -97.21251751391581, 27.499999999999925, 2969) + femmesh.addNode(12.376237459794183, -96.71131653709811, 27.5, 2970) + femmesh.addNode(9.923329892153976, -96.99369837186065, 24.999999999999932, 2971) + femmesh.addNode(7.481740346110023, 97.21251751391581, 27.500000000000057, 2972) + femmesh.addNode(7.481740346110147, -97.2125175139158, 22.499999999999964, 2973) + femmesh.addNode(12.376237459794183, -96.71131653709811, 22.5, 2974) + femmesh.addNode(17.25667342229047, -95.96070665848816, 27.5, 2975) + femmesh.addNode(14.82120796810636, -96.36691234218382, 25.0, 2976) + femmesh.addNode(17.25667342229047, -95.96070665848816, 22.5, 2977) + femmesh.addNode(22.092848669383564, -94.96397231409246, 27.5, 2978) + femmesh.addNode(19.68107192327466, -95.49295999156634, 25.0, 2979) + femmesh.addNode(22.092848669383564, -94.96397231409246, 22.5, 2980) + femmesh.addNode(26.872359154765505, -93.72366997433087, 27.5, 2981) + femmesh.addNode(24.490456953454984, -94.37408287348264, 25.0, 2982) + femmesh.addNode(26.872359154765505, -93.72366997433087, 22.5, 2983) + femmesh.addNode(31.58294616853413, -92.24298082410105, 27.5, 2984) + femmesh.addNode(29.237027725128755, -93.01315073579677, 25.0, 2985) + femmesh.addNode(31.58294616853413, -92.24298082410105, 22.5, 2986) + femmesh.addNode(36.21252777890014, -90.52570260352795, 27.5, 2987) + femmesh.addNode(33.908610013697455, -91.41365416030024, 25.0, 2988) + femmesh.addNode(36.21252777890014, -90.52570260352795, 22.5, 2989) + femmesh.addNode(40.749229820485425, -88.576239867344, 27.5, 2990) + femmesh.addNode(38.49322192849785, -89.579695609906, 25.0, 2991) + femmesh.addNode(40.749229820485425, -88.576239867344, 22.5, 2992) + femmesh.addNode(45.181416349732515, -86.39959268788321, 27.5, 2993) + femmesh.addNode(42.97910464451024, -87.51597890646164, 25.0, 2994) + femmesh.addNode(45.181416349732515, -86.39959268788321, 22.5, 2995) + femmesh.addNode(49.497719489311606, -84.00134383066394, 27.5, 2996) + femmesh.addNode(47.354752561937545, -85.22779716616914, 25.0, 2997) + femmesh.addNode(49.497719489311606, -84.00134383066394, 22.5, 2998) + femmesh.addNode(53.68706858497899, -81.38764443545324, 27.5, 2999) + femmesh.addNode(51.60894281630071, -82.72101922355529, 25.0, 3000) + femmesh.addNode(53.68706858497899, -81.38764443545324, 22.5, 3001) + femmesh.addNode(57.73871860010388, -78.56519823953872, 27.5, 3002) + femmesh.addNode(55.730764063361384, -80.00207457881294, 25.0, 3003) + femmesh.addNode(57.73871860010388, -78.56519823953872, 22.5, 3004) + femmesh.addNode(61.64227767503615, -75.54124438367255, 27.5, 3005) + femmesh.addNode(59.70964446504309, -77.07793690712114, 25.0, 3006) + femmesh.addNode(61.64227767503615, -75.54124438367255, 22.5, 3007) + femmesh.addNode(65.3877337806293, -72.32353884478792, 27.5, 3008) + femmesh.addNode(63.535378804571295, -73.95610617223998, 25.0, 3009) + femmesh.addNode(65.3877337806293, -72.32353884478792, 22.5, 3010) + femmesh.addNode(68.96548039755673, -68.92033454311013, 27.5, 3011) + femmesh.addNode(67.19815466128607, -70.64458939025604, 25.0, 3012) + femmesh.addNode(68.96548039755673, -68.92033454311013, 22.5, 3013) + femmesh.addNode(72.36634115555738, -65.34036017468439, 27.5, 3014) + femmesh.addNode(70.68857757799324, -67.1518800928167, 25.0, 3015) + femmesh.addNode(72.36634115555738, -65.34036017468439, 22.5, 3016) + femmesh.addNode(75.58159336941539, -61.59279782361201, 27.5, 3017) + femmesh.addNode(73.99769515630335, -63.4869365425266, 25.0, 3018) + femmesh.addNode(75.58159336941539, -61.59279782361201, 22.5, 3019) + femmesh.addNode(78.60299041130715, -57.6872594114156, 27.5, 3020) + femmesh.addNode(77.11702001815776, -59.659158756380855, 25.0, 3021) + femmesh.addNode(78.60299041130715, -57.6872594114156, 22.5, 3022) + femmesh.addNode(81.42278286213438, -53.633762043937544, 27.5, 3023) + femmesh.addNode(80.0385515746491, -55.678364396165904, 25.0, 3024) + femmesh.addNode(81.42278286213438, -53.633762043937544, 22.5, 3025) + femmesh.addNode(84.03373838759327, -49.442702319002855, 27.5, 3026) + femmesh.addNode(82.7547965463023, -51.5547635876658, 25.0, 3027) + femmesh.addNode(84.03373838759327, -49.442702319002855, 22.5, 3028) + femmesh.addNode(86.42916028800049, -45.124829660743536, 27.5, 3029) + femmesh.addNode(85.2587881821849, -47.29893273325865, 25.0, 3030) + femmesh.addNode(86.42916028800049, -45.124829660743536, 22.5, 3031) + femmesh.addNode(88.6029046742987, -40.69121874897749, 27.5, 3032) + femmesh.addNode(87.54410412855262, -42.92178738506979, 25.0, 3033) + femmesh.addNode(88.6029046742987, -40.69121874897749, 22.5, 3034) + femmesh.addNode(90.54939622618795, -36.153241114356796, 27.5, 3035) + femmesh.addNode(89.60488290119969, -38.434554248258074, 25.0, 3036) + femmesh.addNode(90.54939622618795, -36.153241114356796, 22.5, 3037) + femmesh.addNode(92.26364249196538, -31.52253597213903, 27.5, 3038) + femmesh.addNode(91.43583891926512, -33.84874238624238, 25.0, 3039) + femmesh.addNode(92.26364249196538, -31.52253597213903, 22.5, 3040) + femmesh.addNode(93.74124669339663, -26.810980369388847, 27.5, 3041) + femmesh.addNode(93.03227606193538, -29.17611370172263, 25.0, 3042) + femmesh.addNode(93.74124669339663, -26.810980369388847, 22.5, 3043) + femmesh.addNode(94.97841900277635, -22.030658722177442, 27.5, 3044) + femmesh.addNode(94.39009971327249, -24.428652769206863, 25.0, 3045) + femmesh.addNode(94.97841900277635, -22.030658722177442, 22.5, 3046) + femmesh.addNode(95.97198626325383, -17.193831820912397, 27.5, 3047) + femmesh.addNode(95.50582726427477, -19.618536096419355, 25.0, 3048) + femmesh.addNode(95.97198626325383, -17.193831820912397, 22.5, 3049) + femmesh.addNode(96.7194001274927, -12.312905383294495, 27.5, 3050) + femmesh.addNode(96.37659704523374, -14.758100893429544, 25.0, 3051) + femmesh.addNode(96.7194001274927, -12.312905383294495, 22.5, 3052) + femmesh.addNode(97.21874359379031, -7.400398235558327, 27.5, 3053) + femmesh.addNode(97.00017566547702, -9.859813429604113, 25.0, 3054) + femmesh.addNode(97.21874359379031, -7.400398235558327, 22.5, 3055) + femmesh.addNode(97.46873592289236, -2.4689102036065917, 27.5, 3056) + femmesh.addNode(97.37496374167235, -4.936237059541828, 25.0, 3057) + femmesh.addNode(97.46873592289236, -2.468910203606505, 22.5, 3058) + femmesh.addNode(97.46873592289235, 2.468910203606803, 27.5, 3059) + femmesh.addNode(97.5, 1.4931417925815102e-13, 25.0, 3060) + femmesh.addNode(97.46873592289235, 2.4689102036068897, 22.5, 3061) + femmesh.addNode(97.2187435937903, 7.400398235558624, 27.499999999999986, 3062) + femmesh.addNode(97.37496374167233, 4.936237059542212, 24.99999999999999, 3063) + femmesh.addNode(97.2187435937903, 7.400398235558537, 22.5, 3064) + femmesh.addNode(96.71940012749268, 12.31290538329479, 27.5, 3065) + femmesh.addNode(97.00017566547697, 9.85981342960441, 25.0, 3066) + femmesh.addNode(96.71940012749268, 12.31290538329479, 22.5, 3067) + femmesh.addNode(95.97198626325377, 17.193831820912692, 27.5, 3068) + femmesh.addNode(96.37659704523368, 14.75810089342984, 25.0, 3069) + femmesh.addNode(95.97198626325377, 17.193831820912692, 22.5, 3070) + femmesh.addNode(94.97841900277626, 22.030658722177815, 27.5, 3071) + femmesh.addNode(95.5058272642747, 19.618536096419735, 25.0, 3072) + femmesh.addNode(94.97841900277626, 22.030658722177815, 22.5, 3073) + femmesh.addNode(93.74124669339653, 26.810980369389217, 27.5, 3074) + femmesh.addNode(94.39009971327239, 24.428652769207236, 25.0, 3075) + femmesh.addNode(93.74124669339653, 26.810980369389217, 22.5, 3076) + femmesh.addNode(92.26364249196526, 31.522535972139398, 27.5, 3077) + femmesh.addNode(93.03227606193525, 29.176113701722993, 25.0, 3078) + femmesh.addNode(92.26364249196526, 31.522535972139398, 22.5, 3079) + femmesh.addNode(90.54939622618781, 36.15324111435716, 27.5, 3080) + femmesh.addNode(91.435838919265, 33.84874238624274, 25.0, 3081) + femmesh.addNode(90.54939622618781, 36.15324111435716, 22.5, 3082) + femmesh.addNode(88.60290467429854, 40.691218748977846, 27.5, 3083) + femmesh.addNode(89.60488290119953, 38.43455424825843, 25.0, 3084) + femmesh.addNode(88.60290467429854, 40.691218748977846, 22.5, 3085) + femmesh.addNode(86.4291602880003, 45.12482966074388, 27.5, 3086) + femmesh.addNode(87.54410412855245, 42.92178738507014, 25.0, 3087) + femmesh.addNode(86.4291602880003, 45.12482966074388, 22.5, 3088) + femmesh.addNode(84.03373838759309, 49.442702319003196, 27.5, 3089) + femmesh.addNode(85.25878818218473, 47.298932733258994, 25.0, 3090) + femmesh.addNode(84.03373838759309, 49.442702319003196, 22.5, 3091) + femmesh.addNode(81.42278286213417, 53.633762043937864, 27.5, 3092) + femmesh.addNode(82.7547965463021, 51.55476358766613, 25.0, 3093) + femmesh.addNode(81.42278286213417, 53.633762043937864, 22.5, 3094) + femmesh.addNode(78.60299041130692, 57.687259411415916, 27.5, 3095) + femmesh.addNode(80.03855157464889, 55.67836439616622, 25.0, 3096) + femmesh.addNode(78.60299041130692, 57.687259411415916, 22.5, 3097) + femmesh.addNode(75.58159336941513, 61.592797823612315, 27.5, 3098) + femmesh.addNode(77.11702001815753, 59.65915875638115, 25.0, 3099) + femmesh.addNode(75.58159336941513, 61.592797823612315, 22.5, 3100) + femmesh.addNode(72.36634115555712, 65.34036017468468, 27.5, 3101) + femmesh.addNode(73.99769515630311, 63.48693654252689, 25.0, 3102) + femmesh.addNode(72.36634115555712, 65.34036017468468, 22.5, 3103) + femmesh.addNode(68.96548039755646, 68.9203345431104, 27.5, 3104) + femmesh.addNode(70.68857757799297, 67.15188009281697, 25.0, 3105) + femmesh.addNode(68.96548039755646, 68.9203345431104, 22.5, 3106) + femmesh.addNode(65.38773378062903, 72.32353884478819, 27.5, 3107) + femmesh.addNode(67.19815466128578, 70.64458939025631, 25.0, 3108) + femmesh.addNode(65.38773378062903, 72.32353884478819, 22.5, 3109) + femmesh.addNode(61.64227767503586, 75.5412443836728, 27.5, 3110) + femmesh.addNode(63.535378804571, 73.95610617224024, 25.0, 3111) + femmesh.addNode(61.64227767503586, 75.5412443836728, 22.5, 3112) + femmesh.addNode(57.738718600103574, 78.56519823953894, 27.5, 3113) + femmesh.addNode(59.70964446504279, 77.07793690712138, 25.0, 3114) + femmesh.addNode(57.738718600103574, 78.56519823953894, 22.5, 3115) + femmesh.addNode(53.68706858497874, 81.3876444354534, 27.5, 3116) + femmesh.addNode(55.73076406336107, 80.00207457881315, 25.0, 3117) + femmesh.addNode(53.68706858497874, 81.3876444354534, 22.5, 3118) + femmesh.addNode(49.49771948931135, 84.00134383066408, 27.5, 3119) + femmesh.addNode(51.60894281630046, 82.72101922355544, 25.0, 3120) + femmesh.addNode(49.49771948931135, 84.00134383066408, 22.5, 3121) + femmesh.addNode(45.181416349732245, 86.39959268788336, 27.5, 3122) + femmesh.addNode(47.35475256193728, 85.2277971661693, 25.0, 3123) + femmesh.addNode(45.181416349732245, 86.39959268788336, 22.5, 3124) + femmesh.addNode(40.749229820485155, 88.57623986734413, 27.5, 3125) + femmesh.addNode(42.979104644509974, 87.51597890646177, 25.0, 3126) + femmesh.addNode(40.749229820485155, 88.57623986734413, 22.5, 3127) + femmesh.addNode(36.21252777889986, 90.52570260352806, 27.5, 3128) + femmesh.addNode(38.493221928497576, 89.57969560990611, 25.0, 3129) + femmesh.addNode(36.21252777889986, 90.52570260352806, 22.5, 3130) + femmesh.addNode(31.582946168533848, 92.24298082410115, 27.5, 3131) + femmesh.addNode(33.90861001369717, 91.41365416030034, 25.0, 3132) + femmesh.addNode(31.582946168533848, 92.24298082410115, 22.5, 3133) + femmesh.addNode(26.872359154765217, 93.72366997433096, 27.5, 3134) + femmesh.addNode(29.237027725128467, 93.01315073579687, 25.0, 3135) + femmesh.addNode(26.872359154765217, 93.72366997433096, 22.5, 3136) + femmesh.addNode(22.092848669383272, 94.96397231409252, 27.5, 3137) + femmesh.addNode(24.490456953454697, 94.3740828734827, 25.0, 3138) + femmesh.addNode(22.092848669383272, 94.96397231409252, 22.5, 3139) + femmesh.addNode(17.256673422290174, 95.96070665848822, 27.5, 3140) + femmesh.addNode(19.68107192327437, 95.49295999156641, 25.0, 3141) + femmesh.addNode(17.256673422290174, 95.96070665848822, 22.5, 3142) + femmesh.addNode(12.376237459793886, 96.71131653709814, 27.5, 3143) + femmesh.addNode(14.821207968106066, 96.36691234218387, 25.0, 3144) + femmesh.addNode(12.376237459793886, 96.71131653709814, 22.5, 3145) + femmesh.addNode(5.0, 74.9013157467322, 25.0, 3146) + femmesh.addNode(5.0, 64.91447364716808, 25.0, 3147) + femmesh.addNode(5.0, -90.23144194791644, 25.159250214540474, 3148) + femmesh.addNode(5.0, 34.95394734847497, 25.0, 3149) + femmesh.addNode(5.0, 44.94078944803934, 25.000000000000007, 3150) + femmesh.addNode(5.0, 54.92763154760371, 25.0, 3151) + femmesh.addNode(5.0, 84.95824239245218, 25.10498849441159, 3152) + femmesh.addNode(5.0, -64.91447364716828, 25.0, 3153) + femmesh.addNode(5.0, -29.96052629869314, 25.0, 3154) + femmesh.addNode(5.0, -19.973684199128783, 25.0, 3155) + femmesh.addNode(5.0, -5.063505595938111, 24.89501150558842, 3156) + femmesh.addNode(5.0, -39.947368398257474, 25.0, 3157) + femmesh.addNode(5.0, 4.993421049782, 24.999999999999996, 3158) + femmesh.addNode(5.0, -54.857547001448204, 25.10498849441157, 3159) + femmesh.addNode(5.0, 24.967105248910585, 25.0, 3160) + femmesh.addNode(5.0, -79.82465225035901, 25.10498849441157, 3161) + femmesh.addNode(5.0, 14.980263149346243, 25.0, 3162) + femmesh.addNode(5.0, 90.39513847423186, 25.10168624287583, 3163) + femmesh.addNode(5.0, -74.8545927159621, 25.13998465921543, 3164) + femmesh.addNode(5.0, -10.033565130335006, 25.104988494411582, 3165) + femmesh.addNode(5.0, -49.887487467051294, 24.89501150558843, 3166) + femmesh.addNode(5.0, 49.934210497821454, 25.0, 3167) + femmesh.addNode(5.0, 29.96052629869277, 25.0, 3168) + femmesh.addNode(5.0, 39.94736839825714, 25.0, 3169) + femmesh.addNode(5.0, -24.96710524891097, 25.0, 3170) + femmesh.addNode(5.0, 59.921052597385795, 25.0, 3171) + femmesh.addNode(5.0, -84.93478759724385, 25.04403978482534, 3172) + femmesh.addNode(5.0, -34.95394734847531, 25.0, 3173) + femmesh.addNode(5.0, 19.973684199128456, 25.0, 3174) + femmesh.addNode(5.0, -59.90937183969349, 25.01749808240193, 3175) + femmesh.addNode(5.0, -0.01168075769280108, 24.982501917598068, 3176) + femmesh.addNode(5.0, 9.986842099564129, 25.0, 3177) + femmesh.addNode(5.0, 69.90789469695008, 25.0, 3178) + femmesh.addNode(5.0, 79.906417554207, 25.017498082401932, 3179) + femmesh.addNode(5.0, -69.90010752515536, 25.023330776535904, 3180) + femmesh.addNode(5.0, -44.93300227624455, 24.98250191759807, 3181) + femmesh.addNode(5.0, -14.988050321141742, 25.01749808240193, 3182) + femmesh.addNode(5.0, -93.8233606850735, 23.674331140522103, 3183) + femmesh.addNode(5.0, 93.9814667438041, 23.510084682257443, 3184) + femmesh.addNode(5.0, 94.37061000828385, 26.892668627718212, 3185) + femmesh.addNode(5.0, -94.23530259909293, 26.766716271012516, 3186) + femmesh.addNode(-8.881784197001252e-16, 52.43092102271254, 5.000000000000045, 3187) + femmesh.addNode(0.6807372212162697, 43.80734714032761, 4.319262778783756, 3188) + femmesh.addNode(-1.3874656196826384e-14, 62.41776312227694, 5.000000000000001, 3189) + femmesh.addNode(0.48211138052040403, -66.44569102474819, 4.517888619479621, 3190) + femmesh.addNode(-0.7627553318587212, -67.40381086616866, 25.755258721185015, 3191) + femmesh.addNode(-7.993605777301127e-15, -37.450657873366396, 25.0, 3192) + femmesh.addNode(-3.4034502417370998e-15, -22.470394724019876, 25.0, 3193) + femmesh.addNode(-3.374785809835504e-15, -62.068915830877174, 25.0, 3194) + femmesh.addNode(0.5369470502186086, 37.41540413962623, 24.485803009070608, 3195) + return True + + +def create_elements(femmesh): + # elements + femmesh.addVolume([1740, 1784, 2236, 2250], 7737) + femmesh.addVolume([1790, 2223, 1746, 2243], 7738) + femmesh.addVolume([1799, 2246, 1756, 2237], 7739) + femmesh.addVolume([1777, 2229, 1734, 2246], 7740) + femmesh.addVolume([1740, 2012, 1748, 1784], 7741) + femmesh.addVolume([2236, 1784, 1740, 1748], 7742) + femmesh.addVolume([2236, 1784, 2032, 1791], 7743) + femmesh.addVolume([2032, 1784, 2236, 1748], 7744) + femmesh.addVolume([1748, 2032, 1784, 2012], 7745) + femmesh.addVolume([1735, 2032, 1778, 2236], 7746) + femmesh.addVolume([2032, 1735, 1748, 2236], 7747) + femmesh.addVolume([1778, 2236, 2032, 1791], 7748) + femmesh.addVolume([1793, 2030, 2221, 1771], 7749) + femmesh.addVolume([1792, 1784, 2035, 2250], 7750) + femmesh.addVolume([2228, 1792, 2035, 2250], 7751) + femmesh.addVolume([1740, 2035, 1784, 2250], 7752) + femmesh.addVolume([1784, 2035, 1740, 2012], 7753) + femmesh.addVolume([1740, 1750, 2035, 2250], 7754) + femmesh.addVolume([2228, 2035, 1750, 2250], 7755) + femmesh.addVolume([1727, 2030, 2256, 1747], 7756) + femmesh.addVolume([2223, 2037, 2242, 1773], 7757) + femmesh.addVolume([2037, 2242, 1729, 2223], 7758) + femmesh.addVolume([2256, 2030, 1727, 2221], 7759) + femmesh.addVolume([2221, 2256, 2030, 1793], 7760) + femmesh.addVolume([1730, 1782, 2030, 2256], 7761) + femmesh.addVolume([1730, 2030, 1747, 2256], 7762) + femmesh.addVolume([2256, 1782, 2030, 1793], 7763) + femmesh.addVolume([2221, 2030, 2015, 1771], 7764) + femmesh.addVolume([2015, 2030, 2221, 1727], 7765) + femmesh.addVolume([2015, 1745, 1727, 2255], 7766) + femmesh.addVolume([2255, 1727, 2015, 2221], 7767) + femmesh.addVolume([2242, 2037, 1796, 1773], 7768) + femmesh.addVolume([1796, 2235, 1752, 2242], 7769) + femmesh.addVolume([1789, 2255, 2015, 2221], 7770) + femmesh.addVolume([1789, 2221, 2015, 1771], 7771) + femmesh.addVolume([1729, 2037, 1752, 2242], 7772) + femmesh.addVolume([1745, 2015, 1789, 2255], 7773) + femmesh.addVolume([2253, 2036, 1781, 2233], 7774) + femmesh.addVolume([2036, 1738, 1751, 2233], 7775) + femmesh.addVolume([2253, 1738, 2036, 2233], 7776) + femmesh.addVolume([2015, 1789, 2029, 1745], 7777) + femmesh.addVolume([1734, 2229, 1777, 2033], 7778) + femmesh.addVolume([2229, 1777, 2033, 1797], 7779) + femmesh.addVolume([1734, 2229, 2033, 1753], 7780) + femmesh.addVolume([1752, 2037, 1796, 2242], 7781) + femmesh.addVolume([2011, 1796, 2026, 2235], 7782) + femmesh.addVolume([1778, 1788, 1735, 2247], 7783) + femmesh.addVolume([682, 1723, 2260, 2259], 7784) + femmesh.addVolume([2027, 2231, 2244, 1732], 7785) + femmesh.addVolume([2236, 1778, 1735, 2247], 7786) + femmesh.addVolume([1781, 2233, 2036, 1794], 7787) + femmesh.addVolume([1752, 2235, 1796, 2011], 7788) + femmesh.addVolume([1789, 1745, 2255, 3189], 7789) + femmesh.addVolume([2027, 1732, 1757, 2231], 7790) + femmesh.addVolume([2231, 1774, 2027, 1801], 7791) + femmesh.addVolume([1745, 1789, 2029, 3189], 7792) + femmesh.addVolume([2244, 2231, 2027, 1801], 7793) + femmesh.addVolume([2011, 2037, 1796, 1752], 7794) + femmesh.addVolume([2016, 1782, 2030, 1730], 7795) + femmesh.addVolume([2032, 1778, 2018, 1735], 7796) + femmesh.addVolume([1735, 1788, 1778, 2018], 7797) + femmesh.addVolume([1735, 2247, 1788, 1744], 7798) + femmesh.addVolume([1782, 1743, 1730, 2016], 7799) + femmesh.addVolume([1746, 2223, 1790, 2023], 7800) + femmesh.addVolume([2223, 1790, 2023, 1773], 7801) + femmesh.addVolume([2020, 1751, 1731, 2249], 7802) + femmesh.addVolume([2233, 1751, 2020, 2249], 7803) + femmesh.addVolume([2023, 1729, 1746, 2223], 7804) + femmesh.addVolume([1731, 2249, 2230, 1775], 7805) + femmesh.addVolume([1731, 2230, 1749, 1775], 7806) + femmesh.addVolume([2227, 1788, 2038, 2258], 7807) + femmesh.addVolume([2244, 1732, 1749, 1785], 7808) + femmesh.addVolume([1756, 2246, 1799, 2019], 7809) + femmesh.addVolume([1777, 2019, 1799, 2246], 7810) + femmesh.addVolume([1777, 1734, 2019, 2246], 7811) + femmesh.addVolume([1756, 2019, 1734, 2246], 7812) + femmesh.addVolume([2244, 1749, 2230, 1785], 7813) + femmesh.addVolume([1730, 1743, 1782, 2226], 7814) + femmesh.addVolume([1768, 2038, 1788, 2258], 7815) + femmesh.addVolume([1735, 1744, 1788, 2018], 7816) + femmesh.addVolume([2249, 2020, 2233, 1794], 7817) + femmesh.addVolume([2037, 2023, 2223, 1729], 7818) + femmesh.addVolume([2223, 2023, 2037, 1773], 7819) + femmesh.addVolume([1749, 1732, 2027, 1785], 7820) + femmesh.addVolume([2013, 2027, 2231, 1774], 7821) + femmesh.addVolume([1780, 2026, 1796, 2235], 7822) + femmesh.addVolume([2256, 1730, 1782, 2226], 7823) + femmesh.addVolume([2244, 2027, 1732, 1785], 7824) + femmesh.addVolume([1782, 1787, 1743, 2016], 7825) + femmesh.addVolume([2036, 2020, 2233, 1751], 7826) + femmesh.addVolume([2231, 2027, 2013, 1757], 7827) + femmesh.addVolume([2253, 1781, 2009, 2237], 7828) + femmesh.addVolume([2009, 1781, 1799, 2237], 7829) + femmesh.addVolume([2009, 1756, 1738, 2253], 7830) + femmesh.addVolume([2253, 2009, 1756, 2237], 7831) + femmesh.addVolume([1799, 1756, 2009, 2237], 7832) + femmesh.addVolume([2039, 2239, 1723, 2259], 7833) + femmesh.addVolume([1782, 2226, 1743, 1787], 7834) + femmesh.addVolume([2233, 2020, 2036, 1794], 7835) + femmesh.addVolume([1801, 2027, 2244, 1785], 7836) + femmesh.addVolume([2257, 2013, 2231, 1774], 7837) + femmesh.addVolume([1734, 2019, 2033, 1777], 7838) + femmesh.addVolume([2231, 1757, 2013, 2257], 7839) + femmesh.addVolume([2022, 1774, 2257, 1795], 7840) + femmesh.addVolume([1741, 2238, 2251, 1786], 7841) + femmesh.addVolume([1749, 2006, 1731, 1775], 7842) + femmesh.addVolume([1741, 2008, 2025, 1786], 7843) + femmesh.addVolume([2257, 2022, 2013, 1774], 7844) + femmesh.addVolume([2227, 2038, 1724, 2258], 7845) + femmesh.addVolume([2026, 1780, 2008, 1737], 7846) + femmesh.addVolume([2013, 1757, 1742, 2257], 7847) + femmesh.addVolume([1749, 2027, 2006, 1785], 7848) + femmesh.addVolume([2020, 1794, 2249, 1775], 7849) + femmesh.addVolume([1758, 2254, 2238, 1802], 7850) + femmesh.addVolume([1724, 681, 2261, 2258], 7851) + femmesh.addVolume([1799, 2019, 2009, 1756], 7852) + femmesh.addVolume([2014, 1758, 2025, 1802], 7853) + femmesh.addVolume([1742, 2022, 2013, 2257], 7854) + femmesh.addVolume([2228, 2035, 1792, 3190], 7855) + femmesh.addVolume([2035, 2228, 1750, 3190], 7856) + femmesh.addVolume([1731, 2006, 2020, 1775], 7857) + femmesh.addVolume([2039, 2040, 680, 1723], 7858) + femmesh.addVolume([2041, 2038, 679, 1724], 7859) + femmesh.addVolume([1723, 2239, 2260, 2259], 7860) + femmesh.addVolume([2001, 2018, 1788, 1744], 7861) + femmesh.addVolume([2005, 1787, 2016, 1743], 7862) + femmesh.addVolume([1788, 2227, 1744, 2247], 7863) + femmesh.addVolume([2227, 1724, 2261, 2258], 7864) + femmesh.addVolume([2225, 1769, 3189, 3187], 7865) + femmesh.addVolume([2028, 1754, 3189, 3187], 7866) + femmesh.addVolume([1754, 2225, 3189, 3187], 7867) + femmesh.addVolume([2239, 1787, 1743, 2226], 7868) + femmesh.addVolume([1728, 2031, 1742, 2240], 7869) + femmesh.addVolume([1753, 2229, 2010, 3190], 7870) + femmesh.addVolume([2229, 1797, 2010, 3190], 7871) + femmesh.addVolume([1790, 2243, 1746, 3188], 7872) + femmesh.addVolume([682, 1759, 680, 1436], 7873) + femmesh.addVolume([681, 679, 1760, 1631], 7874) + femmesh.addVolume([682, 680, 1803, 1436], 7875) + femmesh.addVolume([681, 1804, 679, 1631], 7876) + femmesh.addVolume([2031, 1795, 2240, 1772], 7877) + femmesh.addVolume([2023, 1790, 1746, 3188], 7878) + femmesh.addVolume([2245, 1769, 1798, 3189], 7879) + femmesh.addVolume([1769, 2028, 1798, 3189], 7880) + femmesh.addVolume([1769, 2245, 2225, 3189], 7881) + femmesh.addVolume([2028, 2002, 1754, 3187], 7882) + femmesh.addVolume([2245, 1754, 2225, 3189], 7883) + femmesh.addVolume([1754, 2002, 1725, 3187], 7884) + femmesh.addVolume([1754, 1725, 2225, 3187], 7885) + femmesh.addVolume([1789, 2255, 2222, 3189], 7886) + femmesh.addVolume([1745, 2222, 2255, 3189], 7887) + femmesh.addVolume([1789, 2222, 1770, 3189], 7888) + femmesh.addVolume([2222, 1745, 1726, 3189], 7889) + femmesh.addVolume([2029, 1726, 1745, 3189], 7890) + femmesh.addVolume([2029, 1789, 1770, 3189], 7891) + femmesh.addVolume([2029, 2004, 1726, 3189], 7892) + femmesh.addVolume([1770, 2004, 2029, 3189], 7893) + femmesh.addVolume([1804, 679, 1768, 681], 7894) + femmesh.addVolume([1759, 680, 1723, 682], 7895) + femmesh.addVolume([679, 1760, 1724, 681], 7896) + femmesh.addVolume([680, 1803, 1767, 682], 7897) + femmesh.addVolume([1733, 1812, 2254, 1776], 7898) + femmesh.addVolume([1812, 1733, 2014, 1776], 7899) + femmesh.addVolume([1737, 2026, 1780, 2235], 7900) + femmesh.addVolume([2020, 2249, 1731, 1775], 7901) + femmesh.addVolume([1755, 2024, 3188, 3187], 7902) + femmesh.addVolume([2241, 1755, 3188, 3187], 7903) + femmesh.addVolume([1728, 2003, 1814, 1761], 7904) + femmesh.addVolume([2024, 1800, 3188, 3187], 7905) + femmesh.addVolume([2010, 1736, 1753, 3190], 7906) + femmesh.addVolume([1807, 1812, 2017, 1776], 7907) + femmesh.addVolume([2003, 1814, 2031, 1728], 7908) + femmesh.addVolume([1812, 1763, 1733, 2234], 7909) + femmesh.addVolume([1755, 2024, 1739, 3188], 7910) + femmesh.addVolume([1806, 2003, 1814, 1772], 7911) + femmesh.addVolume([1772, 2232, 1814, 1805], 7912) + femmesh.addVolume([1733, 2017, 1764, 1812], 7913) + femmesh.addVolume([2003, 2031, 1814, 1772], 7914) + femmesh.addVolume([2232, 1814, 1728, 2240], 7915) + femmesh.addVolume([1812, 1733, 2254, 2234], 7916) + femmesh.addVolume([2234, 2254, 1812, 1776], 7917) + femmesh.addVolume([680, 1759, 1435, 1436], 7918) + femmesh.addVolume([1760, 679, 1627, 1631], 7919) + femmesh.addVolume([679, 1804, 1629, 1631], 7920) + femmesh.addVolume([1803, 680, 1437, 1436], 7921) + femmesh.addVolume([2024, 2007, 1739, 3188], 7922) + femmesh.addVolume([1812, 1808, 2234, 1776], 7923) + femmesh.addVolume([1762, 1814, 1728, 2232], 7924) + femmesh.addVolume([1814, 2240, 2232, 1772], 7925) + femmesh.addVolume([1736, 2010, 2021, 3190], 7926) + femmesh.addVolume([1753, 1736, 2248, 3190], 7927) + femmesh.addVolume([1753, 2248, 2229, 3190], 7928) + femmesh.addVolume([1800, 2241, 3188, 3187], 7929) + femmesh.addVolume([1627, 679, 1628, 1631], 7930) + femmesh.addVolume([1628, 679, 1629, 1631], 7931) + femmesh.addVolume([1437, 680, 1439, 1436], 7932) + femmesh.addVolume([1435, 1439, 680, 1436], 7933) + femmesh.addVolume([1812, 2014, 2017, 1776], 7934) + femmesh.addVolume([2010, 1797, 1779, 3190], 7935) + femmesh.addVolume([1733, 2014, 2017, 1812], 7936) + femmesh.addVolume([2021, 2010, 1779, 3190], 7937) + femmesh.addVolume([2241, 1755, 2224, 3188], 7938) + femmesh.addVolume([1755, 1739, 2224, 3188], 7939) + femmesh.addVolume([1783, 2024, 1800, 3188], 7940) + femmesh.addVolume([1779, 1797, 2248, 3190], 7941) + femmesh.addVolume([2229, 2248, 1797, 3190], 7942) + femmesh.addVolume([1783, 2007, 2024, 3188], 7943) + femmesh.addVolume([2003, 1728, 2031, 1761], 7944) + femmesh.addVolume([1764, 2014, 2017, 1733], 7945) + femmesh.addVolume([2017, 2014, 1807, 1776], 7946) + femmesh.addVolume([2003, 1806, 2031, 1772], 7947) + femmesh.addVolume([1761, 1814, 1728, 1762], 7948) + femmesh.addVolume([2254, 1733, 1763, 2234], 7949) + femmesh.addVolume([1772, 1814, 1806, 1805], 7950) + femmesh.addVolume([1807, 1808, 1812, 1776], 7951) + femmesh.addVolume([1751, 1738, 454, 2233], 7952) + femmesh.addVolume([1740, 2236, 447, 2250], 7953) + femmesh.addVolume([614, 2236, 1784, 2250], 7954) + femmesh.addVolume([2253, 454, 1738, 2233], 7955) + femmesh.addVolume([1749, 1731, 456, 2230], 7956) + femmesh.addVolume([2228, 1750, 448, 2250], 7957) + femmesh.addVolume([2233, 621, 1781, 2253], 7958) + femmesh.addVolume([2230, 1731, 456, 2249], 7959) + femmesh.addVolume([641, 2245, 1769, 1798], 7960) + femmesh.addVolume([2253, 1756, 453, 2237], 7961) + femmesh.addVolume([2229, 1753, 450, 2248], 7962) + femmesh.addVolume([615, 1792, 2228, 2250], 7963) + femmesh.addVolume([470, 2243, 1746, 2223], 7964) + femmesh.addVolume([1736, 450, 1753, 2248], 7965) + femmesh.addVolume([614, 1784, 2236, 1791], 7966) + femmesh.addVolume([2229, 617, 1797, 2248], 7967) + femmesh.addVolume([1790, 2223, 2243, 637], 7968) + femmesh.addVolume([1745, 477, 1727, 2255], 7969) + femmesh.addVolume([1779, 1797, 617, 2248], 7970) + femmesh.addVolume([1746, 1729, 470, 2223], 7971) + femmesh.addVolume([1773, 2223, 1790, 637], 7972) + femmesh.addVolume([1731, 1751, 455, 2249], 7973) + femmesh.addVolume([2229, 451, 1734, 2246], 7974) + femmesh.addVolume([1738, 1756, 453, 2253], 7975) + femmesh.addVolume([1792, 615, 1784, 2250], 7976) + femmesh.addVolume([1769, 2225, 2245, 641], 7977) + femmesh.addVolume([2233, 455, 1751, 2249], 7978) + femmesh.addVolume([448, 1750, 1740, 2250], 7979) + femmesh.addVolume([2237, 1756, 452, 2246], 7980) + femmesh.addVolume([452, 1756, 1734, 2246], 7981) + femmesh.addVolume([1740, 1748, 447, 2236], 7982) + femmesh.addVolume([1777, 1799, 619, 2246], 7983) + femmesh.addVolume([619, 1799, 2237, 2246], 7984) + femmesh.addVolume([2229, 1753, 1734, 451], 7985) + femmesh.addVolume([2255, 477, 1727, 2221], 7986) + femmesh.addVolume([1777, 618, 2229, 2246], 7987) + femmesh.addVolume([2028, 515, 1769, 1798], 7988) + femmesh.addVolume([1777, 1797, 2229, 618], 7989) + femmesh.addVolume([1781, 2237, 2253, 620], 7990) + femmesh.addVolume([2002, 515, 1769, 2028], 7991) + femmesh.addVolume([2237, 1781, 1799, 620], 7992) + femmesh.addVolume([2241, 1755, 472, 2224], 7993) + femmesh.addVolume([2221, 1789, 2255, 644], 7994) + femmesh.addVolume([1739, 472, 1755, 2224], 7995) + femmesh.addVolume([1771, 1789, 2221, 644], 7996) + femmesh.addVolume([1754, 378, 2002, 2028], 7997) + femmesh.addVolume([2002, 378, 1754, 1725], 7998) + femmesh.addVolume([2245, 1754, 474, 2225], 7999) + femmesh.addVolume([1725, 474, 1754, 2225], 8000) + femmesh.addVolume([1745, 2255, 2222, 476], 8001) + femmesh.addVolume([2222, 2255, 1789, 643], 8002) + femmesh.addVolume([2222, 643, 1789, 1770], 8003) + femmesh.addVolume([1745, 476, 2222, 1726], 8004) + femmesh.addVolume([446, 1748, 1735, 2236], 8005) + femmesh.addVolume([1745, 2029, 380, 1726], 8006) + femmesh.addVolume([380, 2029, 2004, 1726], 8007) + femmesh.addVolume([351, 2012, 1748, 1740], 8008) + femmesh.addVolume([1732, 1749, 457, 2244], 8009) + femmesh.addVolume([1789, 1770, 517, 2029], 8010) + femmesh.addVolume([2230, 457, 1749, 2244], 8011) + femmesh.addVolume([517, 2029, 1770, 2004], 8012) + femmesh.addVolume([1781, 621, 2233, 1794], 8013) + femmesh.addVolume([1793, 1771, 2221, 645], 8014) + femmesh.addVolume([1729, 2242, 469, 2223], 8015) + femmesh.addVolume([2223, 1773, 2242, 636], 8016) + femmesh.addVolume([478, 2256, 1727, 2221], 8017) + femmesh.addVolume([1747, 1727, 478, 2256], 8018) + femmesh.addVolume([1784, 489, 2035, 2012], 8019) + femmesh.addVolume([2035, 489, 1784, 1792], 8020) + femmesh.addVolume([2030, 382, 1747, 1727], 8021) + femmesh.addVolume([2012, 1748, 2032, 351], 8022) + femmesh.addVolume([488, 2032, 2012, 1784], 8023) + femmesh.addVolume([2032, 1784, 488, 1791], 8024) + femmesh.addVolume([1793, 2221, 2256, 645], 8025) + femmesh.addVolume([1773, 1796, 2242, 636], 8026) + femmesh.addVolume([1729, 1752, 469, 2242], 8027) + femmesh.addVolume([1782, 520, 2030, 1793], 8028) + femmesh.addVolume([2032, 487, 1778, 1791], 8029) + femmesh.addVolume([1764, 1763, 1733, 1812], 8030) + femmesh.addVolume([2236, 1791, 1778, 613], 8031) + femmesh.addVolume([2236, 1735, 446, 2247], 8032) + femmesh.addVolume([2030, 1793, 519, 1771], 8033) + femmesh.addVolume([382, 2030, 2015, 1727], 8034) + femmesh.addVolume([376, 2024, 1739, 1755], 8035) + femmesh.addVolume([2249, 1794, 2233, 622], 8036) + femmesh.addVolume([1747, 479, 1730, 2256], 8037) + femmesh.addVolume([2012, 352, 2035, 1740], 8038) + femmesh.addVolume([1750, 2035, 352, 1740], 8039) + femmesh.addVolume([1796, 2037, 510, 1773], 8040) + femmesh.addVolume([1727, 2015, 381, 1745], 8041) + femmesh.addVolume([1732, 2027, 361, 1749], 8042) + femmesh.addVolume([2029, 381, 2015, 1745], 8043) + femmesh.addVolume([519, 2015, 2030, 1771], 8044) + femmesh.addVolume([1747, 383, 2030, 1730], 8045) + femmesh.addVolume([2257, 1774, 2231, 626], 8046) + femmesh.addVolume([2026, 509, 1796, 2011], 8047) + femmesh.addVolume([1778, 2247, 2236, 613], 8048) + femmesh.addVolume([2032, 350, 1748, 1735], 8049) + femmesh.addVolume([2037, 1796, 510, 2011], 8050) + femmesh.addVolume([1757, 2027, 362, 1732], 8051) + femmesh.addVolume([373, 2037, 1752, 1729], 8052) + femmesh.addVolume([2015, 518, 1789, 1771], 8053) + femmesh.addVolume([507, 2025, 2008, 1786], 8054) + femmesh.addVolume([2029, 518, 1789, 2015], 8055) + femmesh.addVolume([2257, 1795, 1774, 626], 8056) + femmesh.addVolume([1774, 499, 2027, 1801], 8057) + femmesh.addVolume([1782, 1793, 2256, 646], 8058) + femmesh.addVolume([2242, 1752, 468, 2235], 8059) + femmesh.addVolume([2235, 2242, 1796, 635], 8060) + femmesh.addVolume([1783, 2024, 513, 1800], 8061) + femmesh.addVolume([1752, 2011, 2037, 373], 8062) + femmesh.addVolume([2030, 520, 1782, 2016], 8063) + femmesh.addVolume([1774, 2231, 625, 1801], 8064) + femmesh.addVolume([458, 2231, 1732, 2244], 8065) + femmesh.addVolume([1778, 487, 2032, 2018], 8066) + femmesh.addVolume([625, 2231, 2244, 1801], 8067) + femmesh.addVolume([2019, 1799, 493, 1777], 8068) + femmesh.addVolume([1751, 2036, 358, 1738], 8069) + femmesh.addVolume([1734, 2033, 355, 1753], 8070) + femmesh.addVolume([458, 1757, 1732, 2231], 8071) + femmesh.addVolume([370, 2008, 2025, 1741], 8072) + femmesh.addVolume([2027, 1801, 498, 1785], 8073) + femmesh.addVolume([639, 1800, 2241, 3188], 8074) + femmesh.addVolume([1808, 2254, 2234, 1776], 8075) + femmesh.addVolume([1796, 509, 2026, 1780], 8076) + femmesh.addVolume([2030, 383, 2016, 1730], 8077) + femmesh.addVolume([2256, 479, 1730, 2226], 8078) + femmesh.addVolume([1739, 2007, 2024, 376], 8079) + femmesh.addVolume([1775, 1794, 2249, 622], 8080) + femmesh.addVolume([492, 1797, 2033, 1777], 8081) + femmesh.addVolume([350, 2032, 2018, 1735], 8082) + femmesh.addVolume([493, 2033, 2019, 1777], 8083) + femmesh.addVolume([361, 2027, 2006, 1749], 8084) + femmesh.addVolume([1802, 2025, 507, 1786], 8085) + femmesh.addVolume([2036, 495, 1781, 1794], 8086) + femmesh.addVolume([496, 2036, 2020, 1794], 8087) + femmesh.addVolume([499, 2027, 2013, 1774], 8088) + femmesh.addVolume([1741, 2251, 467, 2235], 8089) + femmesh.addVolume([2251, 634, 2235, 1786], 8090) + femmesh.addVolume([362, 2013, 2027, 1757], 8091) + femmesh.addVolume([384, 2016, 1730, 1743], 8092) + femmesh.addVolume([349, 2018, 1744, 1735], 8093) + femmesh.addVolume([1735, 1744, 445, 2247], 8094) + femmesh.addVolume([1741, 2025, 370, 1758], 8095) + femmesh.addVolume([2026, 372, 2011, 1737], 8096) + femmesh.addVolume([498, 2006, 2027, 1785], 8097) + femmesh.addVolume([2226, 1782, 2256, 646], 8098) + femmesh.addVolume([468, 1752, 1737, 2235], 8099) + femmesh.addVolume([1780, 2235, 1796, 635], 8100) + femmesh.addVolume([2024, 1783, 513, 2007], 8101) + femmesh.addVolume([1752, 2011, 372, 1737], 8102) + femmesh.addVolume([1757, 2231, 459, 2257], 8103) + femmesh.addVolume([1772, 2240, 2232, 1805], 8104) + femmesh.addVolume([1794, 2020, 496, 1775], 8105) + femmesh.addVolume([500, 1774, 2022, 1795], 8106) + femmesh.addVolume([2009, 358, 2036, 1738], 8107) + femmesh.addVolume([355, 2033, 2010, 1753], 8108) + femmesh.addVolume([1781, 1799, 494, 2009], 8109) + femmesh.addVolume([1779, 2010, 491, 1797], 8110) + femmesh.addVolume([2009, 495, 1781, 2036], 8111) + femmesh.addVolume([492, 2010, 2033, 1797], 8112) + femmesh.addVolume([467, 1737, 1741, 2235], 8113) + femmesh.addVolume([634, 1780, 2235, 1786], 8114) + femmesh.addVolume([2013, 2022, 500, 1774], 8115) + femmesh.addVolume([466, 2251, 1741, 2238], 8116) + femmesh.addVolume([633, 2251, 2238, 1786], 8117) + femmesh.addVolume([459, 1742, 1757, 2257], 8118) + femmesh.addVolume([1762, 2232, 1728, 2240], 8119) + femmesh.addVolume([1775, 2249, 2230, 623], 8120) + femmesh.addVolume([2006, 1731, 360, 1749], 8121) + femmesh.addVolume([2020, 359, 1731, 1751], 8122) + femmesh.addVolume([374, 1746, 2023, 1729], 8123) + femmesh.addVolume([1436, 1803, 682, 1434], 8124) + femmesh.addVolume([1804, 1631, 681, 1632], 8125) + femmesh.addVolume([681, 1760, 1630, 1631], 8126) + femmesh.addVolume([1759, 682, 1432, 1436], 8127) + femmesh.addVolume([2244, 1785, 2230, 624], 8128) + femmesh.addVolume([2019, 1734, 356, 1756], 8129) + femmesh.addVolume([2037, 374, 2023, 1729], 8130) + femmesh.addVolume([1785, 2244, 1801, 624], 8131) + femmesh.addVolume([633, 2238, 1802, 1786], 8132) + femmesh.addVolume([1741, 1758, 466, 2238], 8133) + femmesh.addVolume([384, 2005, 2016, 1743], 8134) + femmesh.addVolume([2018, 1744, 2001, 349], 8135) + femmesh.addVolume([359, 2020, 2036, 1751], 8136) + femmesh.addVolume([2247, 1778, 1788, 612], 8137) + femmesh.addVolume([2226, 1787, 1782, 647], 8138) + femmesh.addVolume([494, 2009, 1799, 2019], 8139) + femmesh.addVolume([491, 2021, 2010, 1779], 8140) + femmesh.addVolume([356, 2019, 2033, 1734], 8141) + femmesh.addVolume([497, 2020, 2006, 1775], 8142) + femmesh.addVolume([1775, 2006, 497, 1785], 8143) + femmesh.addVolume([1738, 2009, 357, 1756], 8144) + femmesh.addVolume([1753, 2010, 354, 1736], 8145) + femmesh.addVolume([2008, 508, 1780, 2026], 8146) + femmesh.addVolume([2008, 371, 2026, 1737], 8147) + femmesh.addVolume([2227, 445, 1744, 2247], 8148) + femmesh.addVolume([623, 2230, 1775, 1785], 8149) + femmesh.addVolume([360, 2006, 2020, 1731], 8150) + femmesh.addVolume([1730, 480, 1743, 2226], 8151) + femmesh.addVolume([1778, 486, 2018, 1788], 8152) + femmesh.addVolume([2025, 506, 2014, 1802], 8153) + femmesh.addVolume([1737, 2008, 371, 1741], 8154) + femmesh.addVolume([508, 2008, 1780, 1786], 8155) + femmesh.addVolume([2240, 1795, 2257, 627], 8156) + femmesh.addVolume([1802, 2254, 2238, 632], 8157) + femmesh.addVolume([2238, 1758, 465, 2254], 8158) + femmesh.addVolume([357, 2009, 2019, 1756], 8159) + femmesh.addVolume([2021, 354, 2010, 1736], 8160) + femmesh.addVolume([1787, 1782, 521, 2016], 8161) + femmesh.addVolume([1742, 2013, 363, 1757], 8162) + femmesh.addVolume([2023, 1746, 375, 3188], 8163) + femmesh.addVolume([2247, 1788, 2227, 612], 8164) + femmesh.addVolume([2226, 2239, 1787, 647], 8165) + femmesh.addVolume([1788, 486, 2018, 2001], 8166) + femmesh.addVolume([363, 2022, 2013, 1742], 8167) + femmesh.addVolume([2031, 501, 2022, 1795], 8168) + femmesh.addVolume([1787, 2016, 521, 2005], 8169) + femmesh.addVolume([639, 2241, 2224, 3188], 8170) + femmesh.addVolume([639, 1783, 1800, 3188], 8171) + femmesh.addVolume([375, 1746, 1739, 3188], 8172) + femmesh.addVolume([2239, 1743, 480, 2226], 8173) + femmesh.addVolume([1742, 2022, 2031, 364], 8174) + femmesh.addVolume([2257, 460, 1742, 2240], 8175) + femmesh.addVolume([2014, 369, 2025, 1758], 8176) + femmesh.addVolume([627, 2240, 1795, 1772], 8177) + femmesh.addVolume([1802, 506, 2014, 1776], 8178) + femmesh.addVolume([364, 2031, 1742, 1728], 8179) + femmesh.addVolume([1572, 1810, 1575, 1952], 8180) + femmesh.addVolume([1573, 1766, 1570, 1950], 8181) + femmesh.addVolume([1494, 1491, 1809, 1877], 8182) + femmesh.addVolume([1489, 1875, 1492, 1765], 8183) + femmesh.addVolume([1492, 1875, 1495, 1765], 8184) + femmesh.addVolume([1497, 1494, 1809, 1877], 8185) + femmesh.addVolume([1766, 1567, 1570, 1950], 8186) + femmesh.addVolume([1952, 1572, 1810, 1569], 8187) + femmesh.addVolume([1776, 2254, 1802, 632], 8188) + femmesh.addVolume([465, 1758, 1733, 2254], 8189) + femmesh.addVolume([501, 1795, 2031, 1772], 8190) + femmesh.addVolume([1742, 460, 1728, 2240], 8191) + femmesh.addVolume([2007, 2023, 375, 3188], 8192) + femmesh.addVolume([1570, 106, 1766, 1573], 8193) + femmesh.addVolume([1575, 235, 1810, 1572], 8194) + femmesh.addVolume([1489, 1492, 79, 1765], 8195) + femmesh.addVolume([1491, 1809, 208, 1494], 8196) + femmesh.addVolume([1733, 369, 2014, 1758], 8197) + femmesh.addVolume([1494, 1809, 209, 1497], 8198) + femmesh.addVolume([1492, 1495, 80, 1765], 8199) + femmesh.addVolume([1810, 1572, 234, 1569], 8200) + femmesh.addVolume([1570, 1766, 105, 1567], 8201) + femmesh.addVolume([1816, 2234, 1812, 1808], 8202) + femmesh.addVolume([1812, 1811, 1763, 2234], 8203) + femmesh.addVolume([375, 1739, 2007, 3188], 8204) + femmesh.addVolume([1815, 1814, 2232, 1805], 8205) + femmesh.addVolume([1814, 2003, 1819, 1761], 8206) + femmesh.addVolume([1750, 353, 2035, 3190], 8207) + femmesh.addVolume([1764, 2017, 1817, 1812], 8208) + femmesh.addVolume([1821, 1814, 1806, 2003], 8209) + femmesh.addVolume([1807, 1820, 2017, 1812], 8210) + femmesh.addVolume([1723, 2260, 7, 682], 8211) + femmesh.addVolume([2232, 1762, 1814, 1813], 8212) + femmesh.addVolume([1624, 679, 1628, 1627], 8213) + femmesh.addVolume([1626, 679, 1629, 1628], 8214) + femmesh.addVolume([1438, 1439, 680, 1435], 8215) + femmesh.addVolume([1440, 1439, 1437, 680], 8216) + femmesh.addVolume([1728, 365, 2031, 1761], 8217) + femmesh.addVolume([1808, 2234, 2254, 631], 8218) + femmesh.addVolume([2254, 1763, 464, 2234], 8219) + femmesh.addVolume([2240, 1772, 628, 1805], 8220) + femmesh.addVolume([628, 2232, 2240, 1805], 8221) + femmesh.addVolume([353, 1750, 1736, 3190], 8222) + femmesh.addVolume([1776, 1808, 2254, 631], 8223) + femmesh.addVolume([502, 2031, 1806, 1772], 8224) + femmesh.addVolume([2031, 365, 2003, 1761], 8225) + femmesh.addVolume([1763, 464, 1733, 2254], 8226) + femmesh.addVolume([2243, 471, 1746, 3188], 8227) + femmesh.addVolume([2014, 505, 1807, 1776], 8228) + femmesh.addVolume([1728, 461, 1762, 2240], 8229) + femmesh.addVolume([2261, 1724, 8, 681], 8230) + femmesh.addVolume([1806, 2031, 502, 2003], 8231) + femmesh.addVolume([2021, 2035, 353, 3190], 8232) + femmesh.addVolume([2023, 512, 1790, 3188], 8233) + femmesh.addVolume([2017, 505, 1807, 2014], 8234) + femmesh.addVolume([2232, 1762, 461, 2240], 8235) + femmesh.addVolume([681, 12, 1804, 1632], 8236) + femmesh.addVolume([14, 682, 1803, 1434], 8237) + femmesh.addVolume([1630, 8, 1760, 681], 8238) + femmesh.addVolume([7, 1432, 1759, 682], 8239) + femmesh.addVolume([353, 1736, 2021, 3190], 8240) + femmesh.addVolume([385, 2040, 2005, 1743], 8241) + femmesh.addVolume([368, 2014, 1764, 1733], 8242) + femmesh.addVolume([449, 1750, 2228, 3190], 8243) + femmesh.addVolume([1739, 1746, 471, 3188], 8244) + femmesh.addVolume([1496, 1877, 1876, 1493], 8245) + femmesh.addVolume([1493, 1876, 1496, 1875], 8246) + femmesh.addVolume([1950, 1571, 1574, 1954], 8247) + femmesh.addVolume([1574, 1571, 1952, 1954], 8248) + femmesh.addVolume([2209, 1414, 1417, 2210], 8249) + femmesh.addVolume([1416, 2211, 1419, 2210], 8250) + femmesh.addVolume([2056, 1645, 1648, 2060], 8251) + femmesh.addVolume([2060, 1650, 2058, 1647], 8252) + femmesh.addVolume([2135, 157, 1344, 1337], 8253) + femmesh.addVolume([157, 1340, 2135, 1341], 8254) + femmesh.addVolume([1792, 2035, 490, 3190], 8255) + femmesh.addVolume([2060, 2057, 1646, 2058], 8256) + femmesh.addVolume([2060, 2056, 1646, 2057], 8257) + femmesh.addVolume([2210, 2213, 2211, 1421], 8258) + femmesh.addVolume([2210, 2209, 2213, 1421], 8259) + femmesh.addVolume([1650, 2060, 1649, 1647], 8260) + femmesh.addVolume([1649, 1648, 1645, 2060], 8261) + femmesh.addVolume([2210, 1419, 1416, 1418], 8262) + femmesh.addVolume([2210, 1414, 1417, 1418], 8263) + femmesh.addVolume([1877, 1496, 1494, 1493], 8264) + femmesh.addVolume([1875, 1496, 1493, 1492], 8265) + femmesh.addVolume([1570, 1571, 1574, 1950], 8266) + femmesh.addVolume([1572, 1571, 1952, 1574], 8267) + femmesh.addVolume([1952, 1955, 1575, 1954], 8268) + femmesh.addVolume([1573, 1953, 1950, 1954], 8269) + femmesh.addVolume([1491, 1874, 1877, 1876], 8270) + femmesh.addVolume([1875, 1876, 1872, 1489], 8271) + femmesh.addVolume([2135, 1339, 2138, 2136], 8272) + femmesh.addVolume([2134, 2138, 2135, 1339], 8273) + femmesh.addVolume([2135, 2131, 1342, 2132], 8274) + femmesh.addVolume([1342, 2133, 2135, 2132], 8275) + femmesh.addVolume([482, 1812, 1807, 1808], 8276) + femmesh.addVolume([1878, 1879, 1875, 1495], 8277) + femmesh.addVolume([1880, 1497, 1877, 1879], 8278) + femmesh.addVolume([1950, 1567, 1951, 1947], 8279) + femmesh.addVolume([1569, 1949, 1952, 1951], 8280) + femmesh.addVolume([682, 14, 1767, 2259], 8281) + femmesh.addVolume([2058, 1646, 2060, 1647], 8282) + femmesh.addVolume([2056, 1646, 1645, 2060], 8283) + femmesh.addVolume([2209, 2210, 1417, 1421], 8284) + femmesh.addVolume([2210, 2211, 1419, 1421], 8285) + femmesh.addVolume([2207, 2208, 1415, 2210], 8286) + femmesh.addVolume([1415, 2206, 2207, 2210], 8287) + femmesh.addVolume([1652, 2063, 2060, 2061], 8288) + femmesh.addVolume([2059, 2060, 1652, 2063], 8289) + femmesh.addVolume([1342, 1344, 2131, 2135], 8290) + femmesh.addVolume([1341, 2135, 1342, 2133], 8291) + femmesh.addVolume([2135, 1337, 2134, 1339], 8292) + femmesh.addVolume([1340, 1339, 2135, 2136], 8293) + femmesh.addVolume([1575, 1574, 1952, 1954], 8294) + femmesh.addVolume([1950, 1574, 1573, 1954], 8295) + femmesh.addVolume([1876, 1875, 1493, 1489], 8296) + femmesh.addVolume([1876, 1877, 1491, 1493], 8297) + femmesh.addVolume([288, 1763, 1764, 1812], 8298) + femmesh.addVolume([1496, 1877, 1497, 1879], 8299) + femmesh.addVolume([1496, 1875, 1879, 1495], 8300) + femmesh.addVolume([1571, 1567, 1951, 1950], 8301) + femmesh.addVolume([1951, 1952, 1569, 1571], 8302) + femmesh.addVolume([1416, 1415, 2208, 2210], 8303) + femmesh.addVolume([2206, 1415, 1414, 2210], 8304) + femmesh.addVolume([1652, 2059, 1648, 2060], 8305) + femmesh.addVolume([1652, 2061, 2060, 1650], 8306) + femmesh.addVolume([1646, 1649, 1645, 2060], 8307) + femmesh.addVolume([1649, 2060, 1646, 1647], 8308) + femmesh.addVolume([1418, 1417, 2210, 1421], 8309) + femmesh.addVolume([1419, 1418, 2210, 1421], 8310) + femmesh.addVolume([1806, 1814, 484, 1805], 8311) + femmesh.addVolume([1952, 1575, 1572, 1574], 8312) + femmesh.addVolume([1573, 1570, 1574, 1950], 8313) + femmesh.addVolume([1492, 1493, 1875, 1489], 8314) + femmesh.addVolume([1491, 1877, 1494, 1493], 8315) + femmesh.addVolume([1344, 1342, 157, 2135], 8316) + femmesh.addVolume([157, 2135, 1342, 1341], 8317) + femmesh.addVolume([157, 1337, 2135, 1339], 8318) + femmesh.addVolume([157, 1339, 2135, 1340], 8319) + femmesh.addVolume([1764, 2017, 2014, 368], 8320) + femmesh.addVolume([1804, 1768, 12, 681], 8321) + femmesh.addVolume([2023, 2007, 512, 3188], 8322) + femmesh.addVolume([1494, 1877, 1497, 1496], 8323) + femmesh.addVolume([1495, 1496, 1875, 1492], 8324) + femmesh.addVolume([1567, 1571, 1570, 1950], 8325) + femmesh.addVolume([1569, 1952, 1572, 1571], 8326) + femmesh.addVolume([1415, 2210, 1416, 1418], 8327) + femmesh.addVolume([2210, 1415, 1414, 1418], 8328) + femmesh.addVolume([1652, 1648, 1649, 2060], 8329) + femmesh.addVolume([2060, 1649, 1652, 1650], 8330) + femmesh.addVolume([286, 1814, 1761, 1762], 8331) + femmesh.addVolume([2056, 2053, 1642, 2057], 8332) + femmesh.addVolume([1644, 2057, 2055, 2058], 8333) + femmesh.addVolume([2214, 2213, 1422, 2211], 8334) + femmesh.addVolume([2209, 1420, 2212, 2213], 8335) + femmesh.addVolume([1767, 1803, 14, 682], 8336) + femmesh.addVolume([1760, 8, 1724, 681], 8337) + femmesh.addVolume([7, 1759, 1723, 682], 8338) + femmesh.addVolume([1577, 1957, 1953, 1954], 8339) + femmesh.addVolume([1957, 1577, 1955, 1954], 8340) + femmesh.addVolume([1873, 1876, 1490, 1872], 8341) + femmesh.addVolume([1490, 1874, 1876, 1873], 8342) + femmesh.addVolume([2040, 385, 1723, 1743], 8343) + femmesh.addVolume([1338, 2137, 2134, 2138], 8344) + femmesh.addVolume([1720, 2131, 2128, 2132], 8345) + femmesh.addVolume([2130, 2133, 1722, 2132], 8346) + femmesh.addVolume([2139, 2138, 1343, 2136], 8347) + femmesh.addVolume([1499, 1880, 1882, 1879], 8348) + femmesh.addVolume([1879, 1882, 1499, 1878], 8349) + femmesh.addVolume([1948, 1951, 1949, 1568], 8350) + femmesh.addVolume([1947, 1951, 1948, 1568], 8351) + femmesh.addVolume([2207, 2208, 2205, 1413], 8352) + femmesh.addVolume([2207, 2206, 1411, 2203], 8353) + femmesh.addVolume([1651, 2062, 2059, 2063], 8354) + femmesh.addVolume([2061, 2063, 2064, 1653], 8355) + femmesh.addVolume([1642, 1646, 2056, 2057], 8356) + femmesh.addVolume([2057, 1644, 1646, 2058], 8357) + femmesh.addVolume([2211, 2213, 1422, 1421], 8358) + femmesh.addVolume([2213, 2209, 1420, 1421], 8359) + femmesh.addVolume([1953, 1573, 1577, 1954], 8360) + femmesh.addVolume([1575, 1955, 1577, 1954], 8361) + femmesh.addVolume([1490, 1872, 1876, 1489], 8362) + femmesh.addVolume([1876, 1491, 1874, 1490], 8363) + femmesh.addVolume([2138, 2134, 1338, 1339], 8364) + femmesh.addVolume([1342, 1722, 2133, 2132], 8365) + femmesh.addVolume([1342, 2131, 1720, 2132], 8366) + femmesh.addVolume([1343, 2138, 1339, 2136], 8367) + femmesh.addVolume([1878, 1499, 1879, 1495], 8368) + femmesh.addVolume([1880, 1499, 1497, 1879], 8369) + femmesh.addVolume([1951, 1947, 1567, 1568], 8370) + femmesh.addVolume([1949, 1951, 1569, 1568], 8371) + femmesh.addVolume([1646, 2058, 1644, 1647], 8372) + femmesh.addVolume([2056, 1642, 1645, 1646], 8373) + femmesh.addVolume([1422, 1419, 2211, 1421], 8374) + femmesh.addVolume([1417, 1420, 2209, 1421], 8375) + femmesh.addVolume([1415, 2208, 2207, 1413], 8376) + femmesh.addVolume([1411, 2207, 1415, 2206], 8377) + femmesh.addVolume([2059, 1652, 1651, 2063], 8378) + femmesh.addVolume([2061, 1652, 2063, 1653], 8379) + femmesh.addVolume([1720, 1344, 2131, 1342], 8380) + femmesh.addVolume([2133, 1342, 1341, 1722], 8381) + femmesh.addVolume([1338, 2134, 1337, 1339], 8382) + femmesh.addVolume([1339, 1340, 1343, 2136], 8383) + femmesh.addVolume([1577, 1574, 1575, 1954], 8384) + femmesh.addVolume([1577, 1573, 1574, 1954], 8385) + femmesh.addVolume([1491, 1490, 1876, 1493], 8386) + femmesh.addVolume([1876, 1493, 1490, 1489], 8387) + femmesh.addVolume([1496, 1879, 1499, 1495], 8388) + femmesh.addVolume([1499, 1496, 1497, 1879], 8389) + femmesh.addVolume([1571, 1569, 1951, 1568], 8390) + femmesh.addVolume([1951, 1567, 1571, 1568], 8391) + femmesh.addVolume([1411, 1415, 1414, 2206], 8392) + femmesh.addVolume([1415, 1416, 2208, 1413], 8393) + femmesh.addVolume([2059, 1648, 1651, 1652], 8394) + femmesh.addVolume([1650, 1652, 2061, 1653], 8395) + femmesh.addVolume([482, 1816, 1812, 1808], 8396) + femmesh.addVolume([680, 1723, 2040, 1759], 8397) + femmesh.addVolume([1724, 679, 2041, 1760], 8398) + femmesh.addVolume([449, 1736, 1750, 3190], 8399) + femmesh.addVolume([2054, 2055, 1643, 2057], 8400) + femmesh.addVolume([2054, 1643, 2053, 2057], 8401) + femmesh.addVolume([2216, 2213, 2212, 1424], 8402) + femmesh.addVolume([2213, 1424, 2216, 2214], 8403) + femmesh.addVolume([1953, 1576, 1956, 1957], 8404) + femmesh.addVolume([1578, 1955, 1958, 1957], 8405) + femmesh.addVolume([1869, 1873, 1486, 1872], 8406) + femmesh.addVolume([1874, 1488, 1871, 1873], 8407) + femmesh.addVolume([1721, 2128, 2129, 2132], 8408) + femmesh.addVolume([1721, 2129, 2130, 2132], 8409) + femmesh.addVolume([1346, 2141, 2138, 2139], 8410) + femmesh.addVolume([2138, 1346, 2137, 2141], 8411) + femmesh.addVolume([1882, 1878, 1881, 1498], 8412) + femmesh.addVolume([1883, 1500, 1880, 1882], 8413) + femmesh.addVolume([1948, 1566, 1949, 1946], 8414) + femmesh.addVolume([1947, 1564, 1948, 1944], 8415) + femmesh.addVolume([1412, 2204, 2207, 2203], 8416) + femmesh.addVolume([2204, 1412, 2207, 2205], 8417) + femmesh.addVolume([2066, 2062, 1655, 2063], 8418) + femmesh.addVolume([2066, 2063, 1655, 2064], 8419) + femmesh.addVolume([1643, 1642, 2053, 2057], 8420) + femmesh.addVolume([1644, 1643, 2055, 2057], 8421) + femmesh.addVolume([1422, 1424, 2213, 2214], 8422) + femmesh.addVolume([2212, 2213, 1420, 1424], 8423) + femmesh.addVolume([1576, 1953, 1577, 1957], 8424) + femmesh.addVolume([1578, 1577, 1955, 1957], 8425) + femmesh.addVolume([1490, 1486, 1873, 1872], 8426) + femmesh.addVolume([1490, 1488, 1874, 1873], 8427) + femmesh.addVolume([1435, 680, 1438, 1759], 8428) + femmesh.addVolume([679, 1627, 1624, 1760], 8429) + femmesh.addVolume([1437, 1803, 1440, 680], 8430) + femmesh.addVolume([1626, 1629, 679, 1804], 8431) + femmesh.addVolume([2128, 1721, 1720, 2132], 8432) + femmesh.addVolume([1346, 2137, 1338, 2138], 8433) + femmesh.addVolume([2138, 1343, 1346, 2139], 8434) + femmesh.addVolume([1722, 1721, 2130, 2132], 8435) + femmesh.addVolume([1882, 1500, 1880, 1499], 8436) + femmesh.addVolume([1878, 1882, 1499, 1498], 8437) + femmesh.addVolume([1947, 1948, 1564, 1568], 8438) + femmesh.addVolume([1948, 1949, 1566, 1568], 8439) + femmesh.addVolume([1642, 1643, 1646, 2057], 8440) + femmesh.addVolume([1643, 1644, 1646, 2057], 8441) + femmesh.addVolume([1422, 2213, 1424, 1421], 8442) + femmesh.addVolume([1420, 1424, 2213, 1421], 8443) + femmesh.addVolume([2205, 1412, 2207, 1413], 8444) + femmesh.addVolume([2207, 1411, 1412, 2203], 8445) + femmesh.addVolume([1655, 2062, 1651, 2063], 8446) + femmesh.addVolume([1655, 2064, 2063, 1653], 8447) + femmesh.addVolume([1953, 1577, 1573, 1576], 8448) + femmesh.addVolume([1955, 1575, 1577, 1578], 8449) + femmesh.addVolume([1491, 1488, 1874, 1490], 8450) + femmesh.addVolume([1872, 1490, 1486, 1489], 8451) + femmesh.addVolume([1764, 1817, 288, 1812], 8452) + femmesh.addVolume([379, 2028, 1754, 3189], 8453) + femmesh.addVolume([516, 1798, 2028, 3189], 8454) + femmesh.addVolume([640, 1769, 2225, 3187], 8455) + femmesh.addVolume([2241, 1800, 640, 3187], 8456) + femmesh.addVolume([475, 1754, 2245, 3189], 8457) + femmesh.addVolume([642, 2245, 1798, 3189], 8458) + femmesh.addVolume([377, 1725, 2002, 3187], 8459) + femmesh.addVolume([473, 2225, 1725, 3187], 8460) + femmesh.addVolume([1755, 2241, 473, 3187], 8461) + femmesh.addVolume([2004, 379, 1726, 3189], 8462) + femmesh.addVolume([2004, 1770, 516, 3189], 8463) + femmesh.addVolume([1726, 475, 2222, 3189], 8464) + femmesh.addVolume([642, 1770, 2222, 3189], 8465) + femmesh.addVolume([1339, 1346, 2138, 1343], 8466) + femmesh.addVolume([1721, 1722, 1342, 2132], 8467) + femmesh.addVolume([2138, 1338, 1346, 1339], 8468) + femmesh.addVolume([1721, 1342, 1720, 2132], 8469) + femmesh.addVolume([1814, 1762, 286, 1813], 8470) + femmesh.addVolume([1821, 484, 1806, 1814], 8471) + femmesh.addVolume([514, 1800, 2024, 3187], 8472) + femmesh.addVolume([1880, 1500, 1497, 1499], 8473) + femmesh.addVolume([1499, 1495, 1878, 1498], 8474) + femmesh.addVolume([1947, 1564, 1567, 1568], 8475) + femmesh.addVolume([1566, 1949, 1569, 1568], 8476) + femmesh.addVolume([2002, 1769, 514, 3187], 8477) + femmesh.addVolume([2259, 1787, 2239, 648], 8478) + femmesh.addVolume([377, 2024, 1755, 3187], 8479) + femmesh.addVolume([1412, 2207, 1415, 1411], 8480) + femmesh.addVolume([2207, 1412, 1415, 1413], 8481) + femmesh.addVolume([1655, 1651, 1652, 2063], 8482) + femmesh.addVolume([2063, 1652, 1655, 1653], 8483) + femmesh.addVolume([2038, 10, 679, 1768], 8484) + femmesh.addVolume([2055, 1641, 2052, 2054], 8485) + femmesh.addVolume([1639, 2053, 2050, 2054], 8486) + femmesh.addVolume([1425, 2217, 2216, 2214], 8487) + femmesh.addVolume([2215, 2212, 1423, 2216], 8488) + femmesh.addVolume([681, 1768, 12, 2258], 8489) + femmesh.addVolume([1960, 1956, 1580, 1957], 8490) + femmesh.addVolume([1958, 1960, 1580, 1957], 8491) + femmesh.addVolume([1487, 1870, 1871, 1873], 8492) + femmesh.addVolume([1870, 1873, 1487, 1869], 8493) + femmesh.addVolume([2141, 2139, 1347, 2142], 8494) + femmesh.addVolume([1345, 2140, 2137, 2141], 8495) + femmesh.addVolume([2128, 2125, 1717, 2129], 8496) + femmesh.addVolume([1719, 2129, 2127, 2130], 8497) + femmesh.addVolume([1502, 1882, 1885, 1881], 8498) + femmesh.addVolume([1883, 1885, 1502, 1882], 8499) + femmesh.addVolume([1565, 1948, 1945, 1946], 8500) + femmesh.addVolume([1948, 1565, 1945, 1944], 8501) + femmesh.addVolume([2243, 1790, 638, 3188], 8502) + femmesh.addVolume([2204, 1410, 2205, 2202], 8503) + femmesh.addVolume([2204, 1408, 2200, 2203], 8504) + femmesh.addVolume([2062, 1654, 2065, 2066], 8505) + femmesh.addVolume([2064, 2066, 2067, 1656], 8506) + femmesh.addVolume([565, 1575, 1810, 1952], 8507) + femmesh.addVolume([1766, 1573, 331, 1950], 8508) + femmesh.addVolume([1809, 1491, 539, 1877], 8509) + femmesh.addVolume([305, 1875, 1489, 1765], 8510) + femmesh.addVolume([490, 2035, 2021, 3190], 8511) + femmesh.addVolume([611, 1768, 1788, 2258], 8512) + femmesh.addVolume([540, 1497, 1809, 1877], 8513) + femmesh.addVolume([1875, 306, 1495, 1765], 8514) + femmesh.addVolume([1567, 1766, 330, 1950], 8515) + femmesh.addVolume([1952, 1810, 564, 1569], 8516) + femmesh.addVolume([1643, 2053, 1639, 2054], 8517) + femmesh.addVolume([1643, 1641, 2055, 2054], 8518) + femmesh.addVolume([2216, 2212, 1423, 1424], 8519) + femmesh.addVolume([1425, 2216, 1424, 2214], 8520) + femmesh.addVolume([485, 1788, 2038, 2001], 8521) + femmesh.addVolume([1787, 2259, 1767, 648], 8522) + femmesh.addVolume([1576, 1580, 1956, 1957], 8523) + femmesh.addVolume([1580, 1578, 1958, 1957], 8524) + femmesh.addVolume([1486, 1487, 1873, 1869], 8525) + femmesh.addVolume([1487, 1871, 1488, 1873], 8526) + femmesh.addVolume([611, 1788, 2227, 2258], 8527) + femmesh.addVolume([1739, 471, 2224, 3188], 8528) + femmesh.addVolume([2137, 1346, 1345, 2141], 8529) + femmesh.addVolume([1346, 1347, 2141, 2139], 8530) + femmesh.addVolume([2129, 1717, 2128, 1721], 8531) + femmesh.addVolume([2130, 1719, 2129, 1721], 8532) + femmesh.addVolume([1639, 1642, 2053, 1643], 8533) + femmesh.addVolume([2055, 1644, 1641, 1643], 8534) + femmesh.addVolume([1424, 1422, 1425, 2214], 8535) + femmesh.addVolume([1423, 2212, 1420, 1424], 8536) + femmesh.addVolume([2228, 1792, 616, 3190], 8537) + femmesh.addVolume([1881, 1502, 1882, 1498], 8538) + femmesh.addVolume([1502, 1500, 1883, 1882], 8539) + femmesh.addVolume([1948, 1565, 1566, 1946], 8540) + femmesh.addVolume([1564, 1565, 1948, 1944], 8541) + femmesh.addVolume([1580, 1576, 1577, 1957], 8542) + femmesh.addVolume([1578, 1580, 1577, 1957], 8543) + femmesh.addVolume([1487, 1873, 1490, 1486], 8544) + femmesh.addVolume([1488, 1490, 1487, 1873], 8545) + femmesh.addVolume([1811, 1763, 288, 1812], 8546) + femmesh.addVolume([1815, 484, 1814, 1805], 8547) + femmesh.addVolume([1412, 1408, 2204, 2203], 8548) + femmesh.addVolume([2205, 2204, 1412, 1410], 8549) + femmesh.addVolume([2066, 2064, 1655, 1656], 8550) + femmesh.addVolume([1655, 1654, 2062, 2066], 8551) + femmesh.addVolume([1345, 2137, 1338, 1346], 8552) + femmesh.addVolume([1343, 1347, 1346, 2139], 8553) + femmesh.addVolume([2128, 1717, 1720, 1721], 8554) + femmesh.addVolume([1719, 2130, 1722, 1721], 8555) + femmesh.addVolume([485, 2038, 1788, 1768], 8556) + femmesh.addVolume([1882, 1502, 1500, 1499], 8557) + femmesh.addVolume([1499, 1882, 1502, 1498], 8558) + femmesh.addVolume([1566, 1565, 1948, 1568], 8559) + femmesh.addVolume([1564, 1948, 1565, 1568], 8560) + femmesh.addVolume([2039, 1787, 522, 2005], 8561) + femmesh.addVolume([1412, 1413, 2205, 1410], 8562) + femmesh.addVolume([1411, 1408, 1412, 2203], 8563) + femmesh.addVolume([2062, 1651, 1654, 1655], 8564) + femmesh.addVolume([1653, 1655, 2064, 1656], 8565) + femmesh.addVolume([1736, 449, 2248, 3190], 8566) + femmesh.addVolume([2243, 2224, 471, 3188], 8567) + femmesh.addVolume([1640, 2051, 2052, 2054], 8568) + femmesh.addVolume([2051, 1640, 2050, 2054], 8569) + femmesh.addVolume([2219, 2216, 1427, 2217], 8570) + femmesh.addVolume([1427, 2215, 2216, 2219], 8571) + femmesh.addVolume([1961, 1581, 1958, 1960], 8572) + femmesh.addVolume([1956, 1579, 1959, 1960], 8573) + femmesh.addVolume([1485, 1868, 1871, 1870], 8574) + femmesh.addVolume([1869, 1870, 1866, 1483], 8575) + femmesh.addVolume([2126, 2129, 2127, 1718], 8576) + femmesh.addVolume([2129, 2126, 2125, 1718], 8577) + femmesh.addVolume([1349, 2144, 2140, 2141], 8578) + femmesh.addVolume([2144, 2141, 1349, 2142], 8579) + femmesh.addVolume([1812, 1807, 1820, 482], 8580) + femmesh.addVolume([1814, 1761, 1819, 286], 8581) + femmesh.addVolume([1881, 1885, 1501, 1884], 8582) + femmesh.addVolume([1886, 1503, 1883, 1885], 8583) + femmesh.addVolume([1946, 1945, 1563, 1943], 8584) + femmesh.addVolume([1561, 1945, 1944, 1941], 8585) + femmesh.addVolume([2200, 2204, 2201, 1409], 8586) + femmesh.addVolume([2202, 2201, 2204, 1409], 8587) + femmesh.addVolume([2069, 2066, 1658, 2067], 8588) + femmesh.addVolume([2065, 2066, 1658, 2069], 8589) + femmesh.addVolume([106, 331, 1766, 1573], 8590) + femmesh.addVolume([565, 235, 1810, 1575], 8591) + femmesh.addVolume([539, 1809, 208, 1491], 8592) + femmesh.addVolume([305, 1489, 79, 1765], 8593) + femmesh.addVolume([1640, 2052, 1641, 2054], 8594) + femmesh.addVolume([2050, 1640, 1639, 2054], 8595) + femmesh.addVolume([2217, 2216, 1427, 1425], 8596) + femmesh.addVolume([2216, 1423, 2215, 1427], 8597) + femmesh.addVolume([1581, 1580, 1958, 1960], 8598) + femmesh.addVolume([1579, 1956, 1580, 1960], 8599) + femmesh.addVolume([1870, 1869, 1487, 1483], 8600) + femmesh.addVolume([1870, 1871, 1485, 1487], 8601) + femmesh.addVolume([1643, 1639, 1640, 2054], 8602) + femmesh.addVolume([1641, 1643, 1640, 2054], 8603) + femmesh.addVolume([1427, 2216, 1424, 1425], 8604) + femmesh.addVolume([1424, 1423, 2216, 1427], 8605) + femmesh.addVolume([1717, 2129, 2125, 1718], 8606) + femmesh.addVolume([2129, 1719, 2127, 1718], 8607) + femmesh.addVolume([1349, 2140, 1345, 2141], 8608) + femmesh.addVolume([1347, 1349, 2141, 2142], 8609) + femmesh.addVolume([1580, 1576, 1956, 1579], 8610) + femmesh.addVolume([1578, 1580, 1958, 1581], 8611) + femmesh.addVolume([1487, 1869, 1486, 1483], 8612) + femmesh.addVolume([1488, 1485, 1871, 1487], 8613) + femmesh.addVolume([61, 1435, 1438, 1759], 8614) + femmesh.addVolume([1627, 124, 1624, 1760], 8615) + femmesh.addVolume([1440, 190, 1803, 1437], 8616) + femmesh.addVolume([1629, 1804, 1626, 253], 8617) + femmesh.addVolume([490, 2021, 1779, 3190], 8618) + femmesh.addVolume([1783, 512, 2007, 3188], 8619) + femmesh.addVolume([1501, 1502, 1885, 1881], 8620) + femmesh.addVolume([1502, 1883, 1503, 1885], 8621) + femmesh.addVolume([1945, 1563, 1565, 1946], 8622) + femmesh.addVolume([1945, 1944, 1565, 1561], 8623) + femmesh.addVolume([540, 209, 1809, 1497], 8624) + femmesh.addVolume([306, 80, 1495, 1765], 8625) + femmesh.addVolume([330, 105, 1766, 1567], 8626) + femmesh.addVolume([234, 564, 1810, 1569], 8627) + femmesh.addVolume([1718, 2129, 1719, 1721], 8628) + femmesh.addVolume([1345, 1346, 1349, 2141], 8629) + femmesh.addVolume([1349, 2141, 1346, 1347], 8630) + femmesh.addVolume([1718, 1717, 2129, 1721], 8631) + femmesh.addVolume([1408, 2204, 2200, 1409], 8632) + femmesh.addVolume([2202, 2204, 1410, 1409], 8633) + femmesh.addVolume([2067, 2066, 1658, 1656], 8634) + femmesh.addVolume([1658, 2065, 1654, 2066], 8635) + femmesh.addVolume([1503, 1500, 1883, 1502], 8636) + femmesh.addVolume([1502, 1881, 1501, 1498], 8637) + femmesh.addVolume([1563, 1566, 1565, 1946], 8638) + femmesh.addVolume([1565, 1944, 1564, 1561], 8639) + femmesh.addVolume([1783, 1790, 512, 3188], 8640) + femmesh.addVolume([1412, 1410, 2204, 1409], 8641) + femmesh.addVolume([2204, 1408, 1412, 1409], 8642) + femmesh.addVolume([1658, 2066, 1655, 1656], 8643) + femmesh.addVolume([1654, 1655, 1658, 2066], 8644) + femmesh.addVolume([2049, 2052, 1638, 2051], 8645) + femmesh.addVolume([2050, 2045, 1636, 2051], 8646) + femmesh.addVolume([1426, 2218, 2215, 2219], 8647) + femmesh.addVolume([2217, 2219, 2220, 1428], 8648) + femmesh.addVolume([1960, 1583, 1959, 1963], 8649) + femmesh.addVolume([1960, 1961, 1583, 1963], 8650) + femmesh.addVolume([1870, 1484, 1868, 1867], 8651) + femmesh.addVolume([1867, 1870, 1484, 1866], 8652) + femmesh.addVolume([2124, 2127, 1716, 2126], 8653) + femmesh.addVolume([1714, 2125, 2122, 2126], 8654) + femmesh.addVolume([2143, 2140, 1348, 2144], 8655) + femmesh.addVolume([1350, 2145, 2144, 2142], 8656) + femmesh.addVolume([1888, 1505, 1885, 1884], 8657) + femmesh.addVolume([1886, 1885, 1888, 1505], 8658) + femmesh.addVolume([1562, 1943, 1945, 1942], 8659) + femmesh.addVolume([1942, 1945, 1562, 1941], 8660) + femmesh.addVolume([2202, 2201, 1407, 2199], 8661) + femmesh.addVolume([2200, 2201, 2197, 1405], 8662) + femmesh.addVolume([1657, 2068, 2065, 2069], 8663) + femmesh.addVolume([2067, 2069, 2070, 1659], 8664) + femmesh.addVolume([1767, 1787, 522, 2039], 8665) + femmesh.addVolume([1639, 2050, 1636, 1640], 8666) + femmesh.addVolume([1641, 1640, 1638, 2052], 8667) + femmesh.addVolume([1425, 1427, 2217, 1428], 8668) + femmesh.addVolume([2215, 1423, 1426, 1427], 8669) + femmesh.addVolume([1636, 1640, 2050, 2051], 8670) + femmesh.addVolume([2052, 1640, 1638, 2051], 8671) + femmesh.addVolume([2217, 1427, 2219, 1428], 8672) + femmesh.addVolume([2215, 1427, 1426, 2219], 8673) + femmesh.addVolume([1579, 1580, 1583, 1960], 8674) + femmesh.addVolume([1580, 1581, 1583, 1960], 8675) + femmesh.addVolume([1484, 1870, 1487, 1483], 8676) + femmesh.addVolume([1487, 1485, 1870, 1484], 8677) + femmesh.addVolume([1579, 1583, 1959, 1960], 8678) + femmesh.addVolume([1581, 1961, 1583, 1960], 8679) + femmesh.addVolume([1866, 1870, 1484, 1483], 8680) + femmesh.addVolume([1870, 1485, 1868, 1484], 8681) + femmesh.addVolume([1348, 2140, 1345, 1349], 8682) + femmesh.addVolume([1349, 1347, 1350, 2142], 8683) + femmesh.addVolume([2125, 1714, 1717, 1718], 8684) + femmesh.addVolume([1716, 2127, 1719, 1718], 8685) + femmesh.addVolume([2126, 1714, 2125, 1718], 8686) + femmesh.addVolume([2144, 2140, 1348, 1349], 8687) + femmesh.addVolume([1350, 2144, 1349, 2142], 8688) + femmesh.addVolume([2126, 2127, 1716, 1718], 8689) + femmesh.addVolume([1505, 1502, 1885, 1501], 8690) + femmesh.addVolume([1502, 1885, 1503, 1505], 8691) + femmesh.addVolume([1563, 1945, 1565, 1562], 8692) + femmesh.addVolume([1565, 1562, 1945, 1561], 8693) + femmesh.addVolume([1501, 1885, 1505, 1884], 8694) + femmesh.addVolume([1885, 1886, 1503, 1505], 8695) + femmesh.addVolume([1943, 1945, 1563, 1562], 8696) + femmesh.addVolume([1561, 1562, 1945, 1941], 8697) + femmesh.addVolume([2202, 1410, 1407, 1409], 8698) + femmesh.addVolume([2200, 1405, 1408, 1409], 8699) + femmesh.addVolume([1656, 1658, 2067, 1659], 8700) + femmesh.addVolume([2065, 1654, 1657, 1658], 8701) + femmesh.addVolume([1405, 2200, 2201, 1409], 8702) + femmesh.addVolume([2201, 2202, 1407, 1409], 8703) + femmesh.addVolume([2067, 1658, 2069, 1659], 8704) + femmesh.addVolume([2065, 1658, 1657, 2069], 8705) + femmesh.addVolume([449, 2228, 2248, 3190], 8706) + femmesh.addVolume([1637, 2045, 2046, 2051], 8707) + femmesh.addVolume([2049, 1637, 2046, 2051], 8708) + femmesh.addVolume([2219, 1430, 2043, 2220], 8709) + femmesh.addVolume([2218, 2043, 2219, 1430], 8710) + femmesh.addVolume([1961, 1964, 1584, 1963], 8711) + femmesh.addVolume([1959, 1582, 1962, 1963], 8712) + femmesh.addVolume([1865, 1868, 1482, 1867], 8713) + femmesh.addVolume([1480, 1867, 1866, 1863], 8714) + femmesh.addVolume([1715, 2123, 2124, 2126], 8715) + femmesh.addVolume([1715, 2122, 2123, 2126], 8716) + femmesh.addVolume([2143, 2147, 2144, 1352], 8717) + femmesh.addVolume([2144, 1352, 2147, 2145], 8718) + femmesh.addVolume([1943, 1560, 1940, 1942], 8719) + femmesh.addVolume([1506, 1886, 1889, 1888], 8720) + femmesh.addVolume([1888, 1887, 1504, 1884], 8721) + femmesh.addVolume([1938, 1942, 1558, 1941], 8722) + femmesh.addVolume([2199, 2201, 1406, 2198], 8723) + femmesh.addVolume([2197, 1406, 2201, 2198], 8724) + femmesh.addVolume([2069, 1661, 2072, 2070], 8725) + femmesh.addVolume([2072, 2068, 1661, 2069], 8726) + femmesh.addVolume([640, 1800, 1769, 3187], 8727) + femmesh.addVolume([2241, 640, 2225, 3187], 8728) + femmesh.addVolume([642, 2222, 2245, 3189], 8729) + femmesh.addVolume([475, 2245, 2222, 3189], 8730) + femmesh.addVolume([516, 2028, 2004, 3189], 8731) + femmesh.addVolume([379, 2004, 2028, 3189], 8732) + femmesh.addVolume([516, 1770, 1798, 3189], 8733) + femmesh.addVolume([379, 1754, 1726, 3189], 8734) + femmesh.addVolume([473, 2241, 2225, 3187], 8735) + femmesh.addVolume([473, 1725, 1755, 3187], 8736) + femmesh.addVolume([1726, 1754, 475, 3189], 8737) + femmesh.addVolume([642, 1798, 1770, 3189], 8738) + femmesh.addVolume([1725, 377, 1755, 3187], 8739) + femmesh.addVolume([2039, 11, 1767, 680], 8740) + femmesh.addVolume([514, 1769, 1800, 3187], 8741) + femmesh.addVolume([638, 1783, 639, 3188], 8742) + femmesh.addVolume([638, 639, 2224, 3188], 8743) + femmesh.addVolume([377, 2002, 2024, 3187], 8744) + femmesh.addVolume([1629, 1631, 1804, 1632], 8745) + femmesh.addVolume([1803, 1436, 1437, 1434], 8746) + femmesh.addVolume([1627, 1630, 1760, 1631], 8747) + femmesh.addVolume([1432, 1435, 1759, 1436], 8748) + femmesh.addVolume([514, 2024, 2002, 3187], 8749) + femmesh.addVolume([1792, 490, 1779, 3190], 8750) + femmesh.addVolume([1636, 1637, 1640, 2051], 8751) + femmesh.addVolume([1640, 1637, 1638, 2051], 8752) + femmesh.addVolume([2219, 1427, 1426, 1430], 8753) + femmesh.addVolume([1427, 1430, 2219, 1428], 8754) + femmesh.addVolume([1581, 1583, 1961, 1584], 8755) + femmesh.addVolume([1582, 1583, 1959, 1579], 8756) + femmesh.addVolume([1483, 1484, 1866, 1480], 8757) + femmesh.addVolume([1482, 1868, 1485, 1484], 8758) + femmesh.addVolume([1637, 1636, 2045, 2051], 8759) + femmesh.addVolume([1637, 2049, 1638, 2051], 8760) + femmesh.addVolume([2220, 2219, 1430, 1428], 8761) + femmesh.addVolume([2219, 1426, 2218, 1430], 8762) + femmesh.addVolume([1714, 2126, 1715, 1718], 8763) + femmesh.addVolume([2126, 1716, 1715, 1718], 8764) + femmesh.addVolume([1352, 2144, 1349, 1350], 8765) + femmesh.addVolume([1349, 1348, 2144, 1352], 8766) + femmesh.addVolume([1582, 1959, 1583, 1963], 8767) + femmesh.addVolume([1584, 1583, 1961, 1963], 8768) + femmesh.addVolume([1484, 1482, 1868, 1867], 8769) + femmesh.addVolume([1866, 1484, 1867, 1480], 8770) + femmesh.addVolume([1560, 1943, 1563, 1562], 8771) + femmesh.addVolume([1506, 1503, 1886, 1505], 8772) + femmesh.addVolume([1501, 1505, 1504, 1884], 8773) + femmesh.addVolume([1561, 1558, 1562, 1941], 8774) + femmesh.addVolume([2049, 1635, 2048, 2046], 8775) + femmesh.addVolume([2045, 2044, 1633, 2046], 8776) + femmesh.addVolume([2218, 1429, 2047, 2043], 8777) + femmesh.addVolume([2042, 2043, 1431, 2220], 8778) + femmesh.addVolume([1407, 1406, 2201, 1409], 8779) + femmesh.addVolume([1405, 2201, 1406, 1409], 8780) + femmesh.addVolume([1661, 1657, 1658, 2069], 8781) + femmesh.addVolume([2069, 1658, 1661, 1659], 8782) + femmesh.addVolume([1716, 1715, 2124, 2126], 8783) + femmesh.addVolume([2122, 1715, 1714, 2126], 8784) + femmesh.addVolume([2144, 1348, 2143, 1352], 8785) + femmesh.addVolume([2145, 2144, 1352, 1350], 8786) + femmesh.addVolume([1888, 1504, 1505, 1884], 8787) + femmesh.addVolume([1886, 1888, 1506, 1505], 8788) + femmesh.addVolume([1562, 1560, 1943, 1942], 8789) + femmesh.addVolume([1562, 1558, 1942, 1941], 8790) + femmesh.addVolume([1963, 1586, 1962, 1966], 8791) + femmesh.addVolume([1963, 1964, 1586, 1966], 8792) + femmesh.addVolume([1481, 1864, 1865, 1867], 8793) + femmesh.addVolume([1864, 1867, 1481, 1863], 8794) + femmesh.addVolume([2119, 1711, 2122, 2123], 8795) + femmesh.addVolume([2121, 2123, 2124, 1713], 8796) + femmesh.addVolume([2148, 2147, 1353, 2145], 8797) + femmesh.addVolume([2143, 1351, 2146, 2147], 8798) + femmesh.addVolume([1407, 2201, 1406, 2199], 8799) + femmesh.addVolume([2197, 2201, 1406, 1405], 8800) + femmesh.addVolume([1657, 1661, 2068, 2069], 8801) + femmesh.addVolume([1661, 2070, 2069, 1659], 8802) + femmesh.addVolume([1888, 1889, 1508, 1891], 8803) + femmesh.addVolume([1891, 1508, 1888, 1887], 8804) + femmesh.addVolume([1942, 1559, 1939, 1938], 8805) + femmesh.addVolume([1940, 1559, 1939, 1942], 8806) + femmesh.addVolume([1404, 2196, 2199, 2198], 8807) + femmesh.addVolume([2194, 1402, 2197, 2198], 8808) + femmesh.addVolume([1660, 2071, 2068, 2072], 8809) + femmesh.addVolume([2070, 2072, 2073, 1662], 8810) + femmesh.addVolume([2040, 4, 680, 1759], 8811) + femmesh.addVolume([5, 2041, 679, 1760], 8812) + femmesh.addVolume([2045, 1633, 1636, 1637], 8813) + femmesh.addVolume([1638, 1635, 2049, 1637], 8814) + femmesh.addVolume([1426, 1429, 2218, 1430], 8815) + femmesh.addVolume([2220, 1430, 1431, 1428], 8816) + femmesh.addVolume([1584, 1586, 1583, 1963], 8817) + femmesh.addVolume([1586, 1582, 1583, 1963], 8818) + femmesh.addVolume([1481, 1482, 1484, 1867], 8819) + femmesh.addVolume([1867, 1484, 1481, 1480], 8820) + femmesh.addVolume([2122, 1711, 1714, 1715], 8821) + femmesh.addVolume([1716, 1713, 2124, 1715], 8822) + femmesh.addVolume([2145, 1352, 1353, 1350], 8823) + femmesh.addVolume([1348, 1351, 2143, 1352], 8824) + femmesh.addVolume([1779, 2248, 616, 3190], 8825) + femmesh.addVolume([1506, 1888, 1508, 1505], 8826) + femmesh.addVolume([1508, 1505, 1888, 1504], 8827) + femmesh.addVolume([1559, 1942, 1562, 1558], 8828) + femmesh.addVolume([1560, 1562, 1559, 1942], 8829) + femmesh.addVolume([2046, 1633, 2045, 1637], 8830) + femmesh.addVolume([2046, 2049, 1635, 1637], 8831) + femmesh.addVolume([1431, 2043, 1430, 2220], 8832) + femmesh.addVolume([2043, 2218, 1429, 1430], 8833) + femmesh.addVolume([1406, 1404, 1407, 2199], 8834) + femmesh.addVolume([1406, 1402, 2197, 1405], 8835) + femmesh.addVolume([1661, 1662, 2070, 1659], 8836) + femmesh.addVolume([1657, 1660, 2068, 1661], 8837) + femmesh.addVolume([1587, 1964, 1967, 1966], 8838) + femmesh.addVolume([1585, 1965, 1962, 1966], 8839) + femmesh.addVolume([1864, 1860, 1863, 1477], 8840) + femmesh.addVolume([1865, 1479, 1862, 1864], 8841) + femmesh.addVolume([1582, 1586, 1962, 1963], 8842) + femmesh.addVolume([1964, 1586, 1584, 1963], 8843) + femmesh.addVolume([1481, 1865, 1482, 1867], 8844) + femmesh.addVolume([1480, 1481, 1867, 1863], 8845) + femmesh.addVolume([2120, 2119, 2123, 1712], 8846) + femmesh.addVolume([2123, 2121, 2120, 1712], 8847) + femmesh.addVolume([1355, 2150, 2147, 2148], 8848) + femmesh.addVolume([2146, 2147, 1355, 2150], 8849) + femmesh.addVolume([2123, 1711, 2122, 1715], 8850) + femmesh.addVolume([1713, 2123, 2124, 1715], 8851) + femmesh.addVolume([2147, 2143, 1351, 1352], 8852) + femmesh.addVolume([1353, 2147, 1352, 2145], 8853) + femmesh.addVolume([1940, 1939, 1557, 1937], 8854) + femmesh.addVolume([1939, 1938, 1555, 1935], 8855) + femmesh.addVolume([1892, 1509, 1889, 1891], 8856) + femmesh.addVolume([1887, 1891, 1507, 1890], 8857) + femmesh.addVolume([2198, 2194, 1403, 2195], 8858) + femmesh.addVolume([2198, 1403, 2196, 2195], 8859) + femmesh.addVolume([2073, 2072, 2075, 1664], 8860) + femmesh.addVolume([2075, 2072, 2071, 1664], 8861) + femmesh.addVolume([1504, 1888, 1508, 1887], 8862) + femmesh.addVolume([1889, 1508, 1506, 1888], 8863) + femmesh.addVolume([1559, 1940, 1560, 1942], 8864) + femmesh.addVolume([1558, 1559, 1942, 1938], 8865) + femmesh.addVolume([681, 2048, 1634, 2046], 8866) + femmesh.addVolume([1634, 2044, 681, 2046], 8867) + femmesh.addVolume([2047, 2043, 1433, 682], 8868) + femmesh.addVolume([1433, 682, 2043, 2042], 8869) + femmesh.addVolume([2199, 1406, 1404, 2198], 8870) + femmesh.addVolume([1402, 1406, 2197, 2198], 8871) + femmesh.addVolume([2070, 1661, 2072, 1662], 8872) + femmesh.addVolume([2068, 1661, 1660, 2072], 8873) + femmesh.addVolume([2046, 1634, 1633, 1637], 8874) + femmesh.addVolume([1634, 2046, 1635, 1637], 8875) + femmesh.addVolume([2043, 1429, 1433, 1430], 8876) + femmesh.addVolume([1430, 1433, 2043, 1431], 8877) + femmesh.addVolume([1586, 1964, 1584, 1587], 8878) + femmesh.addVolume([1586, 1582, 1962, 1585], 8879) + femmesh.addVolume([1481, 1863, 1480, 1477], 8880) + femmesh.addVolume([1482, 1479, 1865, 1481], 8881) + femmesh.addVolume([1712, 2123, 1713, 1715], 8882) + femmesh.addVolume([1712, 1711, 2123, 1715], 8883) + femmesh.addVolume([2147, 1351, 1355, 1352], 8884) + femmesh.addVolume([1352, 1355, 2147, 1353], 8885) + femmesh.addVolume([1508, 1507, 1504, 1887], 8886) + femmesh.addVolume([1889, 1509, 1506, 1508], 8887) + femmesh.addVolume([1558, 1555, 1559, 1938], 8888) + femmesh.addVolume([1560, 1559, 1557, 1940], 8889) + femmesh.addVolume([1589, 1969, 1965, 1966], 8890) + femmesh.addVolume([1589, 1967, 1969, 1966], 8891) + femmesh.addVolume([1862, 1861, 1864, 1478], 8892) + femmesh.addVolume([1864, 1478, 1861, 1860], 8893) + femmesh.addVolume([1406, 1402, 1403, 2198], 8894) + femmesh.addVolume([1404, 1406, 1403, 2198], 8895) + femmesh.addVolume([1662, 1661, 2072, 1664], 8896) + femmesh.addVolume([2072, 1661, 1660, 1664], 8897) + femmesh.addVolume([1634, 2048, 1635, 2046], 8898) + femmesh.addVolume([1634, 1633, 2044, 2046], 8899) + femmesh.addVolume([1433, 2047, 1429, 2043], 8900) + femmesh.addVolume([2043, 1431, 1433, 2042], 8901) + femmesh.addVolume([2119, 2116, 1708, 2120], 8902) + femmesh.addVolume([2120, 1710, 2121, 2118], 8903) + femmesh.addVolume([2150, 1356, 2151, 2148], 8904) + femmesh.addVolume([2149, 2146, 1354, 2150], 8905) + femmesh.addVolume([1891, 1894, 1511, 1890], 8906) + femmesh.addVolume([1511, 1892, 1894, 1891], 8907) + femmesh.addVolume([1556, 1936, 1939, 1935], 8908) + femmesh.addVolume([1556, 1937, 1939, 1936], 8909) + femmesh.addVolume([2194, 2191, 1399, 2195], 8910) + femmesh.addVolume([2196, 2193, 2195, 1401], 8911) + femmesh.addVolume([2074, 2071, 1663, 2075], 8912) + femmesh.addVolume([1665, 2075, 2073, 2076], 8913) + femmesh.addVolume([1964, 1587, 1586, 1966], 8914) + femmesh.addVolume([1586, 1585, 1962, 1966], 8915) + femmesh.addVolume([1864, 1863, 1481, 1477], 8916) + femmesh.addVolume([1864, 1865, 1479, 1481], 8917) + femmesh.addVolume([4, 1438, 680, 1759], 8918) + femmesh.addVolume([1624, 5, 679, 1760], 8919) + femmesh.addVolume([1440, 1803, 11, 680], 8920) + femmesh.addVolume([10, 1626, 679, 1804], 8921) + femmesh.addVolume([1711, 2123, 2119, 1712], 8922) + femmesh.addVolume([2123, 1713, 2121, 1712], 8923) + femmesh.addVolume([2147, 1353, 1355, 2148], 8924) + femmesh.addVolume([1355, 2146, 1351, 2147], 8925) + femmesh.addVolume([1432, 2047, 1429, 1433], 8926) + femmesh.addVolume([1635, 1634, 1632, 2048], 8927) + femmesh.addVolume([1431, 1434, 1433, 2042], 8928) + femmesh.addVolume([2044, 1630, 1633, 1634], 8929) + femmesh.addVolume([1508, 1889, 1509, 1891], 8930) + femmesh.addVolume([1507, 1508, 1891, 1887], 8931) + femmesh.addVolume([1559, 1555, 1939, 1938], 8932) + femmesh.addVolume([1557, 1559, 1939, 1940], 8933) + femmesh.addVolume([1403, 2196, 1404, 2198], 8934) + femmesh.addVolume([1402, 2194, 1403, 2198], 8935) + femmesh.addVolume([1662, 2072, 2073, 1664], 8936) + femmesh.addVolume([2071, 2072, 1660, 1664], 8937) + femmesh.addVolume([1589, 1585, 1586, 1966], 8938) + femmesh.addVolume([1589, 1586, 1587, 1966], 8939) + femmesh.addVolume([1864, 1481, 1478, 1477], 8940) + femmesh.addVolume([1479, 1478, 1864, 1481], 8941) + femmesh.addVolume([679, 1768, 10, 1804], 8942) + femmesh.addVolume([1710, 2121, 1713, 1712], 8943) + femmesh.addVolume([2119, 1708, 1711, 1712], 8944) + femmesh.addVolume([1354, 2146, 1351, 1355], 8945) + femmesh.addVolume([1353, 1356, 1355, 2148], 8946) + femmesh.addVolume([1968, 1969, 1965, 1588], 8947) + femmesh.addVolume([1969, 1970, 1967, 1590], 8948) + femmesh.addVolume([1862, 1476, 1859, 1861], 8949) + femmesh.addVolume([1861, 1857, 1860, 1474], 8950) + femmesh.addVolume([1891, 1511, 1508, 1507], 8951) + femmesh.addVolume([1509, 1511, 1508, 1891], 8952) + femmesh.addVolume([1559, 1556, 1939, 1555], 8953) + femmesh.addVolume([1556, 1559, 1939, 1557], 8954) + femmesh.addVolume([2120, 2117, 1709, 2118], 8955) + femmesh.addVolume([1709, 2120, 2116, 2117], 8956) + femmesh.addVolume([2149, 2150, 1358, 2153], 8957) + femmesh.addVolume([1358, 2153, 2150, 2151], 8958) + femmesh.addVolume([2196, 1403, 1404, 1401], 8959) + femmesh.addVolume([1399, 2194, 1403, 1402], 8960) + femmesh.addVolume([1660, 1663, 2071, 1664], 8961) + femmesh.addVolume([2073, 1665, 1662, 1664], 8962) + femmesh.addVolume([1937, 1554, 1934, 1936], 8963) + femmesh.addVolume([1936, 1552, 1932, 1935], 8964) + femmesh.addVolume([1512, 1892, 1895, 1894], 8965) + femmesh.addVolume([1893, 1894, 1890, 1510], 8966) + femmesh.addVolume([2195, 2192, 1400, 2193], 8967) + femmesh.addVolume([1400, 2191, 2192, 2195], 8968) + femmesh.addVolume([2075, 2078, 2076, 1667], 8969) + femmesh.addVolume([2078, 2075, 2074, 1667], 8970) + femmesh.addVolume([1589, 1965, 1585, 1966], 8971) + femmesh.addVolume([1967, 1589, 1587, 1966], 8972) + femmesh.addVolume([1478, 1860, 1864, 1477], 8973) + femmesh.addVolume([1864, 1479, 1862, 1478], 8974) + femmesh.addVolume([1433, 1432, 2047, 682], 8975) + femmesh.addVolume([681, 1632, 1634, 2048], 8976) + femmesh.addVolume([1433, 1434, 682, 2042], 8977) + femmesh.addVolume([681, 1630, 2044, 1634], 8978) + femmesh.addVolume([2120, 1708, 2119, 1712], 8979) + femmesh.addVolume([1710, 2120, 2121, 1712], 8980) + femmesh.addVolume([1355, 1354, 2146, 2150], 8981) + femmesh.addVolume([1355, 1356, 2150, 2148], 8982) + femmesh.addVolume([1556, 1557, 1939, 1937], 8983) + femmesh.addVolume([1511, 1509, 1892, 1891], 8984) + femmesh.addVolume([1511, 1507, 1891, 1890], 8985) + femmesh.addVolume([1939, 1555, 1556, 1935], 8986) + femmesh.addVolume([617, 616, 1779, 2248], 8987) + femmesh.addVolume([615, 616, 2228, 1792], 8988) + femmesh.addVolume([1734, 451, 452, 2246], 8989) + femmesh.addVolume([620, 1799, 2237, 619], 8990) + femmesh.addVolume([620, 2253, 1781, 621], 8991) + femmesh.addVolume([618, 1777, 619, 2246], 8992) + femmesh.addVolume([1749, 456, 457, 2230], 8993) + femmesh.addVolume([456, 1731, 455, 2249], 8994) + femmesh.addVolume([447, 448, 1740, 2250], 8995) + femmesh.addVolume([615, 614, 1784, 2250], 8996) + femmesh.addVolume([1750, 448, 449, 2228], 8997) + femmesh.addVolume([618, 617, 1797, 2229], 8998) + femmesh.addVolume([453, 454, 1738, 2253], 8999) + femmesh.addVolume([451, 1753, 450, 2229], 9000) + femmesh.addVolume([476, 477, 1745, 2255], 9001) + femmesh.addVolume([515, 2028, 516, 1798], 9002) + femmesh.addVolume([378, 379, 2028, 1754], 9003) + femmesh.addVolume([452, 453, 1756, 2237], 9004) + femmesh.addVolume([643, 2255, 1789, 644], 9005) + femmesh.addVolume([1770, 516, 517, 2004], 9006) + femmesh.addVolume([471, 1746, 470, 2243], 9007) + femmesh.addVolume([454, 455, 1751, 2233], 9008) + femmesh.addVolume([639, 640, 2241, 1800], 9009) + femmesh.addVolume([2243, 638, 1790, 637], 9010) + femmesh.addVolume([449, 450, 1736, 2248], 9011) + femmesh.addVolume([473, 1755, 472, 2241], 9012) + femmesh.addVolume([1739, 471, 472, 2224], 9013) + femmesh.addVolume([1727, 477, 478, 2221], 9014) + femmesh.addVolume([640, 2225, 1769, 641], 9015) + femmesh.addVolume([377, 378, 2002, 1725], 9016) + femmesh.addVolume([1725, 473, 474, 2225], 9017) + femmesh.addVolume([642, 2245, 641, 1798], 9018) + femmesh.addVolume([1754, 474, 475, 2245], 9019) + femmesh.addVolume([1726, 475, 476, 2222], 9020) + femmesh.addVolume([643, 1770, 2222, 642], 9021) + femmesh.addVolume([379, 380, 2004, 1726], 9022) + femmesh.addVolume([1748, 446, 447, 2236], 9023) + femmesh.addVolume([381, 2029, 380, 1745], 9024) + femmesh.addVolume([2194, 1399, 1403, 2195], 9025) + femmesh.addVolume([2195, 1403, 2196, 1401], 9026) + femmesh.addVolume([1665, 2073, 2075, 1664], 9027) + femmesh.addVolume([2075, 2071, 1663, 1664], 9028) + femmesh.addVolume([517, 518, 1789, 2029], 9029) + femmesh.addVolume([1587, 1967, 1590, 1589], 9030) + femmesh.addVolume([1588, 1965, 1585, 1589], 9031) + femmesh.addVolume([1862, 1479, 1476, 1478], 9032) + femmesh.addVolume([1477, 1478, 1860, 1474], 9033) + femmesh.addVolume([2012, 351, 352, 1740], 9034) + femmesh.addVolume([488, 2012, 489, 1784], 9035) + femmesh.addVolume([636, 2223, 1773, 637], 9036) + femmesh.addVolume([470, 1729, 469, 2223], 9037) + femmesh.addVolume([645, 1771, 2221, 644], 9038) + femmesh.addVolume([515, 1769, 514, 2002], 9039) + femmesh.addVolume([1592, 1969, 1970, 1972], 9040) + femmesh.addVolume([1969, 1592, 1968, 1972], 9041) + femmesh.addVolume([1861, 1475, 1858, 1857], 9042) + femmesh.addVolume([1859, 1858, 1861, 1475], 9043) + femmesh.addVolume([1709, 1708, 2120, 1712], 9044) + femmesh.addVolume([2120, 1710, 1709, 1712], 9045) + femmesh.addVolume([1355, 1358, 1354, 2150], 9046) + femmesh.addVolume([1358, 2150, 1355, 1356], 9047) + femmesh.addVolume([2115, 1707, 2117, 2118], 9048) + femmesh.addVolume([2113, 1705, 2116, 2117], 9049) + femmesh.addVolume([2153, 2154, 2151, 1359], 9050) + femmesh.addVolume([2149, 1357, 2152, 2153], 9051) + femmesh.addVolume([382, 2015, 381, 1727], 9052) + femmesh.addVolume([1555, 1552, 1556, 1935], 9053) + femmesh.addVolume([1937, 1556, 1557, 1554], 9054) + femmesh.addVolume([1890, 1511, 1507, 1510], 9055) + femmesh.addVolume([1512, 1509, 1892, 1511], 9056) + femmesh.addVolume([1732, 457, 458, 2244], 9057) + femmesh.addVolume([1936, 1553, 1933, 1932], 9058) + femmesh.addVolume([1933, 1936, 1934, 1553], 9059) + femmesh.addVolume([1897, 1514, 1894, 1893], 9060) + femmesh.addVolume([1895, 1894, 1897, 1514], 9061) + femmesh.addVolume([1774, 625, 2231, 626], 9062) + femmesh.addVolume([1403, 1399, 1400, 2195], 9063) + femmesh.addVolume([2195, 1400, 1403, 1401], 9064) + femmesh.addVolume([1667, 2075, 1663, 1664], 9065) + femmesh.addVolume([2075, 1667, 1665, 1664], 9066) + femmesh.addVolume([2188, 1396, 2191, 2192], 9067) + femmesh.addVolume([2190, 2192, 2193, 1398], 9068) + femmesh.addVolume([1666, 2077, 2074, 2078], 9069) + femmesh.addVolume([2079, 1668, 2076, 2078], 9070) + femmesh.addVolume([1791, 2236, 614, 613], 9071) + femmesh.addVolume([488, 487, 2032, 1791], 9072) + femmesh.addVolume([496, 2020, 497, 1775], 9073) + femmesh.addVolume([497, 2006, 498, 1785], 9074) + femmesh.addVolume([621, 2233, 1794, 622], 9075) + femmesh.addVolume([376, 377, 2024, 1755], 9076) + femmesh.addVolume([479, 1747, 478, 2256], 9077) + femmesh.addVolume([519, 2030, 520, 1793], 9078) + femmesh.addVolume([518, 2015, 519, 1771], 9079) + femmesh.addVolume([2035, 1750, 352, 353], 9080) + femmesh.addVolume([1801, 2244, 625, 624], 9081) + femmesh.addVolume([1432, 682, 1433, 1436], 9082) + femmesh.addVolume([1433, 1436, 682, 1434], 9083) + femmesh.addVolume([1630, 1634, 681, 1631], 9084) + femmesh.addVolume([681, 1631, 1634, 1632], 9085) + femmesh.addVolume([349, 350, 2018, 1735], 9086) + femmesh.addVolume([2016, 1730, 383, 384], 9087) + femmesh.addVolume([373, 374, 2037, 1729], 9088) + femmesh.addVolume([510, 1796, 509, 2011], 9089) + femmesh.addVolume([361, 362, 2027, 1732], 9090) + femmesh.addVolume([2035, 490, 489, 1792], 9091) + femmesh.addVolume([350, 2032, 1748, 351], 9092) + femmesh.addVolume([468, 1737, 467, 2235], 9093) + femmesh.addVolume([635, 1780, 2235, 634], 9094) + femmesh.addVolume([2013, 500, 499, 1774], 9095) + femmesh.addVolume([2008, 508, 507, 1786], 9096) + femmesh.addVolume([371, 2008, 370, 1741], 9097) + femmesh.addVolume([1747, 2030, 383, 382], 9098) + femmesh.addVolume([510, 2037, 511, 1773], 9099) + femmesh.addVolume([1790, 511, 512, 2023], 9100) + femmesh.addVolume([490, 2021, 491, 1779], 9101) + femmesh.addVolume([1799, 493, 494, 2019], 9102) + femmesh.addVolume([2011, 1752, 372, 373], 9103) + femmesh.addVolume([1821, 1819, 1814, 2003], 9104) + femmesh.addVolume([1811, 1812, 1816, 2234], 9105) + femmesh.addVolume([1819, 1821, 1818, 2003], 9106) + femmesh.addVolume([678, 1811, 1816, 2234], 9107) + femmesh.addVolume([2232, 678, 1813, 1815], 9108) + femmesh.addVolume([1590, 1967, 1969, 1589], 9109) + femmesh.addVolume([1965, 1588, 1969, 1589], 9110) + femmesh.addVolume([1476, 1861, 1862, 1478], 9111) + femmesh.addVolume([1861, 1860, 1478, 1474], 9112) + femmesh.addVolume([1593, 1970, 1973, 1972], 9113) + femmesh.addVolume([1591, 1971, 1968, 1972], 9114) + femmesh.addVolume([1473, 1856, 1859, 1858], 9115) + femmesh.addVolume([1857, 1858, 1854, 1471], 9116) + femmesh.addVolume([2256, 646, 1793, 645], 9117) + femmesh.addVolume([2024, 514, 513, 1800], 9118) + femmesh.addVolume([635, 2242, 1796, 636], 9119) + femmesh.addVolume([1752, 468, 469, 2242], 9120) + femmesh.addVolume([445, 446, 1735, 2247], 9121) + femmesh.addVolume([1592, 1590, 1969, 1589], 9122) + femmesh.addVolume([1592, 1969, 1588, 1589], 9123) + femmesh.addVolume([1475, 1861, 1478, 1474], 9124) + femmesh.addVolume([1861, 1478, 1476, 1475], 9125) + femmesh.addVolume([358, 359, 2036, 1751], 9126) + femmesh.addVolume([2113, 1706, 2117, 2114], 9127) + femmesh.addVolume([2115, 2117, 1706, 2114], 9128) + femmesh.addVolume([2156, 2152, 1361, 2153], 9129) + femmesh.addVolume([2153, 1361, 2156, 2154], 9130) + femmesh.addVolume([356, 2033, 355, 1734], 9131) + femmesh.addVolume([1709, 1710, 2120, 2118], 9132) + femmesh.addVolume([2120, 2116, 1708, 1709], 9133) + femmesh.addVolume([1354, 1358, 2149, 2150], 9134) + femmesh.addVolume([2151, 2150, 1358, 1356], 9135) + femmesh.addVolume([1929, 1933, 1549, 1932], 9136) + femmesh.addVolume([1898, 1515, 1895, 1897], 9137) + femmesh.addVolume([1893, 1896, 1897, 1513], 9138) + femmesh.addVolume([1551, 1931, 1934, 1933], 9139) + femmesh.addVolume([1708, 2116, 1705, 1709], 9140) + femmesh.addVolume([1710, 1709, 1707, 2118], 9141) + femmesh.addVolume([2149, 1354, 1357, 1358], 9142) + femmesh.addVolume([1358, 1359, 2151, 1356], 9143) + femmesh.addVolume([1554, 1937, 1556, 1936], 9144) + femmesh.addVolume([1556, 1552, 1936, 1935], 9145) + femmesh.addVolume([1892, 1894, 1512, 1511], 9146) + femmesh.addVolume([1890, 1894, 1511, 1510], 9147) + femmesh.addVolume([2189, 1397, 2192, 2190], 9148) + femmesh.addVolume([2188, 2192, 2189, 1397], 9149) + femmesh.addVolume([2079, 2078, 2081, 1670], 9150) + femmesh.addVolume([2078, 2077, 2081, 1670], 9151) + femmesh.addVolume([1514, 1512, 1894, 1511], 9152) + femmesh.addVolume([1511, 1894, 1514, 1510], 9153) + femmesh.addVolume([1936, 1556, 1554, 1553], 9154) + femmesh.addVolume([1556, 1553, 1936, 1552], 9155) + femmesh.addVolume([1813, 1814, 2232, 1815], 9156) + femmesh.addVolume([1399, 2191, 1396, 1400], 9157) + femmesh.addVolume([1398, 1400, 2193, 1401], 9158) + femmesh.addVolume([1665, 2076, 1668, 1667], 9159) + femmesh.addVolume([2074, 1663, 1666, 1667], 9160) + femmesh.addVolume([1400, 1399, 2191, 2195], 9161) + femmesh.addVolume([2193, 1400, 2195, 1401], 9162) + femmesh.addVolume([2075, 2076, 1665, 1667], 9163) + femmesh.addVolume([2075, 1663, 2074, 1667], 9164) + femmesh.addVolume([512, 513, 1783, 2007], 9165) + femmesh.addVolume([2027, 499, 498, 1801], 9166) + femmesh.addVolume([491, 2010, 492, 1797], 9167) + femmesh.addVolume([494, 495, 1781, 2009], 9168) + femmesh.addVolume([459, 1757, 458, 2231], 9169) + femmesh.addVolume([1438, 4, 61, 1759], 9170) + femmesh.addVolume([1624, 124, 5, 1760], 9171) + femmesh.addVolume([1803, 11, 190, 1440], 9172) + femmesh.addVolume([1804, 10, 1626, 253], 9173) + femmesh.addVolume([492, 2033, 493, 1777], 9174) + femmesh.addVolume([1595, 1975, 1971, 1972], 9175) + femmesh.addVolume([1595, 1973, 1975, 1972], 9176) + femmesh.addVolume([1858, 1472, 1855, 1854], 9177) + femmesh.addVolume([1856, 1855, 1858, 1472], 9178) + femmesh.addVolume([495, 2036, 496, 1794], 9179) + femmesh.addVolume([1704, 2112, 2115, 2114], 9180) + femmesh.addVolume([2113, 2110, 1702, 2114], 9181) + femmesh.addVolume([1360, 2155, 2152, 2156], 9182) + femmesh.addVolume([2154, 2156, 2157, 1362], 9183) + femmesh.addVolume([1900, 1898, 1897, 1517], 9184) + femmesh.addVolume([1517, 1897, 1900, 1896], 9185) + femmesh.addVolume([1930, 1933, 1550, 1929], 9186) + femmesh.addVolume([1930, 1931, 1550, 1933], 9187) + femmesh.addVolume([1591, 1968, 1588, 1592], 9188) + femmesh.addVolume([1593, 1590, 1970, 1592], 9189) + femmesh.addVolume([1473, 1859, 1476, 1475], 9190) + femmesh.addVolume([1474, 1475, 1857, 1471], 9191) + femmesh.addVolume([2190, 2187, 2189, 1395], 9192) + femmesh.addVolume([2185, 1393, 2188, 2189], 9193) + femmesh.addVolume([2082, 1671, 2079, 2081], 9194) + femmesh.addVolume([1669, 2080, 2077, 2081], 9195) + femmesh.addVolume([2117, 1705, 1709, 1706], 9196) + femmesh.addVolume([1706, 1709, 2117, 1707], 9197) + femmesh.addVolume([2153, 1358, 1361, 1359], 9198) + femmesh.addVolume([1361, 1357, 1358, 2153], 9199) + femmesh.addVolume([1510, 1893, 1514, 1513], 9200) + femmesh.addVolume([1895, 1515, 1512, 1514], 9201) + femmesh.addVolume([1551, 1934, 1554, 1553], 9202) + femmesh.addVolume([1932, 1553, 1549, 1552], 9203) + femmesh.addVolume([611, 2227, 1788, 612], 9204) + femmesh.addVolume([1397, 1396, 2192, 1400], 9205) + femmesh.addVolume([1400, 2192, 1397, 1398], 9206) + femmesh.addVolume([1666, 1670, 2078, 1667], 9207) + femmesh.addVolume([1670, 1668, 2078, 1667], 9208) + femmesh.addVolume([1590, 1969, 1970, 1592], 9209) + femmesh.addVolume([1969, 1588, 1968, 1592], 9210) + femmesh.addVolume([1857, 1861, 1475, 1474], 9211) + femmesh.addVolume([1861, 1476, 1859, 1475], 9212) + femmesh.addVolume([485, 486, 1788, 2001], 9213) + femmesh.addVolume([1709, 2116, 1705, 2117], 9214) + femmesh.addVolume([1707, 1709, 2117, 2118], 9215) + femmesh.addVolume([1358, 1357, 2149, 2153], 9216) + femmesh.addVolume([2151, 1358, 2153, 1359], 9217) + femmesh.addVolume([1894, 1895, 1512, 1514], 9218) + femmesh.addVolume([1932, 1936, 1553, 1552], 9219) + femmesh.addVolume([1934, 1936, 1554, 1553], 9220) + femmesh.addVolume([1893, 1514, 1894, 1510], 9221) + femmesh.addVolume([2192, 1396, 2191, 1400], 9222) + femmesh.addVolume([2193, 2192, 1400, 1398], 9223) + femmesh.addVolume([1666, 2078, 2074, 1667], 9224) + femmesh.addVolume([2078, 1668, 2076, 1667], 9225) + femmesh.addVolume([1975, 1594, 1971, 1974], 9226) + femmesh.addVolume([1973, 1976, 1596, 1975], 9227) + femmesh.addVolume([1854, 1855, 1851, 1468], 9228) + femmesh.addVolume([1855, 1470, 1856, 1853], 9229) + femmesh.addVolume([1344, 1, 6, 1337], 9230) + femmesh.addVolume([1340, 2, 13, 1341], 9231) + femmesh.addVolume([1703, 2111, 2112, 2114], 9232) + femmesh.addVolume([2111, 1703, 2110, 2114], 9233) + femmesh.addVolume([2155, 2159, 2156, 1364], 9234) + femmesh.addVolume([2156, 1364, 2159, 2157], 9235) + femmesh.addVolume([2007, 1739, 375, 376], 9236) + femmesh.addVolume([623, 1775, 2249, 622], 9237) + femmesh.addVolume([360, 361, 2006, 1749], 9238) + femmesh.addVolume([1417, 410, 1414, 2209], 9239) + femmesh.addVolume([2211, 1416, 1419, 673], 9240) + femmesh.addVolume([1650, 586, 2058, 1647], 9241) + femmesh.addVolume([419, 1648, 2056, 1645], 9242) + femmesh.addVolume([1898, 1901, 1518, 1900], 9243) + femmesh.addVolume([1900, 1516, 1896, 1899], 9244) + femmesh.addVolume([1930, 1548, 1931, 1928], 9245) + femmesh.addVolume([1930, 1546, 1926, 1929], 9246) + femmesh.addVolume([1394, 2189, 2186, 2187], 9247) + femmesh.addVolume([2186, 2185, 2189, 1394], 9248) + femmesh.addVolume([2082, 2081, 2084, 1673], 9249) + femmesh.addVolume([2081, 2080, 2084, 1673], 9250) + femmesh.addVolume([1817, 2017, 1820, 1812], 9251) + femmesh.addVolume([522, 1787, 521, 2005], 9252) + femmesh.addVolume([612, 2247, 1778, 613], 9253) + femmesh.addVolume([1591, 1592, 1595, 1972], 9254) + femmesh.addVolume([1592, 1593, 1595, 1972], 9255) + femmesh.addVolume([1475, 1473, 1858, 1472], 9256) + femmesh.addVolume([1472, 1858, 1475, 1471], 9257) + femmesh.addVolume([1706, 1704, 1707, 2115], 9258) + femmesh.addVolume([1702, 1705, 2113, 1706], 9259) + femmesh.addVolume([2152, 1357, 1360, 1361], 9260) + femmesh.addVolume([1362, 2154, 1361, 1359], 9261) + femmesh.addVolume([1820, 1818, 2017, 1817], 9262) + femmesh.addVolume([1515, 1514, 1897, 1517], 9263) + femmesh.addVolume([1897, 1517, 1514, 1513], 9264) + femmesh.addVolume([1550, 1933, 1551, 1553], 9265) + femmesh.addVolume([1553, 1550, 1933, 1549], 9266) + femmesh.addVolume([646, 2226, 1782, 647], 9267) + femmesh.addVolume([2188, 1393, 1396, 1397], 9268) + femmesh.addVolume([1395, 1397, 2190, 1398], 9269) + femmesh.addVolume([2077, 1666, 1669, 1670], 9270) + femmesh.addVolume([1668, 2079, 1671, 1670], 9271) + femmesh.addVolume([1952, 565, 1575, 1955], 9272) + femmesh.addVolume([331, 1950, 1573, 1953], 9273) + femmesh.addVolume([1489, 1872, 1875, 305], 9274) + femmesh.addVolume([1877, 1491, 539, 1874], 9275) + femmesh.addVolume([626, 2257, 1795, 627], 9276) + femmesh.addVolume([1767, 11, 1803, 680], 9277) + femmesh.addVolume([1877, 540, 1497, 1880], 9278) + femmesh.addVolume([1950, 330, 1567, 1947], 9279) + femmesh.addVolume([1495, 1875, 1878, 306], 9280) + femmesh.addVolume([1952, 564, 1949, 1569], 9281) + femmesh.addVolume([358, 2009, 357, 1738], 9282) + femmesh.addVolume([355, 2010, 354, 1753], 9283) + femmesh.addVolume([1976, 1598, 1975, 1978], 9284) + femmesh.addVolume([1978, 1598, 1975, 1974], 9285) + femmesh.addVolume([1855, 1853, 1852, 1469], 9286) + femmesh.addVolume([1852, 1851, 1855, 1469], 9287) + femmesh.addVolume([1699, 2110, 2107, 2111], 9288) + femmesh.addVolume([2112, 1701, 2109, 2111], 9289) + femmesh.addVolume([2160, 2159, 1365, 2157], 9290) + femmesh.addVolume([2155, 1363, 2158, 2159], 9291) + femmesh.addVolume([1592, 1970, 1593, 1972], 9292) + femmesh.addVolume([1968, 1592, 1591, 1972], 9293) + femmesh.addVolume([1858, 1859, 1473, 1475], 9294) + femmesh.addVolume([1858, 1857, 1475, 1471], 9295) + femmesh.addVolume([1900, 1901, 1520, 1903], 9296) + femmesh.addVolume([1903, 1520, 1900, 1899], 9297) + femmesh.addVolume([1547, 1930, 1927, 1928], 9298) + femmesh.addVolume([1930, 1547, 1927, 1926], 9299) + femmesh.addVolume([1741, 466, 467, 2251], 9300) + femmesh.addVolume([634, 2251, 633, 1786], 9301) + femmesh.addVolume([1392, 2186, 2184, 2187], 9302) + femmesh.addVolume([2185, 2182, 1390, 2186], 9303) + femmesh.addVolume([2080, 1672, 2083, 2084], 9304) + femmesh.addVolume([2082, 2085, 1674, 2084], 9305) + femmesh.addVolume([2117, 2113, 1705, 1706], 9306) + femmesh.addVolume([1706, 1707, 2117, 2115], 9307) + femmesh.addVolume([1361, 2154, 2153, 1359], 9308) + femmesh.addVolume([1361, 2152, 1357, 2153], 9309) + femmesh.addVolume([1731, 2020, 360, 359], 9310) + femmesh.addVolume([375, 1746, 2023, 374], 9311) + femmesh.addVolume([1785, 623, 2230, 624], 9312) + femmesh.addVolume([1549, 1933, 1553, 1932], 9313) + femmesh.addVolume([1897, 1515, 1895, 1514], 9314) + femmesh.addVolume([1893, 1897, 1514, 1513], 9315) + femmesh.addVolume([1933, 1934, 1551, 1553], 9316) + femmesh.addVolume([356, 357, 2019, 1756], 9317) + femmesh.addVolume([354, 2021, 353, 1736], 9318) + femmesh.addVolume([1742, 459, 460, 2257], 9319) + femmesh.addVolume([2192, 2188, 1396, 1397], 9320) + femmesh.addVolume([2190, 1397, 2192, 1398], 9321) + femmesh.addVolume([2078, 1666, 2077, 1670], 9322) + femmesh.addVolume([1668, 2078, 2079, 1670], 9323) + femmesh.addVolume([1414, 54, 410, 1417], 9324) + femmesh.addVolume([1416, 183, 1419, 673], 9325) + femmesh.addVolume([586, 1650, 260, 1647], 9326) + femmesh.addVolume([1648, 419, 131, 1645], 9327) + femmesh.addVolume([1594, 1971, 1591, 1595], 9328) + femmesh.addVolume([1593, 1973, 1596, 1595], 9329) + femmesh.addVolume([1856, 1473, 1470, 1472], 9330) + femmesh.addVolume([1471, 1472, 1854, 1468], 9331) + femmesh.addVolume([509, 1780, 508, 2026], 9332) + femmesh.addVolume([1702, 1703, 1706, 2114], 9333) + femmesh.addVolume([1704, 1706, 1703, 2114], 9334) + femmesh.addVolume([2156, 1361, 1360, 1364], 9335) + femmesh.addVolume([1361, 1364, 2156, 1362], 9336) + femmesh.addVolume([371, 372, 2026, 1737], 9337) + femmesh.addVolume([1517, 1513, 1896, 1516], 9338) + femmesh.addVolume([1551, 1931, 1550, 1548], 9339) + femmesh.addVolume([1898, 1518, 1515, 1517], 9340) + femmesh.addVolume([1550, 1549, 1546, 1929], 9341) + femmesh.addVolume([1758, 465, 466, 2238], 9342) + femmesh.addVolume([2238, 633, 1802, 632], 9343) + femmesh.addVolume([1393, 1397, 2189, 1394], 9344) + femmesh.addVolume([2189, 1394, 1397, 1395], 9345) + femmesh.addVolume([1670, 1669, 2081, 1673], 9346) + femmesh.addVolume([1671, 1670, 2081, 1673], 9347) + femmesh.addVolume([679, 1625, 1827, 1829], 9348) + femmesh.addVolume([679, 1826, 1827, 1625], 9349) + femmesh.addVolume([1825, 1824, 1442, 680], 9350) + femmesh.addVolume([1442, 680, 1824, 1822], 9351) + femmesh.addVolume([1599, 1976, 1979, 1978], 9352) + femmesh.addVolume([1978, 1977, 1597, 1974], 9353) + femmesh.addVolume([1850, 1852, 1853, 1467], 9354) + femmesh.addVolume([1848, 1852, 1465, 1851], 9355) + femmesh.addVolume([1700, 2108, 2109, 2111], 9356) + femmesh.addVolume([2108, 1700, 2107, 2111], 9357) + femmesh.addVolume([2158, 2162, 2159, 1367], 9358) + femmesh.addVolume([2159, 1367, 2162, 2160], 9359) + femmesh.addVolume([1899, 1903, 1519, 1902], 9360) + femmesh.addVolume([1904, 1521, 1901, 1903], 9361) + femmesh.addVolume([1928, 1927, 1545, 1925], 9362) + femmesh.addVolume([1923, 1926, 1927, 1543], 9363) + femmesh.addVolume([2186, 2183, 1391, 2184], 9364) + femmesh.addVolume([1391, 2186, 2182, 2183], 9365) + femmesh.addVolume([1676, 2087, 2083, 2084], 9366) + femmesh.addVolume([2087, 1676, 2085, 2084], 9367) + femmesh.addVolume([480, 1730, 479, 2226], 9368) + femmesh.addVolume([505, 2014, 506, 1776], 9369) + femmesh.addVolume([365, 2031, 364, 1728], 9370) + femmesh.addVolume([2055, 585, 1644, 2058], 9371) + femmesh.addVolume([418, 1642, 2056, 2053], 9372) + femmesh.addVolume([2211, 1422, 2214, 674], 9373) + femmesh.addVolume([411, 2212, 2209, 1420], 9374) + femmesh.addVolume([362, 363, 2013, 1757], 9375) + femmesh.addVolume([1824, 1441, 1822, 1823], 9376) + femmesh.addVolume([1826, 2000, 1827, 1623], 9377) + femmesh.addVolume([1829, 1827, 1998, 1621], 9378) + femmesh.addVolume([1828, 1443, 1825, 1824], 9379) + femmesh.addVolume([386, 2137, 2134, 1338], 9380) + femmesh.addVolume([1722, 610, 2133, 2130], 9381) + femmesh.addVolume([2131, 1720, 2128, 443], 9382) + femmesh.addVolume([2136, 1343, 2139, 649], 9383) + femmesh.addVolume([648, 1787, 2239, 647], 9384) + femmesh.addVolume([1975, 1595, 1594, 1598], 9385) + femmesh.addVolume([1595, 1975, 1596, 1598], 9386) + femmesh.addVolume([1470, 1469, 1855, 1472], 9387) + femmesh.addVolume([1472, 1469, 1855, 1468], 9388) + femmesh.addVolume([1973, 1595, 1593, 1972], 9389) + femmesh.addVolume([1595, 1971, 1591, 1972], 9390) + femmesh.addVolume([1858, 1473, 1856, 1472], 9391) + femmesh.addVolume([1854, 1858, 1472, 1471], 9392) + femmesh.addVolume([1779, 616, 1792, 3190], 9393) + femmesh.addVolume([2228, 616, 2248, 3190], 9394) + femmesh.addVolume([2112, 1703, 1704, 1701], 9395) + femmesh.addVolume([1702, 2110, 1699, 1703], 9396) + femmesh.addVolume([1360, 1363, 2155, 1364], 9397) + femmesh.addVolume([2157, 1364, 1365, 1362], 9398) + femmesh.addVolume([520, 521, 1782, 2016], 9399) + femmesh.addVolume([486, 2018, 487, 1778], 9400) + femmesh.addVolume([2206, 409, 1411, 2203], 9401) + femmesh.addVolume([2205, 1413, 2208, 672], 9402) + femmesh.addVolume([2061, 2064, 587, 1653], 9403) + femmesh.addVolume([2059, 420, 2062, 1651], 9404) + femmesh.addVolume([1979, 1978, 1981, 1601], 9405) + femmesh.addVolume([1981, 1601, 1978, 1977], 9406) + femmesh.addVolume([1849, 1848, 1852, 1466], 9407) + femmesh.addVolume([1852, 1850, 1849, 1466], 9408) + femmesh.addVolume([1930, 1550, 1547, 1546], 9409) + femmesh.addVolume([1550, 1930, 1547, 1548], 9410) + femmesh.addVolume([1518, 1900, 1520, 1517], 9411) + femmesh.addVolume([1520, 1517, 1900, 1516], 9412) + femmesh.addVolume([2025, 507, 506, 1802], 9413) + femmesh.addVolume([2104, 1696, 2107, 2108], 9414) + femmesh.addVolume([1698, 2106, 2109, 2108], 9415) + femmesh.addVolume([1366, 2161, 2158, 2162], 9416) + femmesh.addVolume([2162, 2160, 1368, 2163], 9417) + femmesh.addVolume([2115, 1706, 1704, 2114], 9418) + femmesh.addVolume([1702, 1706, 2113, 2114], 9419) + femmesh.addVolume([2152, 1361, 1360, 2156], 9420) + femmesh.addVolume([2154, 1361, 2156, 1362], 9421) + femmesh.addVolume([1523, 1903, 1906, 1902], 9422) + femmesh.addVolume([1927, 1544, 1924, 1923], 9423) + femmesh.addVolume([1927, 1925, 1924, 1544], 9424) + femmesh.addVolume([1906, 1523, 1904, 1903], 9425) + femmesh.addVolume([1394, 2187, 1392, 1395], 9426) + femmesh.addVolume([1390, 1393, 2185, 1394], 9427) + femmesh.addVolume([2080, 1669, 1672, 1673], 9428) + femmesh.addVolume([1674, 1671, 2082, 1673], 9429) + femmesh.addVolume([1389, 2183, 2181, 2184], 9430) + femmesh.addVolume([2182, 2179, 1387, 2183], 9431) + femmesh.addVolume([2087, 1675, 2083, 2086], 9432) + femmesh.addVolume([2087, 2085, 1677, 2088], 9433) + femmesh.addVolume([1896, 1517, 1897, 1513], 9434) + femmesh.addVolume([1515, 1897, 1898, 1517], 9435) + femmesh.addVolume([1551, 1550, 1931, 1933], 9436) + femmesh.addVolume([1549, 1550, 1933, 1929], 9437) + femmesh.addVolume([2031, 502, 501, 1772], 9438) + femmesh.addVolume([1445, 1824, 1831, 1823], 9439) + femmesh.addVolume([1831, 1445, 1828, 1824], 9440) + femmesh.addVolume([1999, 1827, 2000, 1622], 9441) + femmesh.addVolume([1827, 1622, 1999, 1998], 9442) + femmesh.addVolume([2189, 1393, 2188, 1397], 9443) + femmesh.addVolume([2190, 2189, 1397, 1395], 9444) + femmesh.addVolume([1669, 2081, 2077, 1670], 9445) + femmesh.addVolume([2081, 1671, 2079, 1670], 9446) + femmesh.addVolume([384, 385, 2005, 1743], 9447) + femmesh.addVolume([2001, 349, 1744, 348], 9448) + femmesh.addVolume([1981, 1980, 1600, 1977], 9449) + femmesh.addVolume([1602, 1979, 1982, 1981], 9450) + femmesh.addVolume([1849, 1850, 1847, 1464], 9451) + femmesh.addVolume([1849, 1848, 1462, 1845], 9452) + femmesh.addVolume([1697, 2104, 2105, 2108], 9453) + femmesh.addVolume([2106, 1697, 2105, 2108], 9454) + femmesh.addVolume([2165, 2162, 1370, 2163], 9455) + femmesh.addVolume([1370, 2161, 2162, 2165], 9456) + femmesh.addVolume([1906, 1522, 1902, 1905], 9457) + femmesh.addVolume([1904, 1907, 1524, 1906], 9458) + femmesh.addVolume([1924, 1542, 1925, 1922], 9459) + femmesh.addVolume([1923, 1924, 1920, 1540], 9460) + femmesh.addVolume([2180, 1388, 2179, 2183], 9461) + femmesh.addVolume([2183, 2180, 1388, 2181], 9462) + femmesh.addVolume([2090, 2088, 2087, 1679], 9463) + femmesh.addVolume([2086, 2090, 2087, 1679], 9464) + femmesh.addVolume([1830, 1831, 1823, 1444], 9465) + femmesh.addVolume([1446, 1828, 1832, 1831], 9466) + femmesh.addVolume([1618, 1999, 1998, 1995], 9467) + femmesh.addVolume([1997, 2000, 1620, 1999], 9468) + femmesh.addVolume([1596, 1976, 1599, 1598], 9469) + femmesh.addVolume([1598, 1597, 1594, 1974], 9470) + femmesh.addVolume([1467, 1853, 1470, 1469], 9471) + femmesh.addVolume([1469, 1465, 1851, 1468], 9472) + femmesh.addVolume([369, 370, 2025, 1758], 9473) + femmesh.addVolume([1700, 1701, 1703, 2111], 9474) + femmesh.addVolume([1699, 1700, 1703, 2111], 9475) + femmesh.addVolume([1364, 1363, 2159, 1367], 9476) + femmesh.addVolume([1367, 2159, 1364, 1365], 9477) + femmesh.addVolume([1723, 4, 2040, 1759], 9478) + femmesh.addVolume([1724, 2041, 5, 1760], 9479) + femmesh.addVolume([1901, 1521, 1518, 1520], 9480) + femmesh.addVolume([1520, 1519, 1516, 1899], 9481) + femmesh.addVolume([1546, 1547, 1926, 1543], 9482) + femmesh.addVolume([1547, 1545, 1548, 1928], 9483) + femmesh.addVolume([1440, 1825, 1443, 1442], 9484) + femmesh.addVolume([1822, 1442, 1438, 1441], 9485) + femmesh.addVolume([1625, 1829, 1624, 1621], 9486) + femmesh.addVolume([1826, 1626, 1623, 1625], 9487) + femmesh.addVolume([680, 1442, 1439, 1438], 9488) + femmesh.addVolume([1439, 1440, 1442, 680], 9489) + femmesh.addVolume([679, 1628, 1625, 1624], 9490) + femmesh.addVolume([1625, 679, 1626, 1628], 9491) + femmesh.addVolume([1390, 1394, 2186, 1391], 9492) + femmesh.addVolume([2186, 1391, 1394, 1392], 9493) + femmesh.addVolume([2084, 1672, 1676, 1673], 9494) + femmesh.addVolume([1674, 2084, 1676, 1673], 9495) + femmesh.addVolume([332, 1956, 1953, 1576], 9496) + femmesh.addVolume([1958, 566, 1955, 1578], 9497) + femmesh.addVolume([1872, 1486, 1869, 304], 9498) + femmesh.addVolume([538, 1871, 1874, 1488], 9499) + femmesh.addVolume([1984, 1982, 1981, 1604], 9500) + femmesh.addVolume([1604, 1981, 1984, 1980], 9501) + femmesh.addVolume([1845, 1463, 1849, 1846], 9502) + femmesh.addVolume([1847, 1849, 1463, 1846], 9503) + femmesh.addVolume([2104, 2101, 1693, 2105], 9504) + femmesh.addVolume([2106, 1695, 2103, 2105], 9505) + femmesh.addVolume([2166, 2165, 1371, 2163], 9506) + femmesh.addVolume([2161, 1369, 2164, 2165], 9507) + femmesh.addVolume([1526, 1906, 1909, 1905], 9508) + femmesh.addVolume([1907, 1909, 1526, 1906], 9509) + femmesh.addVolume([1541, 1922, 1924, 1921], 9510) + femmesh.addVolume([1541, 1921, 1924, 1920], 9511) + femmesh.addVolume([2179, 2176, 1384, 2180], 9512) + femmesh.addVolume([2180, 1386, 2181, 2178], 9513) + femmesh.addVolume([2086, 1678, 2089, 2090], 9514) + femmesh.addVolume([2088, 2091, 1680, 2090], 9515) + femmesh.addVolume([1975, 1596, 1973, 1595], 9516) + femmesh.addVolume([1971, 1594, 1975, 1595], 9517) + femmesh.addVolume([1855, 1854, 1472, 1468], 9518) + femmesh.addVolume([1470, 1855, 1856, 1472], 9519) + femmesh.addVolume([1448, 1831, 1834, 1830], 9520) + femmesh.addVolume([1834, 1448, 1832, 1831], 9521) + femmesh.addVolume([1996, 1999, 1619, 1995], 9522) + femmesh.addVolume([1996, 1997, 1619, 1999], 9523) + femmesh.addVolume([1880, 541, 1500, 1883], 9524) + femmesh.addVolume([1881, 1498, 1878, 307], 9525) + femmesh.addVolume([1949, 1946, 1566, 563], 9526) + femmesh.addVolume([1947, 329, 1564, 1944], 9527) + femmesh.addVolume([1703, 2112, 1704, 2114], 9528) + femmesh.addVolume([1703, 1702, 2110, 2114], 9529) + femmesh.addVolume([2157, 2156, 1364, 1362], 9530) + femmesh.addVolume([2156, 1360, 2155, 1364], 9531) + femmesh.addVolume([1896, 1900, 1517, 1516], 9532) + femmesh.addVolume([1900, 1518, 1898, 1517], 9533) + femmesh.addVolume([1546, 1930, 1550, 1929], 9534) + femmesh.addVolume([1931, 1930, 1550, 1548], 9535) + femmesh.addVolume([2187, 1394, 2189, 1395], 9536) + femmesh.addVolume([1393, 2189, 2185, 1394], 9537) + femmesh.addVolume([2081, 1669, 2080, 1673], 9538) + femmesh.addVolume([2081, 2082, 1671, 1673], 9539) + femmesh.addVolume([1978, 1599, 1598, 1601], 9540) + femmesh.addVolume([1601, 1598, 1978, 1597], 9541) + femmesh.addVolume([1469, 1852, 1465, 1466], 9542) + femmesh.addVolume([1469, 1467, 1852, 1466], 9543) + femmesh.addVolume([1980, 1984, 1603, 1983], 9544) + femmesh.addVolume([1605, 1982, 1985, 1984], 9545) + femmesh.addVolume([1845, 1842, 1459, 1846], 9546) + femmesh.addVolume([1844, 1847, 1461, 1846], 9547) + femmesh.addVolume([1700, 1701, 2109, 1698], 9548) + femmesh.addVolume([1699, 2107, 1696, 1700], 9549) + femmesh.addVolume([1367, 1365, 1368, 2160], 9550) + femmesh.addVolume([1366, 2158, 1363, 1367], 9551) + femmesh.addVolume([1694, 2105, 2101, 2102], 9552) + femmesh.addVolume([1373, 2168, 2164, 2165], 9553) + femmesh.addVolume([2105, 1694, 2103, 2102], 9554) + femmesh.addVolume([2165, 1373, 2168, 2166], 9555) + femmesh.addVolume([1525, 1909, 1908, 1905], 9556) + femmesh.addVolume([1527, 1907, 1910, 1909], 9557) + femmesh.addVolume([1537, 1921, 1920, 1917], 9558) + femmesh.addVolume([1919, 1922, 1539, 1921], 9559) + femmesh.addVolume([1645, 2056, 130, 1642], 9560) + femmesh.addVolume([2058, 259, 1644, 1647], 9561) + femmesh.addVolume([184, 2211, 1422, 1419], 9562) + femmesh.addVolume([55, 2209, 1417, 1420], 9563) + femmesh.addVolume([1520, 1903, 1523, 1519], 9564) + femmesh.addVolume([1521, 1523, 1520, 1903], 9565) + femmesh.addVolume([1547, 1544, 1927, 1543], 9566) + femmesh.addVolume([1545, 1927, 1547, 1544], 9567) + femmesh.addVolume([2177, 2176, 2180, 1385], 9568) + femmesh.addVolume([1385, 2180, 2177, 2178], 9569) + femmesh.addVolume([2089, 1682, 2093, 2090], 9570) + femmesh.addVolume([2091, 2093, 1682, 2090], 9571) + femmesh.addVolume([285, 2133, 1341, 1722], 9572) + femmesh.addVolume([2131, 156, 1344, 1720], 9573) + femmesh.addVolume([1337, 29, 2134, 1338], 9574) + femmesh.addVolume([1340, 158, 1343, 2136], 9575) + femmesh.addVolume([1832, 1835, 1449, 1834], 9576) + femmesh.addVolume([1834, 1447, 1830, 1833], 9577) + femmesh.addVolume([1996, 1997, 1994, 1617], 9578) + femmesh.addVolume([1996, 1992, 1995, 1615], 9579) + femmesh.addVolume([1387, 1390, 2182, 1391], 9580) + femmesh.addVolume([1391, 2184, 1389, 1392], 9581) + femmesh.addVolume([1674, 2085, 1677, 1676], 9582) + femmesh.addVolume([1672, 1675, 2083, 1676], 9583) + femmesh.addVolume([1443, 1445, 1442, 1824], 9584) + femmesh.addVolume([1442, 1824, 1445, 1441], 9585) + femmesh.addVolume([1622, 1827, 1623, 1625], 9586) + femmesh.addVolume([1625, 1622, 1827, 1621], 9587) + femmesh.addVolume([2022, 1742, 363, 364], 9588) + femmesh.addVolume([1985, 1987, 1607, 1984], 9589) + femmesh.addVolume([1607, 1984, 1987, 1983], 9590) + femmesh.addVolume([1460, 1842, 1843, 1846], 9591) + femmesh.addVolume([1843, 1844, 1460, 1846], 9592) + femmesh.addVolume([1692, 2103, 2102, 2100], 9593) + femmesh.addVolume([1690, 2101, 2098, 2102], 9594) + femmesh.addVolume([2168, 2169, 2166, 1374], 9595) + femmesh.addVolume([2167, 2164, 1372, 2168], 9596) + femmesh.addVolume([628, 2240, 627, 1772], 9597) + femmesh.addVolume([1921, 1538, 1918, 1917], 9598) + femmesh.addVolume([1538, 1918, 1919, 1921], 9599) + femmesh.addVolume([1529, 1909, 1912, 1908], 9600) + femmesh.addVolume([1912, 1910, 1909, 1529], 9601) + femmesh.addVolume([2175, 2177, 2178, 1383], 9602) + femmesh.addVolume([1381, 2176, 2173, 2177], 9603) + femmesh.addVolume([2092, 2093, 2089, 1681], 9604) + femmesh.addVolume([2094, 2091, 2093, 1683], 9605) + femmesh.addVolume([1835, 1834, 1837, 1451], 9606) + femmesh.addVolume([1837, 1451, 1834, 1833], 9607) + femmesh.addVolume([1994, 1996, 1616, 1993], 9608) + femmesh.addVolume([1993, 1996, 1616, 1992], 9609) + femmesh.addVolume([53, 1411, 1414, 2206], 9610) + femmesh.addVolume([1416, 182, 2208, 1413], 9611) + femmesh.addVolume([1651, 2059, 132, 1648], 9612) + femmesh.addVolume([261, 1650, 2061, 1653], 9613) + femmesh.addVolume([1608, 1985, 1988, 1987], 9614) + femmesh.addVolume([1987, 1986, 1606, 1983], 9615) + femmesh.addVolume([1843, 1841, 1458, 1844], 9616) + femmesh.addVolume([1843, 1839, 1842, 1456], 9617) + femmesh.addVolume([1376, 2171, 2168, 2169], 9618) + femmesh.addVolume([2098, 2102, 2099, 1691], 9619) + femmesh.addVolume([2099, 1691, 2102, 2100], 9620) + femmesh.addVolume([2167, 2168, 1376, 2171], 9621) + femmesh.addVolume([1530, 1910, 1913, 1912], 9622) + femmesh.addVolume([1536, 1916, 1919, 1918], 9623) + femmesh.addVolume([1534, 1918, 1917, 1914], 9624) + femmesh.addVolume([1912, 1528, 1908, 1911], 9625) + femmesh.addVolume([2173, 2177, 2174, 1382], 9626) + femmesh.addVolume([2174, 1382, 2177, 2175], 9627) + femmesh.addVolume([2096, 2094, 2093, 1685], 9628) + femmesh.addVolume([2092, 2096, 2093, 1685], 9629) + femmesh.addVolume([1836, 1837, 1833, 1450], 9630) + femmesh.addVolume([1452, 1835, 1838, 1837], 9631) + femmesh.addVolume([1612, 1993, 1992, 1989], 9632) + femmesh.addVolume([1994, 1614, 1991, 1993], 9633) + femmesh.addVolume([1597, 1601, 1600, 1977], 9634) + femmesh.addVolume([1979, 1602, 1599, 1601], 9635) + femmesh.addVolume([1848, 1462, 1465, 1466], 9636) + femmesh.addVolume([1464, 1850, 1467, 1466], 9637) + femmesh.addVolume([2162, 1367, 1370, 1368], 9638) + femmesh.addVolume([1366, 1370, 2162, 1367], 9639) + femmesh.addVolume([1697, 1698, 1700, 2108], 9640) + femmesh.addVolume([1696, 1697, 1700, 2108], 9641) + femmesh.addVolume([1987, 1988, 1610, 1990], 9642) + femmesh.addVolume([1990, 1610, 1987, 1986], 9643) + femmesh.addVolume([1840, 1839, 1843, 1457], 9644) + femmesh.addVolume([1843, 1841, 1840, 1457], 9645) + femmesh.addVolume([1902, 1523, 1519, 1522], 9646) + femmesh.addVolume([1545, 1542, 1925, 1544], 9647) + femmesh.addVolume([1544, 1540, 1923, 1543], 9648) + femmesh.addVolume([1524, 1521, 1904, 1523], 9649) + femmesh.addVolume([1375, 2170, 2167, 2171], 9650) + femmesh.addVolume([2169, 2171, 2172, 1377], 9651) + femmesh.addVolume([2098, 2099, 2095, 1687], 9652) + femmesh.addVolume([2099, 2100, 2097, 1689], 9653) + femmesh.addVolume([1912, 1915, 1532, 1911], 9654) + femmesh.addVolume([1532, 1913, 1915, 1912], 9655) + femmesh.addVolume([1535, 1915, 1916, 1918], 9656) + femmesh.addVolume([1918, 1535, 1915, 1914], 9657) + femmesh.addVolume([1378, 2173, 2170, 2174], 9658) + femmesh.addVolume([2172, 2174, 2175, 1380], 9659) + femmesh.addVolume([2092, 1684, 2095, 2096], 9660) + femmesh.addVolume([2096, 2097, 2094, 1686], 9661) + femmesh.addVolume([1990, 1993, 1613, 1989], 9662) + femmesh.addVolume([1836, 1840, 1837, 1454], 9663) + femmesh.addVolume([1613, 1990, 1991, 1993], 9664) + femmesh.addVolume([1837, 1840, 1838, 1454], 9665) + femmesh.addVolume([1387, 1388, 1391, 2183], 9666) + femmesh.addVolume([1391, 2183, 1388, 1389], 9667) + femmesh.addVolume([1679, 2087, 1675, 1676], 9668) + femmesh.addVolume([2087, 1679, 1677, 1676], 9669) + femmesh.addVolume([481, 1743, 480, 2239], 9670) + femmesh.addVolume([445, 1744, 444, 2227], 9671) + femmesh.addVolume([1986, 1990, 1609, 1989], 9672) + femmesh.addVolume([1991, 1611, 1988, 1990], 9673) + femmesh.addVolume([1839, 1840, 1836, 1453], 9674) + femmesh.addVolume([1841, 1840, 1455, 1838], 9675) + femmesh.addVolume([2171, 2170, 2174, 1379], 9676) + femmesh.addVolume([2099, 2096, 1688, 2097], 9677) + femmesh.addVolume([2099, 2095, 1688, 2096], 9678) + femmesh.addVolume([1379, 2174, 2171, 2172], 9679) + femmesh.addVolume([1531, 1911, 1915, 1914], 9680) + femmesh.addVolume([1913, 1916, 1533, 1915], 9681) + femmesh.addVolume([2052, 584, 1641, 2055], 9682) + femmesh.addVolume([2050, 417, 2053, 1639], 9683) + femmesh.addVolume([2217, 2214, 1425, 675], 9684) + femmesh.addVolume([1423, 412, 2212, 2215], 9685) + femmesh.addVolume([1823, 1445, 1441, 1444], 9686) + femmesh.addVolume([1446, 1443, 1828, 1445], 9687) + femmesh.addVolume([1623, 1620, 2000, 1622], 9688) + femmesh.addVolume([1621, 1622, 1998, 1618], 9689) + femmesh.addVolume([465, 1733, 464, 2254], 9690) + femmesh.addVolume([631, 2254, 1776, 632], 9691) + femmesh.addVolume([1975, 1598, 1594, 1974], 9692) + femmesh.addVolume([1596, 1975, 1976, 1598], 9693) + femmesh.addVolume([1855, 1469, 1851, 1468], 9694) + femmesh.addVolume([1853, 1855, 1470, 1469], 9695) + femmesh.addVolume([1701, 2112, 1703, 2111], 9696) + femmesh.addVolume([1703, 2110, 1699, 2111], 9697) + femmesh.addVolume([1365, 2159, 1364, 2157], 9698) + femmesh.addVolume([2159, 2155, 1363, 1364], 9699) + femmesh.addVolume([2137, 387, 2140, 1345], 9700) + femmesh.addVolume([1347, 2142, 2139, 650], 9701) + femmesh.addVolume([2125, 2128, 1717, 442], 9702) + femmesh.addVolume([1719, 2127, 609, 2130], 9703) + femmesh.addVolume([1790, 1783, 638, 3188], 9704) + femmesh.addVolume([2224, 2243, 638, 3188], 9705) + femmesh.addVolume([1516, 1900, 1520, 1899], 9706) + femmesh.addVolume([1520, 1518, 1901, 1900], 9707) + femmesh.addVolume([1547, 1926, 1930, 1546], 9708) + femmesh.addVolume([1548, 1930, 1547, 1928], 9709) + femmesh.addVolume([2185, 2186, 1390, 1394], 9710) + femmesh.addVolume([2186, 1392, 1394, 2187], 9711) + femmesh.addVolume([1672, 2084, 2080, 1673], 9712) + femmesh.addVolume([2082, 2084, 1674, 1673], 9713) + femmesh.addVolume([1408, 408, 2200, 2203], 9714) + femmesh.addVolume([2205, 2202, 1410, 671], 9715) + femmesh.addVolume([421, 2065, 2062, 1654], 9716) + femmesh.addVolume([588, 2064, 2067, 1656], 9717) + femmesh.addVolume([1602, 1601, 1981, 1604], 9718) + femmesh.addVolume([1981, 1604, 1601, 1600], 9719) + femmesh.addVolume([1462, 1849, 1463, 1466], 9720) + femmesh.addVolume([1464, 1463, 1849, 1466], 9721) + femmesh.addVolume([2161, 1366, 1369, 1370], 9722) + femmesh.addVolume([1371, 1370, 1368, 2163], 9723) + femmesh.addVolume([1696, 2104, 1693, 1697], 9724) + femmesh.addVolume([2106, 1698, 1695, 1697], 9725) + femmesh.addVolume([1906, 1526, 1523, 1522], 9726) + femmesh.addVolume([1523, 1524, 1526, 1906], 9727) + femmesh.addVolume([1542, 1541, 1924, 1544], 9728) + femmesh.addVolume([1544, 1541, 1924, 1540], 9729) + femmesh.addVolume([2179, 1384, 1387, 1388], 9730) + femmesh.addVolume([1386, 1388, 2181, 1389], 9731) + femmesh.addVolume([1675, 1678, 2086, 1679], 9732) + femmesh.addVolume([1677, 2088, 1680, 1679], 9733) + femmesh.addVolume([1448, 1445, 1446, 1831], 9734) + femmesh.addVolume([1445, 1831, 1448, 1444], 9735) + femmesh.addVolume([1999, 1620, 1619, 1622], 9736) + femmesh.addVolume([1622, 1619, 1999, 1618], 9737) + femmesh.addVolume([1728, 460, 461, 2240], 9738) + femmesh.addVolume([107, 1953, 1573, 1576], 9739) + femmesh.addVolume([1575, 1955, 236, 1578], 9740) + femmesh.addVolume([78, 1872, 1486, 1489], 9741) + femmesh.addVolume([1874, 1491, 207, 1488], 9742) + femmesh.addVolume([1825, 1442, 1440, 680], 9743) + femmesh.addVolume([1624, 1625, 679, 1829], 9744) + femmesh.addVolume([1438, 680, 1442, 1822], 9745) + femmesh.addVolume([1626, 1826, 679, 1625], 9746) + femmesh.addVolume([1497, 210, 1500, 1880], 9747) + femmesh.addVolume([1495, 81, 1878, 1498], 9748) + femmesh.addVolume([1567, 104, 1564, 1947], 9749) + femmesh.addVolume([1569, 233, 1949, 1566], 9750) + femmesh.addVolume([1982, 1605, 1602, 1604], 9751) + femmesh.addVolume([1604, 1603, 1600, 1980], 9752) + femmesh.addVolume([1463, 1464, 1847, 1461], 9753) + femmesh.addVolume([1463, 1462, 1459, 1845], 9754) + femmesh.addVolume([2022, 501, 500, 1795], 9755) + femmesh.addVolume([1694, 2105, 1695, 1697], 9756) + femmesh.addVolume([2105, 1694, 1693, 1697], 9757) + femmesh.addVolume([1370, 1373, 1369, 2165], 9758) + femmesh.addVolume([2165, 1370, 1373, 1371], 9759) + femmesh.addVolume([1524, 1907, 1527, 1526], 9760) + femmesh.addVolume([1541, 1537, 1920, 1540], 9761) + femmesh.addVolume([1539, 1542, 1541, 1922], 9762) + femmesh.addVolume([1525, 1522, 1526, 1905], 9763) + femmesh.addVolume([1384, 1388, 2180, 1385], 9764) + femmesh.addVolume([2180, 1385, 1388, 1386], 9765) + femmesh.addVolume([2090, 1678, 1682, 1679], 9766) + femmesh.addVolume([2090, 1682, 1680, 1679], 9767) + femmesh.addVolume([1832, 1449, 1446, 1448], 9768) + femmesh.addVolume([1448, 1444, 1830, 1447], 9769) + femmesh.addVolume([1620, 1997, 1619, 1617], 9770) + femmesh.addVolume([1619, 1995, 1618, 1615], 9771) + femmesh.addVolume([1597, 1598, 1978, 1974], 9772) + femmesh.addVolume([1598, 1976, 1599, 1978], 9773) + femmesh.addVolume([1851, 1852, 1465, 1469], 9774) + femmesh.addVolume([1467, 1852, 1853, 1469], 9775) + femmesh.addVolume([1700, 1699, 2107, 2111], 9776) + femmesh.addVolume([1701, 1700, 2109, 2111], 9777) + femmesh.addVolume([1365, 1367, 2159, 2160], 9778) + femmesh.addVolume([2159, 1363, 2158, 1367], 9779) + femmesh.addVolume([1519, 1520, 1903, 1899], 9780) + femmesh.addVolume([1520, 1901, 1521, 1903], 9781) + femmesh.addVolume([1545, 1547, 1927, 1928], 9782) + femmesh.addVolume([1926, 1547, 1927, 1543], 9783) + femmesh.addVolume([567, 1958, 1961, 1581], 9784) + femmesh.addVolume([333, 1959, 1956, 1579], 9785) + femmesh.addVolume([1483, 1866, 1869, 303], 9786) + femmesh.addVolume([1871, 1485, 537, 1868], 9787) + femmesh.addVolume([1607, 1604, 1984, 1603], 9788) + femmesh.addVolume([1605, 1984, 1607, 1604], 9789) + femmesh.addVolume([1461, 1463, 1460, 1846], 9790) + femmesh.addVolume([1459, 1460, 1463, 1846], 9791) + femmesh.addVolume([1693, 1694, 2101, 1690], 9792) + femmesh.addVolume([1695, 2103, 1694, 1692], 9793) + femmesh.addVolume([2164, 1372, 1373, 1369], 9794) + femmesh.addVolume([2166, 1371, 1373, 1374], 9795) + femmesh.addVolume([2186, 2182, 1390, 1391], 9796) + femmesh.addVolume([2184, 1391, 2186, 1392], 9797) + femmesh.addVolume([1676, 1674, 2085, 2084], 9798) + femmesh.addVolume([1676, 2083, 1672, 2084], 9799) + femmesh.addVolume([1529, 1526, 1909, 1525], 9800) + femmesh.addVolume([1909, 1527, 1526, 1529], 9801) + femmesh.addVolume([1539, 1541, 1538, 1921], 9802) + femmesh.addVolume([1538, 1921, 1541, 1537], 9803) + femmesh.addVolume([2178, 1385, 1386, 1383], 9804) + femmesh.addVolume([1381, 1384, 2176, 1385], 9805) + femmesh.addVolume([1680, 1682, 2091, 1683], 9806) + femmesh.addVolume([1682, 1678, 2089, 1681], 9807) + femmesh.addVolume([1451, 1448, 1834, 1447], 9808) + femmesh.addVolume([1834, 1449, 1448, 1451], 9809) + femmesh.addVolume([1996, 1616, 1619, 1617], 9810) + femmesh.addVolume([1616, 1996, 1619, 1615], 9811) + femmesh.addVolume([1442, 1825, 1443, 1824], 9812) + femmesh.addVolume([1442, 1822, 1824, 1441], 9813) + femmesh.addVolume([1829, 1625, 1827, 1621], 9814) + femmesh.addVolume([1623, 1827, 1826, 1625], 9815) + femmesh.addVolume([1883, 1886, 542, 1503], 9816) + femmesh.addVolume([1884, 1501, 1881, 308], 9817) + femmesh.addVolume([1943, 1563, 1946, 562], 9818) + femmesh.addVolume([328, 1561, 1944, 1941], 9819) + femmesh.addVolume([1603, 1607, 1606, 1983], 9820) + femmesh.addVolume([1605, 1985, 1608, 1607], 9821) + femmesh.addVolume([1460, 1458, 1461, 1844], 9822) + femmesh.addVolume([1460, 1456, 1842, 1459], 9823) + femmesh.addVolume([2168, 1373, 1376, 1374], 9824) + femmesh.addVolume([1694, 2102, 1690, 1691], 9825) + femmesh.addVolume([1691, 1694, 2102, 1692], 9826) + femmesh.addVolume([1376, 1372, 1373, 2168], 9827) + femmesh.addVolume([1538, 1917, 1537, 1534], 9828) + femmesh.addVolume([1538, 1539, 1919, 1536], 9829) + femmesh.addVolume([1530, 1527, 1910, 1529], 9830) + femmesh.addVolume([1529, 1525, 1908, 1528], 9831) + femmesh.addVolume([1385, 2177, 1382, 1383], 9832) + femmesh.addVolume([1382, 1381, 2177, 1385], 9833) + femmesh.addVolume([1685, 2093, 1682, 1683], 9834) + femmesh.addVolume([1681, 2093, 1682, 1685], 9835) + femmesh.addVolume([1833, 1451, 1447, 1450], 9836) + femmesh.addVolume([1452, 1449, 1835, 1451], 9837) + femmesh.addVolume([1994, 1614, 1616, 1617], 9838) + femmesh.addVolume([1615, 1616, 1992, 1612], 9839) + femmesh.addVolume([1458, 1843, 1460, 1457], 9840) + femmesh.addVolume([1456, 1460, 1843, 1457], 9841) + femmesh.addVolume([1987, 1610, 1607, 1606], 9842) + femmesh.addVolume([1607, 1608, 1610, 1987], 9843) + femmesh.addVolume([1375, 2167, 1372, 1376], 9844) + femmesh.addVolume([1374, 1376, 2169, 1377], 9845) + femmesh.addVolume([1692, 2100, 1691, 1689], 9846) + femmesh.addVolume([2098, 1687, 1690, 1691], 9847) + femmesh.addVolume([1530, 1912, 1532, 1529], 9848) + femmesh.addVolume([1532, 1529, 1912, 1528], 9849) + femmesh.addVolume([1918, 1538, 1535, 1534], 9850) + femmesh.addVolume([1535, 1536, 1538, 1918], 9851) + femmesh.addVolume([1380, 1382, 2175, 1383], 9852) + femmesh.addVolume([1381, 2173, 1378, 1382], 9853) + femmesh.addVolume([2092, 1681, 1684, 1685], 9854) + femmesh.addVolume([1686, 2094, 1685, 1683], 9855) + femmesh.addVolume([1450, 1837, 1451, 1454], 9856) + femmesh.addVolume([1452, 1451, 1837, 1454], 9857) + femmesh.addVolume([1993, 1616, 1613, 1612], 9858) + femmesh.addVolume([1613, 1614, 1616, 1993], 9859) + femmesh.addVolume([1641, 258, 1644, 2055], 9860) + femmesh.addVolume([2053, 129, 1642, 1639], 9861) + femmesh.addVolume([1422, 185, 1425, 2214], 9862) + femmesh.addVolume([1420, 56, 2212, 1423], 9863) + femmesh.addVolume([629, 1815, 2232, 1805], 9864) + femmesh.addVolume([1456, 1839, 1453, 1457], 9865) + femmesh.addVolume([1841, 1458, 1455, 1457], 9866) + femmesh.addVolume([1606, 1610, 1609, 1986], 9867) + femmesh.addVolume([1988, 1611, 1608, 1610], 9868) + femmesh.addVolume([1376, 1379, 2171, 1377], 9869) + femmesh.addVolume([2171, 1376, 1375, 1379], 9870) + femmesh.addVolume([1687, 2099, 1688, 1691], 9871) + femmesh.addVolume([1691, 2099, 1688, 1689], 9872) + femmesh.addVolume([1911, 1532, 1528, 1531], 9873) + femmesh.addVolume([1530, 1913, 1533, 1532], 9874) + femmesh.addVolume([1533, 1916, 1536, 1535], 9875) + femmesh.addVolume([1531, 1535, 1534, 1914], 9876) + femmesh.addVolume([2174, 1379, 1382, 1380], 9877) + femmesh.addVolume([1378, 1382, 2174, 1379], 9878) + femmesh.addVolume([1685, 1688, 2096, 1686], 9879) + femmesh.addVolume([2096, 1684, 1688, 1685], 9880) + femmesh.addVolume([1836, 1450, 1453, 1454], 9881) + femmesh.addVolume([1609, 1613, 1612, 1989], 9882) + femmesh.addVolume([1452, 1838, 1455, 1454], 9883) + femmesh.addVolume([1991, 1614, 1611, 1613], 9884) + femmesh.addVolume([369, 2014, 368, 1733], 9885) + femmesh.addVolume([1990, 1611, 1610, 1613], 9886) + femmesh.addVolume([1457, 1840, 1453, 1454], 9887) + femmesh.addVolume([1613, 1610, 1990, 1609], 9888) + femmesh.addVolume([1457, 1455, 1840, 1454], 9889) + femmesh.addVolume([1379, 1380, 2172, 1377], 9890) + femmesh.addVolume([1686, 1688, 2097, 1689], 9891) + femmesh.addVolume([2170, 1375, 1378, 1379], 9892) + femmesh.addVolume([1688, 1684, 2095, 1687], 9893) + femmesh.addVolume([1533, 1532, 1915, 1535], 9894) + femmesh.addVolume([1535, 1532, 1915, 1531], 9895) + femmesh.addVolume([1343, 159, 1347, 2139], 9896) + femmesh.addVolume([1338, 30, 2137, 1345], 9897) + femmesh.addVolume([1720, 2128, 155, 1717], 9898) + femmesh.addVolume([284, 1722, 1719, 2130], 9899) + femmesh.addVolume([1597, 1978, 1601, 1977], 9900) + femmesh.addVolume([1978, 1979, 1599, 1601], 9901) + femmesh.addVolume([1467, 1850, 1852, 1466], 9902) + femmesh.addVolume([1848, 1465, 1852, 1466], 9903) + femmesh.addVolume([1700, 1698, 2109, 2108], 9904) + femmesh.addVolume([1700, 2107, 1696, 2108], 9905) + femmesh.addVolume([2162, 2158, 1366, 1367], 9906) + femmesh.addVolume([1368, 2162, 1367, 2160], 9907) + femmesh.addVolume([1519, 1903, 1523, 1902], 9908) + femmesh.addVolume([1523, 1521, 1904, 1903], 9909) + femmesh.addVolume([1923, 1927, 1544, 1543], 9910) + femmesh.addVolume([1925, 1927, 1545, 1544], 9911) + femmesh.addVolume([1413, 181, 2205, 1410], 9912) + femmesh.addVolume([1411, 52, 1408, 2203], 9913) + femmesh.addVolume([1654, 2062, 133, 1651], 9914) + femmesh.addVolume([262, 1653, 2064, 1656], 9915) + femmesh.addVolume([1389, 1391, 2183, 2184], 9916) + femmesh.addVolume([1387, 1391, 2182, 2183], 9917) + femmesh.addVolume([2085, 2087, 1677, 1676], 9918) + femmesh.addVolume([1675, 2087, 2083, 1676], 9919) + femmesh.addVolume([1441, 1824, 1445, 1823], 9920) + femmesh.addVolume([1445, 1443, 1828, 1824], 9921) + femmesh.addVolume([1623, 2000, 1827, 1622], 9922) + femmesh.addVolume([1998, 1827, 1622, 1621], 9923) + femmesh.addVolume([583, 1638, 2049, 2052], 9924) + femmesh.addVolume([1636, 2050, 416, 2045], 9925) + femmesh.addVolume([1428, 2220, 2217, 676], 9926) + femmesh.addVolume([2215, 1426, 413, 2218], 9927) + femmesh.addVolume([2125, 1714, 2122, 441], 9928) + femmesh.addVolume([2145, 2142, 1350, 651], 9929) + femmesh.addVolume([1348, 388, 2140, 2143], 9930) + femmesh.addVolume([1716, 608, 2127, 2124], 9931) + femmesh.addVolume([2199, 1407, 2202, 670], 9932) + femmesh.addVolume([407, 2200, 2197, 1405], 9933) + femmesh.addVolume([2065, 422, 2068, 1657], 9934) + femmesh.addVolume([2067, 2070, 589, 1659], 9935) + femmesh.addVolume([1811, 463, 1763, 2234], 9936) + femmesh.addVolume([1981, 1600, 1601, 1977], 9937) + femmesh.addVolume([1981, 1602, 1979, 1601], 9938) + femmesh.addVolume([1850, 1464, 1849, 1466], 9939) + femmesh.addVolume([1462, 1848, 1849, 1466], 9940) + femmesh.addVolume([1437, 189, 1803, 1434], 9941) + femmesh.addVolume([1804, 254, 1629, 1632], 9942) + femmesh.addVolume([125, 1760, 1627, 1630], 9943) + femmesh.addVolume([1759, 60, 1435, 1432], 9944) + femmesh.addVolume([2162, 1366, 2161, 1370], 9945) + femmesh.addVolume([1697, 1696, 2104, 2108], 9946) + femmesh.addVolume([1697, 2106, 1698, 2108], 9947) + femmesh.addVolume([1368, 1370, 2162, 2163], 9948) + femmesh.addVolume([1523, 1902, 1906, 1522], 9949) + femmesh.addVolume([1524, 1523, 1904, 1906], 9950) + femmesh.addVolume([1924, 1923, 1544, 1540], 9951) + femmesh.addVolume([1542, 1924, 1925, 1544], 9952) + femmesh.addVolume([2181, 1388, 2183, 1389], 9953) + femmesh.addVolume([1388, 1387, 2179, 2183], 9954) + femmesh.addVolume([2088, 1677, 2087, 1679], 9955) + femmesh.addVolume([2086, 2087, 1675, 1679], 9956) + femmesh.addVolume([1445, 1823, 1831, 1444], 9957) + femmesh.addVolume([1445, 1828, 1446, 1831], 9958) + femmesh.addVolume([1999, 2000, 1620, 1622], 9959) + femmesh.addVolume([1999, 1998, 1622, 1618], 9960) + femmesh.addVolume([1578, 1958, 237, 1581], 9961) + femmesh.addVolume([1576, 108, 1956, 1579], 9962) + femmesh.addVolume([1869, 77, 1486, 1483], 9963) + femmesh.addVolume([1871, 206, 1485, 1488], 9964) + femmesh.addVolume([1883, 211, 1500, 1503], 9965) + femmesh.addVolume([1566, 1946, 1563, 232], 9966) + femmesh.addVolume([1944, 103, 1564, 1561], 9967) + femmesh.addVolume([1881, 82, 1501, 1498], 9968) + femmesh.addVolume([568, 1584, 1961, 1964], 9969) + femmesh.addVolume([334, 1962, 1959, 1582], 9970) + femmesh.addVolume([1863, 1866, 1480, 302], 9971) + femmesh.addVolume([1482, 1865, 536, 1868], 9972) + femmesh.addVolume([1761, 2003, 1819, 366], 9973) + femmesh.addVolume([1560, 1943, 1940, 561], 9974) + femmesh.addVolume([1504, 1884, 1887, 309], 9975) + femmesh.addVolume([1938, 1558, 327, 1941], 9976) + femmesh.addVolume([1889, 543, 1886, 1506], 9977) + femmesh.addVolume([1602, 1981, 1982, 1604], 9978) + femmesh.addVolume([1600, 1981, 1604, 1980], 9979) + femmesh.addVolume([1462, 1463, 1849, 1845], 9980) + femmesh.addVolume([1847, 1463, 1849, 1464], 9981) + femmesh.addVolume([1695, 2105, 2106, 1697], 9982) + femmesh.addVolume([2105, 1693, 2104, 1697], 9983) + femmesh.addVolume([1370, 1369, 2161, 2165], 9984) + femmesh.addVolume([1371, 2165, 1370, 2163], 9985) + femmesh.addVolume([1522, 1906, 1526, 1905], 9986) + femmesh.addVolume([1526, 1524, 1907, 1906], 9987) + femmesh.addVolume([1541, 1542, 1924, 1922], 9988) + femmesh.addVolume([1920, 1924, 1541, 1540], 9989) + femmesh.addVolume([2234, 1816, 2252, 630], 9990) + femmesh.addVolume([2181, 2180, 1388, 1386], 9991) + femmesh.addVolume([2180, 1384, 2179, 1388], 9992) + femmesh.addVolume([2090, 1680, 2088, 1679], 9993) + femmesh.addVolume([2090, 2086, 1678, 1679], 9994) + femmesh.addVolume([1830, 1448, 1831, 1444], 9995) + femmesh.addVolume([1832, 1448, 1446, 1831], 9996) + femmesh.addVolume([1620, 1619, 1997, 1999], 9997) + femmesh.addVolume([1618, 1619, 1999, 1995], 9998) + femmesh.addVolume([2252, 1815, 2232, 629], 9999) + femmesh.addVolume([2003, 2034, 1819, 366], 10000) + femmesh.addVolume([1811, 2252, 463, 2234], 10001) + femmesh.addVolume([1641, 1638, 257, 2052], 10002) + femmesh.addVolume([1636, 128, 2050, 1639], 10003) + femmesh.addVolume([186, 1425, 2217, 1428], 10004) + femmesh.addVolume([1426, 57, 1423, 2215], 10005) + femmesh.addVolume([2048, 582, 1635, 2049], 10006) + femmesh.addVolume([414, 2047, 2218, 1429], 10007) + femmesh.addVolume([1633, 415, 2044, 2045], 10008) + femmesh.addVolume([2220, 1431, 2042, 677], 10009) + femmesh.addVolume([1984, 1605, 1982, 1604], 10010) + femmesh.addVolume([1603, 1604, 1984, 1980], 10011) + femmesh.addVolume([1463, 1461, 1847, 1846], 10012) + femmesh.addVolume([1845, 1459, 1463, 1846], 10013) + femmesh.addVolume([1695, 1694, 2103, 2105], 10014) + femmesh.addVolume([1694, 1693, 2101, 2105], 10015) + femmesh.addVolume([1369, 1373, 2164, 2165], 10016) + femmesh.addVolume([1371, 1373, 2165, 2166], 10017) + femmesh.addVolume([1526, 1907, 1527, 1909], 10018) + femmesh.addVolume([1909, 1525, 1526, 1905], 10019) + femmesh.addVolume([1922, 1541, 1539, 1921], 10020) + femmesh.addVolume([1920, 1541, 1921, 1537], 10021) + femmesh.addVolume([1345, 31, 2140, 1348], 10022) + femmesh.addVolume([1347, 160, 1350, 2142], 10023) + femmesh.addVolume([1717, 154, 1714, 2125], 10024) + femmesh.addVolume([1719, 283, 2127, 1716], 10025) + femmesh.addVolume([2180, 2176, 1384, 1385], 10026) + femmesh.addVolume([1386, 2180, 1385, 2178], 10027) + femmesh.addVolume([1682, 1680, 2091, 2090], 10028) + femmesh.addVolume([1678, 1682, 2089, 2090], 10029) + femmesh.addVolume([1449, 1448, 1832, 1834], 10030) + femmesh.addVolume([1448, 1830, 1834, 1447], 10031) + femmesh.addVolume([1996, 1995, 1619, 1615], 10032) + femmesh.addVolume([1997, 1996, 1619, 1617], 10033) + femmesh.addVolume([503, 2034, 1821, 2003], 10034) + femmesh.addVolume([1711, 2119, 2122, 440], 10035) + femmesh.addVolume([389, 2146, 2143, 1351], 10036) + femmesh.addVolume([2145, 1353, 2148, 652], 10037) + femmesh.addVolume([607, 2121, 2124, 1713], 10038) + femmesh.addVolume([1407, 180, 1410, 2202], 10039) + femmesh.addVolume([1408, 2200, 51, 1405], 10040) + femmesh.addVolume([1657, 2065, 134, 1654], 10041) + femmesh.addVolume([263, 1656, 2067, 1659], 10042) + femmesh.addVolume([2196, 1404, 2199, 669], 10043) + femmesh.addVolume([2197, 2194, 406, 1402], 10044) + femmesh.addVolume([590, 2070, 2073, 1662], 10045) + femmesh.addVolume([2068, 423, 2071, 1660], 10046) + femmesh.addVolume([1985, 1607, 1605, 1984], 10047) + femmesh.addVolume([1603, 1984, 1607, 1983], 10048) + femmesh.addVolume([1460, 1844, 1461, 1846], 10049) + femmesh.addVolume([1460, 1459, 1842, 1846], 10050) + femmesh.addVolume([1690, 1694, 2101, 2102], 10051) + femmesh.addVolume([2102, 1694, 2103, 1692], 10052) + femmesh.addVolume([2164, 1373, 1372, 2168], 10053) + femmesh.addVolume([2166, 1373, 2168, 1374], 10054) + femmesh.addVolume([1537, 1538, 1921, 1917], 10055) + femmesh.addVolume([1539, 1538, 1919, 1921], 10056) + femmesh.addVolume([1909, 1910, 1527, 1529], 10057) + femmesh.addVolume([1909, 1908, 1529, 1525], 10058) + femmesh.addVolume([2176, 2177, 1381, 1385], 10059) + femmesh.addVolume([2178, 2177, 1385, 1383], 10060) + femmesh.addVolume([2089, 2093, 1682, 1681], 10061) + femmesh.addVolume([2093, 2091, 1682, 1683], 10062) + femmesh.addVolume([1834, 1835, 1449, 1451], 10063) + femmesh.addVolume([1447, 1834, 1451, 1833], 10064) + femmesh.addVolume([1994, 1616, 1996, 1617], 10065) + femmesh.addVolume([1992, 1996, 1616, 1615], 10066) + femmesh.addVolume([1607, 1985, 1608, 1987], 10067) + femmesh.addVolume([1606, 1607, 1987, 1983], 10068) + femmesh.addVolume([1843, 1842, 1460, 1456], 10069) + femmesh.addVolume([1458, 1460, 1843, 1844], 10070) + femmesh.addVolume([2017, 1817, 2034, 367], 10071) + femmesh.addVolume([2102, 2098, 1690, 1691], 10072) + femmesh.addVolume([1692, 2102, 1691, 2100], 10073) + femmesh.addVolume([1376, 2167, 1372, 2168], 10074) + femmesh.addVolume([1376, 2169, 2168, 1374], 10075) + femmesh.addVolume([1917, 1538, 1918, 1534], 10076) + femmesh.addVolume([1538, 1536, 1919, 1918], 10077) + femmesh.addVolume([1908, 1912, 1529, 1528], 10078) + femmesh.addVolume([1910, 1912, 1530, 1529], 10079) + femmesh.addVolume([2175, 1382, 2177, 1383], 10080) + femmesh.addVolume([2177, 2173, 1381, 1382], 10081) + femmesh.addVolume([1681, 2092, 2093, 1685], 10082) + femmesh.addVolume([2093, 1685, 2094, 1683], 10083) + femmesh.addVolume([1833, 1837, 1451, 1450], 10084) + femmesh.addVolume([1835, 1837, 1452, 1451], 10085) + femmesh.addVolume([1992, 1616, 1993, 1612], 10086) + femmesh.addVolume([1614, 1994, 1616, 1993], 10087) + femmesh.addVolume([1962, 335, 1965, 1585], 10088) + femmesh.addVolume([1967, 569, 1964, 1587], 10089) + femmesh.addVolume([1863, 1477, 1860, 301], 10090) + femmesh.addVolume([1862, 535, 1479, 1865], 10091) + femmesh.addVolume([238, 1581, 1961, 1584], 10092) + femmesh.addVolume([109, 1582, 1959, 1579], 10093) + femmesh.addVolume([76, 1483, 1866, 1480], 10094) + femmesh.addVolume([205, 1485, 1482, 1868], 10095) + femmesh.addVolume([1938, 326, 1555, 1935], 10096) + femmesh.addVolume([1937, 1557, 1940, 560], 10097) + femmesh.addVolume([1890, 1507, 1887, 310], 10098) + femmesh.addVolume([544, 1889, 1892, 1509], 10099) + femmesh.addVolume([1606, 1987, 1610, 1986], 10100) + femmesh.addVolume([1988, 1610, 1608, 1987], 10101) + femmesh.addVolume([1841, 1843, 1458, 1457], 10102) + femmesh.addVolume([1456, 1843, 1839, 1457], 10103) + femmesh.addVolume([2167, 1376, 1375, 2171], 10104) + femmesh.addVolume([2169, 1376, 2171, 1377], 10105) + femmesh.addVolume([2100, 2099, 1691, 1689], 10106) + femmesh.addVolume([1687, 2098, 2099, 1691], 10107) + femmesh.addVolume([1532, 1528, 1912, 1911], 10108) + femmesh.addVolume([1913, 1532, 1530, 1912], 10109) + femmesh.addVolume([1534, 1535, 1918, 1914], 10110) + femmesh.addVolume([1535, 1916, 1536, 1918], 10111) + femmesh.addVolume([2175, 2174, 1382, 1380], 10112) + femmesh.addVolume([2174, 1378, 2173, 1382], 10113) + femmesh.addVolume([1684, 2096, 2092, 1685], 10114) + femmesh.addVolume([2094, 1685, 2096, 1686], 10115) + femmesh.addVolume([1837, 1450, 1836, 1454], 10116) + femmesh.addVolume([1452, 1837, 1838, 1454], 10117) + femmesh.addVolume([1612, 1613, 1993, 1989], 10118) + femmesh.addVolume([1614, 1613, 1991, 1993], 10119) + femmesh.addVolume([83, 1501, 1504, 1884], 10120) + femmesh.addVolume([1503, 1886, 212, 1506], 10121) + femmesh.addVolume([1943, 1560, 1563, 231], 10122) + femmesh.addVolume([1561, 102, 1558, 1941], 10123) + femmesh.addVolume([1609, 1610, 1990, 1986], 10124) + femmesh.addVolume([1610, 1988, 1611, 1990], 10125) + femmesh.addVolume([1840, 1453, 1839, 1457], 10126) + femmesh.addVolume([1841, 1455, 1840, 1457], 10127) + femmesh.addVolume([2171, 1375, 2170, 1379], 10128) + femmesh.addVolume([1688, 2095, 2099, 1687], 10129) + femmesh.addVolume([2172, 2171, 1379, 1377], 10130) + femmesh.addVolume([2097, 1688, 2099, 1689], 10131) + femmesh.addVolume([1911, 1915, 1532, 1531], 10132) + femmesh.addVolume([1915, 1533, 1913, 1532], 10133) + femmesh.addVolume([1915, 1916, 1533, 1535], 10134) + femmesh.addVolume([1531, 1915, 1535, 1914], 10135) + femmesh.addVolume([2097, 2096, 1688, 1686], 10136) + femmesh.addVolume([1378, 2174, 2170, 1379], 10137) + femmesh.addVolume([2172, 1379, 2174, 1380], 10138) + femmesh.addVolume([1684, 1688, 2095, 2096], 10139) + femmesh.addVolume([1613, 1609, 1990, 1989], 10140) + femmesh.addVolume([1611, 1990, 1991, 1613], 10141) + femmesh.addVolume([1453, 1840, 1836, 1454], 10142) + femmesh.addVolume([1838, 1840, 1455, 1454], 10143) + femmesh.addVolume([462, 2232, 2252, 1813], 10144) + femmesh.addVolume([1816, 630, 2234, 1808], 10145) + femmesh.addVolume([1710, 606, 2121, 2118], 10146) + femmesh.addVolume([2116, 2119, 1708, 439], 10147) + femmesh.addVolume([1354, 390, 2146, 2149], 10148) + femmesh.addVolume([2151, 2148, 1356, 653], 10149) + femmesh.addVolume([1817, 367, 2017, 1764], 10150) + femmesh.addVolume([1432, 7, 2047, 682], 10151) + femmesh.addVolume([1632, 681, 12, 2048], 10152) + femmesh.addVolume([1434, 14, 682, 2042], 10153) + femmesh.addVolume([8, 1630, 2044, 681], 10154) + femmesh.addVolume([1401, 2196, 2193, 668], 10155) + femmesh.addVolume([405, 2191, 1399, 2194], 10156) + femmesh.addVolume([591, 1665, 2073, 2076], 10157) + femmesh.addVolume([2071, 1663, 424, 2074], 10158) + femmesh.addVolume([127, 1633, 1636, 2045], 10159) + femmesh.addVolume([2049, 256, 1635, 1638], 10160) + femmesh.addVolume([2218, 1426, 58, 1429], 10161) + femmesh.addVolume([2220, 1431, 187, 1428], 10162) + femmesh.addVolume([1714, 153, 1711, 2122], 10163) + femmesh.addVolume([282, 2124, 1716, 1713], 10164) + femmesh.addVolume([2143, 1348, 32, 1351], 10165) + femmesh.addVolume([161, 2145, 1353, 1350], 10166) + femmesh.addVolume([1402, 50, 2197, 1405], 10167) + femmesh.addVolume([1404, 179, 1407, 2199], 10168) + femmesh.addVolume([1660, 2068, 135, 1657], 10169) + femmesh.addVolume([1662, 264, 2070, 1659], 10170) + femmesh.addVolume([1970, 570, 1967, 1590], 10171) + femmesh.addVolume([336, 1968, 1965, 1588], 10172) + femmesh.addVolume([1859, 534, 1476, 1862], 10173) + femmesh.addVolume([1860, 1474, 1857, 300], 10174) + femmesh.addVolume([1554, 1937, 1934, 559], 10175) + femmesh.addVolume([1552, 325, 1932, 1935], 10176) + femmesh.addVolume([1510, 1890, 1893, 311], 10177) + femmesh.addVolume([1895, 1512, 545, 1892], 10178) + femmesh.addVolume([1821, 1806, 503, 2003], 10179) + femmesh.addVolume([1582, 110, 1962, 1585], 10180) + femmesh.addVolume([1964, 239, 1584, 1587], 10181) + femmesh.addVolume([1863, 75, 1480, 1477], 10182) + femmesh.addVolume([1865, 204, 1479, 1482], 10183) + femmesh.addVolume([1940, 1557, 1560, 230], 10184) + femmesh.addVolume([1558, 101, 1555, 1938], 10185) + femmesh.addVolume([1507, 84, 1504, 1887], 10186) + femmesh.addVolume([213, 1506, 1889, 1509], 10187) + femmesh.addVolume([1705, 2113, 2116, 438], 10188) + femmesh.addVolume([2152, 391, 1357, 2149], 10189) + femmesh.addVolume([2151, 1359, 2154, 654], 10190) + femmesh.addVolume([2115, 605, 1707, 2118], 10191) + femmesh.addVolume([1429, 59, 2047, 1432], 10192) + femmesh.addVolume([255, 1635, 1632, 2048], 10193) + femmesh.addVolume([1431, 188, 1434, 2042], 10194) + femmesh.addVolume([126, 1633, 2044, 1630], 10195) + femmesh.addVolume([2191, 404, 1396, 2188], 10196) + femmesh.addVolume([2077, 1666, 2074, 425], 10197) + femmesh.addVolume([2079, 2076, 1668, 592], 10198) + femmesh.addVolume([1398, 2193, 2190, 667], 10199) + femmesh.addVolume([1533, 552, 1916, 1913], 10200) + femmesh.addVolume([1911, 1531, 318, 1914], 10201) + femmesh.addVolume([1453, 1836, 1839, 293], 10202) + femmesh.addVolume([527, 1841, 1455, 1838], 10203) + femmesh.addVolume([1989, 1609, 1986, 343], 10204) + femmesh.addVolume([1611, 1991, 1988, 577], 10205) + femmesh.addVolume([1973, 571, 1970, 1593], 10206) + femmesh.addVolume([1968, 337, 1971, 1591], 10207) + femmesh.addVolume([533, 1859, 1473, 1856], 10208) + femmesh.addVolume([1471, 1854, 1857, 299], 10209) + femmesh.addVolume([2034, 2017, 504, 1820], 10210) + femmesh.addVolume([678, 1814, 1813, 1815], 10211) + femmesh.addVolume([1811, 678, 1816, 1812], 10212) + femmesh.addVolume([1817, 1820, 1818, 1812], 10213) + femmesh.addVolume([1814, 1821, 1818, 1819], 10214) + femmesh.addVolume([1931, 1551, 1934, 558], 10215) + femmesh.addVolume([1929, 1549, 324, 1932], 10216) + femmesh.addVolume([1896, 1513, 1893, 312], 10217) + femmesh.addVolume([1895, 546, 1515, 1898], 10218) + femmesh.addVolume([1684, 2092, 2095, 431], 10219) + femmesh.addVolume([1380, 2175, 2172, 661], 10220) + femmesh.addVolume([2170, 1378, 398, 2173], 10221) + femmesh.addVolume([2094, 1686, 2097, 598], 10222) + femmesh.addVolume([1711, 152, 1708, 2119], 10223) + femmesh.addVolume([1713, 281, 2121, 1710], 10224) + femmesh.addVolume([1351, 33, 2146, 1354], 10225) + femmesh.addVolume([1353, 162, 1356, 2148], 10226) + femmesh.addVolume([1377, 2172, 2169, 660], 10227) + femmesh.addVolume([2167, 1375, 397, 2170], 10228) + femmesh.addVolume([1687, 2095, 2098, 432], 10229) + femmesh.addVolume([2097, 1689, 2100, 599], 10230) + femmesh.addVolume([2017, 1807, 504, 1820], 10231) + femmesh.addVolume([2194, 1399, 49, 1402], 10232) + femmesh.addVolume([178, 2196, 1404, 1401], 10233) + femmesh.addVolume([1660, 136, 2071, 1663], 10234) + femmesh.addVolume([1665, 2073, 1662, 265], 10235) + femmesh.addVolume([1362, 2157, 2154, 655], 10236) + femmesh.addVolume([2152, 1360, 392, 2155], 10237) + femmesh.addVolume([604, 2115, 1704, 2112], 10238) + femmesh.addVolume([2110, 2113, 1702, 437], 10239) + femmesh.addVolume([1614, 1994, 1991, 578], 10240) + femmesh.addVolume([1989, 1992, 1612, 344], 10241) + femmesh.addVolume([1450, 1833, 1836, 292], 10242) + femmesh.addVolume([526, 1838, 1452, 1835], 10243) + femmesh.addVolume([2188, 403, 1393, 2185], 10244) + femmesh.addVolume([2187, 1395, 2190, 666], 10245) + femmesh.addVolume([2080, 1669, 2077, 426], 10246) + femmesh.addVolume([1671, 2082, 2079, 593], 10247) + femmesh.addVolume([1536, 1919, 1916, 553], 10248) + femmesh.addVolume([1534, 1917, 319, 1914], 10249) + femmesh.addVolume([1913, 1530, 551, 1910], 10250) + femmesh.addVolume([1908, 1911, 1528, 317], 10251) + femmesh.addVolume([1841, 528, 1458, 1844], 10252) + femmesh.addVolume([1842, 1456, 1839, 294], 10253) + femmesh.addVolume([1985, 1608, 1988, 576], 10254) + femmesh.addVolume([1606, 1983, 1986, 342], 10255) + femmesh.addVolume([1976, 1973, 1596, 572], 10256) + femmesh.addVolume([1971, 1974, 1594, 338], 10257) + femmesh.addVolume([1468, 1851, 1854, 298], 10258) + femmesh.addVolume([532, 1856, 1470, 1853], 10259) + femmesh.addVolume([1585, 111, 1965, 1588], 10260) + femmesh.addVolume([1590, 240, 1967, 1587], 10261) + femmesh.addVolume([203, 1479, 1476, 1862], 10262) + femmesh.addVolume([74, 1477, 1860, 1474], 10263) + femmesh.addVolume([1681, 2089, 2092, 430], 10264) + femmesh.addVolume([1683, 2094, 2091, 597], 10265) + femmesh.addVolume([2173, 1381, 399, 2176], 10266) + femmesh.addVolume([1383, 2178, 2175, 662], 10267) + femmesh.addVolume([1896, 1899, 1516, 313], 10268) + femmesh.addVolume([1546, 323, 1926, 1929], 10269) + femmesh.addVolume([1518, 547, 1901, 1898], 10270) + femmesh.addVolume([1931, 1928, 1548, 557], 10271) + femmesh.addVolume([2166, 1374, 2169, 659], 10272) + femmesh.addVolume([2167, 396, 1372, 2164], 10273) + femmesh.addVolume([2103, 1692, 600, 2100], 10274) + femmesh.addVolume([1690, 2098, 2101, 433], 10275) + femmesh.addVolume([1554, 1557, 1937, 229], 10276) + femmesh.addVolume([1555, 100, 1552, 1935], 10277) + femmesh.addVolume([1890, 1507, 85, 1510], 10278) + femmesh.addVolume([214, 1892, 1512, 1509], 10279) + femmesh.addVolume([1994, 1617, 1997, 579], 10280) + femmesh.addVolume([1995, 1615, 1992, 345], 10281) + femmesh.addVolume([1449, 525, 1835, 1832], 10282) + femmesh.addVolume([1830, 1833, 1447, 291], 10283) + femmesh.addVolume([393, 2158, 2155, 1363], 10284) + femmesh.addVolume([603, 2109, 2112, 1701], 10285) + femmesh.addVolume([2110, 1699, 2107, 436], 10286) + femmesh.addVolume([2157, 1365, 2160, 656], 10287) + femmesh.addVolume([1910, 550, 1907, 1527], 10288) + femmesh.addVolume([1922, 1919, 1539, 554], 10289) + femmesh.addVolume([1905, 1908, 1525, 316], 10290) + femmesh.addVolume([320, 1537, 1920, 1917], 10291) + femmesh.addVolume([2085, 2082, 1674, 594], 10292) + femmesh.addVolume([1390, 2185, 402, 2182], 10293) + femmesh.addVolume([2187, 2184, 1392, 665], 10294) + femmesh.addVolume([1672, 2080, 2083, 427], 10295) + femmesh.addVolume([1982, 1605, 1985, 575], 10296) + femmesh.addVolume([1842, 1845, 1459, 295], 10297) + femmesh.addVolume([1983, 1603, 1980, 341], 10298) + femmesh.addVolume([1461, 529, 1847, 1844], 10299) + femmesh.addVolume([1597, 1974, 1977, 339], 10300) + femmesh.addVolume([1976, 1599, 1979, 573], 10301) + femmesh.addVolume([1851, 1465, 1848, 297], 10302) + femmesh.addVolume([1850, 1853, 531, 1467], 10303) + femmesh.addVolume([2181, 2178, 1386, 663], 10304) + femmesh.addVolume([2091, 2088, 1680, 596], 10305) + femmesh.addVolume([1678, 2086, 2089, 429], 10306) + femmesh.addVolume([1384, 400, 2176, 2179], 10307) + femmesh.addVolume([1901, 1904, 548, 1521], 10308) + femmesh.addVolume([1902, 1519, 1899, 314], 10309) + femmesh.addVolume([1925, 1545, 1928, 556], 10310) + femmesh.addVolume([1923, 322, 1926, 1543], 10311) + femmesh.addVolume([2164, 2161, 395, 1369], 10312) + femmesh.addVolume([2163, 1371, 2166, 658], 10313) + femmesh.addVolume([2103, 2106, 601, 1695], 10314) + femmesh.addVolume([2101, 2104, 1693, 434], 10315) + femmesh.addVolume([1440, 11, 1825, 680], 10316) + femmesh.addVolume([1438, 4, 680, 1822], 10317) + femmesh.addVolume([1624, 679, 5, 1829], 10318) + femmesh.addVolume([10, 1826, 679, 1626], 10319) + femmesh.addVolume([1444, 1823, 1830, 290], 10320) + femmesh.addVolume([2000, 1997, 1620, 580], 10321) + femmesh.addVolume([1995, 1998, 1618, 346], 10322) + femmesh.addVolume([1832, 1446, 524, 1828], 10323) + femmesh.addVolume([2109, 602, 2106, 1698], 10324) + femmesh.addVolume([1368, 2163, 2160, 657], 10325) + femmesh.addVolume([1696, 2104, 2107, 435], 10326) + femmesh.addVolume([2158, 394, 2161, 1366], 10327) + femmesh.addVolume([254, 1804, 12, 1632], 10328) + femmesh.addVolume([1803, 189, 14, 1434], 10329) + femmesh.addVolume([1760, 125, 8, 1630], 10330) + femmesh.addVolume([1759, 7, 60, 1432], 10331) + femmesh.addVolume([1524, 549, 1907, 1904], 10332) + femmesh.addVolume([1902, 1905, 1522, 315], 10333) + femmesh.addVolume([1925, 1922, 1542, 555], 10334) + femmesh.addVolume([321, 1923, 1920, 1540], 10335) + femmesh.addVolume([1387, 2182, 401, 2179], 10336) + femmesh.addVolume([2083, 2086, 1675, 428], 10337) + femmesh.addVolume([2184, 2181, 1389, 664], 10338) + femmesh.addVolume([1677, 2088, 2085, 595], 10339) + femmesh.addVolume([1979, 1602, 1982, 574], 10340) + femmesh.addVolume([1462, 1845, 1848, 296], 10341) + femmesh.addVolume([1600, 1977, 1980, 340], 10342) + femmesh.addVolume([1850, 530, 1847, 1464], 10343) + femmesh.addVolume([2000, 1623, 1826, 581], 10344) + femmesh.addVolume([1822, 1823, 1441, 289], 10345) + femmesh.addVolume([1621, 1998, 1829, 347], 10346) + femmesh.addVolume([523, 1825, 1828, 1443], 10347) + femmesh.addVolume([1705, 151, 2116, 1708], 10348) + femmesh.addVolume([1710, 1707, 280, 2118], 10349) + femmesh.addVolume([1357, 34, 1354, 2149], 10350) + femmesh.addVolume([1359, 163, 2151, 1356], 10351) + femmesh.addVolume([1396, 1399, 48, 2191], 10352) + femmesh.addVolume([1398, 2193, 177, 1401], 10353) + femmesh.addVolume([2076, 1665, 1668, 266], 10354) + femmesh.addVolume([1666, 137, 1663, 2074], 10355) + femmesh.addVolume([1378, 41, 1375, 2170], 10356) + femmesh.addVolume([1380, 170, 2172, 1377], 10357) + femmesh.addVolume([1684, 144, 2095, 1687], 10358) + femmesh.addVolume([1689, 2097, 1686, 273], 10359) + femmesh.addVolume([1590, 1970, 241, 1593], 10360) + femmesh.addVolume([1588, 112, 1968, 1591], 10361) + femmesh.addVolume([73, 1474, 1857, 1471], 10362) + femmesh.addVolume([202, 1476, 1473, 1859], 10363) + femmesh.addVolume([1614, 1991, 1611, 248], 10364) + femmesh.addVolume([119, 1609, 1612, 1989], 10365) + femmesh.addVolume([1453, 1836, 66, 1450], 10366) + femmesh.addVolume([195, 1455, 1452, 1838], 10367) + femmesh.addVolume([1510, 86, 1893, 1513], 10368) + femmesh.addVolume([1512, 215, 1515, 1895], 10369) + femmesh.addVolume([1934, 1551, 1554, 228], 10370) + femmesh.addVolume([1932, 1549, 99, 1552], 10371) + femmesh.addVolume([1911, 1528, 92, 1531], 10372) + femmesh.addVolume([221, 1533, 1530, 1913], 10373) + femmesh.addVolume([222, 1916, 1536, 1533], 10374) + femmesh.addVolume([93, 1531, 1534, 1914], 10375) + femmesh.addVolume([1455, 196, 1458, 1841], 10376) + femmesh.addVolume([1453, 67, 1839, 1456], 10377) + femmesh.addVolume([118, 1606, 1609, 1986], 10378) + femmesh.addVolume([1611, 1988, 1608, 247], 10379) + femmesh.addVolume([2113, 1702, 150, 1705], 10380) + femmesh.addVolume([1704, 279, 1707, 2115], 10381) + femmesh.addVolume([1360, 35, 1357, 2152], 10382) + femmesh.addVolume([1362, 164, 2154, 1359], 10383) + femmesh.addVolume([2094, 1683, 1686, 272], 10384) + femmesh.addVolume([1378, 1381, 42, 2173], 10385) + femmesh.addVolume([1380, 2175, 171, 1383], 10386) + femmesh.addVolume([1684, 2092, 143, 1681], 10387) + femmesh.addVolume([1396, 47, 1393, 2188], 10388) + femmesh.addVolume([1395, 2190, 176, 1398], 10389) + femmesh.addVolume([2079, 1668, 1671, 267], 10390) + femmesh.addVolume([1669, 138, 1666, 2077], 10391) + femmesh.addVolume([1372, 1375, 40, 2167], 10392) + femmesh.addVolume([169, 1374, 2169, 1377], 10393) + femmesh.addVolume([1689, 1692, 2100, 274], 10394) + femmesh.addVolume([145, 1690, 2098, 1687], 10395) + femmesh.addVolume([1596, 242, 1973, 1593], 10396) + femmesh.addVolume([1591, 113, 1971, 1594], 10397) + femmesh.addVolume([72, 1471, 1854, 1468], 10398) + femmesh.addVolume([1470, 201, 1473, 1856], 10399) + femmesh.addVolume([1614, 1617, 1994, 249], 10400) + femmesh.addVolume([120, 1615, 1992, 1612], 10401) + femmesh.addVolume([1833, 1447, 65, 1450], 10402) + femmesh.addVolume([194, 1835, 1452, 1449], 10403) + femmesh.addVolume([1549, 98, 1546, 1929], 10404) + femmesh.addVolume([1515, 216, 1518, 1898], 10405) + femmesh.addVolume([1513, 87, 1896, 1516], 10406) + femmesh.addVolume([1931, 1548, 1551, 227], 10407) + femmesh.addVolume([1910, 1530, 220, 1527], 10408) + femmesh.addVolume([1525, 91, 1908, 1528], 10409) + femmesh.addVolume([1919, 1536, 1539, 223], 10410) + femmesh.addVolume([1917, 94, 1537, 1534], 10411) + femmesh.addVolume([1458, 197, 1461, 1844], 10412) + femmesh.addVolume([1456, 68, 1842, 1459], 10413) + femmesh.addVolume([1603, 1606, 117, 1983], 10414) + femmesh.addVolume([1985, 1605, 1608, 246], 10415) + femmesh.addVolume([2155, 1360, 36, 1363], 10416) + femmesh.addVolume([2157, 1365, 165, 1362], 10417) + femmesh.addVolume([1699, 149, 2110, 1702], 10418) + femmesh.addVolume([278, 2112, 1704, 1701], 10419) + femmesh.addVolume([1678, 142, 2089, 1681], 10420) + femmesh.addVolume([2176, 1381, 43, 1384], 10421) + femmesh.addVolume([1683, 2091, 1680, 271], 10422) + femmesh.addVolume([172, 2178, 1386, 1383], 10423) + femmesh.addVolume([2185, 46, 1393, 1390], 10424) + femmesh.addVolume([2187, 175, 1392, 1395], 10425) + femmesh.addVolume([1671, 1674, 2082, 268], 10426) + femmesh.addVolume([1672, 139, 1669, 2080], 10427) + femmesh.addVolume([1372, 2164, 39, 1369], 10428) + femmesh.addVolume([2166, 168, 1371, 1374], 10429) + femmesh.addVolume([2101, 146, 1693, 1690], 10430) + femmesh.addVolume([2103, 1692, 1695, 275], 10431) + femmesh.addVolume([1443, 191, 1825, 1440], 10432) + femmesh.addVolume([62, 1822, 1438, 1441], 10433) + femmesh.addVolume([1829, 123, 1624, 1621], 10434) + femmesh.addVolume([1626, 1826, 1623, 252], 10435) + femmesh.addVolume([1597, 114, 1594, 1974], 10436) + femmesh.addVolume([1976, 1596, 1599, 243], 10437) + femmesh.addVolume([71, 1851, 1465, 1468], 10438) + femmesh.addVolume([1853, 1470, 200, 1467], 10439) + femmesh.addVolume([1997, 1617, 1620, 250], 10440) + femmesh.addVolume([1995, 121, 1618, 1615], 10441) + femmesh.addVolume([1446, 193, 1449, 1832], 10442) + femmesh.addVolume([1444, 64, 1830, 1447], 10443) + femmesh.addVolume([1518, 1901, 217, 1521], 10444) + femmesh.addVolume([1519, 88, 1516, 1899], 10445) + femmesh.addVolume([1548, 1928, 1545, 226], 10446) + femmesh.addVolume([97, 1546, 1926, 1543], 10447) + femmesh.addVolume([1922, 1539, 1542, 224], 10448) + femmesh.addVolume([1537, 95, 1920, 1540], 10449) + femmesh.addVolume([1527, 219, 1907, 1524], 10450) + femmesh.addVolume([1525, 90, 1522, 1905], 10451) + femmesh.addVolume([1605, 1982, 1602, 245], 10452) + femmesh.addVolume([1464, 198, 1847, 1461], 10453) + femmesh.addVolume([1462, 69, 1459, 1845], 10454) + femmesh.addVolume([1603, 116, 1600, 1980], 10455) + femmesh.addVolume([1363, 37, 2158, 1366], 10456) + femmesh.addVolume([1365, 166, 1368, 2160], 10457) + femmesh.addVolume([1696, 148, 2107, 1699], 10458) + femmesh.addVolume([1701, 277, 2109, 1698], 10459) + femmesh.addVolume([2086, 1675, 141, 1678], 10460) + femmesh.addVolume([2088, 1677, 1680, 270], 10461) + femmesh.addVolume([1386, 2181, 173, 1389], 10462) + femmesh.addVolume([1384, 1387, 44, 2179], 10463) + femmesh.addVolume([2083, 1672, 140, 1675], 10464) + femmesh.addVolume([2085, 1674, 1677, 269], 10465) + femmesh.addVolume([2182, 45, 1390, 1387], 10466) + femmesh.addVolume([2184, 174, 1389, 1392], 10467) + femmesh.addVolume([1762, 2232, 462, 1813], 10468) + femmesh.addVolume([1369, 2161, 38, 1366], 10469) + femmesh.addVolume([1371, 1368, 167, 2163], 10470) + femmesh.addVolume([276, 1695, 2106, 1698], 10471) + femmesh.addVolume([1693, 147, 2104, 1696], 10472) + femmesh.addVolume([115, 1597, 1600, 1977], 10473) + femmesh.addVolume([1467, 199, 1850, 1464], 10474) + femmesh.addVolume([1465, 70, 1462, 1848], 10475) + femmesh.addVolume([1602, 1979, 1599, 244], 10476) + femmesh.addVolume([1620, 1623, 2000, 251], 10477) + femmesh.addVolume([1621, 1998, 122, 1618], 10478) + femmesh.addVolume([1828, 1446, 192, 1443], 10479) + femmesh.addVolume([63, 1823, 1441, 1444], 10480) + femmesh.addVolume([218, 1904, 1524, 1521], 10481) + femmesh.addVolume([89, 1902, 1519, 1522], 10482) + femmesh.addVolume([1540, 96, 1923, 1543], 10483) + femmesh.addVolume([1542, 1545, 1925, 225], 10484) + femmesh.addVolume([2259, 14, 1767, 648], 10485) + femmesh.addVolume([611, 12, 1768, 2258], 10486) + femmesh.addVolume([2252, 1816, 9, 630], 10487) + femmesh.addVolume([1819, 2034, 287, 366], 10488) + femmesh.addVolume([444, 1724, 8, 2261], 10489) + femmesh.addVolume([485, 10, 2038, 1768], 10490) + femmesh.addVolume([481, 7, 1723, 2260], 10491) + femmesh.addVolume([2034, 367, 1817, 287], 10492) + femmesh.addVolume([2034, 504, 483, 1820], 10493) + femmesh.addVolume([2252, 3, 462, 1813], 10494) + femmesh.addVolume([463, 3, 2252, 1811], 10495) + femmesh.addVolume([2034, 503, 1821, 483], 10496) + femmesh.addVolume([2134, 6, 29, 1337], 10497) + femmesh.addVolume([1340, 13, 158, 2136], 10498) + femmesh.addVolume([156, 1344, 6, 2131], 10499) + femmesh.addVolume([1341, 285, 13, 2133], 10500) + femmesh.addVolume([2056, 130, 419, 1645], 10501) + femmesh.addVolume([2058, 586, 259, 1647], 10502) + femmesh.addVolume([1417, 55, 410, 2209], 10503) + femmesh.addVolume([1419, 184, 2211, 673], 10504) + femmesh.addVolume([1815, 2252, 9, 629], 10505) + femmesh.addVolume([464, 1763, 463, 2234], 10506) + femmesh.addVolume([1414, 410, 53, 2206], 10507) + femmesh.addVolume([182, 1416, 2208, 673], 10508) + femmesh.addVolume([2059, 419, 132, 1648], 10509) + femmesh.addVolume([2061, 261, 586, 1650], 10510) + femmesh.addVolume([29, 6, 1, 1337], 10511) + femmesh.addVolume([13, 158, 2, 1340], 10512) + femmesh.addVolume([156, 1, 6, 1344], 10513) + femmesh.addVolume([285, 13, 2, 1341], 10514) + femmesh.addVolume([259, 586, 260, 1647], 10515) + femmesh.addVolume([131, 419, 130, 1645], 10516) + femmesh.addVolume([55, 410, 54, 1417], 10517) + femmesh.addVolume([1419, 183, 184, 673], 10518) + femmesh.addVolume([2056, 418, 130, 1642], 10519) + femmesh.addVolume([259, 1644, 585, 2058], 10520) + femmesh.addVolume([1422, 2211, 184, 674], 10521) + femmesh.addVolume([2209, 55, 411, 1420], 10522) + femmesh.addVolume([331, 1573, 107, 1953], 10523) + femmesh.addVolume([1575, 565, 236, 1955], 10524) + femmesh.addVolume([539, 1491, 207, 1874], 10525) + femmesh.addVolume([1489, 78, 1872, 305], 10526) + femmesh.addVolume([2133, 285, 610, 1722], 10527) + femmesh.addVolume([2134, 29, 386, 1338], 10528) + femmesh.addVolume([1720, 2131, 156, 443], 10529) + femmesh.addVolume([2136, 158, 1343, 649], 10530) + femmesh.addVolume([54, 410, 53, 1414], 10531) + femmesh.addVolume([1416, 182, 183, 673], 10532) + femmesh.addVolume([132, 419, 131, 1648], 10533) + femmesh.addVolume([586, 261, 260, 1650], 10534) + femmesh.addVolume([210, 1497, 540, 1880], 10535) + femmesh.addVolume([1495, 1878, 81, 306], 10536) + femmesh.addVolume([1949, 564, 233, 1569], 10537) + femmesh.addVolume([104, 1567, 330, 1947], 10538) + femmesh.addVolume([2059, 132, 420, 1651], 10539) + femmesh.addVolume([2061, 587, 261, 1653], 10540) + femmesh.addVolume([1411, 53, 409, 2206], 10541) + femmesh.addVolume([1413, 182, 2208, 672], 10542) + femmesh.addVolume([3, 2252, 462, 463], 10543) + femmesh.addVolume([2003, 1761, 365, 366], 10544) + femmesh.addVolume([503, 483, 2034, 504], 10545) + femmesh.addVolume([287, 2034, 367, 366], 10546) + femmesh.addVolume([565, 236, 235, 1575], 10547) + femmesh.addVolume([331, 106, 107, 1573], 10548) + femmesh.addVolume([78, 1489, 79, 305], 10549) + femmesh.addVolume([539, 208, 207, 1491], 10550) + femmesh.addVolume([540, 210, 209, 1497], 10551) + femmesh.addVolume([80, 1495, 81, 306], 10552) + femmesh.addVolume([233, 564, 234, 1569], 10553) + femmesh.addVolume([330, 104, 105, 1567], 10554) + femmesh.addVolume([2234, 1808, 630, 631], 10555) + femmesh.addVolume([629, 2232, 628, 1805], 10556) + femmesh.addVolume([1642, 418, 129, 2053], 10557) + femmesh.addVolume([585, 1644, 258, 2055], 10558) + femmesh.addVolume([2214, 1422, 185, 674], 10559) + femmesh.addVolume([56, 2212, 411, 1420], 10560) + femmesh.addVolume([1953, 107, 332, 1576], 10561) + femmesh.addVolume([1955, 566, 236, 1578], 10562) + femmesh.addVolume([1874, 207, 538, 1488], 10563) + femmesh.addVolume([1872, 78, 1486, 304], 10564) + femmesh.addVolume([1720, 155, 2128, 443], 10565) + femmesh.addVolume([1722, 284, 610, 2130], 10566) + femmesh.addVolume([2137, 386, 30, 1338], 10567) + femmesh.addVolume([159, 2139, 1343, 649], 10568) + femmesh.addVolume([1498, 81, 1878, 307], 10569) + femmesh.addVolume([1500, 210, 541, 1880], 10570) + femmesh.addVolume([1566, 233, 1949, 563], 10571) + femmesh.addVolume([1564, 104, 329, 1947], 10572) + femmesh.addVolume([1411, 409, 52, 2203], 10573) + femmesh.addVolume([1413, 2205, 181, 672], 10574) + femmesh.addVolume([587, 2064, 262, 1653], 10575) + femmesh.addVolume([2062, 420, 133, 1651], 10576) + femmesh.addVolume([2252, 630, 9, 629], 10577) + femmesh.addVolume([1380, 2172, 170, 661], 10578) + femmesh.addVolume([41, 1378, 398, 2170], 10579) + femmesh.addVolume([1684, 2095, 144, 431], 10580) + femmesh.addVolume([273, 2097, 1686, 598], 10581) + femmesh.addVolume([318, 1911, 92, 1531], 10582) + femmesh.addVolume([1533, 221, 552, 1913], 10583) + femmesh.addVolume([552, 1916, 222, 1533], 10584) + femmesh.addVolume([1531, 93, 318, 1914], 10585) + femmesh.addVolume([1989, 119, 1609, 343], 10586) + femmesh.addVolume([1453, 66, 1836, 293], 10587) + femmesh.addVolume([577, 1611, 1991, 248], 10588) + femmesh.addVolume([1455, 195, 527, 1838], 10589) + femmesh.addVolume([1377, 170, 2172, 660], 10590) + femmesh.addVolume([397, 1375, 41, 2170], 10591) + femmesh.addVolume([1687, 144, 2095, 432], 10592) + femmesh.addVolume([273, 1689, 2097, 599], 10593) + femmesh.addVolume([2053, 417, 129, 1639], 10594) + femmesh.addVolume([258, 1641, 584, 2055], 10595) + femmesh.addVolume([2214, 185, 1425, 675], 10596) + femmesh.addVolume([2212, 56, 412, 1423], 10597) + femmesh.addVolume([1956, 332, 108, 1576], 10598) + femmesh.addVolume([566, 1958, 237, 1578], 10599) + femmesh.addVolume([77, 1869, 1486, 304], 10600) + femmesh.addVolume([1871, 538, 206, 1488], 10601) + femmesh.addVolume([1453, 1839, 67, 293], 10602) + femmesh.addVolume([1455, 527, 196, 1841], 10603) + femmesh.addVolume([577, 1988, 1611, 247], 10604) + femmesh.addVolume([118, 1986, 1609, 343], 10605) + femmesh.addVolume([2137, 30, 387, 1345], 10606) + femmesh.addVolume([2139, 159, 1347, 650], 10607) + femmesh.addVolume([1717, 2128, 155, 442], 10608) + femmesh.addVolume([1719, 609, 284, 2130], 10609) + femmesh.addVolume([82, 1498, 1881, 307], 10610) + femmesh.addVolume([1500, 541, 211, 1883], 10611) + femmesh.addVolume([232, 1566, 1946, 563], 10612) + femmesh.addVolume([1564, 329, 103, 1944], 10613) + femmesh.addVolume([502, 503, 1806, 2003], 10614) + femmesh.addVolume([408, 1408, 52, 2203], 10615) + femmesh.addVolume([1410, 181, 2205, 671], 10616) + femmesh.addVolume([2062, 133, 421, 1654], 10617) + femmesh.addVolume([262, 2064, 588, 1656], 10618) + femmesh.addVolume([2017, 1764, 367, 368], 10619) + femmesh.addVolume([578, 1991, 1614, 248], 10620) + femmesh.addVolume([119, 1989, 1612, 344], 10621) + femmesh.addVolume([1450, 1836, 66, 292], 10622) + femmesh.addVolume([1452, 526, 195, 1838], 10623) + femmesh.addVolume([1641, 257, 584, 2052], 10624) + femmesh.addVolume([2050, 128, 417, 1639], 10625) + femmesh.addVolume([1425, 186, 2217, 675], 10626) + femmesh.addVolume([412, 1423, 57, 2215], 10627) + femmesh.addVolume([2092, 1684, 143, 431], 10628) + femmesh.addVolume([272, 1686, 2094, 598], 10629) + femmesh.addVolume([398, 1378, 42, 2173], 10630) + femmesh.addVolume([2175, 1380, 171, 661], 10631) + femmesh.addVolume([1958, 567, 237, 1581], 10632) + femmesh.addVolume([1956, 108, 333, 1579], 10633) + femmesh.addVolume([77, 1483, 1869, 303], 10634) + femmesh.addVolume([1485, 537, 206, 1871], 10635) + femmesh.addVolume([1530, 551, 221, 1913], 10636) + femmesh.addVolume([1911, 92, 1528, 317], 10637) + femmesh.addVolume([553, 1916, 1536, 222], 10638) + femmesh.addVolume([93, 1534, 319, 1914], 10639) + femmesh.addVolume([2127, 609, 283, 1719], 10640) + femmesh.addVolume([2125, 1717, 154, 442], 10641) + femmesh.addVolume([31, 2140, 387, 1345], 10642) + femmesh.addVolume([160, 2142, 1347, 650], 10643) + femmesh.addVolume([40, 1375, 397, 2167], 10644) + femmesh.addVolume([169, 1377, 2169, 660], 10645) + femmesh.addVolume([274, 2100, 1689, 599], 10646) + femmesh.addVolume([145, 1687, 2098, 432], 10647) + femmesh.addVolume([211, 1883, 542, 1503], 10648) + femmesh.addVolume([1881, 1501, 82, 308], 10649) + femmesh.addVolume([1944, 328, 103, 1561], 10650) + femmesh.addVolume([232, 1946, 1563, 562], 10651) + femmesh.addVolume([2200, 51, 408, 1408], 10652) + femmesh.addVolume([2202, 180, 1410, 671], 10653) + femmesh.addVolume([2065, 421, 134, 1654], 10654) + femmesh.addVolume([2067, 263, 588, 1656], 10655) + femmesh.addVolume([1456, 67, 1839, 294], 10656) + femmesh.addVolume([528, 1458, 196, 1841], 10657) + femmesh.addVolume([1986, 118, 1606, 342], 10658) + femmesh.addVolume([247, 1988, 1608, 576], 10659) + femmesh.addVolume([257, 1638, 583, 2052], 10660) + femmesh.addVolume([2050, 416, 128, 1636], 10661) + femmesh.addVolume([1426, 413, 57, 2215], 10662) + femmesh.addVolume([1428, 2217, 186, 676], 10663) + femmesh.addVolume([1959, 333, 109, 1579], 10664) + femmesh.addVolume([567, 1961, 238, 1581], 10665) + femmesh.addVolume([1485, 205, 537, 1868], 10666) + femmesh.addVolume([1483, 76, 1866, 303], 10667) + femmesh.addVolume([249, 1994, 1614, 578], 10668) + femmesh.addVolume([120, 1612, 1992, 344], 10669) + femmesh.addVolume([1833, 1450, 65, 292], 10670) + femmesh.addVolume([1452, 194, 526, 1835], 10671) + femmesh.addVolume([2140, 31, 388, 1348], 10672) + femmesh.addVolume([2142, 160, 1350, 651], 10673) + femmesh.addVolume([2125, 154, 1714, 441], 10674) + femmesh.addVolume([2127, 283, 608, 1716], 10675) + femmesh.addVolume([1886, 212, 542, 1503], 10676) + femmesh.addVolume([1884, 83, 1501, 308], 10677) + femmesh.addVolume([231, 1563, 1943, 562], 10678) + femmesh.addVolume([102, 1561, 328, 1941], 10679) + femmesh.addVolume([143, 1681, 2092, 430], 10680) + femmesh.addVolume([272, 2094, 1683, 597], 10681) + femmesh.addVolume([171, 1383, 2175, 662], 10682) + femmesh.addVolume([1381, 399, 42, 2173], 10683) + femmesh.addVolume([180, 2202, 1407, 670], 10684) + femmesh.addVolume([2200, 407, 51, 1405], 10685) + femmesh.addVolume([2065, 134, 422, 1657], 10686) + femmesh.addVolume([263, 2067, 589, 1659], 10687) + femmesh.addVolume([1530, 220, 551, 1910], 10688) + femmesh.addVolume([1528, 91, 1908, 317], 10689) + femmesh.addVolume([94, 1917, 319, 1534], 10690) + femmesh.addVolume([223, 1919, 1536, 553], 10691) + femmesh.addVolume([1374, 169, 2169, 659], 10692) + femmesh.addVolume([1372, 40, 396, 2167], 10693) + femmesh.addVolume([1690, 145, 2098, 433], 10694) + femmesh.addVolume([2100, 1692, 600, 274], 10695) + femmesh.addVolume([197, 1458, 528, 1844], 10696) + femmesh.addVolume([1456, 1842, 68, 294], 10697) + femmesh.addVolume([1983, 1606, 117, 342], 10698) + femmesh.addVolume([246, 1608, 1985, 576], 10699) + femmesh.addVolume([661, 2172, 170, 660], 10700) + femmesh.addVolume([144, 431, 2095, 432], 10701) + femmesh.addVolume([273, 599, 2097, 598], 10702) + femmesh.addVolume([41, 398, 397, 2170], 10703) + femmesh.addVolume([1636, 416, 127, 2045], 10704) + femmesh.addVolume([2049, 583, 256, 1638], 10705) + femmesh.addVolume([1426, 58, 413, 2218], 10706) + femmesh.addVolume([1428, 187, 2220, 676], 10707) + femmesh.addVolume([1959, 109, 334, 1582], 10708) + femmesh.addVolume([238, 1961, 568, 1584], 10709) + femmesh.addVolume([1480, 1866, 76, 302], 10710) + femmesh.addVolume([1482, 536, 205, 1868], 10711) + femmesh.addVolume([1716, 282, 608, 2124], 10712) + femmesh.addVolume([2122, 1714, 153, 441], 10713) + femmesh.addVolume([1350, 161, 2145, 651], 10714) + femmesh.addVolume([388, 1348, 32, 2143], 10715) + femmesh.addVolume([231, 1943, 1560, 561], 10716) + femmesh.addVolume([212, 1886, 543, 1506], 10717) + femmesh.addVolume([1884, 1504, 83, 309], 10718) + femmesh.addVolume([1558, 102, 327, 1941], 10719) + femmesh.addVolume([2197, 50, 407, 1405], 10720) + femmesh.addVolume([2199, 179, 1407, 670], 10721) + femmesh.addVolume([2070, 264, 589, 1659], 10722) + femmesh.addVolume([2068, 422, 135, 1657], 10723) + femmesh.addVolume([249, 1617, 1994, 579], 10724) + femmesh.addVolume([1615, 120, 1992, 345], 10725) + femmesh.addVolume([1833, 65, 1447, 291], 10726) + femmesh.addVolume([1835, 194, 525, 1449], 10727) + femmesh.addVolume([597, 2091, 1683, 271], 10728) + femmesh.addVolume([1681, 142, 2089, 430], 10729) + femmesh.addVolume([399, 1381, 43, 2176], 10730) + femmesh.addVolume([1383, 172, 2178, 662], 10731) + femmesh.addVolume([344, 119, 1989, 343], 10732) + femmesh.addVolume([577, 1991, 578, 248], 10733) + femmesh.addVolume([293, 66, 1836, 292], 10734) + femmesh.addVolume([527, 195, 526, 1838], 10735) + femmesh.addVolume([1537, 320, 94, 1917], 10736) + femmesh.addVolume([91, 1525, 1908, 316], 10737) + femmesh.addVolume([1910, 220, 550, 1527], 10738) + femmesh.addVolume([1919, 223, 1539, 554], 10739) + femmesh.addVolume([318, 92, 1911, 317], 10740) + femmesh.addVolume([552, 221, 551, 1913], 10741) + femmesh.addVolume([1916, 222, 553, 552], 10742) + femmesh.addVolume([319, 318, 93, 1914], 10743) + femmesh.addVolume([1372, 396, 39, 2164], 10744) + femmesh.addVolume([1374, 2166, 168, 659], 10745) + femmesh.addVolume([1692, 2103, 600, 275], 10746) + femmesh.addVolume([146, 1690, 2101, 433], 10747) + femmesh.addVolume([1461, 197, 529, 1844], 10748) + femmesh.addVolume([1459, 68, 1842, 295], 10749) + femmesh.addVolume([575, 1605, 1985, 246], 10750) + femmesh.addVolume([1983, 117, 1603, 341], 10751) + femmesh.addVolume([196, 527, 528, 1841], 10752) + femmesh.addVolume([294, 67, 1839, 293], 10753) + femmesh.addVolume([343, 118, 1986, 342], 10754) + femmesh.addVolume([247, 577, 1988, 576], 10755) + femmesh.addVolume([1633, 127, 415, 2045], 10756) + femmesh.addVolume([1635, 582, 256, 2049], 10757) + femmesh.addVolume([2218, 58, 414, 1429], 10758) + femmesh.addVolume([2220, 187, 1431, 677], 10759) + femmesh.addVolume([1584, 568, 239, 1964], 10760) + femmesh.addVolume([1962, 334, 110, 1582], 10761) + femmesh.addVolume([204, 1865, 536, 1482], 10762) + femmesh.addVolume([1863, 1480, 75, 302], 10763) + femmesh.addVolume([2143, 32, 389, 1351], 10764) + femmesh.addVolume([2145, 161, 1353, 652], 10765) + femmesh.addVolume([2122, 153, 1711, 440], 10766) + femmesh.addVolume([607, 2124, 282, 1713], 10767) + femmesh.addVolume([1558, 327, 101, 1938], 10768) + femmesh.addVolume([1887, 84, 1504, 309], 10769) + femmesh.addVolume([1889, 213, 543, 1506], 10770) + femmesh.addVolume([1940, 230, 1560, 561], 10771) + femmesh.addVolume([423, 2068, 135, 1660], 10772) + femmesh.addVolume([2070, 590, 264, 1662], 10773) + femmesh.addVolume([2199, 1404, 179, 669], 10774) + femmesh.addVolume([2197, 406, 50, 1402], 10775) + femmesh.addVolume([250, 1997, 1617, 579], 10776) + femmesh.addVolume([1615, 1995, 121, 345], 10777) + femmesh.addVolume([525, 1449, 193, 1832], 10778) + femmesh.addVolume([1447, 64, 1830, 291], 10779) + femmesh.addVolume([142, 1678, 2089, 429], 10780) + femmesh.addVolume([1680, 271, 2091, 596], 10781) + femmesh.addVolume([2176, 43, 400, 1384], 10782) + femmesh.addVolume([2178, 172, 1386, 663], 10783) + femmesh.addVolume([504, 505, 1807, 2017], 10784) + femmesh.addVolume([1907, 550, 219, 1527], 10785) + femmesh.addVolume([1905, 1525, 90, 316], 10786) + femmesh.addVolume([1539, 224, 1922, 554], 10787) + femmesh.addVolume([95, 1920, 320, 1537], 10788) + femmesh.addVolume([2047, 414, 59, 1429], 10789) + femmesh.addVolume([582, 1635, 255, 2048], 10790) + femmesh.addVolume([2042, 1431, 188, 677], 10791) + femmesh.addVolume([2044, 126, 415, 1633], 10792) + femmesh.addVolume([2164, 395, 39, 1369], 10793) + femmesh.addVolume([168, 2166, 1371, 658], 10794) + femmesh.addVolume([1695, 601, 2103, 275], 10795) + femmesh.addVolume([146, 2101, 1693, 434], 10796) + femmesh.addVolume([529, 1847, 198, 1461], 10797) + femmesh.addVolume([1845, 69, 1459, 295], 10798) + femmesh.addVolume([575, 1982, 1605, 245], 10799) + femmesh.addVolume([116, 1980, 1603, 341], 10800) + femmesh.addVolume([2047, 59, 7, 1432], 10801) + femmesh.addVolume([1632, 12, 255, 2048], 10802) + femmesh.addVolume([1434, 188, 14, 2042], 10803) + femmesh.addVolume([2044, 8, 126, 1630], 10804) + femmesh.addVolume([1964, 569, 239, 1587], 10805) + femmesh.addVolume([1962, 110, 335, 1585], 10806) + femmesh.addVolume([1477, 1863, 75, 301], 10807) + femmesh.addVolume([1479, 535, 204, 1865], 10808) + femmesh.addVolume([152, 2119, 1711, 440], 10809) + femmesh.addVolume([2121, 607, 281, 1713], 10810) + femmesh.addVolume([2146, 389, 33, 1351], 10811) + femmesh.addVolume([162, 2148, 1353, 652], 10812) + femmesh.addVolume([560, 1557, 1940, 230], 10813) + femmesh.addVolume([1555, 101, 326, 1938], 10814) + femmesh.addVolume([84, 1887, 1507, 310], 10815) + femmesh.addVolume([1889, 544, 213, 1509], 10816) + femmesh.addVolume([1762, 461, 462, 2232], 10817) + femmesh.addVolume([2194, 49, 406, 1402], 10818) + femmesh.addVolume([2196, 178, 1404, 669], 10819) + femmesh.addVolume([590, 1662, 2073, 265], 10820) + femmesh.addVolume([136, 2071, 423, 1660], 10821) + femmesh.addVolume([1767, 522, 11, 2039], 10822) + femmesh.addVolume([1620, 580, 1997, 250], 10823) + femmesh.addVolume([121, 1995, 1618, 346], 10824) + femmesh.addVolume([64, 1444, 1830, 290], 10825) + femmesh.addVolume([1446, 524, 193, 1832], 10826) + femmesh.addVolume([1678, 141, 2086, 429], 10827) + femmesh.addVolume([1680, 596, 2088, 270], 10828) + femmesh.addVolume([400, 1384, 44, 2179], 10829) + femmesh.addVolume([1386, 173, 2181, 663], 10830) + femmesh.addVolume([1542, 555, 1922, 224], 10831) + femmesh.addVolume([1907, 219, 549, 1524], 10832) + femmesh.addVolume([1905, 90, 1522, 315], 10833) + femmesh.addVolume([1920, 95, 321, 1540], 10834) + femmesh.addVolume([395, 2161, 38, 1369], 10835) + femmesh.addVolume([2163, 167, 1371, 658], 10836) + femmesh.addVolume([147, 1693, 2104, 434], 10837) + femmesh.addVolume([601, 2106, 276, 1695], 10838) + femmesh.addVolume([69, 1845, 1462, 296], 10839) + femmesh.addVolume([1847, 530, 198, 1464], 10840) + femmesh.addVolume([245, 1982, 1602, 574], 10841) + femmesh.addVolume([1980, 116, 1600, 340], 10842) + femmesh.addVolume([1817, 1818, 2034, 287], 10843) + femmesh.addVolume([1965, 335, 111, 1585], 10844) + femmesh.addVolume([1967, 240, 569, 1587], 10845) + femmesh.addVolume([1477, 74, 1860, 301], 10846) + femmesh.addVolume([1479, 203, 535, 1862], 10847) + femmesh.addVolume([9, 1816, 2252, 678], 10848) + femmesh.addVolume([606, 2121, 281, 1710], 10849) + femmesh.addVolume([2119, 152, 1708, 439], 10850) + femmesh.addVolume([2146, 33, 390, 1354], 10851) + femmesh.addVolume([2148, 162, 1356, 653], 10852) + femmesh.addVolume([430, 2092, 143, 431], 10853) + femmesh.addVolume([597, 272, 2094, 598], 10854) + femmesh.addVolume([662, 2175, 171, 661], 10855) + femmesh.addVolume([398, 42, 399, 2173], 10856) + femmesh.addVolume([287, 1818, 2034, 1819], 10857) + femmesh.addVolume([1555, 326, 100, 1935], 10858) + femmesh.addVolume([1892, 214, 544, 1509], 10859) + femmesh.addVolume([1890, 85, 1507, 310], 10860) + femmesh.addVolume([560, 1937, 1557, 229], 10861) + femmesh.addVolume([678, 2252, 9, 1815], 10862) + femmesh.addVolume([1399, 49, 405, 2194], 10863) + femmesh.addVolume([1401, 178, 2196, 668], 10864) + femmesh.addVolume([2073, 1665, 591, 265], 10865) + femmesh.addVolume([2071, 136, 424, 1663], 10866) + femmesh.addVolume([552, 222, 221, 1533], 10867) + femmesh.addVolume([93, 318, 92, 1531], 10868) + femmesh.addVolume([122, 1618, 1998, 346], 10869) + femmesh.addVolume([2000, 580, 1620, 251], 10870) + femmesh.addVolume([1823, 1444, 63, 290], 10871) + femmesh.addVolume([524, 1446, 192, 1828], 10872) + femmesh.addVolume([397, 396, 40, 2167], 10873) + femmesh.addVolume([660, 2169, 169, 659], 10874) + femmesh.addVolume([274, 600, 2100, 599], 10875) + femmesh.addVolume([432, 2098, 145, 433], 10876) + femmesh.addVolume([595, 1677, 2088, 270], 10877) + femmesh.addVolume([2086, 141, 1675, 428], 10878) + femmesh.addVolume([1387, 401, 44, 2179], 10879) + femmesh.addVolume([1389, 2181, 173, 664], 10880) + femmesh.addVolume([1453, 67, 66, 293], 10881) + femmesh.addVolume([195, 527, 196, 1455], 10882) + femmesh.addVolume([1609, 119, 118, 343], 10883) + femmesh.addVolume([248, 577, 1611, 247], 10884) + femmesh.addVolume([549, 1524, 218, 1904], 10885) + femmesh.addVolume([1522, 89, 1902, 315], 10886) + femmesh.addVolume([1925, 555, 1542, 225], 10887) + femmesh.addVolume([1923, 321, 96, 1540], 10888) + femmesh.addVolume([2163, 1368, 167, 657], 10889) + femmesh.addVolume([2161, 394, 38, 1366], 10890) + femmesh.addVolume([276, 2106, 602, 1698], 10891) + femmesh.addVolume([1696, 147, 2104, 435], 10892) + femmesh.addVolume([530, 1850, 199, 1464], 10893) + femmesh.addVolume([1848, 70, 1462, 296], 10894) + femmesh.addVolume([1977, 1600, 115, 340], 10895) + femmesh.addVolume([244, 1602, 1979, 574], 10896) + femmesh.addVolume([240, 1967, 570, 1590], 10897) + femmesh.addVolume([1965, 111, 336, 1588], 10898) + femmesh.addVolume([1476, 534, 203, 1862], 10899) + femmesh.addVolume([1474, 1860, 74, 300], 10900) + femmesh.addVolume([1708, 151, 2116, 439], 10901) + femmesh.addVolume([1710, 280, 606, 2118], 10902) + femmesh.addVolume([390, 1354, 34, 2149], 10903) + femmesh.addVolume([1356, 163, 2151, 653], 10904) + femmesh.addVolume([1552, 100, 325, 1935], 10905) + femmesh.addVolume([1937, 559, 1554, 229], 10906) + femmesh.addVolume([545, 1512, 214, 1892], 10907) + femmesh.addVolume([1510, 85, 1890, 311], 10908) + femmesh.addVolume([1401, 2193, 177, 668], 10909) + femmesh.addVolume([1399, 405, 48, 2191], 10910) + femmesh.addVolume([2076, 591, 1665, 266], 10911) + femmesh.addVolume([1663, 137, 424, 2074], 10912) + femmesh.addVolume([1621, 122, 1998, 347], 10913) + femmesh.addVolume([581, 2000, 1623, 251], 10914) + femmesh.addVolume([1823, 63, 1441, 289], 10915) + femmesh.addVolume([1828, 192, 523, 1443], 10916) + femmesh.addVolume([1677, 595, 2085, 269], 10917) + femmesh.addVolume([1675, 140, 2083, 428], 10918) + femmesh.addVolume([45, 2182, 401, 1387], 10919) + femmesh.addVolume([174, 2184, 1389, 664], 10920) + femmesh.addVolume([556, 1925, 1545, 225], 10921) + femmesh.addVolume([1923, 96, 322, 1543], 10922) + femmesh.addVolume([548, 1904, 218, 1521], 10923) + femmesh.addVolume([1902, 89, 1519, 314], 10924) + femmesh.addVolume([1686, 272, 273, 598], 10925) + femmesh.addVolume([143, 1684, 144, 431], 10926) + femmesh.addVolume([171, 1380, 170, 661], 10927) + femmesh.addVolume([398, 41, 42, 1378], 10928) + femmesh.addVolume([2158, 37, 394, 1366], 10929) + femmesh.addVolume([2160, 166, 1368, 657], 10930) + femmesh.addVolume([602, 2109, 277, 1698], 10931) + femmesh.addVolume([1696, 2107, 148, 435], 10932) + femmesh.addVolume([1850, 531, 199, 1467], 10933) + femmesh.addVolume([70, 1848, 1465, 297], 10934) + femmesh.addVolume([244, 1979, 1599, 573], 10935) + femmesh.addVolume([1977, 115, 1597, 339], 10936) + femmesh.addVolume([1970, 241, 570, 1590], 10937) + femmesh.addVolume([1968, 336, 112, 1588], 10938) + femmesh.addVolume([1474, 73, 1857, 300], 10939) + femmesh.addVolume([1476, 202, 534, 1859], 10940) + femmesh.addVolume([151, 1705, 2116, 438], 10941) + femmesh.addVolume([280, 1707, 605, 2118], 10942) + femmesh.addVolume([1359, 2151, 163, 654], 10943) + femmesh.addVolume([1357, 391, 34, 2149], 10944) + femmesh.addVolume([1512, 545, 215, 1895], 10945) + femmesh.addVolume([86, 1510, 1893, 311], 10946) + femmesh.addVolume([1932, 99, 325, 1552], 10947) + femmesh.addVolume([1934, 228, 1554, 559], 10948) + femmesh.addVolume([11, 1825, 191, 1440], 10949) + femmesh.addVolume([1624, 5, 123, 1829], 10950) + femmesh.addVolume([1626, 10, 1826, 252], 10951) + femmesh.addVolume([1438, 62, 4, 1822], 10952) + femmesh.addVolume([404, 1396, 48, 2191], 10953) + femmesh.addVolume([2193, 1398, 177, 667], 10954) + femmesh.addVolume([137, 2074, 1666, 425], 10955) + femmesh.addVolume([1668, 592, 2076, 266], 10956) + femmesh.addVolume([170, 1377, 169, 660], 10957) + femmesh.addVolume([397, 40, 41, 1375], 10958) + femmesh.addVolume([144, 1687, 145, 432], 10959) + femmesh.addVolume([1689, 273, 274, 599], 10960) + femmesh.addVolume([62, 4, 61, 1438], 10961) + femmesh.addVolume([191, 190, 11, 1440], 10962) + femmesh.addVolume([123, 124, 5, 1624], 10963) + femmesh.addVolume([253, 10, 1626, 252], 10964) + femmesh.addVolume([2083, 140, 1672, 427], 10965) + femmesh.addVolume([1392, 2184, 174, 665], 10966) + femmesh.addVolume([594, 1674, 2085, 269], 10967) + femmesh.addVolume([1390, 402, 45, 2182], 10968) + femmesh.addVolume([88, 1899, 1519, 314], 10969) + femmesh.addVolume([217, 1901, 548, 1521], 10970) + femmesh.addVolume([226, 1928, 1545, 556], 10971) + femmesh.addVolume([97, 1926, 322, 1543], 10972) + femmesh.addVolume([2158, 393, 37, 1363], 10973) + femmesh.addVolume([2160, 1365, 166, 656], 10974) + femmesh.addVolume([277, 2109, 603, 1701], 10975) + femmesh.addVolume([1699, 148, 2107, 436], 10976) + femmesh.addVolume([1441, 62, 1822, 289], 10977) + femmesh.addVolume([1825, 523, 191, 1443], 10978) + femmesh.addVolume([252, 1826, 1623, 581], 10979) + femmesh.addVolume([1621, 1829, 123, 347], 10980) + femmesh.addVolume([1853, 200, 531, 1467], 10981) + femmesh.addVolume([1851, 71, 1465, 297], 10982) + femmesh.addVolume([1974, 1597, 114, 339], 10983) + femmesh.addVolume([1599, 573, 1976, 243], 10984) + femmesh.addVolume([241, 1970, 571, 1593], 10985) + femmesh.addVolume([337, 1968, 112, 1591], 10986) + femmesh.addVolume([1473, 533, 202, 1859], 10987) + femmesh.addVolume([1471, 1857, 73, 299], 10988) + femmesh.addVolume([1357, 35, 391, 2152], 10989) + femmesh.addVolume([1359, 164, 2154, 654], 10990) + femmesh.addVolume([1707, 279, 605, 2115], 10991) + femmesh.addVolume([1705, 150, 2113, 438], 10992) + femmesh.addVolume([1549, 99, 324, 1932], 10993) + femmesh.addVolume([1515, 215, 546, 1895], 10994) + femmesh.addVolume([1513, 86, 1893, 312], 10995) + femmesh.addVolume([558, 1551, 1934, 228], 10996) + femmesh.addVolume([1398, 2190, 176, 667], 10997) + femmesh.addVolume([1396, 404, 47, 2188], 10998) + femmesh.addVolume([2077, 138, 1666, 425], 10999) + femmesh.addVolume([2079, 592, 1668, 267], 11000) + femmesh.addVolume([1899, 88, 1516, 313], 11001) + femmesh.addVolume([226, 1548, 1928, 557], 11002) + femmesh.addVolume([1901, 217, 547, 1518], 11003) + femmesh.addVolume([1926, 97, 323, 1546], 11004) + femmesh.addVolume([594, 2082, 1674, 268], 11005) + femmesh.addVolume([2187, 1392, 175, 665], 11006) + femmesh.addVolume([2185, 402, 46, 1390], 11007) + femmesh.addVolume([2080, 1672, 139, 427], 11008) + femmesh.addVolume([1974, 114, 1594, 338], 11009) + femmesh.addVolume([1468, 71, 1851, 298], 11010) + femmesh.addVolume([1470, 200, 532, 1853], 11011) + femmesh.addVolume([1596, 243, 1976, 572], 11012) + femmesh.addVolume([1973, 242, 571, 1593], 11013) + femmesh.addVolume([1971, 337, 113, 1591], 11014) + femmesh.addVolume([1473, 201, 533, 1856], 11015) + femmesh.addVolume([1471, 72, 1854, 299], 11016) + femmesh.addVolume([2155, 36, 393, 1363], 11017) + femmesh.addVolume([1365, 2157, 165, 656], 11018) + femmesh.addVolume([2112, 278, 603, 1701], 11019) + femmesh.addVolume([1699, 2110, 149, 436], 11020) + femmesh.addVolume([1551, 558, 1931, 227], 11021) + femmesh.addVolume([1549, 324, 98, 1929], 11022) + femmesh.addVolume([1513, 1896, 87, 312], 11023) + femmesh.addVolume([216, 1515, 546, 1898], 11024) + femmesh.addVolume([1360, 392, 35, 2152], 11025) + femmesh.addVolume([2113, 150, 1702, 437], 11026) + femmesh.addVolume([1362, 2154, 164, 655], 11027) + femmesh.addVolume([279, 1704, 604, 2115], 11028) + femmesh.addVolume([1393, 47, 403, 2188], 11029) + femmesh.addVolume([1395, 176, 2190, 666], 11030) + femmesh.addVolume([1671, 593, 2079, 267], 11031) + femmesh.addVolume([138, 2077, 1669, 426], 11032) + femmesh.addVolume([2080, 139, 1669, 426], 11033) + femmesh.addVolume([2082, 593, 1671, 268], 11034) + femmesh.addVolume([1393, 403, 46, 2185], 11035) + femmesh.addVolume([1395, 2187, 175, 666], 11036) + femmesh.addVolume([1362, 165, 2157, 655], 11037) + femmesh.addVolume([392, 1360, 36, 2155], 11038) + femmesh.addVolume([1702, 149, 2110, 437], 11039) + femmesh.addVolume([604, 1704, 278, 2112], 11040) + femmesh.addVolume([1548, 227, 1931, 557], 11041) + femmesh.addVolume([1546, 98, 323, 1929], 11042) + femmesh.addVolume([1516, 87, 1896, 313], 11043) + femmesh.addVolume([1518, 216, 547, 1898], 11044) + femmesh.addVolume([1594, 113, 1971, 338], 11045) + femmesh.addVolume([242, 1596, 1973, 572], 11046) + femmesh.addVolume([1468, 1854, 72, 298], 11047) + femmesh.addVolume([1470, 532, 201, 1856], 11048) + femmesh.addVolume([579, 1994, 249, 578], 11049) + femmesh.addVolume([345, 120, 1992, 344], 11050) + femmesh.addVolume([291, 1833, 65, 292], 11051) + femmesh.addVolume([526, 194, 525, 1835], 11052) + femmesh.addVolume([551, 220, 550, 1910], 11053) + femmesh.addVolume([316, 1908, 91, 317], 11054) + femmesh.addVolume([554, 1919, 223, 553], 11055) + femmesh.addVolume([319, 94, 320, 1917], 11056) + femmesh.addVolume([483, 1818, 2034, 1820], 11057) + femmesh.addVolume([1811, 3, 2252, 678], 11058) + femmesh.addVolume([68, 294, 1842, 295], 11059) + femmesh.addVolume([528, 529, 197, 1844], 11060) + femmesh.addVolume([342, 117, 1983, 341], 11061) + femmesh.addVolume([246, 1985, 575, 576], 11062) + femmesh.addVolume([1821, 1818, 2034, 483], 11063) + femmesh.addVolume([1813, 2252, 3, 678], 11064) + femmesh.addVolume([578, 1614, 249, 248], 11065) + femmesh.addVolume([1612, 120, 119, 344], 11066) + femmesh.addVolume([526, 195, 194, 1452], 11067) + femmesh.addVolume([65, 1450, 66, 292], 11068) + femmesh.addVolume([91, 1528, 92, 317], 11069) + femmesh.addVolume([221, 220, 551, 1530], 11070) + femmesh.addVolume([553, 1536, 223, 222], 11071) + femmesh.addVolume([94, 319, 93, 1534], 11072) + femmesh.addVolume([528, 197, 196, 1458], 11073) + femmesh.addVolume([67, 1456, 68, 294], 11074) + femmesh.addVolume([247, 1608, 246, 576], 11075) + femmesh.addVolume([1606, 118, 117, 342], 11076) + femmesh.addVolume([1723, 2040, 4, 385], 11077) + femmesh.addVolume([2041, 1724, 5, 348], 11078) + femmesh.addVolume([429, 2089, 142, 430], 11079) + femmesh.addVolume([2091, 271, 597, 596], 11080) + femmesh.addVolume([663, 2178, 172, 662], 11081) + femmesh.addVolume([43, 400, 399, 2176], 11082) + femmesh.addVolume([2166, 658, 168, 659], 11083) + femmesh.addVolume([395, 39, 396, 2164], 11084) + femmesh.addVolume([2103, 601, 600, 275], 11085) + femmesh.addVolume([2101, 434, 146, 433], 11086) + femmesh.addVolume([2252, 678, 2232, 1815], 11087) + femmesh.addVolume([597, 1683, 272, 271], 11088) + femmesh.addVolume([1681, 143, 142, 430], 11089) + femmesh.addVolume([1383, 171, 172, 662], 11090) + femmesh.addVolume([43, 399, 42, 1381], 11091) + femmesh.addVolume([396, 39, 40, 1372], 11092) + femmesh.addVolume([169, 1374, 168, 659], 11093) + femmesh.addVolume([1690, 146, 145, 433], 11094) + femmesh.addVolume([1692, 275, 600, 274], 11095) + femmesh.addVolume([250, 580, 1997, 579], 11096) + femmesh.addVolume([1995, 346, 121, 345], 11097) + femmesh.addVolume([193, 524, 525, 1832], 11098) + femmesh.addVolume([290, 1830, 64, 291], 11099) + femmesh.addVolume([315, 1905, 90, 316], 11100) + femmesh.addVolume([549, 550, 219, 1907], 11101) + femmesh.addVolume([1922, 224, 555, 554], 11102) + femmesh.addVolume([95, 321, 320, 1920], 11103) + femmesh.addVolume([529, 530, 198, 1847], 11104) + femmesh.addVolume([295, 1845, 69, 296], 11105) + femmesh.addVolume([340, 1980, 116, 341], 11106) + femmesh.addVolume([245, 575, 1982, 574], 11107) + femmesh.addVolume([2252, 678, 1816, 2234], 11108) + femmesh.addVolume([678, 2252, 1811, 2234], 11109) + femmesh.addVolume([2034, 1819, 1818, 2003], 11110) + femmesh.addVolume([2252, 1813, 2232, 678], 11111) + femmesh.addVolume([1617, 249, 250, 579], 11112) + femmesh.addVolume([1615, 121, 120, 345], 11113) + femmesh.addVolume([64, 1447, 65, 291], 11114) + femmesh.addVolume([525, 194, 193, 1449], 11115) + femmesh.addVolume([1818, 1821, 2034, 2003], 11116) + femmesh.addVolume([219, 550, 220, 1527], 11117) + femmesh.addVolume([1525, 91, 90, 316], 11118) + femmesh.addVolume([320, 94, 95, 1537], 11119) + femmesh.addVolume([223, 224, 1539, 554], 11120) + femmesh.addVolume([529, 198, 197, 1461], 11121) + femmesh.addVolume([68, 1459, 69, 295], 11122) + femmesh.addVolume([1603, 117, 116, 341], 11123) + femmesh.addVolume([246, 575, 1605, 245], 11124) + femmesh.addVolume([429, 141, 2086, 428], 11125) + femmesh.addVolume([595, 2088, 596, 270], 11126) + femmesh.addVolume([663, 173, 2181, 664], 11127) + femmesh.addVolume([400, 44, 401, 2179], 11128) + femmesh.addVolume([658, 2163, 167, 657], 11129) + femmesh.addVolume([38, 395, 394, 2161], 11130) + femmesh.addVolume([602, 276, 601, 2106], 11131) + femmesh.addVolume([434, 2104, 147, 435], 11132) + femmesh.addVolume([596, 1680, 271, 270], 11133) + femmesh.addVolume([1678, 142, 141, 429], 11134) + femmesh.addVolume([173, 1386, 172, 663], 11135) + femmesh.addVolume([400, 43, 44, 1384], 11136) + femmesh.addVolume([39, 395, 38, 1369], 11137) + femmesh.addVolume([1371, 167, 168, 658], 11138) + femmesh.addVolume([1693, 147, 146, 434], 11139) + femmesh.addVolume([601, 1695, 276, 275], 11140) + femmesh.addVolume([1998, 347, 122, 346], 11141) + femmesh.addVolume([580, 2000, 581, 251], 11142) + femmesh.addVolume([192, 523, 524, 1828], 11143) + femmesh.addVolume([289, 1823, 63, 290], 11144) + femmesh.addVolume([555, 1925, 556, 225], 11145) + femmesh.addVolume([321, 96, 322, 1923], 11146) + femmesh.addVolume([218, 548, 549, 1904], 11147) + femmesh.addVolume([314, 1902, 89, 315], 11148) + femmesh.addVolume([1848, 297, 70, 296], 11149) + femmesh.addVolume([531, 199, 530, 1850], 11150) + femmesh.addVolume([115, 339, 1977, 340], 11151) + femmesh.addVolume([1979, 573, 244, 574], 11152) + femmesh.addVolume([2034, 2017, 1818, 1817], 11153) + femmesh.addVolume([250, 1620, 580, 251], 11154) + femmesh.addVolume([1618, 122, 121, 346], 11155) + femmesh.addVolume([192, 524, 193, 1446], 11156) + femmesh.addVolume([1444, 64, 63, 290], 11157) + femmesh.addVolume([549, 219, 218, 1524], 11158) + femmesh.addVolume([89, 1522, 90, 315], 11159) + femmesh.addVolume([1542, 225, 555, 224], 11160) + femmesh.addVolume([96, 321, 95, 1540], 11161) + femmesh.addVolume([2085, 595, 594, 269], 11162) + femmesh.addVolume([428, 140, 2083, 427], 11163) + femmesh.addVolume([401, 45, 402, 2182], 11164) + femmesh.addVolume([664, 174, 2184, 665], 11165) + femmesh.addVolume([37, 394, 393, 2158], 11166) + femmesh.addVolume([657, 2160, 166, 656], 11167) + femmesh.addVolume([435, 2107, 148, 436], 11168) + femmesh.addVolume([602, 603, 277, 2109], 11169) + femmesh.addVolume([198, 530, 199, 1464], 11170) + femmesh.addVolume([1462, 70, 69, 296], 11171) + femmesh.addVolume([245, 1602, 244, 574], 11172) + femmesh.addVolume([1600, 116, 115, 340], 11173) + femmesh.addVolume([1829, 5, 123, 347], 11174) + femmesh.addVolume([252, 10, 1826, 581], 11175) + femmesh.addVolume([523, 191, 11, 1825], 11176) + femmesh.addVolume([1822, 62, 4, 289], 11177) + femmesh.addVolume([2017, 2034, 1818, 1820], 11178) + femmesh.addVolume([314, 88, 1899, 313], 11179) + femmesh.addVolume([217, 547, 548, 1901], 11180) + femmesh.addVolume([557, 1928, 226, 556], 11181) + femmesh.addVolume([322, 97, 323, 1926], 11182) + femmesh.addVolume([1675, 141, 140, 428], 11183) + femmesh.addVolume([269, 1677, 595, 270], 11184) + femmesh.addVolume([174, 1389, 173, 664], 11185) + femmesh.addVolume([401, 44, 45, 1387], 11186) + femmesh.addVolume([532, 200, 531, 1853], 11187) + femmesh.addVolume([298, 71, 1851, 297], 11188) + femmesh.addVolume([1976, 243, 573, 572], 11189) + femmesh.addVolume([339, 114, 1974, 338], 11190) + femmesh.addVolume([38, 394, 37, 1366], 11191) + femmesh.addVolume([167, 1368, 166, 657], 11192) + femmesh.addVolume([602, 277, 276, 1698], 11193) + femmesh.addVolume([147, 1696, 148, 435], 11194) + femmesh.addVolume([427, 139, 2080, 426], 11195) + femmesh.addVolume([594, 593, 2082, 268], 11196) + femmesh.addVolume([402, 46, 403, 2185], 11197) + femmesh.addVolume([665, 175, 2187, 666], 11198) + femmesh.addVolume([165, 656, 2157, 655], 11199) + femmesh.addVolume([36, 393, 392, 2155], 11200) + femmesh.addVolume([149, 436, 2110, 437], 11201) + femmesh.addVolume([278, 603, 604, 2112], 11202) + femmesh.addVolume([581, 1623, 252, 251], 11203) + femmesh.addVolume([1621, 123, 122, 347], 11204) + femmesh.addVolume([191, 523, 192, 1443], 11205) + femmesh.addVolume([62, 1441, 63, 289], 11206) + femmesh.addVolume([1519, 89, 88, 314], 11207) + femmesh.addVolume([218, 217, 548, 1521], 11208) + femmesh.addVolume([556, 1545, 226, 225], 11209) + femmesh.addVolume([322, 96, 97, 1543], 11210) + femmesh.addVolume([199, 531, 200, 1467], 11211) + femmesh.addVolume([1465, 71, 70, 297], 11212) + femmesh.addVolume([573, 1599, 244, 243], 11213) + femmesh.addVolume([1597, 115, 114, 339], 11214) + femmesh.addVolume([1931, 227, 558, 557], 11215) + femmesh.addVolume([98, 324, 323, 1929], 11216) + femmesh.addVolume([546, 547, 216, 1898], 11217) + femmesh.addVolume([312, 1896, 87, 313], 11218) + femmesh.addVolume([299, 72, 1854, 298], 11219) + femmesh.addVolume([533, 201, 532, 1856], 11220) + femmesh.addVolume([1971, 113, 337, 338], 11221) + femmesh.addVolume([242, 1973, 571, 572], 11222) + femmesh.addVolume([1672, 140, 139, 427], 11223) + femmesh.addVolume([1674, 269, 594, 268], 11224) + femmesh.addVolume([46, 402, 45, 1390], 11225) + femmesh.addVolume([175, 1392, 174, 665], 11226) + femmesh.addVolume([37, 393, 36, 1363], 11227) + femmesh.addVolume([166, 1365, 165, 656], 11228) + femmesh.addVolume([603, 278, 277, 1701], 11229) + femmesh.addVolume([148, 1699, 149, 436], 11230) + femmesh.addVolume([425, 2077, 138, 426], 11231) + femmesh.addVolume([592, 2079, 593, 267], 11232) + femmesh.addVolume([403, 47, 404, 2188], 11233) + femmesh.addVolume([666, 176, 2190, 667], 11234) + femmesh.addVolume([655, 2154, 164, 654], 11235) + femmesh.addVolume([392, 391, 35, 2152], 11236) + femmesh.addVolume([604, 605, 279, 2115], 11237) + femmesh.addVolume([438, 150, 2113, 437], 11238) + femmesh.addVolume([1, 1344, 157, 1337], 11239) + femmesh.addVolume([1340, 157, 2, 1341], 11240) + femmesh.addVolume([228, 1934, 558, 559], 11241) + femmesh.addVolume([324, 99, 325, 1932], 11242) + femmesh.addVolume([546, 215, 545, 1895], 11243) + femmesh.addVolume([311, 1893, 86, 312], 11244) + femmesh.addVolume([98, 323, 97, 1546], 11245) + femmesh.addVolume([1548, 226, 227, 557], 11246) + femmesh.addVolume([216, 547, 217, 1518], 11247) + femmesh.addVolume([1516, 88, 87, 313], 11248) + femmesh.addVolume([300, 73, 1857, 299], 11249) + femmesh.addVolume([534, 202, 533, 1859], 11250) + femmesh.addVolume([241, 570, 571, 1970], 11251) + femmesh.addVolume([112, 337, 336, 1968], 11252) + femmesh.addVolume([71, 1468, 72, 298], 11253) + femmesh.addVolume([532, 201, 200, 1470], 11254) + femmesh.addVolume([243, 1596, 242, 572], 11255) + femmesh.addVolume([113, 1594, 114, 338], 11256) + femmesh.addVolume([2074, 137, 424, 425], 11257) + femmesh.addVolume([592, 591, 2076, 266], 11258) + femmesh.addVolume([404, 48, 405, 2191], 11259) + femmesh.addVolume([667, 177, 2193, 668], 11260) + femmesh.addVolume([34, 391, 390, 2149], 11261) + femmesh.addVolume([654, 2151, 163, 653], 11262) + femmesh.addVolume([438, 2116, 151, 439], 11263) + femmesh.addVolume([605, 606, 280, 2118], 11264) + femmesh.addVolume([1669, 139, 138, 426], 11265) + femmesh.addVolume([1671, 268, 593, 267], 11266) + femmesh.addVolume([403, 46, 47, 1393], 11267) + femmesh.addVolume([176, 1395, 175, 666], 11268) + femmesh.addVolume([1362, 164, 165, 655], 11269) + femmesh.addVolume([392, 35, 36, 1360], 11270) + femmesh.addVolume([279, 278, 604, 1704], 11271) + femmesh.addVolume([1702, 150, 149, 437], 11272) + femmesh.addVolume([559, 1937, 560, 229], 11273) + femmesh.addVolume([310, 1890, 85, 311], 11274) + femmesh.addVolume([100, 326, 325, 1935], 11275) + femmesh.addVolume([214, 544, 545, 1892], 11276) + femmesh.addVolume([535, 203, 534, 1862], 11277) + femmesh.addVolume([301, 74, 1860, 300], 11278) + femmesh.addVolume([335, 111, 336, 1965], 11279) + femmesh.addVolume([240, 569, 570, 1967], 11280) + femmesh.addVolume([259, 585, 586, 2058], 11281) + femmesh.addVolume([418, 130, 419, 2056], 11282) + femmesh.addVolume([673, 184, 2211, 674], 11283) + femmesh.addVolume([410, 55, 411, 2209], 11284) + femmesh.addVolume([2136, 13, 158, 649], 11285) + femmesh.addVolume([386, 6, 29, 2134], 11286) + femmesh.addVolume([156, 2131, 6, 443], 11287) + femmesh.addVolume([610, 13, 285, 2133], 11288) + femmesh.addVolume([255, 12, 582, 2048], 11289) + femmesh.addVolume([7, 414, 59, 2047], 11290) + femmesh.addVolume([415, 8, 126, 2044], 11291) + femmesh.addVolume([2042, 188, 14, 677], 11292) + femmesh.addVolume([423, 136, 424, 2071], 11293) + femmesh.addVolume([2073, 591, 590, 265], 11294) + femmesh.addVolume([405, 49, 406, 2194], 11295) + femmesh.addVolume([668, 178, 2196, 669], 11296) + femmesh.addVolume([607, 281, 606, 2121], 11297) + femmesh.addVolume([439, 2119, 152, 440], 11298) + femmesh.addVolume([33, 390, 389, 2146], 11299) + femmesh.addVolume([653, 2148, 162, 652], 11300) + femmesh.addVolume([182, 673, 2208, 672], 11301) + femmesh.addVolume([409, 53, 410, 2206], 11302) + femmesh.addVolume([132, 420, 419, 2059], 11303) + femmesh.addVolume([586, 587, 261, 2061], 11304) + femmesh.addVolume([107, 332, 331, 1953], 11305) + femmesh.addVolume([207, 538, 539, 1874], 11306) + femmesh.addVolume([78, 304, 1872, 305], 11307) + femmesh.addVolume([566, 236, 565, 1955], 11308) + femmesh.addVolume([81, 306, 1878, 307], 11309) + femmesh.addVolume([540, 541, 210, 1880], 11310) + femmesh.addVolume([564, 1949, 233, 563], 11311) + femmesh.addVolume([330, 329, 104, 1947], 11312) + femmesh.addVolume([86, 1513, 87, 312], 11313) + femmesh.addVolume([546, 216, 215, 1515], 11314) + femmesh.addVolume([227, 1551, 558, 228], 11315) + femmesh.addVolume([99, 324, 98, 1549], 11316) + femmesh.addVolume([101, 327, 326, 1938], 11317) + femmesh.addVolume([230, 1940, 560, 561], 11318) + femmesh.addVolume([543, 544, 213, 1889], 11319) + femmesh.addVolume([309, 1887, 84, 310], 11320) + femmesh.addVolume([533, 202, 201, 1473], 11321) + femmesh.addVolume([72, 1471, 73, 299], 11322) + femmesh.addVolume([113, 337, 112, 1591], 11323) + femmesh.addVolume([571, 242, 241, 1593], 11324) + femmesh.addVolume([536, 204, 535, 1865], 11325) + femmesh.addVolume([1863, 302, 75, 301], 11326) + femmesh.addVolume([334, 110, 335, 1962], 11327) + femmesh.addVolume([569, 239, 568, 1964], 11328) + femmesh.addVolume([129, 418, 417, 2053], 11329) + femmesh.addVolume([258, 584, 585, 2055], 11330) + femmesh.addVolume([675, 2214, 185, 674], 11331) + femmesh.addVolume([56, 412, 411, 2212], 11332) + femmesh.addVolume([155, 442, 2128, 443], 11333) + femmesh.addVolume([650, 2139, 159, 649], 11334) + femmesh.addVolume([30, 387, 386, 2137], 11335) + femmesh.addVolume([610, 284, 609, 2130], 11336) + femmesh.addVolume([52, 409, 408, 2203], 11337) + femmesh.addVolume([672, 2205, 181, 671], 11338) + femmesh.addVolume([420, 133, 421, 2062], 11339) + femmesh.addVolume([588, 262, 587, 2064], 11340) + femmesh.addVolume([589, 590, 264, 2070], 11341) + femmesh.addVolume([423, 422, 135, 2068], 11342) + femmesh.addVolume([406, 50, 407, 2197], 11343) + femmesh.addVolume([669, 179, 2199, 670], 11344) + femmesh.addVolume([608, 282, 607, 2124], 11345) + femmesh.addVolume([2122, 441, 153, 440], 11346) + femmesh.addVolume([652, 2145, 161, 651], 11347) + femmesh.addVolume([32, 389, 388, 2143], 11348) + femmesh.addVolume([414, 413, 58, 2218], 11349) + femmesh.addVolume([677, 2220, 187, 676], 11350) + femmesh.addVolume([415, 127, 416, 2045], 11351) + femmesh.addVolume([583, 256, 582, 2049], 11352) + femmesh.addVolume([566, 567, 237, 1958], 11353) + femmesh.addVolume([333, 332, 108, 1956], 11354) + femmesh.addVolume([77, 303, 1869, 304], 11355) + femmesh.addVolume([206, 537, 538, 1871], 11356) + femmesh.addVolume([1946, 562, 232, 563], 11357) + femmesh.addVolume([542, 211, 541, 1883], 11358) + femmesh.addVolume([308, 82, 1881, 307], 11359) + femmesh.addVolume([328, 103, 329, 1944], 11360) + femmesh.addVolume([562, 1943, 231, 561], 11361) + femmesh.addVolume([308, 1884, 83, 309], 11362) + femmesh.addVolume([328, 327, 102, 1941], 11363) + femmesh.addVolume([212, 542, 543, 1886], 11364) + femmesh.addVolume([537, 205, 536, 1868], 11365) + femmesh.addVolume([1866, 303, 76, 302], 11366) + femmesh.addVolume([238, 567, 568, 1961], 11367) + femmesh.addVolume([333, 109, 334, 1959], 11368) + femmesh.addVolume([416, 128, 417, 2050], 11369) + femmesh.addVolume([583, 584, 257, 2052], 11370) + femmesh.addVolume([57, 413, 412, 2215], 11371) + femmesh.addVolume([186, 676, 2217, 675], 11372) + femmesh.addVolume([608, 609, 283, 2127], 11373) + femmesh.addVolume([441, 2125, 154, 442], 11374) + femmesh.addVolume([651, 2142, 160, 650], 11375) + femmesh.addVolume([388, 387, 31, 2140], 11376) + femmesh.addVolume([134, 422, 421, 2065], 11377) + femmesh.addVolume([408, 407, 51, 2200], 11378) + femmesh.addVolume([671, 2202, 180, 670], 11379) + femmesh.addVolume([588, 589, 263, 2067], 11380) + femmesh.addVolume([404, 47, 48, 1396], 11381) + femmesh.addVolume([267, 592, 1668, 266], 11382) + femmesh.addVolume([1666, 138, 137, 425], 11383) + femmesh.addVolume([177, 1398, 176, 667], 11384) + femmesh.addVolume([1359, 163, 164, 654], 11385) + femmesh.addVolume([35, 391, 34, 1357], 11386) + femmesh.addVolume([279, 605, 280, 1707], 11387) + femmesh.addVolume([150, 1705, 151, 438], 11388) + femmesh.addVolume([1810, 235, 234, 1572], 11389) + femmesh.addVolume([1766, 105, 106, 1570], 11390) + femmesh.addVolume([1492, 80, 79, 1765], 11391) + femmesh.addVolume([208, 1809, 209, 1494], 11392) + femmesh.addVolume([1554, 559, 228, 229], 11393) + femmesh.addVolume([100, 325, 99, 1552], 11394) + femmesh.addVolume([1510, 86, 85, 311], 11395) + femmesh.addVolume([545, 215, 214, 1512], 11396) + femmesh.addVolume([534, 203, 202, 1476], 11397) + femmesh.addVolume([73, 1474, 74, 300], 11398) + femmesh.addVolume([240, 570, 241, 1590], 11399) + femmesh.addVolume([112, 336, 111, 1588], 11400) + femmesh.addVolume([1763, 288, 463, 1811], 11401) + femmesh.addVolume([1820, 1807, 504, 482], 11402) + femmesh.addVolume([266, 591, 1665, 265], 11403) + femmesh.addVolume([137, 424, 136, 1663], 11404) + femmesh.addVolume([178, 1401, 177, 668], 11405) + femmesh.addVolume([405, 48, 49, 1399], 11406) + femmesh.addVolume([1356, 162, 163, 653], 11407) + femmesh.addVolume([34, 390, 33, 1354], 11408) + femmesh.addVolume([280, 606, 281, 1710], 11409) + femmesh.addVolume([1708, 152, 151, 439], 11410) + femmesh.addVolume([60, 7, 59, 1432], 11411) + femmesh.addVolume([188, 14, 189, 1434], 11412) + femmesh.addVolume([126, 8, 125, 1630], 11413) + femmesh.addVolume([254, 12, 255, 1632], 11414) + femmesh.addVolume([482, 630, 1816, 1808], 11415) + femmesh.addVolume([326, 100, 101, 1555], 11416) + femmesh.addVolume([544, 214, 213, 1509], 11417) + femmesh.addVolume([229, 1557, 560, 230], 11418) + femmesh.addVolume([1507, 85, 84, 310], 11419) + femmesh.addVolume([535, 204, 203, 1479], 11420) + femmesh.addVolume([74, 1477, 75, 301], 11421) + femmesh.addVolume([111, 335, 110, 1585], 11422) + femmesh.addVolume([569, 240, 239, 1587], 11423) + femmesh.addVolume([366, 1819, 1761, 286], 11424) + femmesh.addVolume([264, 1662, 590, 265], 11425) + femmesh.addVolume([423, 135, 136, 1660], 11426) + femmesh.addVolume([179, 1404, 178, 669], 11427) + femmesh.addVolume([406, 49, 50, 1402], 11428) + femmesh.addVolume([1353, 161, 162, 652], 11429) + femmesh.addVolume([33, 389, 32, 1351], 11430) + femmesh.addVolume([281, 607, 282, 1713], 11431) + femmesh.addVolume([1711, 153, 152, 440], 11432) + femmesh.addVolume([59, 414, 58, 1429], 11433) + femmesh.addVolume([188, 1431, 187, 677], 11434) + femmesh.addVolume([127, 415, 126, 1633], 11435) + femmesh.addVolume([255, 582, 256, 1635], 11436) + femmesh.addVolume([230, 231, 1560, 561], 11437) + femmesh.addVolume([543, 213, 212, 1506], 11438) + femmesh.addVolume([102, 327, 101, 1558], 11439) + femmesh.addVolume([83, 1504, 84, 309], 11440) + femmesh.addVolume([536, 205, 204, 1482], 11441) + femmesh.addVolume([75, 1480, 76, 302], 11442) + femmesh.addVolume([568, 239, 238, 1584], 11443) + femmesh.addVolume([110, 334, 109, 1582], 11444) + femmesh.addVolume([629, 484, 1815, 1805], 11445) + femmesh.addVolume([130, 418, 129, 1642], 11446) + femmesh.addVolume([259, 258, 585, 1644], 11447) + femmesh.addVolume([185, 1422, 184, 674], 11448) + femmesh.addVolume([411, 55, 56, 1420], 11449) + femmesh.addVolume([263, 589, 264, 1659], 11450) + femmesh.addVolume([407, 50, 51, 1405], 11451) + femmesh.addVolume([135, 422, 134, 1657], 11452) + femmesh.addVolume([1407, 179, 180, 670], 11453) + femmesh.addVolume([285, 284, 610, 1722], 11454) + femmesh.addVolume([1720, 156, 155, 443], 11455) + femmesh.addVolume([1343, 158, 159, 649], 11456) + femmesh.addVolume([30, 386, 29, 1338], 11457) + femmesh.addVolume([1350, 160, 161, 651], 11458) + femmesh.addVolume([32, 388, 31, 1348], 11459) + femmesh.addVolume([283, 282, 608, 1716], 11460) + femmesh.addVolume([153, 1714, 154, 441], 11461) + femmesh.addVolume([409, 52, 53, 1411], 11462) + femmesh.addVolume([182, 1413, 181, 672], 11463) + femmesh.addVolume([133, 420, 132, 1651], 11464) + femmesh.addVolume([262, 261, 587, 1653], 11465) + femmesh.addVolume([58, 413, 57, 1426], 11466) + femmesh.addVolume([1428, 186, 187, 676], 11467) + femmesh.addVolume([128, 416, 127, 1636], 11468) + femmesh.addVolume([257, 256, 583, 1638], 11469) + femmesh.addVolume([462, 286, 1762, 1813], 11470) + femmesh.addVolume([237, 236, 566, 1578], 11471) + femmesh.addVolume([108, 332, 107, 1576], 11472) + femmesh.addVolume([206, 538, 207, 1488], 11473) + femmesh.addVolume([1486, 78, 77, 304], 11474) + femmesh.addVolume([82, 1501, 83, 308], 11475) + femmesh.addVolume([542, 212, 211, 1503], 11476) + femmesh.addVolume([232, 1563, 231, 562], 11477) + femmesh.addVolume([103, 328, 102, 1561], 11478) + femmesh.addVolume([232, 233, 1566, 563], 11479) + femmesh.addVolume([104, 329, 103, 1564], 11480) + femmesh.addVolume([210, 541, 211, 1500], 11481) + femmesh.addVolume([1498, 82, 81, 307], 11482) + femmesh.addVolume([76, 1483, 77, 303], 11483) + femmesh.addVolume([537, 206, 205, 1485], 11484) + femmesh.addVolume([238, 237, 567, 1581], 11485) + femmesh.addVolume([109, 333, 108, 1579], 11486) + femmesh.addVolume([1425, 185, 186, 675], 11487) + femmesh.addVolume([57, 412, 56, 1423], 11488) + femmesh.addVolume([129, 417, 128, 1639], 11489) + femmesh.addVolume([257, 584, 258, 1641], 11490) + femmesh.addVolume([134, 421, 133, 1654], 11491) + femmesh.addVolume([408, 51, 52, 1408], 11492) + femmesh.addVolume([1410, 180, 181, 671], 11493) + femmesh.addVolume([262, 588, 263, 1656], 11494) + femmesh.addVolume([1347, 159, 160, 650], 11495) + femmesh.addVolume([154, 1717, 155, 442], 11496) + femmesh.addVolume([283, 609, 284, 1719], 11497) + femmesh.addVolume([387, 30, 31, 1345], 11498) + femmesh.addVolume([484, 1806, 503, 1821], 11499) + femmesh.addVolume([462, 3, 286, 1813], 11500) + femmesh.addVolume([288, 367, 1817, 1764], 11501) + femmesh.addVolume([483, 1820, 504, 482], 11502) + femmesh.addVolume([484, 1821, 503, 483], 11503) + femmesh.addVolume([463, 288, 3, 1811], 11504) + femmesh.addVolume([366, 287, 1819, 286], 11505) + femmesh.addVolume([630, 1816, 9, 482], 11506) + femmesh.addVolume([1817, 287, 367, 288], 11507) + femmesh.addVolume([484, 1815, 9, 629], 11508) + femmesh.addVolume([1435, 61, 60, 1759], 11509) + femmesh.addVolume([124, 1627, 125, 1760], 11510) + femmesh.addVolume([1803, 190, 189, 1437], 11511) + femmesh.addVolume([253, 1629, 1804, 254], 11512) + femmesh.addVolume([1766, 331, 330, 1950], 11513) + femmesh.addVolume([1809, 539, 540, 1877], 11514) + femmesh.addVolume([306, 1875, 305, 1765], 11515) + femmesh.addVolume([565, 1810, 564, 1952], 11516) + femmesh.addVolume([2039, 682, 2259, 1723], 11517) + femmesh.addVolume([682, 2039, 2259, 1767], 11518) + femmesh.addVolume([682, 2039, 680, 1723], 11519) + femmesh.addVolume([2039, 682, 680, 1767], 11520) + femmesh.addVolume([2258, 681, 2038, 1724], 11521) + femmesh.addVolume([2258, 2038, 681, 1768], 11522) + femmesh.addVolume([679, 2038, 681, 1724], 11523) + femmesh.addVolume([679, 681, 2038, 1768], 11524) + femmesh.addVolume([3187, 1769, 2028, 2002], 11525) + femmesh.addVolume([3187, 2028, 1769, 3189], 11526) + femmesh.addVolume([2259, 2039, 1787, 1767], 11527) + femmesh.addVolume([2259, 1787, 2039, 2239], 11528) + femmesh.addVolume([1724, 444, 2227, 2261], 11529) + femmesh.addVolume([444, 1724, 2227, 1744], 11530) + femmesh.addVolume([1743, 2039, 2239, 1723], 11531) + femmesh.addVolume([2039, 1743, 2040, 1723], 11532) + femmesh.addVolume([1743, 2039, 2040, 2005], 11533) + femmesh.addVolume([2010, 2033, 2229, 1753], 11534) + femmesh.addVolume([2033, 2010, 2229, 1797], 11535) + femmesh.addVolume([2009, 2036, 2253, 1738], 11536) + femmesh.addVolume([2036, 2009, 2253, 1781], 11537) + femmesh.addVolume([1758, 1786, 1802, 2238], 11538) + femmesh.addVolume([1786, 1758, 1802, 2025], 11539) + femmesh.addVolume([1786, 1758, 1741, 2238], 11540) + femmesh.addVolume([1758, 1786, 1741, 2025], 11541) + femmesh.addVolume([1780, 1741, 1786, 2008], 11542) + femmesh.addVolume([1741, 1780, 1737, 2008], 11543) + femmesh.addVolume([1749, 1775, 1785, 2006], 11544) + femmesh.addVolume([1775, 1749, 1785, 2230], 11545) + femmesh.addVolume([2031, 2240, 2022, 1742], 11546) + femmesh.addVolume([2031, 2022, 2240, 1795], 11547) + femmesh.addVolume([2257, 2022, 2240, 1742], 11548) + femmesh.addVolume([2257, 2240, 2022, 1795], 11549) + femmesh.addVolume([1744, 2038, 1788, 2001], 11550) + femmesh.addVolume([2038, 1744, 1788, 2227], 11551) + femmesh.addVolume([1744, 2038, 1724, 2227], 11552) + femmesh.addVolume([1787, 2039, 1743, 2005], 11553) + femmesh.addVolume([2039, 1787, 1743, 2239], 11554) + femmesh.addVolume([2239, 481, 1723, 2260], 11555) + femmesh.addVolume([2239, 1723, 481, 1743], 11556) + femmesh.addVolume([2031, 1814, 2240, 1728], 11557) + femmesh.addVolume([2031, 2240, 1814, 1772], 11558) + femmesh.addVolume([1733, 1802, 1776, 2254], 11559) + femmesh.addVolume([1802, 1733, 1776, 2014], 11560) + femmesh.addVolume([1802, 1733, 1758, 2254], 11561) + femmesh.addVolume([1733, 1802, 1758, 2014], 11562) + femmesh.addVolume([1737, 2235, 2011, 2026], 11563) + femmesh.addVolume([1737, 2011, 2235, 1752], 11564) + femmesh.addVolume([1773, 511, 2023, 2037], 11565) + femmesh.addVolume([1773, 2023, 511, 1790], 11566) + femmesh.addVolume([2235, 1741, 1780, 1737], 11567) + femmesh.addVolume([1786, 1741, 2235, 2251], 11568) + femmesh.addVolume([1786, 2235, 1741, 1780], 11569) + femmesh.addVolume([1951, 1571, 1954, 1952], 11570) + femmesh.addVolume([1571, 1951, 1954, 1950], 11571) + femmesh.addVolume([1876, 1496, 1879, 1877], 11572) + femmesh.addVolume([1876, 1879, 1496, 1875], 11573) + femmesh.addVolume([2131, 1337, 2134, 2135], 11574) + femmesh.addVolume([1337, 2131, 2134, 6], 11575) + femmesh.addVolume([1337, 2131, 1344, 2135], 11576) + femmesh.addVolume([2131, 1337, 1344, 6], 11577) + femmesh.addVolume([1341, 1340, 2133, 13], 11578) + femmesh.addVolume([1341, 2133, 1340, 2135], 11579) + femmesh.addVolume([2136, 2133, 1340, 13], 11580) + femmesh.addVolume([2136, 1340, 2133, 2135], 11581) + femmesh.addVolume([2058, 1650, 2061, 586], 11582) + femmesh.addVolume([2058, 2061, 1650, 2060], 11583) + femmesh.addVolume([2209, 1414, 2206, 410], 11584) + femmesh.addVolume([2209, 2206, 1414, 2210], 11585) + femmesh.addVolume([2059, 1648, 2056, 419], 11586) + femmesh.addVolume([2059, 2056, 1648, 2060], 11587) + femmesh.addVolume([2211, 1416, 2208, 2210], 11588) + femmesh.addVolume([2211, 2208, 1416, 673], 11589) + femmesh.addVolume([1744, 2041, 348, 1724], 11590) + femmesh.addVolume([2041, 1744, 348, 2001], 11591) + femmesh.addVolume([2041, 1744, 2038, 1724], 11592) + femmesh.addVolume([1744, 2041, 2038, 2001], 11593) + femmesh.addVolume([2963, 2649, 2926, 3183], 11594) + femmesh.addVolume([2708, 3150, 2682, 3167], 11595) + femmesh.addVolume([3178, 2726, 2650, 3147], 11596) + femmesh.addVolume([1336, 2648, 3185, 3184], 11597) + femmesh.addVolume([2658, 2680, 2703, 3179], 11598) + femmesh.addVolume([2703, 2680, 2658, 2959], 11599) + femmesh.addVolume([2679, 2726, 2958, 2929], 11600) + femmesh.addVolume([2650, 2670, 2695, 3178], 11601) + femmesh.addVolume([2695, 3178, 2670, 3146], 11602) + femmesh.addVolume([2723, 2708, 2682, 3167], 11603) + femmesh.addVolume([2679, 2650, 2726, 3147], 11604) + femmesh.addVolume([2958, 2726, 2679, 2650], 11605) + femmesh.addVolume([2670, 2695, 2958, 2650], 11606) + femmesh.addVolume([2695, 2958, 2942, 2670], 11607) + femmesh.addVolume([2695, 2670, 2942, 3146], 11608) + femmesh.addVolume([2670, 2703, 2942, 3146], 11609) + femmesh.addVolume([2714, 2942, 2703, 3146], 11610) + femmesh.addVolume([2942, 2714, 2695, 3146], 11611) + femmesh.addVolume([2708, 2651, 3150, 3195], 11612) + femmesh.addVolume([2650, 2726, 2695, 2958], 11613) + femmesh.addVolume([2695, 2726, 2650, 3178], 11614) + femmesh.addVolume([2682, 2708, 2651, 3150], 11615) + femmesh.addVolume([2926, 2713, 2963, 3183], 11616) + femmesh.addVolume([3179, 2703, 2670, 3146], 11617) + femmesh.addVolume([2670, 2703, 3179, 2658], 11618) + femmesh.addVolume([2682, 2708, 2723, 2947], 11619) + femmesh.addVolume([2703, 3179, 2680, 2724], 11620) + femmesh.addVolume([2670, 2703, 2959, 2942], 11621) + femmesh.addVolume([2959, 2703, 2670, 2658], 11622) + femmesh.addVolume([2703, 2724, 2680, 2959], 11623) + femmesh.addVolume([2651, 2947, 2708, 2682], 11624) + femmesh.addVolume([2653, 2696, 3154, 3193], 11625) + femmesh.addVolume([2696, 2653, 2931, 3193], 11626) + femmesh.addVolume([2653, 3154, 2696, 3192], 11627) + femmesh.addVolume([2696, 2931, 2653, 3192], 11628) + femmesh.addVolume([2673, 2948, 3181, 3192], 11629) + femmesh.addVolume([3181, 2948, 2722, 3192], 11630) + femmesh.addVolume([2673, 2948, 2662, 3166], 11631) + femmesh.addVolume([2937, 2662, 2948, 3166], 11632) + femmesh.addVolume([2702, 3166, 2948, 2722], 11633) + femmesh.addVolume([2937, 3166, 2948, 2702], 11634) + femmesh.addVolume([2948, 3166, 3181, 2722], 11635) + femmesh.addVolume([3181, 3166, 2948, 2673], 11636) + femmesh.addVolume([2953, 3164, 2683, 3191], 11637) + femmesh.addVolume([2954, 3159, 2937, 2717], 11638) + femmesh.addVolume([2954, 2678, 2937, 3159], 11639) + femmesh.addVolume([2662, 2937, 2678, 3159], 11640) + femmesh.addVolume([2693, 2963, 2713, 3183], 11641) + femmesh.addVolume([2704, 2659, 2934, 2718], 11642) + femmesh.addVolume([2651, 2708, 2932, 3195], 11643) + femmesh.addVolume([3163, 2648, 2964, 3184], 11644) + femmesh.addVolume([3161, 2953, 2934, 2718], 11645) + femmesh.addVolume([3171, 2679, 2710, 3147], 11646) + femmesh.addVolume([2657, 2681, 2706, 3174], 11647) + femmesh.addVolume([3168, 2721, 2666, 3160], 11648) + femmesh.addVolume([2957, 2929, 2710, 2679], 11649) + femmesh.addVolume([3174, 3162, 2935, 2657], 11650) + femmesh.addVolume([2947, 2708, 2932, 2651], 11651) + femmesh.addVolume([2721, 2951, 2938, 2666], 11652) + femmesh.addVolume([3160, 2706, 2681, 3174], 11653) + femmesh.addVolume([2666, 2721, 3168, 3195], 11654) + femmesh.addVolume([2721, 2666, 2938, 3195], 11655) + femmesh.addVolume([2681, 2706, 2951, 2657], 11656) + femmesh.addVolume([2723, 2947, 2927, 2667], 11657) + femmesh.addVolume([2679, 2710, 2726, 2929], 11658) + femmesh.addVolume([2726, 2710, 2679, 3147], 11659) + femmesh.addVolume([2724, 2959, 2943, 2680], 11660) + femmesh.addVolume([2704, 3172, 2659, 2718], 11661) + femmesh.addVolume([2706, 3160, 2666, 2721], 11662) + femmesh.addVolume([2950, 2659, 2934, 2704], 11663) + femmesh.addVolume([2667, 2723, 2947, 2682], 11664) + femmesh.addVolume([2681, 2666, 2706, 3160], 11665) + femmesh.addVolume([2706, 2721, 2666, 2951], 11666) + femmesh.addVolume([3164, 2953, 2698, 3191], 11667) + femmesh.addVolume([2706, 2666, 2681, 2951], 11668) + femmesh.addVolume([2724, 3179, 2680, 3152], 11669) + femmesh.addVolume([2966, 2963, 1333, 2649], 11670) + femmesh.addVolume([2935, 3162, 3174, 2711], 11671) + femmesh.addVolume([2668, 2953, 2934, 3161], 11672) + femmesh.addVolume([3166, 3159, 2937, 2662], 11673) + femmesh.addVolume([3183, 2649, 3186, 1335], 11674) + femmesh.addVolume([2657, 2706, 2935, 3174], 11675) + femmesh.addVolume([2657, 2944, 2676, 3162], 11676) + femmesh.addVolume([2934, 2659, 3161, 2718], 11677) + femmesh.addVolume([2683, 2953, 2668, 3161], 11678) + femmesh.addVolume([2698, 2953, 3161, 2718], 11679) + femmesh.addVolume([2657, 2935, 2944, 3162], 11680) + femmesh.addVolume([2951, 2706, 2935, 2657], 11681) + femmesh.addVolume([2710, 2679, 2652, 2957], 11682) + femmesh.addVolume([2667, 2723, 2694, 2927], 11683) + femmesh.addVolume([2652, 2679, 2710, 3171], 11684) + femmesh.addVolume([2694, 2723, 2667, 3151], 11685) + femmesh.addVolume([3161, 2683, 2953, 3164], 11686) + femmesh.addVolume([3171, 2694, 2652, 3151], 11687) + femmesh.addVolume([2694, 2927, 2957, 2652], 11688) + femmesh.addVolume([2659, 3172, 3161, 2718], 11689) + femmesh.addVolume([3174, 2706, 2935, 2711], 11690) + femmesh.addVolume([3161, 2659, 2934, 2668], 11691) + femmesh.addVolume([3162, 2935, 2944, 2711], 11692) + femmesh.addVolume([2944, 2725, 3162, 2711], 11693) + femmesh.addVolume([2675, 2961, 2945, 2719], 11694) + femmesh.addVolume([3164, 2953, 3161, 2698], 11695) + femmesh.addVolume([2964, 2965, 1334, 2648], 11696) + femmesh.addVolume([2652, 2710, 2694, 3171], 11697) + femmesh.addVolume([2652, 2694, 2667, 3151], 11698) + femmesh.addVolume([2957, 2710, 2694, 2652], 11699) + femmesh.addVolume([2667, 2927, 2694, 2652], 11700) + femmesh.addVolume([3165, 2675, 3182, 2719], 11701) + femmesh.addVolume([3159, 2954, 2678, 3194], 11702) + femmesh.addVolume([2954, 3159, 2717, 3194], 11703) + femmesh.addVolume([2966, 2926, 2963, 2649], 11704) + femmesh.addVolume([2713, 2926, 2950, 2669], 11705) + femmesh.addVolume([3163, 3185, 2648, 3184], 11706) + femmesh.addVolume([3172, 2713, 2669, 3148], 11707) + femmesh.addVolume([2943, 2930, 2709, 2665], 11708) + femmesh.addVolume([2698, 3180, 3164, 3191], 11709) + femmesh.addVolume([2960, 2664, 2676, 3177], 11710) + femmesh.addVolume([2725, 2960, 3177, 2700], 11711) + femmesh.addVolume([2712, 3180, 2698, 3191], 11712) + femmesh.addVolume([2651, 2932, 2671, 3195], 11713) + femmesh.addVolume([2666, 2654, 2938, 3195], 11714) + femmesh.addVolume([3152, 2665, 2709, 3163], 11715) + femmesh.addVolume([2962, 2938, 2654, 3195], 11716) + femmesh.addVolume([2361, 1334, 2684, 1336], 11717) + femmesh.addVolume([2556, 2685, 1333, 1335], 11718) + femmesh.addVolume([2361, 2728, 1334, 1336], 11719) + femmesh.addVolume([2556, 1333, 2729, 1335], 11720) + femmesh.addVolume([2953, 2939, 2698, 3191], 11721) + femmesh.addVolume([2651, 3169, 3150, 3195], 11722) + femmesh.addVolume([2708, 2715, 2932, 3195], 11723) + femmesh.addVolume([2651, 2671, 3169, 3195], 11724) + femmesh.addVolume([2932, 2946, 2671, 3195], 11725) + femmesh.addVolume([3182, 2697, 2719, 3193], 11726) + femmesh.addVolume([2675, 2655, 3182, 3193], 11727) + femmesh.addVolume([2660, 2683, 3164, 3191], 11728) + femmesh.addVolume([2660, 3164, 3180, 3191], 11729) + femmesh.addVolume([2962, 2721, 2938, 3195], 11730) + femmesh.addVolume([2721, 2962, 2701, 3195], 11731) + femmesh.addVolume([2675, 2945, 2655, 3193], 11732) + femmesh.addVolume([2697, 2940, 2719, 3193], 11733) + femmesh.addVolume([2653, 3154, 2674, 3193], 11734) + femmesh.addVolume([2696, 2716, 3154, 3193], 11735) + femmesh.addVolume([3170, 2674, 3154, 3193], 11736) + femmesh.addVolume([3170, 3154, 2716, 3193], 11737) + femmesh.addVolume([3173, 2653, 2677, 3192], 11738) + femmesh.addVolume([2696, 3173, 2720, 3192], 11739) + femmesh.addVolume([2949, 2677, 2653, 3192], 11740) + femmesh.addVolume([2949, 2696, 2720, 3192], 11741) + femmesh.addVolume([2674, 2931, 2653, 3193], 11742) + femmesh.addVolume([2696, 2931, 2716, 3193], 11743) + femmesh.addVolume([2696, 2949, 2931, 3192], 11744) + femmesh.addVolume([2653, 3173, 3154, 3192], 11745) + femmesh.addVolume([2696, 3154, 3173, 3192], 11746) + femmesh.addVolume([2949, 2653, 2931, 3192], 11747) + femmesh.addVolume([2673, 2933, 2948, 3192], 11748) + femmesh.addVolume([2948, 2933, 2722, 3192], 11749) + femmesh.addVolume([2673, 2663, 2933, 3192], 11750) + femmesh.addVolume([2673, 3157, 2663, 3192], 11751) + femmesh.addVolume([2933, 2707, 2722, 3192], 11752) + femmesh.addVolume([3181, 2722, 2707, 3192], 11753) + femmesh.addVolume([3157, 2673, 3181, 3192], 11754) + femmesh.addVolume([2697, 3182, 3155, 3193], 11755) + femmesh.addVolume([2716, 2931, 2955, 3193], 11756) + femmesh.addVolume([2940, 2945, 2719, 3193], 11757) + femmesh.addVolume([3181, 2707, 3157, 3192], 11758) + femmesh.addVolume([2655, 3155, 3182, 3193], 11759) + femmesh.addVolume([2674, 2955, 2931, 3193], 11760) + femmesh.addVolume([2666, 3168, 2654, 3195], 11761) + femmesh.addVolume([2932, 2715, 2946, 3195], 11762) + femmesh.addVolume([2712, 2698, 2939, 3191], 11763) + femmesh.addVolume([2654, 3168, 3149, 3195], 11764) + femmesh.addVolume([2940, 2655, 2945, 3193], 11765) + femmesh.addVolume([2715, 3150, 3169, 3195], 11766) + femmesh.addVolume([2708, 3150, 2715, 3195], 11767) + femmesh.addVolume([2953, 2683, 2939, 3191], 11768) + femmesh.addVolume([1333, 2685, 2649, 1335], 11769) + femmesh.addVolume([2729, 1333, 2693, 1335], 11770) + femmesh.addVolume([3168, 2721, 2701, 3195], 11771) + femmesh.addVolume([3149, 3168, 2701, 3195], 11772) + femmesh.addVolume([2660, 2939, 2683, 3191], 11773) + femmesh.addVolume([2684, 1334, 2648, 1336], 11774) + femmesh.addVolume([1334, 2728, 2692, 1336], 11775) + femmesh.addVolume([2661, 2739, 2961, 2705], 11776) + femmesh.addVolume([3165, 2739, 2661, 2705], 11777) + femmesh.addVolume([3159, 3175, 2717, 3194], 11778) + femmesh.addVolume([2678, 2954, 2656, 3194], 11779) + femmesh.addVolume([2699, 2954, 2717, 3194], 11780) + femmesh.addVolume([2699, 2936, 2954, 3194], 11781) + femmesh.addVolume([2656, 2954, 2936, 3194], 11782) + femmesh.addVolume([3175, 2699, 2717, 3194], 11783) + femmesh.addVolume([2678, 2656, 3175, 3194], 11784) + femmesh.addVolume([3159, 2678, 3175, 3194], 11785) + femmesh.addVolume([2686, 2739, 2928, 2661], 11786) + femmesh.addVolume([2688, 2664, 2737, 3158], 11787) + femmesh.addVolume([2732, 2737, 2941, 2700], 11788) + femmesh.addVolume([2731, 2928, 2739, 2705], 11789) + femmesh.addVolume([3158, 2664, 2737, 3177], 11790) + femmesh.addVolume([2961, 2739, 2928, 2705], 11791) + femmesh.addVolume([2961, 2928, 2739, 2661], 11792) + femmesh.addVolume([2689, 2941, 2737, 2664], 11793) + femmesh.addVolume([2960, 2941, 2737, 2700], 11794) + femmesh.addVolume([3177, 2737, 3158, 2700], 11795) + femmesh.addVolume([2960, 2737, 2941, 2664], 11796) + femmesh.addVolume([1334, 2684, 2360, 2361], 11797) + femmesh.addVolume([2685, 1333, 2552, 2556], 11798) + femmesh.addVolume([1333, 2729, 2554, 2556], 11799) + femmesh.addVolume([2728, 1334, 2362, 2361], 11800) + femmesh.addVolume([2733, 3158, 2737, 2700], 11801) + femmesh.addVolume([2739, 2661, 2687, 3156], 11802) + femmesh.addVolume([3165, 2661, 2739, 3156], 11803) + femmesh.addVolume([2554, 2553, 1333, 2556], 11804) + femmesh.addVolume([2552, 1333, 2553, 2556], 11805) + femmesh.addVolume([2360, 2364, 1334, 2361], 11806) + femmesh.addVolume([2362, 1334, 2364, 2361], 11807) + femmesh.addVolume([2686, 2928, 2961, 2661], 11808) + femmesh.addVolume([3158, 2688, 2664, 3177], 11809) + femmesh.addVolume([2941, 2960, 2732, 2700], 11810) + femmesh.addVolume([2961, 2928, 2731, 2705], 11811) + femmesh.addVolume([2687, 2739, 2686, 2661], 11812) + femmesh.addVolume([2664, 2737, 2689, 2688], 11813) + femmesh.addVolume([2705, 2739, 2731, 2730], 11814) + femmesh.addVolume([2733, 2737, 2732, 2700], 11815) + femmesh.addVolume([1035, 2670, 2958, 2650], 11816) + femmesh.addVolume([3150, 1292, 2715, 3169], 11817) + femmesh.addVolume([2715, 1292, 3150, 2708], 11818) + femmesh.addVolume([2696, 3173, 3154, 1277], 11819) + femmesh.addVolume([2720, 3173, 2696, 1277], 11820) + femmesh.addVolume([2931, 2696, 1151, 2949], 11821) + femmesh.addVolume([3154, 2653, 1110, 3173], 11822) + femmesh.addVolume([1014, 2653, 2949, 2677], 11823) + femmesh.addVolume([1110, 2653, 2677, 3173], 11824) + femmesh.addVolume([2949, 2696, 1151, 2720], 11825) + femmesh.addVolume([3170, 2716, 3154, 1278], 11826) + femmesh.addVolume([3154, 1111, 2674, 3170], 11827) + femmesh.addVolume([2653, 2949, 2931, 1014], 11828) + femmesh.addVolume([2653, 1111, 2674, 3154], 11829) + femmesh.addVolume([2716, 1152, 2931, 2696], 11830) + femmesh.addVolume([2670, 2958, 2942, 1035], 11831) + femmesh.addVolume([2673, 1012, 2933, 2663], 11832) + femmesh.addVolume([2716, 2696, 3154, 1278], 11833) + femmesh.addVolume([1012, 2933, 2948, 2673], 11834) + femmesh.addVolume([2670, 1131, 3178, 2650], 11835) + femmesh.addVolume([1149, 2948, 2933, 2722], 11836) + femmesh.addVolume([2656, 2936, 2954, 1009], 11837) + femmesh.addVolume([3178, 1131, 2670, 3146], 11838) + femmesh.addVolume([1146, 2936, 2954, 2699], 11839) + femmesh.addVolume([1009, 2954, 2656, 2678], 11840) + femmesh.addVolume([1146, 2699, 2954, 2717], 11841) + femmesh.addVolume([2948, 2662, 1011, 2673], 11842) + femmesh.addVolume([1149, 2722, 2933, 2707], 11843) + femmesh.addVolume([2937, 1011, 2948, 2662], 11844) + femmesh.addVolume([2954, 1010, 2937, 2678], 11845) + femmesh.addVolume([2937, 1147, 2954, 2717], 11846) + femmesh.addVolume([1148, 2702, 2948, 2722], 11847) + femmesh.addVolume([2678, 1010, 2937, 2662], 11848) + femmesh.addVolume([2702, 1147, 2937, 2717], 11849) + femmesh.addVolume([2948, 1148, 2937, 2702], 11850) + femmesh.addVolume([2673, 1108, 2663, 3157], 11851) + femmesh.addVolume([2931, 1152, 2716, 2955], 11852) + femmesh.addVolume([2701, 3168, 3149, 1290], 11853) + femmesh.addVolume([2653, 1015, 2931, 2674], 11854) + femmesh.addVolume([3167, 2708, 3150, 1293], 11855) + femmesh.addVolume([1130, 3178, 2650, 3147], 11856) + femmesh.addVolume([1132, 3179, 2670, 3146], 11857) + femmesh.addVolume([1034, 2958, 2679, 2650], 11858) + femmesh.addVolume([2658, 2670, 1132, 3179], 11859) + femmesh.addVolume([2958, 2679, 2929, 1034], 11860) + femmesh.addVolume([1108, 3157, 2673, 3181], 11861) + femmesh.addVolume([2701, 2721, 3168, 1290], 11862) + femmesh.addVolume([2931, 1015, 2955, 2674], 11863) + femmesh.addVolume([3167, 2723, 2708, 1293], 11864) + femmesh.addVolume([2650, 2679, 1130, 3147], 11865) + femmesh.addVolume([2959, 2670, 2942, 1036], 11866) + femmesh.addVolume([1036, 2959, 2670, 2658], 11867) + femmesh.addVolume([2726, 3147, 3178, 1297], 11868) + femmesh.addVolume([3150, 1126, 2682, 3167], 11869) + femmesh.addVolume([3182, 2697, 3155, 1280], 11870) + femmesh.addVolume([1141, 2704, 2934, 2718], 11871) + femmesh.addVolume([1275, 3157, 3181, 2707], 11872) + femmesh.addVolume([1275, 3181, 2722, 2707], 11873) + femmesh.addVolume([2934, 1141, 2950, 2704], 11874) + femmesh.addVolume([2929, 2679, 2957, 1033], 11875) + femmesh.addVolume([2656, 1105, 2678, 3175], 11876) + femmesh.addVolume([1267, 3172, 2704, 2718], 11877) + femmesh.addVolume([3150, 2651, 1125, 3169], 11878) + femmesh.addVolume([2682, 3167, 1127, 3151], 11879) + femmesh.addVolume([3146, 2695, 3178, 1298], 11880) + femmesh.addVolume([1006, 2939, 2953, 2683], 11881) + femmesh.addVolume([2941, 2689, 2960, 2664], 11882) + femmesh.addVolume([2721, 2962, 1164, 2701], 11883) + femmesh.addVolume([2938, 1164, 2721, 2962], 11884) + femmesh.addVolume([3146, 2714, 2695, 1298], 11885) + femmesh.addVolume([3178, 2695, 2726, 1297], 11886) + femmesh.addVolume([2651, 1126, 2682, 3150], 11887) + femmesh.addVolume([2651, 1030, 2947, 2682], 11888) + femmesh.addVolume([1163, 2938, 2721, 2951], 11889) + femmesh.addVolume([3160, 2681, 1121, 3174], 11890) + femmesh.addVolume([2929, 1171, 2726, 2958], 11891) + femmesh.addVolume([1125, 2651, 2671, 3169], 11892) + femmesh.addVolume([2714, 3146, 2703, 1299], 11893) + femmesh.addVolume([3155, 1113, 2655, 3182], 11894) + femmesh.addVolume([2927, 2723, 1168, 2947], 11895) + femmesh.addVolume([2683, 1006, 2939, 2660], 11896) + femmesh.addVolume([2703, 3146, 3179, 1299], 11897) + femmesh.addVolume([2719, 2697, 3182, 1280], 11898) + femmesh.addVolume([2942, 2695, 1172, 2958], 11899) + femmesh.addVolume([2681, 2951, 1025, 2657], 11900) + femmesh.addVolume([2657, 1121, 2681, 3174], 11901) + femmesh.addVolume([2695, 2726, 1171, 2958], 11902) + femmesh.addVolume([2695, 1172, 2714, 2942], 11903) + femmesh.addVolume([2680, 2658, 1133, 3179], 11904) + femmesh.addVolume([2673, 1107, 3166, 2662], 11905) + femmesh.addVolume([3151, 2723, 3167, 1294], 11906) + femmesh.addVolume([3160, 3168, 2721, 1289], 11907) + femmesh.addVolume([1272, 3175, 2699, 2717], 11908) + femmesh.addVolume([1142, 2934, 2953, 2718], 11909) + femmesh.addVolume([3171, 1129, 2679, 3147], 11910) + femmesh.addVolume([1173, 2703, 2714, 2942], 11911) + femmesh.addVolume([3166, 1107, 2673, 3181], 11912) + femmesh.addVolume([2942, 1173, 2703, 2959], 11913) + femmesh.addVolume([2675, 2655, 1113, 3182], 11914) + femmesh.addVolume([2708, 1167, 2723, 2947], 11915) + femmesh.addVolume([3158, 2733, 3177, 2700], 11916) + femmesh.addVolume([2947, 1030, 2651, 2932], 11917) + femmesh.addVolume([2657, 3162, 1120, 3174], 11918) + femmesh.addVolume([1267, 3161, 3172, 2718], 11919) + femmesh.addVolume([3159, 2678, 1105, 3175], 11920) + femmesh.addVolume([2652, 2957, 2679, 1033], 11921) + femmesh.addVolume([2950, 1004, 2934, 2659], 11922) + femmesh.addVolume([3179, 2724, 2703, 1300], 11923) + femmesh.addVolume([2935, 1025, 2951, 2657], 11924) + femmesh.addVolume([2723, 1168, 2694, 2927], 11925) + femmesh.addVolume([2721, 2706, 1163, 2951], 11926) + femmesh.addVolume([1127, 2667, 2682, 3151], 11927) + femmesh.addVolume([1273, 2702, 3166, 2717], 11928) + femmesh.addVolume([2676, 1120, 2657, 3162], 11929) + femmesh.addVolume([2694, 3151, 3171, 1295], 11930) + femmesh.addVolume([2953, 2939, 1143, 2698], 11931) + femmesh.addVolume([3171, 2652, 1128, 3151], 11932) + femmesh.addVolume([2680, 3179, 1133, 3152], 11933) + femmesh.addVolume([2724, 2703, 1174, 2959], 11934) + femmesh.addVolume([2723, 3151, 2694, 1294], 11935) + femmesh.addVolume([2706, 3160, 2721, 1289], 11936) + femmesh.addVolume([1272, 3159, 3175, 2717], 11937) + femmesh.addVolume([2932, 1167, 2708, 2947], 11938) + femmesh.addVolume([2953, 2698, 1142, 2718], 11939) + femmesh.addVolume([1129, 2679, 2652, 3171], 11940) + femmesh.addVolume([2938, 1027, 2962, 2654], 11941) + femmesh.addVolume([1004, 2668, 2934, 2659], 11942) + femmesh.addVolume([3152, 2724, 3179, 1300], 11943) + femmesh.addVolume([2945, 2655, 1017, 2675], 11944) + femmesh.addVolume([3165, 2687, 2661, 3156], 11945) + femmesh.addVolume([2940, 1154, 2697, 2719], 11946) + femmesh.addVolume([2702, 1274, 3166, 2722], 11947) + femmesh.addVolume([2668, 2934, 2953, 1005], 11948) + femmesh.addVolume([3159, 1273, 3166, 2717], 11949) + femmesh.addVolume([1174, 2943, 2724, 2959], 11950) + femmesh.addVolume([3166, 1274, 3181, 2722], 11951) + femmesh.addVolume([2940, 1017, 2945, 2655], 11952) + femmesh.addVolume([2683, 2668, 2953, 1005], 11953) + femmesh.addVolume([3162, 1287, 3174, 2711], 11954) + femmesh.addVolume([1024, 2944, 2676, 2657], 11955) + femmesh.addVolume([3149, 2654, 1123, 3168], 11956) + femmesh.addVolume([1032, 2957, 2927, 2652], 11957) + femmesh.addVolume([2957, 2694, 1169, 2927], 11958) + femmesh.addVolume([3171, 2710, 2694, 1295], 11959) + femmesh.addVolume([2698, 2939, 1143, 2712], 11960) + femmesh.addVolume([2667, 1128, 2652, 3151], 11961) + femmesh.addVolume([2654, 2938, 1027, 2666], 11962) + femmesh.addVolume([2950, 1140, 2713, 2704], 11963) + femmesh.addVolume([1268, 2698, 3161, 2718], 11964) + femmesh.addVolume([3180, 2660, 1102, 3164], 11965) + femmesh.addVolume([2683, 1102, 2660, 3164], 11966) + femmesh.addVolume([1122, 3168, 2666, 3160], 11967) + femmesh.addVolume([1170, 2929, 2710, 2957], 11968) + femmesh.addVolume([2728, 1336, 2361, 2359], 11969) + femmesh.addVolume([2556, 2729, 2557, 1335], 11970) + femmesh.addVolume([2685, 2556, 2555, 1335], 11971) + femmesh.addVolume([2361, 2684, 2357, 1336], 11972) + femmesh.addVolume([1024, 2935, 2944, 2657], 11973) + femmesh.addVolume([2713, 1266, 3172, 2704], 11974) + femmesh.addVolume([1031, 2927, 2947, 2667], 11975) + femmesh.addVolume([2666, 2681, 1122, 3160], 11976) + femmesh.addVolume([2726, 2710, 1170, 2929], 11977) + femmesh.addVolume([2659, 2669, 1099, 3172], 11978) + femmesh.addVolume([2945, 1154, 2940, 2719], 11979) + femmesh.addVolume([1287, 3162, 2725, 2711], 11980) + femmesh.addVolume([2667, 2947, 1031, 2682], 11981) + femmesh.addVolume([2669, 1003, 2950, 2659], 11982) + femmesh.addVolume([2678, 1106, 2662, 3159], 11983) + femmesh.addVolume([1029, 2651, 2932, 2671], 11984) + femmesh.addVolume([1003, 2950, 2926, 2669], 11985) + femmesh.addVolume([3164, 2698, 3161, 1268], 11986) + femmesh.addVolume([2666, 1123, 2654, 3168], 11987) + femmesh.addVolume([2927, 2667, 1032, 2652], 11988) + femmesh.addVolume([1169, 2710, 2694, 2957], 11989) + femmesh.addVolume([2665, 2943, 1038, 2680], 11990) + femmesh.addVolume([3152, 2709, 2724, 1301], 11991) + femmesh.addVolume([2668, 1101, 2683, 3161], 11992) + femmesh.addVolume([1140, 2950, 2713, 2926], 11993) + femmesh.addVolume([2946, 1029, 2932, 2671], 11994) + femmesh.addVolume([3161, 1101, 2683, 3164], 11995) + femmesh.addVolume([1099, 3172, 2669, 3148], 11996) + femmesh.addVolume([3159, 1106, 2662, 3166], 11997) + femmesh.addVolume([1269, 3180, 3164, 2698], 11998) + femmesh.addVolume([3180, 2698, 1269, 2712], 11999) + femmesh.addVolume([3165, 2719, 3182, 1281], 12000) + femmesh.addVolume([2725, 3177, 3162, 1286], 12001) + femmesh.addVolume([2706, 2935, 1162, 2951], 12002) + femmesh.addVolume([2713, 3148, 3172, 1266], 12003) + femmesh.addVolume([3162, 2676, 1119, 3177], 12004) + femmesh.addVolume([3161, 2659, 1100, 3172], 12005) + femmesh.addVolume([1038, 2930, 2943, 2665], 12006) + femmesh.addVolume([2709, 2724, 1175, 2943], 12007) + femmesh.addVolume([2944, 2676, 2960, 1023], 12008) + femmesh.addVolume([1162, 2935, 2706, 2711], 12009) + femmesh.addVolume([1100, 2668, 2659, 3161], 12010) + femmesh.addVolume([3163, 2709, 3152, 1301], 12011) + femmesh.addVolume([1155, 2945, 2961, 2719], 12012) + femmesh.addVolume([2944, 1160, 2960, 2725], 12013) + femmesh.addVolume([1018, 2961, 2945, 2675], 12014) + femmesh.addVolume([1175, 2930, 2709, 2943], 12015) + femmesh.addVolume([3182, 1114, 2675, 3165], 12016) + femmesh.addVolume([1281, 3165, 2719, 2705], 12017) + femmesh.addVolume([2665, 2680, 1134, 3152], 12018) + femmesh.addVolume([2676, 2664, 2960, 1023], 12019) + femmesh.addVolume([2500, 2497, 2735, 2877], 12020) + femmesh.addVolume([2691, 2495, 2498, 2875], 12021) + femmesh.addVolume([2419, 2416, 2734, 2802], 12022) + femmesh.addVolume([2800, 2417, 2414, 2690], 12023) + femmesh.addVolume([1155, 2719, 2961, 2705], 12024) + femmesh.addVolume([2734, 2422, 2419, 2802], 12025) + femmesh.addVolume([2417, 2800, 2420, 2690], 12026) + femmesh.addVolume([2691, 2492, 2495, 2875], 12027) + femmesh.addVolume([2877, 2497, 2735, 2494], 12028) + femmesh.addVolume([1119, 2676, 2664, 3177], 12029) + femmesh.addVolume([2700, 3177, 2725, 1286], 12030) + femmesh.addVolume([2661, 2961, 1018, 2675], 12031) + femmesh.addVolume([2725, 1160, 2960, 2700], 12032) + femmesh.addVolume([2727, 3153, 1270, 3191], 12033) + femmesh.addVolume([2497, 2735, 889, 2500], 12034) + femmesh.addVolume([760, 2498, 2691, 2495], 12035) + femmesh.addVolume([2416, 2734, 862, 2419], 12036) + femmesh.addVolume([2417, 733, 2414, 2690], 12037) + femmesh.addVolume([3152, 1134, 2665, 3163], 12038) + femmesh.addVolume([3180, 1270, 3153, 3191], 12039) + femmesh.addVolume([2661, 2675, 1114, 3165], 12040) + femmesh.addVolume([734, 2417, 2420, 2690], 12041) + femmesh.addVolume([2419, 2734, 863, 2422], 12042) + femmesh.addVolume([2735, 2497, 888, 2494], 12043) + femmesh.addVolume([2495, 2691, 759, 2492], 12044) + femmesh.addVolume([2737, 2741, 3158, 2733], 12045) + femmesh.addVolume([2742, 2941, 2737, 2689], 12046) + femmesh.addVolume([3180, 2712, 1270, 3191], 12047) + femmesh.addVolume([2737, 2732, 2941, 2745], 12048) + femmesh.addVolume([3158, 2737, 2688, 2736], 12049) + femmesh.addVolume([2739, 2928, 2744, 2686], 12050) + femmesh.addVolume([2738, 2739, 2687, 3156], 12051) + femmesh.addVolume([2727, 1270, 2712, 3191], 12052) + femmesh.addVolume([2739, 2731, 2746, 2928], 12053) + femmesh.addVolume([2740, 2739, 3156, 2730], 12054) + femmesh.addVolume([2648, 3185, 21, 1336], 12055) + femmesh.addVolume([2553, 2549, 1333, 2552], 12056) + femmesh.addVolume([2363, 2364, 1334, 2360], 12057) + femmesh.addVolume([2553, 2554, 1333, 2551], 12058) + femmesh.addVolume([2365, 2364, 2362, 1334], 12059) + femmesh.addVolume([3165, 1282, 3156, 2730], 12060) + femmesh.addVolume([2733, 3158, 3177, 1285], 12061) + femmesh.addVolume([2664, 2688, 1118, 3177], 12062) + femmesh.addVolume([2960, 1159, 2732, 2700], 12063) + femmesh.addVolume([1156, 2961, 2731, 2705], 12064) + femmesh.addVolume([2705, 1282, 3165, 2730], 12065) + femmesh.addVolume([2941, 1159, 2732, 2960], 12066) + femmesh.addVolume([3158, 1118, 2688, 3177], 12067) + femmesh.addVolume([2686, 2961, 1019, 2661], 12068) + femmesh.addVolume([2700, 2733, 3177, 1285], 12069) + femmesh.addVolume([2689, 2941, 2960, 1022], 12070) + femmesh.addVolume([2960, 2664, 2689, 1022], 12071) + femmesh.addVolume([1019, 2928, 2961, 2686], 12072) + femmesh.addVolume([1156, 2928, 2731, 2961], 12073) + femmesh.addVolume([2962, 2654, 1028, 3195], 12074) + femmesh.addVolume([1028, 2671, 2946, 3195], 12075) + femmesh.addVolume([2727, 3153, 3191, 3194], 12076) + femmesh.addVolume([1115, 2687, 2661, 3165], 12077) + femmesh.addVolume([3186, 2649, 22, 1335], 12078) + femmesh.addVolume([2557, 2729, 26, 1335], 12079) + femmesh.addVolume([1336, 2728, 28, 2359], 12080) + femmesh.addVolume([2555, 22, 2685, 1335], 12081) + femmesh.addVolume([21, 2357, 2684, 1336], 12082) + femmesh.addVolume([1039, 2965, 2930, 2665], 12083) + femmesh.addVolume([2687, 3165, 1115, 3156], 12084) + femmesh.addVolume([1028, 2654, 2671, 3195], 12085) + femmesh.addVolume([1028, 2946, 2962, 3195], 12086) + femmesh.addVolume([2649, 1333, 2966, 2685], 12087) + femmesh.addVolume([2421, 2418, 2802, 2801], 12088) + femmesh.addVolume([2418, 2801, 2421, 2800], 12089) + femmesh.addVolume([2879, 2499, 2496, 2875], 12090) + femmesh.addVolume([2496, 2877, 2499, 2879], 12091) + femmesh.addVolume([3134, 2339, 2342, 3135], 12092) + femmesh.addVolume([2341, 3136, 2344, 3135], 12093) + femmesh.addVolume([2575, 2983, 2985, 2572], 12094) + femmesh.addVolume([2981, 2570, 2573, 2985], 12095) + femmesh.addVolume([2262, 2269, 811, 3060], 12096) + femmesh.addVolume([2266, 2265, 811, 3060], 12097) + femmesh.addVolume([1334, 2648, 2965, 2684], 12098) + femmesh.addVolume([2571, 2985, 2982, 2983], 12099) + femmesh.addVolume([2981, 2985, 2982, 2571], 12100) + femmesh.addVolume([3135, 3134, 3138, 2346], 12101) + femmesh.addVolume([3135, 3138, 3136, 2346], 12102) + femmesh.addVolume([2574, 2573, 2570, 2985], 12103) + femmesh.addVolume([2574, 2575, 2985, 2572], 12104) + femmesh.addVolume([3135, 2339, 2342, 2343], 12105) + femmesh.addVolume([3135, 2344, 2341, 2343], 12106) + femmesh.addVolume([2495, 2496, 2499, 2875], 12107) + femmesh.addVolume([2418, 2800, 2421, 2417], 12108) + femmesh.addVolume([2418, 2802, 2419, 2421], 12109) + femmesh.addVolume([2877, 2499, 2497, 2496], 12110) + femmesh.addVolume([2500, 2879, 2877, 2880], 12111) + femmesh.addVolume([2875, 2879, 2498, 2878], 12112) + femmesh.addVolume([2416, 2799, 2802, 2801], 12113) + femmesh.addVolume([2800, 2801, 2797, 2414], 12114) + femmesh.addVolume([2965, 1039, 2648, 2665], 12115) + femmesh.addVolume([3061, 3063, 2264, 3060], 12116) + femmesh.addVolume([3059, 2264, 3063, 3060], 12117) + femmesh.addVolume([3057, 2267, 3056, 3060], 12118) + femmesh.addVolume([2267, 3057, 3058, 3060], 12119) + femmesh.addVolume([2732, 1136, 2737, 2733], 12120) + femmesh.addVolume([2804, 2800, 2803, 2420], 12121) + femmesh.addVolume([2422, 2802, 2805, 2804], 12122) + femmesh.addVolume([2872, 2876, 2492, 2875], 12123) + femmesh.addVolume([2877, 2494, 2874, 2876], 12124) + femmesh.addVolume([2983, 2571, 2985, 2572], 12125) + femmesh.addVolume([2985, 2981, 2570, 2571], 12126) + femmesh.addVolume([3134, 3135, 2342, 2346], 12127) + femmesh.addVolume([3135, 3136, 2344, 2346], 12128) + femmesh.addVolume([3131, 3132, 2340, 3135], 12129) + femmesh.addVolume([3133, 2340, 3132, 3135], 12130) + femmesh.addVolume([2985, 2984, 2988, 2577], 12131) + femmesh.addVolume([2985, 2577, 2988, 2986], 12132) + femmesh.addVolume([3056, 2267, 2269, 3060], 12133) + femmesh.addVolume([2267, 3058, 2266, 3060], 12134) + femmesh.addVolume([3061, 2264, 2265, 3060], 12135) + femmesh.addVolume([2264, 3059, 2262, 3060], 12136) + femmesh.addVolume([2500, 2499, 2877, 2879], 12137) + femmesh.addVolume([2879, 2498, 2499, 2875], 12138) + femmesh.addVolume([2802, 2418, 2416, 2801], 12139) + femmesh.addVolume([2800, 2418, 2801, 2414], 12140) + femmesh.addVolume([2688, 2737, 2689, 942], 12141) + femmesh.addVolume([940, 2739, 2686, 2687], 12142) + femmesh.addVolume([1336, 28, 2692, 3184], 12143) + femmesh.addVolume([2804, 2422, 2802, 2421], 12144) + femmesh.addVolume([2800, 2804, 2421, 2420], 12145) + femmesh.addVolume([2496, 2492, 2876, 2875], 12146) + femmesh.addVolume([2876, 2877, 2494, 2496], 12147) + femmesh.addVolume([2341, 2340, 3133, 3135], 12148) + femmesh.addVolume([3131, 2340, 2339, 3135], 12149) + femmesh.addVolume([2985, 2573, 2984, 2577], 12150) + femmesh.addVolume([2986, 2985, 2577, 2575], 12151) + femmesh.addVolume([2985, 2570, 2574, 2571], 12152) + femmesh.addVolume([2985, 2571, 2574, 2572], 12153) + femmesh.addVolume([2342, 2346, 3135, 2343], 12154) + femmesh.addVolume([2346, 2344, 3135, 2343], 12155) + femmesh.addVolume([2730, 2739, 2731, 1138], 12156) + femmesh.addVolume([2497, 2877, 2500, 2499], 12157) + femmesh.addVolume([2495, 2499, 2498, 2875], 12158) + femmesh.addVolume([2416, 2802, 2419, 2418], 12159) + femmesh.addVolume([2414, 2800, 2418, 2417], 12160) + femmesh.addVolume([2267, 811, 2269, 3060], 12161) + femmesh.addVolume([2266, 811, 2267, 3060], 12162) + femmesh.addVolume([811, 2265, 2264, 3060], 12163) + femmesh.addVolume([811, 2264, 2262, 3060], 12164) + femmesh.addVolume([2729, 2693, 26, 1335], 12165) + femmesh.addVolume([2685, 22, 2649, 1335], 12166) + femmesh.addVolume([2692, 2728, 28, 1336], 12167) + femmesh.addVolume([21, 2684, 2648, 1336], 12168) + femmesh.addVolume([2419, 2802, 2422, 2421], 12169) + femmesh.addVolume([2420, 2421, 2800, 2417], 12170) + femmesh.addVolume([2492, 2496, 2495, 2875], 12171) + femmesh.addVolume([2497, 2494, 2877, 2496], 12172) + femmesh.addVolume([2340, 3135, 2341, 2343], 12173) + femmesh.addVolume([3135, 2340, 2339, 2343], 12174) + femmesh.addVolume([2985, 2574, 2573, 2577], 12175) + femmesh.addVolume([2574, 2577, 2985, 2575], 12176) + femmesh.addVolume([2981, 2978, 2567, 2982], 12177) + femmesh.addVolume([2982, 2980, 2569, 2983], 12178) + femmesh.addVolume([3139, 3138, 2347, 3136], 12179) + femmesh.addVolume([3134, 2345, 3137, 3138], 12180) + femmesh.addVolume([3153, 2672, 3191, 3194], 12181) + femmesh.addVolume([2878, 2882, 2879, 2502], 12182) + femmesh.addVolume([2880, 2879, 2882, 2502], 12183) + femmesh.addVolume([2798, 2799, 2415, 2801], 12184) + femmesh.addVolume([2801, 2415, 2798, 2797], 12185) + femmesh.addVolume([2952, 2727, 3191, 3194], 12186) + femmesh.addVolume([2263, 3062, 3059, 3063], 12187) + femmesh.addVolume([2645, 3056, 3053, 3057], 12188) + femmesh.addVolume([3064, 3063, 2268, 3061], 12189) + femmesh.addVolume([3055, 3058, 2647, 3057], 12190) + femmesh.addVolume([2807, 2805, 2804, 2424], 12191) + femmesh.addVolume([2424, 2804, 2807, 2803], 12192) + femmesh.addVolume([2873, 2876, 2874, 2493], 12193) + femmesh.addVolume([2872, 2876, 2873, 2493], 12194) + femmesh.addVolume([3131, 2336, 3132, 3128], 12195) + femmesh.addVolume([3132, 3133, 3130, 2338], 12196) + femmesh.addVolume([2576, 2987, 2984, 2988], 12197) + femmesh.addVolume([2986, 2988, 2989, 2578], 12198) + femmesh.addVolume([2982, 2567, 2981, 2571], 12199) + femmesh.addVolume([2571, 2982, 2569, 2983], 12200) + femmesh.addVolume([3136, 3138, 2347, 2346], 12201) + femmesh.addVolume([3138, 3134, 2345, 2346], 12202) + femmesh.addVolume([2878, 2879, 2498, 2502], 12203) + femmesh.addVolume([2880, 2500, 2879, 2502], 12204) + femmesh.addVolume([2415, 2799, 2416, 2801], 12205) + femmesh.addVolume([2415, 2797, 2801, 2414], 12206) + femmesh.addVolume([2672, 1103, 3153, 3191], 12207) + femmesh.addVolume([3063, 3059, 2263, 2264], 12208) + femmesh.addVolume([2267, 2647, 3058, 3057], 12209) + femmesh.addVolume([2268, 3063, 2264, 3061], 12210) + femmesh.addVolume([2267, 3056, 2645, 3057], 12211) + femmesh.addVolume([2422, 2804, 2805, 2424], 12212) + femmesh.addVolume([2803, 2424, 2804, 2420], 12213) + femmesh.addVolume([2876, 2872, 2492, 2493], 12214) + femmesh.addVolume([2874, 2876, 2494, 2493], 12215) + femmesh.addVolume([2981, 2567, 2570, 2571], 12216) + femmesh.addVolume([2983, 2569, 2571, 2572], 12217) + femmesh.addVolume([2347, 2344, 3136, 2346], 12218) + femmesh.addVolume([2342, 2345, 3134, 2346], 12219) + femmesh.addVolume([2340, 2336, 3132, 3131], 12220) + femmesh.addVolume([3133, 3132, 2340, 2338], 12221) + femmesh.addVolume([2576, 2988, 2984, 2577], 12222) + femmesh.addVolume([2988, 2986, 2577, 2578], 12223) + femmesh.addVolume([3058, 2267, 2266, 2647], 12224) + femmesh.addVolume([3056, 2645, 2269, 2267], 12225) + femmesh.addVolume([2263, 3059, 2262, 2264], 12226) + femmesh.addVolume([2264, 2265, 2268, 3061], 12227) + femmesh.addVolume([2879, 2500, 2499, 2502], 12228) + femmesh.addVolume([2499, 2498, 2879, 2502], 12229) + femmesh.addVolume([2415, 2416, 2418, 2801], 12230) + femmesh.addVolume([2801, 2418, 2415, 2414], 12231) + femmesh.addVolume([1104, 2672, 3153, 3194], 12232) + femmesh.addVolume([3180, 3153, 1103, 3191], 12233) + femmesh.addVolume([2672, 1008, 2952, 3194], 12234) + femmesh.addVolume([2804, 2424, 2421, 2420], 12235) + femmesh.addVolume([2422, 2421, 2804, 2424], 12236) + femmesh.addVolume([2496, 2494, 2876, 2493], 12237) + femmesh.addVolume([2876, 2492, 2496, 2493], 12238) + femmesh.addVolume([1145, 2727, 2952, 3194], 12239) + femmesh.addVolume([3180, 1103, 2660, 3191], 12240) + femmesh.addVolume([2336, 2340, 2339, 3131], 12241) + femmesh.addVolume([2340, 2341, 3133, 2338], 12242) + femmesh.addVolume([2984, 2573, 2576, 2577], 12243) + femmesh.addVolume([2575, 2577, 2986, 2578], 12244) + femmesh.addVolume([1136, 2741, 2737, 2733], 12245) + femmesh.addVolume([3184, 2709, 3163, 1302], 12246) + femmesh.addVolume([2979, 2568, 2982, 2980], 12247) + femmesh.addVolume([2978, 2982, 2979, 2568], 12248) + femmesh.addVolume([3141, 3137, 2349, 3138], 12249) + femmesh.addVolume([3138, 2349, 3141, 3139], 12250) + femmesh.addVolume([2952, 2727, 1144, 3191], 12251) + femmesh.addVolume([1271, 3153, 2727, 3194], 12252) + femmesh.addVolume([2501, 2878, 2882, 2881], 12253) + femmesh.addVolume([2503, 2882, 2880, 2883], 12254) + femmesh.addVolume([2798, 2411, 2794, 2797], 12255) + femmesh.addVolume([2796, 2799, 2413, 2798], 12256) + femmesh.addVolume([2689, 2737, 2742, 942], 12257) + femmesh.addVolume([2687, 940, 2739, 2738], 12258) + femmesh.addVolume([2712, 2939, 1144, 3191], 12259) + femmesh.addVolume([2646, 3053, 3054, 3057], 12260) + femmesh.addVolume([3054, 3055, 2646, 3057], 12261) + femmesh.addVolume([3063, 2271, 3066, 3064], 12262) + femmesh.addVolume([3066, 3063, 3062, 2271], 12263) + femmesh.addVolume([2807, 2803, 2806, 2423], 12264) + femmesh.addVolume([2808, 2425, 2805, 2807], 12265) + femmesh.addVolume([2873, 2872, 2489, 2869], 12266) + femmesh.addVolume([2873, 2491, 2874, 2871], 12267) + femmesh.addVolume([1165, 2701, 2962, 3195], 12268) + femmesh.addVolume([3129, 3132, 3130, 2337], 12269) + femmesh.addVolume([3129, 3128, 3132, 2337], 12270) + femmesh.addVolume([2988, 2580, 2991, 2989], 12271) + femmesh.addVolume([2987, 2991, 2988, 2580], 12272) + femmesh.addVolume([2569, 2982, 2568, 2980], 12273) + femmesh.addVolume([2982, 2978, 2567, 2568], 12274) + femmesh.addVolume([2347, 2349, 3138, 3139], 12275) + femmesh.addVolume([2349, 3137, 2345, 3138], 12276) + femmesh.addVolume([2671, 1124, 3169, 3195], 12277) + femmesh.addVolume([2501, 2882, 2878, 2502], 12278) + femmesh.addVolume([2882, 2503, 2880, 2502], 12279) + femmesh.addVolume([2415, 2411, 2798, 2797], 12280) + femmesh.addVolume([2415, 2413, 2799, 2798], 12281) + femmesh.addVolume([2360, 1334, 2363, 2684], 12282) + femmesh.addVolume([1333, 2552, 2549, 2685], 12283) + femmesh.addVolume([2362, 2728, 2365, 1334], 12284) + femmesh.addVolume([1333, 2551, 2554, 2729], 12285) + femmesh.addVolume([3053, 2646, 2645, 3057], 12286) + femmesh.addVolume([3055, 2647, 2646, 3057], 12287) + femmesh.addVolume([3062, 3063, 2263, 2271], 12288) + femmesh.addVolume([2268, 2271, 3063, 3064], 12289) + femmesh.addVolume([2807, 2425, 2805, 2424], 12290) + femmesh.addVolume([2803, 2807, 2424, 2423], 12291) + femmesh.addVolume([2872, 2873, 2489, 2493], 12292) + femmesh.addVolume([2491, 2873, 2874, 2493], 12293) + femmesh.addVolume([2982, 2569, 2568, 2571], 12294) + femmesh.addVolume([2568, 2567, 2982, 2571], 12295) + femmesh.addVolume([2349, 2347, 3138, 2346], 12296) + femmesh.addVolume([3138, 2345, 2349, 2346], 12297) + femmesh.addVolume([2709, 3184, 2692, 1302], 12298) + femmesh.addVolume([3132, 3128, 2336, 2337], 12299) + femmesh.addVolume([3132, 2338, 3130, 2337], 12300) + femmesh.addVolume([2988, 2576, 2987, 2580], 12301) + femmesh.addVolume([2989, 2988, 2580, 2578], 12302) + femmesh.addVolume([2498, 2501, 2878, 2502], 12303) + femmesh.addVolume([2503, 2500, 2880, 2502], 12304) + femmesh.addVolume([2416, 2413, 2799, 2415], 12305) + femmesh.addVolume([2797, 2415, 2411, 2414], 12306) + femmesh.addVolume([2677, 1109, 3173, 3192], 12307) + femmesh.addVolume([3173, 1276, 2720, 3192], 12308) + femmesh.addVolume([1109, 2663, 3157, 3192], 12309) + femmesh.addVolume([2949, 1013, 2677, 3192], 12310) + femmesh.addVolume([2949, 2720, 1150, 3192], 12311) + femmesh.addVolume([1112, 2674, 3170, 3193], 12312) + femmesh.addVolume([3170, 2716, 1279, 3193], 12313) + femmesh.addVolume([2933, 2663, 1013, 3192], 12314) + femmesh.addVolume([3157, 2707, 1276, 3192], 12315) + femmesh.addVolume([1112, 3155, 2655, 3193], 12316) + femmesh.addVolume([2697, 3155, 1279, 3193], 12317) + femmesh.addVolume([2707, 2933, 1150, 3192], 12318) + femmesh.addVolume([2646, 2647, 2267, 3057], 12319) + femmesh.addVolume([2267, 2645, 2646, 3057], 12320) + femmesh.addVolume([2264, 2263, 3063, 2271], 12321) + femmesh.addVolume([2271, 3063, 2264, 2268], 12322) + femmesh.addVolume([2952, 3191, 2672, 3194], 12323) + femmesh.addVolume([2731, 2739, 2746, 1138], 12324) + femmesh.addVolume([2712, 1144, 2727, 3191], 12325) + femmesh.addVolume([2805, 2425, 2422, 2424], 12326) + femmesh.addVolume([2424, 2420, 2803, 2423], 12327) + femmesh.addVolume([2492, 2872, 2489, 2493], 12328) + femmesh.addVolume([2874, 2494, 2491, 2493], 12329) + femmesh.addVolume([2340, 2338, 3132, 2337], 12330) + femmesh.addVolume([3132, 2336, 2340, 2337], 12331) + femmesh.addVolume([2577, 2576, 2988, 2580], 12332) + femmesh.addVolume([2580, 2988, 2577, 2578], 12333) + femmesh.addVolume([2963, 24, 1333, 2693], 12334) + femmesh.addVolume([2955, 1153, 2716, 3193], 12335) + femmesh.addVolume([2977, 2566, 2979, 2980], 12336) + femmesh.addVolume([2564, 2978, 2975, 2979], 12337) + femmesh.addVolume([3141, 2350, 3142, 3139], 12338) + femmesh.addVolume([3140, 3137, 2348, 3141], 12339) + femmesh.addVolume([3183, 26, 2693, 1335], 12340) + femmesh.addVolume([2505, 2882, 2885, 2881], 12341) + femmesh.addVolume([2882, 2505, 2885, 2883], 12342) + femmesh.addVolume([2798, 2412, 2795, 2794], 12343) + femmesh.addVolume([2796, 2795, 2798, 2412], 12344) + femmesh.addVolume([3066, 3064, 2272, 3067], 12345) + femmesh.addVolume([3053, 3050, 2642, 3054], 12346) + femmesh.addVolume([2644, 3054, 3052, 3055], 12347) + femmesh.addVolume([2270, 3065, 3062, 3066], 12348) + femmesh.addVolume([2946, 2715, 1165, 3195], 12349) + femmesh.addVolume([2807, 2810, 2427, 2806], 12350) + femmesh.addVolume([2427, 2808, 2810, 2807], 12351) + femmesh.addVolume([2873, 2871, 2870, 2490], 12352) + femmesh.addVolume([2873, 2490, 2870, 2869], 12353) + femmesh.addVolume([3128, 3125, 2333, 3129], 12354) + femmesh.addVolume([3127, 3130, 2335, 3129], 12355) + femmesh.addVolume([2989, 2991, 2992, 2581], 12356) + femmesh.addVolume([2987, 2579, 2990, 2991], 12357) + femmesh.addVolume([2940, 1016, 2655, 3193], 12358) + femmesh.addVolume([1219, 2500, 2735, 2877], 12359) + femmesh.addVolume([2734, 2416, 1193, 2802], 12360) + femmesh.addVolume([2691, 2498, 985, 2875], 12361) + femmesh.addVolume([959, 2800, 2414, 2690], 12362) + femmesh.addVolume([1265, 2693, 2713, 3183], 12363) + femmesh.addVolume([1124, 2654, 3149, 3195], 12364) + femmesh.addVolume([2422, 2734, 1194, 2802], 12365) + femmesh.addVolume([2690, 2800, 2420, 960], 12366) + femmesh.addVolume([2492, 2691, 984, 2875], 12367) + femmesh.addVolume([2877, 2735, 1218, 2494], 12368) + femmesh.addVolume([2566, 2568, 2979, 2980], 12369) + femmesh.addVolume([2978, 2979, 2564, 2568], 12370) + femmesh.addVolume([2349, 2350, 3141, 3139], 12371) + femmesh.addVolume([2349, 2348, 3137, 3141], 12372) + femmesh.addVolume([1016, 2955, 2674, 3193], 12373) + femmesh.addVolume([2503, 2505, 2882, 2883], 12374) + femmesh.addVolume([2501, 2882, 2505, 2881], 12375) + femmesh.addVolume([2794, 2798, 2412, 2411], 12376) + femmesh.addVolume([2798, 2413, 2796, 2412], 12377) + femmesh.addVolume([1265, 2713, 3148, 3183], 12378) + femmesh.addVolume([1008, 2656, 2936, 3194], 12379) + femmesh.addVolume([1139, 2713, 2963, 2926], 12380) + femmesh.addVolume([2272, 3066, 2271, 3064], 12381) + femmesh.addVolume([3054, 2642, 3053, 2646], 12382) + femmesh.addVolume([2644, 2646, 3054, 3055], 12383) + femmesh.addVolume([3066, 3062, 2270, 2271], 12384) + femmesh.addVolume([2564, 2567, 2978, 2568], 12385) + femmesh.addVolume([2568, 2566, 2569, 2980], 12386) + femmesh.addVolume([2347, 2350, 2349, 3139], 12387) + femmesh.addVolume([2348, 3137, 2345, 2349], 12388) + femmesh.addVolume([2699, 1145, 2936, 3194], 12389) + femmesh.addVolume([2699, 3175, 1271, 3194], 12390) + femmesh.addVolume([2806, 2427, 2807, 2423], 12391) + femmesh.addVolume([2427, 2425, 2808, 2807], 12392) + femmesh.addVolume([2871, 2873, 2491, 2490], 12393) + femmesh.addVolume([2490, 2873, 2489, 2869], 12394) + femmesh.addVolume([2882, 2501, 2505, 2502], 12395) + femmesh.addVolume([2505, 2503, 2882, 2502], 12396) + femmesh.addVolume([2798, 2415, 2413, 2412], 12397) + femmesh.addVolume([2415, 2412, 2798, 2411], 12398) + femmesh.addVolume([2739, 2730, 2740, 1138], 12399) + femmesh.addVolume([2656, 1104, 3175, 3194], 12400) + femmesh.addVolume([3129, 3130, 2335, 2337], 12401) + femmesh.addVolume([3129, 2333, 3128, 2337], 12402) + femmesh.addVolume([2991, 2989, 2580, 2581], 12403) + femmesh.addVolume([2579, 2991, 2987, 2580], 12404) + femmesh.addVolume([2697, 1153, 2940, 3193], 12405) + femmesh.addVolume([2271, 2268, 2272, 3064], 12406) + femmesh.addVolume([3053, 2642, 2645, 2646], 12407) + femmesh.addVolume([2270, 3062, 2263, 2271], 12408) + femmesh.addVolume([2647, 2646, 2644, 3055], 12409) + femmesh.addVolume([1139, 2963, 2713, 2693], 12410) + femmesh.addVolume([2807, 2427, 2425, 2424], 12411) + femmesh.addVolume([2424, 2807, 2427, 2423], 12412) + femmesh.addVolume([2493, 2873, 2489, 2490], 12413) + femmesh.addVolume([2493, 2491, 2873, 2490], 12414) + femmesh.addVolume([3128, 2333, 2336, 2337], 12415) + femmesh.addVolume([2335, 3130, 2338, 2337], 12416) + femmesh.addVolume([2987, 2576, 2579, 2580], 12417) + femmesh.addVolume([2578, 2580, 2989, 2581], 12418) + femmesh.addVolume([2565, 2979, 2975, 2976], 12419) + femmesh.addVolume([2979, 2565, 2977, 2976], 12420) + femmesh.addVolume([3140, 2352, 3144, 3141], 12421) + femmesh.addVolume([3144, 3141, 2352, 3142], 12422) + femmesh.addVolume([2884, 2885, 2881, 2504], 12423) + femmesh.addVolume([2883, 2885, 2886, 2506], 12424) + femmesh.addVolume([2410, 2793, 2796, 2795], 12425) + femmesh.addVolume([2794, 2795, 2791, 2408], 12426) + femmesh.addVolume([3051, 3054, 3052, 2643], 12427) + femmesh.addVolume([3054, 3051, 3050, 2643], 12428) + femmesh.addVolume([2274, 3069, 3066, 3067], 12429) + femmesh.addVolume([3065, 3066, 2274, 3069], 12430) + femmesh.addVolume([2732, 2745, 2737, 1136], 12431) + femmesh.addVolume([1165, 2962, 2946, 3195], 12432) + femmesh.addVolume([2806, 2810, 2426, 2809], 12433) + femmesh.addVolume([2811, 2428, 2808, 2810], 12434) + femmesh.addVolume([2871, 2870, 2488, 2868], 12435) + femmesh.addVolume([2486, 2870, 2869, 2866], 12436) + femmesh.addVolume([2964, 25, 2692, 1334], 12437) + femmesh.addVolume([2739, 2686, 2744, 940], 12438) + femmesh.addVolume([2737, 942, 2688, 2736], 12439) + femmesh.addVolume([3126, 2334, 3125, 3129], 12440) + femmesh.addVolume([2334, 3126, 3127, 3129], 12441) + femmesh.addVolume([2583, 2994, 2991, 2992], 12442) + femmesh.addVolume([2991, 2583, 2990, 2994], 12443) + femmesh.addVolume([1124, 2671, 2654, 3195], 12444) + femmesh.addVolume([760, 985, 2691, 2498], 12445) + femmesh.addVolume([1219, 889, 2735, 2500], 12446) + femmesh.addVolume([1193, 2734, 862, 2416], 12447) + femmesh.addVolume([959, 2414, 733, 2690], 12448) + femmesh.addVolume([2977, 2979, 2566, 2565], 12449) + femmesh.addVolume([2979, 2975, 2564, 2565], 12450) + femmesh.addVolume([3142, 3141, 2352, 2350], 12451) + femmesh.addVolume([2348, 2352, 3140, 3141], 12452) + femmesh.addVolume([2883, 2505, 2885, 2506], 12453) + femmesh.addVolume([2505, 2881, 2885, 2504], 12454) + femmesh.addVolume([2795, 2796, 2410, 2412], 12455) + femmesh.addVolume([2795, 2794, 2412, 2408], 12456) + femmesh.addVolume([2564, 2568, 2979, 2565], 12457) + femmesh.addVolume([2566, 2979, 2568, 2565], 12458) + femmesh.addVolume([2352, 3141, 2349, 2350], 12459) + femmesh.addVolume([2349, 2352, 2348, 3141], 12460) + femmesh.addVolume([2642, 3054, 3050, 2643], 12461) + femmesh.addVolume([2644, 3052, 3054, 2643], 12462) + femmesh.addVolume([2274, 3065, 2270, 3066], 12463) + femmesh.addVolume([3066, 2272, 2274, 3067], 12464) + femmesh.addVolume([2505, 2883, 2503, 2506], 12465) + femmesh.addVolume([2881, 2505, 2501, 2504], 12466) + femmesh.addVolume([2411, 2412, 2794, 2408], 12467) + femmesh.addVolume([2410, 2796, 2413, 2412], 12468) + femmesh.addVolume([715, 2360, 2363, 2684], 12469) + femmesh.addVolume([2552, 778, 2549, 2685], 12470) + femmesh.addVolume([2365, 844, 2728, 2362], 12471) + femmesh.addVolume([2554, 2729, 2551, 907], 12472) + femmesh.addVolume([2810, 2426, 2427, 2806], 12473) + femmesh.addVolume([2808, 2810, 2428, 2427], 12474) + femmesh.addVolume([2870, 2869, 2490, 2486], 12475) + femmesh.addVolume([2870, 2871, 2488, 2490], 12476) + femmesh.addVolume([863, 2734, 1194, 2422], 12477) + femmesh.addVolume([734, 2690, 2420, 960], 12478) + femmesh.addVolume([984, 759, 2691, 2492], 12479) + femmesh.addVolume([888, 1218, 2735, 2494], 12480) + femmesh.addVolume([3066, 2270, 2274, 2271], 12481) + femmesh.addVolume([2642, 2646, 3054, 2643], 12482) + femmesh.addVolume([2644, 3054, 2646, 2643], 12483) + femmesh.addVolume([2271, 2274, 3066, 2272], 12484) + femmesh.addVolume([2334, 3127, 2335, 3129], 12485) + femmesh.addVolume([2334, 2333, 3125, 3129], 12486) + femmesh.addVolume([2992, 2991, 2583, 2581], 12487) + femmesh.addVolume([2583, 2990, 2579, 2991], 12488) + femmesh.addVolume([2428, 2425, 2808, 2427], 12489) + femmesh.addVolume([2427, 2806, 2426, 2423], 12490) + femmesh.addVolume([2871, 2491, 2488, 2490], 12491) + femmesh.addVolume([2869, 2489, 2490, 2486], 12492) + femmesh.addVolume([3129, 2334, 2333, 2337], 12493) + femmesh.addVolume([2334, 3129, 2335, 2337], 12494) + femmesh.addVolume([2583, 2991, 2579, 2580], 12495) + femmesh.addVolume([2580, 2583, 2991, 2581], 12496) + femmesh.addVolume([2974, 2977, 2563, 2976], 12497) + femmesh.addVolume([2975, 2970, 2561, 2976], 12498) + femmesh.addVolume([2351, 3143, 3140, 3144], 12499) + femmesh.addVolume([3142, 3144, 3145, 2353], 12500) + femmesh.addVolume([2886, 2508, 2885, 2888], 12501) + femmesh.addVolume([2884, 2885, 2508, 2888], 12502) + femmesh.addVolume([2793, 2409, 2792, 2795], 12503) + femmesh.addVolume([2792, 2795, 2409, 2791], 12504) + femmesh.addVolume([3049, 3052, 2641, 3051], 12505) + femmesh.addVolume([2639, 3050, 3047, 3051], 12506) + femmesh.addVolume([3068, 3065, 2273, 3069], 12507) + femmesh.addVolume([3069, 2275, 3070, 3067], 12508) + femmesh.addVolume([2813, 2430, 2810, 2809], 12509) + femmesh.addVolume([2810, 2813, 2811, 2430], 12510) + femmesh.addVolume([2870, 2868, 2867, 2487], 12511) + femmesh.addVolume([2870, 2487, 2867, 2866], 12512) + femmesh.addVolume([3127, 2332, 3124, 3126], 12513) + femmesh.addVolume([2330, 3125, 3122, 3126], 12514) + femmesh.addVolume([2994, 2995, 2992, 2584], 12515) + femmesh.addVolume([2990, 2582, 2993, 2994], 12516) + femmesh.addVolume([2964, 2709, 1176, 2930], 12517) + femmesh.addVolume([2564, 2975, 2561, 2565], 12518) + femmesh.addVolume([2563, 2977, 2566, 2565], 12519) + femmesh.addVolume([2350, 2352, 3142, 2353], 12520) + femmesh.addVolume([3140, 2348, 2351, 2352], 12521) + femmesh.addVolume([2561, 2565, 2975, 2976], 12522) + femmesh.addVolume([2565, 2563, 2977, 2976], 12523) + femmesh.addVolume([2351, 3144, 3140, 2352], 12524) + femmesh.addVolume([3144, 3142, 2352, 2353], 12525) + femmesh.addVolume([2508, 2885, 2505, 2506], 12526) + femmesh.addVolume([2885, 2508, 2505, 2504], 12527) + femmesh.addVolume([2795, 2410, 2409, 2412], 12528) + femmesh.addVolume([2412, 2409, 2795, 2408], 12529) + femmesh.addVolume([2886, 2885, 2508, 2506], 12530) + femmesh.addVolume([2884, 2508, 2885, 2504], 12531) + femmesh.addVolume([2410, 2409, 2793, 2795], 12532) + femmesh.addVolume([2791, 2795, 2409, 2408], 12533) + femmesh.addVolume([2272, 2275, 2274, 3067], 12534) + femmesh.addVolume([2273, 3065, 2270, 2274], 12535) + femmesh.addVolume([2641, 3052, 2644, 2643], 12536) + femmesh.addVolume([3050, 2639, 2642, 2643], 12537) + femmesh.addVolume([2274, 2275, 3069, 3067], 12538) + femmesh.addVolume([2274, 2273, 3065, 3069], 12539) + femmesh.addVolume([3051, 2639, 3050, 2643], 12540) + femmesh.addVolume([3051, 3052, 2641, 2643], 12541) + femmesh.addVolume([2427, 2810, 2428, 2430], 12542) + femmesh.addVolume([2810, 2430, 2427, 2426], 12543) + femmesh.addVolume([2488, 2487, 2870, 2490], 12544) + femmesh.addVolume([2490, 2487, 2870, 2486], 12545) + femmesh.addVolume([2428, 2810, 2811, 2430], 12546) + femmesh.addVolume([2426, 2810, 2430, 2809], 12547) + femmesh.addVolume([2868, 2870, 2488, 2487], 12548) + femmesh.addVolume([2486, 2487, 2870, 2866], 12549) + femmesh.addVolume([2334, 2330, 3125, 2333], 12550) + femmesh.addVolume([2332, 2335, 2334, 3127], 12551) + femmesh.addVolume([2582, 2990, 2579, 2583], 12552) + femmesh.addVolume([2583, 2584, 2992, 2581], 12553) + femmesh.addVolume([2330, 2334, 3125, 3126], 12554) + femmesh.addVolume([2332, 3127, 2334, 3126], 12555) + femmesh.addVolume([2992, 2583, 2994, 2584], 12556) + femmesh.addVolume([2583, 2582, 2990, 2994], 12557) + femmesh.addVolume([2562, 2970, 2971, 2976], 12558) + femmesh.addVolume([2974, 2562, 2971, 2976], 12559) + femmesh.addVolume([2355, 2968, 3144, 3145], 12560) + femmesh.addVolume([3144, 3143, 2968, 2355], 12561) + femmesh.addVolume([2884, 2507, 2887, 2888], 12562) + femmesh.addVolume([2509, 2886, 2889, 2888], 12563) + femmesh.addVolume([2793, 2407, 2790, 2792], 12564) + femmesh.addVolume([2792, 2788, 2791, 2405], 12565) + femmesh.addVolume([3047, 3048, 2640, 3051], 12566) + femmesh.addVolume([3048, 3049, 2640, 3051], 12567) + femmesh.addVolume([3069, 2277, 3072, 3070], 12568) + femmesh.addVolume([3072, 3068, 2277, 3069], 12569) + femmesh.addVolume([2936, 2952, 1008, 3194], 12570) + femmesh.addVolume([2431, 2811, 2814, 2813], 12571) + femmesh.addVolume([2809, 2813, 2429, 2812], 12572) + femmesh.addVolume([2865, 2485, 2867, 2868], 12573) + femmesh.addVolume([2863, 2867, 2483, 2866], 12574) + femmesh.addVolume([2672, 1104, 2656, 3194], 12575) + femmesh.addVolume([1008, 2672, 2656, 3194], 12576) + femmesh.addVolume([3122, 3123, 2331, 3126], 12577) + femmesh.addVolume([3123, 3124, 2331, 3126], 12578) + femmesh.addVolume([2994, 2586, 2997, 2995], 12579) + femmesh.addVolume([2997, 2993, 2586, 2994], 12580) + femmesh.addVolume([2952, 2936, 1145, 3194], 12581) + femmesh.addVolume([2692, 2709, 1176, 2964], 12582) + femmesh.addVolume([1104, 3153, 3175, 3194], 12583) + femmesh.addVolume([1271, 3175, 3153, 3194], 12584) + femmesh.addVolume([1145, 2699, 2727, 3194], 12585) + femmesh.addVolume([3157, 3173, 1109, 3192], 12586) + femmesh.addVolume([3173, 3157, 1276, 3192], 12587) + femmesh.addVolume([2949, 2933, 1013, 3192], 12588) + femmesh.addVolume([2949, 1150, 2933, 3192], 12589) + femmesh.addVolume([2677, 2663, 1109, 3192], 12590) + femmesh.addVolume([1112, 3170, 3155, 3193], 12591) + femmesh.addVolume([3155, 3170, 1279, 3193], 12592) + femmesh.addVolume([1153, 2697, 2716, 3193], 12593) + femmesh.addVolume([2720, 1276, 2707, 3192], 12594) + femmesh.addVolume([2716, 2697, 1279, 3193], 12595) + femmesh.addVolume([2677, 1013, 2663, 3192], 12596) + femmesh.addVolume([1112, 2655, 2674, 3193], 12597) + femmesh.addVolume([2707, 1150, 2720, 3192], 12598) + femmesh.addVolume([2728, 2361, 2362, 2359], 12599) + femmesh.addVolume([2729, 2557, 2554, 2556], 12600) + femmesh.addVolume([2552, 2555, 2685, 2556], 12601) + femmesh.addVolume([2357, 2360, 2684, 2361], 12602) + femmesh.addVolume([2727, 2699, 1271, 3194], 12603) + femmesh.addVolume([2565, 2561, 2562, 2976], 12604) + femmesh.addVolume([2563, 2565, 2562, 2976], 12605) + femmesh.addVolume([2352, 2351, 3144, 2355], 12606) + femmesh.addVolume([2355, 3144, 2352, 2353], 12607) + femmesh.addVolume([2506, 2508, 2886, 2509], 12608) + femmesh.addVolume([2507, 2508, 2884, 2504], 12609) + femmesh.addVolume([2408, 2409, 2791, 2405], 12610) + femmesh.addVolume([2793, 2410, 2407, 2409], 12611) + femmesh.addVolume([2562, 2974, 2563, 2976], 12612) + femmesh.addVolume([2562, 2561, 2970, 2976], 12613) + femmesh.addVolume([3143, 3144, 2351, 2355], 12614) + femmesh.addVolume([3145, 3144, 2355, 2353], 12615) + femmesh.addVolume([3051, 2641, 2640, 2643], 12616) + femmesh.addVolume([2639, 3051, 2640, 2643], 12617) + femmesh.addVolume([2277, 3069, 2274, 2275], 12618) + femmesh.addVolume([2274, 2277, 2273, 3069], 12619) + femmesh.addVolume([2886, 2509, 2508, 2888], 12620) + femmesh.addVolume([2507, 2884, 2508, 2888], 12621) + femmesh.addVolume([2407, 2792, 2793, 2409], 12622) + femmesh.addVolume([2792, 2791, 2409, 2405], 12623) + femmesh.addVolume([2431, 2428, 2811, 2430], 12624) + femmesh.addVolume([2426, 2430, 2429, 2809], 12625) + femmesh.addVolume([2485, 2868, 2488, 2487], 12626) + femmesh.addVolume([2487, 2486, 2483, 2866], 12627) + femmesh.addVolume([2973, 2974, 2560, 2971], 12628) + femmesh.addVolume([2558, 2970, 2969, 2971], 12629) + femmesh.addVolume([3143, 2354, 2972, 2968], 12630) + femmesh.addVolume([2356, 2967, 2968, 3145], 12631) + femmesh.addVolume([2330, 2331, 2334, 3126], 12632) + femmesh.addVolume([2331, 2332, 2334, 3126], 12633) + femmesh.addVolume([2994, 2583, 2586, 2584], 12634) + femmesh.addVolume([2586, 2582, 2583, 2994], 12635) + femmesh.addVolume([2641, 2640, 3049, 3051], 12636) + femmesh.addVolume([3047, 2640, 2639, 3051], 12637) + femmesh.addVolume([2273, 2277, 3068, 3069], 12638) + femmesh.addVolume([3070, 3069, 2277, 2275], 12639) + femmesh.addVolume([3169, 1291, 2715, 3195], 12640) + femmesh.addVolume([2813, 2429, 2430, 2809], 12641) + femmesh.addVolume([2811, 2813, 2431, 2430], 12642) + femmesh.addVolume([2483, 2867, 2487, 2866], 12643) + femmesh.addVolume([2868, 2485, 2867, 2487], 12644) + femmesh.addVolume([2889, 2891, 2511, 2888], 12645) + femmesh.addVolume([2887, 2511, 2891, 2888], 12646) + femmesh.addVolume([2789, 2792, 2406, 2788], 12647) + femmesh.addVolume([2406, 2790, 2792, 2789], 12648) + femmesh.addVolume([3044, 2636, 3047, 3048], 12649) + femmesh.addVolume([3049, 2638, 3046, 3048], 12650) + femmesh.addVolume([3073, 3072, 2278, 3070], 12651) + femmesh.addVolume([3068, 2276, 3071, 3072], 12652) + femmesh.addVolume([3124, 2332, 2331, 3126], 12653) + femmesh.addVolume([2331, 2330, 3122, 3126], 12654) + femmesh.addVolume([2586, 2993, 2582, 2994], 12655) + femmesh.addVolume([2586, 2995, 2994, 2584], 12656) + femmesh.addVolume([2701, 1291, 3149, 3195], 12657) + femmesh.addVolume([2813, 2814, 2433, 2816], 12658) + femmesh.addVolume([2816, 2433, 2813, 2812], 12659) + femmesh.addVolume([2484, 2864, 2867, 2863], 12660) + femmesh.addVolume([2864, 2484, 2867, 2865], 12661) + femmesh.addVolume([2655, 1016, 2674, 3193], 12662) + femmesh.addVolume([2329, 3121, 3124, 3123], 12663) + femmesh.addVolume([3119, 2327, 3122, 3123], 12664) + femmesh.addVolume([2585, 2996, 2993, 2997], 12665) + femmesh.addVolume([2995, 2997, 2998, 2587], 12666) + femmesh.addVolume([2965, 18, 1334, 2684], 12667) + femmesh.addVolume([19, 2966, 1333, 2685], 12668) + femmesh.addVolume([1153, 2955, 2940, 3193], 12669) + femmesh.addVolume([2955, 1016, 2940, 3193], 12670) + femmesh.addVolume([2563, 2560, 2974, 2562], 12671) + femmesh.addVolume([2561, 2970, 2558, 2562], 12672) + femmesh.addVolume([3145, 2355, 2356, 2353], 12673) + femmesh.addVolume([2351, 2354, 3143, 2355], 12674) + femmesh.addVolume([2509, 2511, 2508, 2888], 12675) + femmesh.addVolume([2511, 2507, 2508, 2888], 12676) + femmesh.addVolume([2406, 2792, 2409, 2405], 12677) + femmesh.addVolume([2409, 2407, 2792, 2406], 12678) + femmesh.addVolume([3047, 2636, 2639, 2640], 12679) + femmesh.addVolume([2641, 2638, 3049, 2640], 12680) + femmesh.addVolume([3070, 2277, 2278, 2275], 12681) + femmesh.addVolume([2273, 2276, 3068, 2277], 12682) + femmesh.addVolume([2952, 1007, 2672, 3191], 12683) + femmesh.addVolume([1165, 2715, 2701, 3195], 12684) + femmesh.addVolume([2431, 2813, 2433, 2430], 12685) + femmesh.addVolume([2433, 2430, 2813, 2429], 12686) + femmesh.addVolume([2867, 2485, 2484, 2487], 12687) + femmesh.addVolume([2867, 2487, 2484, 2483], 12688) + femmesh.addVolume([2971, 2558, 2970, 2562], 12689) + femmesh.addVolume([2971, 2974, 2560, 2562], 12690) + femmesh.addVolume([2356, 2968, 2355, 3145], 12691) + femmesh.addVolume([2968, 3143, 2354, 2355], 12692) + femmesh.addVolume([2329, 2332, 2331, 3124], 12693) + femmesh.addVolume([2331, 2327, 3122, 2330], 12694) + femmesh.addVolume([2993, 2582, 2585, 2586], 12695) + femmesh.addVolume([2587, 2995, 2586, 2584], 12696) + femmesh.addVolume([2891, 2892, 2889, 2512], 12697) + femmesh.addVolume([2891, 2887, 2890, 2510], 12698) + femmesh.addVolume([2789, 2785, 2788, 2402], 12699) + femmesh.addVolume([2790, 2404, 2787, 2789], 12700) + femmesh.addVolume([2507, 2511, 2887, 2888], 12701) + femmesh.addVolume([2511, 2509, 2889, 2888], 12702) + femmesh.addVolume([2792, 2407, 2790, 2406], 12703) + femmesh.addVolume([2788, 2792, 2406, 2405], 12704) + femmesh.addVolume([3048, 3044, 2637, 3045], 12705) + femmesh.addVolume([3046, 3048, 2637, 3045], 12706) + femmesh.addVolume([3072, 2280, 3075, 3073], 12707) + femmesh.addVolume([3075, 3071, 2280, 3072], 12708) + femmesh.addVolume([2640, 2638, 3049, 3048], 12709) + femmesh.addVolume([2640, 3047, 2636, 3048], 12710) + femmesh.addVolume([2278, 3072, 2277, 3070], 12711) + femmesh.addVolume([2277, 2276, 3068, 3072], 12712) + femmesh.addVolume([2863, 2480, 2864, 2860], 12713) + femmesh.addVolume([2865, 2864, 2482, 2862], 12714) + femmesh.addVolume([2817, 2434, 2814, 2816], 12715) + femmesh.addVolume([2812, 2816, 2432, 2815], 12716) + femmesh.addVolume([3119, 3123, 3120, 2328], 12717) + femmesh.addVolume([3123, 3121, 3120, 2328], 12718) + femmesh.addVolume([2998, 2997, 3000, 2589], 12719) + femmesh.addVolume([3000, 2997, 2996, 2589], 12720) + femmesh.addVolume([2429, 2813, 2433, 2812], 12721) + femmesh.addVolume([2814, 2433, 2431, 2813], 12722) + femmesh.addVolume([2485, 2867, 2484, 2865], 12723) + femmesh.addVolume([2867, 2483, 2484, 2863], 12724) + femmesh.addVolume([2559, 2973, 2971, 1335], 12725) + femmesh.addVolume([1336, 2968, 2972, 2358], 12726) + femmesh.addVolume([2969, 2559, 2971, 1335], 12727) + femmesh.addVolume([2968, 2358, 1336, 2967], 12728) + femmesh.addVolume([3124, 2331, 2329, 3123], 12729) + femmesh.addVolume([2327, 2331, 3122, 3123], 12730) + femmesh.addVolume([2995, 2586, 2997, 2587], 12731) + femmesh.addVolume([2993, 2586, 2585, 2997], 12732) + femmesh.addVolume([2939, 2660, 1007, 3191], 12733) + femmesh.addVolume([1124, 3149, 3169, 3195], 12734) + femmesh.addVolume([2660, 1103, 2672, 3191], 12735) + femmesh.addVolume([2562, 2560, 2971, 2559], 12736) + femmesh.addVolume([2558, 2562, 2971, 2559], 12737) + femmesh.addVolume([2355, 2354, 2968, 2358], 12738) + femmesh.addVolume([2358, 2968, 2355, 2356], 12739) + femmesh.addVolume([2511, 2507, 2887, 2510], 12740) + femmesh.addVolume([2509, 2511, 2889, 2512], 12741) + femmesh.addVolume([2790, 2407, 2404, 2406], 12742) + femmesh.addVolume([2405, 2406, 2788, 2402], 12743) + femmesh.addVolume([2637, 2638, 2640, 3048], 12744) + femmesh.addVolume([2636, 2637, 2640, 3048], 12745) + femmesh.addVolume([3072, 2277, 2280, 2278], 12746) + femmesh.addVolume([2280, 2276, 2277, 3072], 12747) + femmesh.addVolume([2433, 2432, 2429, 2812], 12748) + femmesh.addVolume([2814, 2434, 2431, 2433], 12749) + femmesh.addVolume([2484, 2483, 2480, 2863], 12750) + femmesh.addVolume([2485, 2484, 2482, 2865], 12751) + femmesh.addVolume([2891, 2514, 2894, 2892], 12752) + femmesh.addVolume([2514, 2891, 2894, 2890], 12753) + femmesh.addVolume([2786, 2789, 2403, 2785], 12754) + femmesh.addVolume([2789, 2403, 2787, 2786], 12755) + femmesh.addVolume([3123, 2331, 2329, 2328], 12756) + femmesh.addVolume([3123, 2327, 2331, 2328], 12757) + femmesh.addVolume([2587, 2586, 2997, 2589], 12758) + femmesh.addVolume([2997, 2586, 2585, 2589], 12759) + femmesh.addVolume([2972, 2968, 2354, 2358], 12760) + femmesh.addVolume([2973, 2971, 2560, 2559], 12761) + femmesh.addVolume([2558, 2971, 2969, 2559], 12762) + femmesh.addVolume([2967, 2968, 2358, 2356], 12763) + femmesh.addVolume([3044, 3041, 2633, 3045], 12764) + femmesh.addVolume([3043, 3046, 2635, 3045], 12765) + femmesh.addVolume([3074, 3071, 2279, 3075], 12766) + femmesh.addVolume([3075, 2281, 3076, 3073], 12767) + femmesh.addVolume([2861, 2864, 2481, 2860], 12768) + femmesh.addVolume([2862, 2864, 2481, 2861], 12769) + femmesh.addVolume([2817, 2819, 2436, 2816], 12770) + femmesh.addVolume([2436, 2816, 2819, 2815], 12771) + femmesh.addVolume([2952, 1144, 2939, 3191], 12772) + femmesh.addVolume([3120, 2324, 3116, 3119], 12773) + femmesh.addVolume([3118, 3120, 3121, 2326], 12774) + femmesh.addVolume([2999, 2996, 2588, 3000], 12775) + femmesh.addVolume([2590, 3000, 2998, 3001], 12776) + femmesh.addVolume([2887, 2891, 2511, 2510], 12777) + femmesh.addVolume([2891, 2889, 2511, 2512], 12778) + femmesh.addVolume([2406, 2404, 2790, 2789], 12779) + femmesh.addVolume([2788, 2406, 2789, 2402], 12780) + femmesh.addVolume([2363, 1334, 18, 2684], 12781) + femmesh.addVolume([2549, 19, 1333, 2685], 12782) + femmesh.addVolume([2365, 2728, 25, 1334], 12783) + femmesh.addVolume([2551, 1333, 24, 2729], 12784) + femmesh.addVolume([2638, 2637, 3046, 3048], 12785) + femmesh.addVolume([2637, 2636, 3044, 3048], 12786) + femmesh.addVolume([2276, 2280, 3071, 3072], 12787) + femmesh.addVolume([2278, 2280, 3072, 3073], 12788) + femmesh.addVolume([2357, 2972, 2354, 2358], 12789) + femmesh.addVolume([2560, 2557, 2973, 2559], 12790) + femmesh.addVolume([2555, 2558, 2969, 2559], 12791) + femmesh.addVolume([2967, 2358, 2359, 2356], 12792) + femmesh.addVolume([2433, 2814, 2434, 2816], 12793) + femmesh.addVolume([2432, 2433, 2816, 2812], 12794) + femmesh.addVolume([2480, 2864, 2484, 2863], 12795) + femmesh.addVolume([2482, 2484, 2864, 2865], 12796) + femmesh.addVolume([2327, 3123, 3119, 2328], 12797) + femmesh.addVolume([3123, 2329, 3121, 2328], 12798) + femmesh.addVolume([2587, 2997, 2998, 2589], 12799) + femmesh.addVolume([2996, 2997, 2585, 2589], 12800) + femmesh.addVolume([2514, 2511, 2891, 2510], 12801) + femmesh.addVolume([2511, 2514, 2891, 2512], 12802) + femmesh.addVolume([2406, 2403, 2789, 2402], 12803) + femmesh.addVolume([2404, 2789, 2406, 2403], 12804) + femmesh.addVolume([1333, 2693, 24, 2729], 12805) + femmesh.addVolume([2635, 3046, 2638, 2637], 12806) + femmesh.addVolume([3044, 2633, 2636, 2637], 12807) + femmesh.addVolume([2279, 3071, 2276, 2280], 12808) + femmesh.addVolume([2278, 2281, 2280, 3073], 12809) + femmesh.addVolume([2893, 2894, 2890, 2513], 12810) + femmesh.addVolume([2894, 2895, 2892, 2515], 12811) + femmesh.addVolume([2787, 2401, 2784, 2786], 12812) + femmesh.addVolume([2786, 2782, 2785, 2399], 12813) + femmesh.addVolume([2433, 2816, 2436, 2432], 12814) + femmesh.addVolume([2484, 2481, 2864, 2480], 12815) + femmesh.addVolume([2434, 2436, 2433, 2816], 12816) + femmesh.addVolume([2481, 2484, 2864, 2482], 12817) + femmesh.addVolume([3043, 2634, 3042, 3045], 12818) + femmesh.addVolume([3041, 3042, 2634, 3045], 12819) + femmesh.addVolume([3078, 3075, 2283, 3076], 12820) + femmesh.addVolume([2283, 3074, 3075, 3078], 12821) + femmesh.addVolume([2324, 2327, 3119, 2328], 12822) + femmesh.addVolume([2328, 2329, 3121, 2326], 12823) + femmesh.addVolume([2585, 2588, 2996, 2589], 12824) + femmesh.addVolume([2998, 2590, 2587, 2589], 12825) + femmesh.addVolume([2861, 2477, 2857, 2860], 12826) + femmesh.addVolume([2862, 2479, 2859, 2861], 12827) + femmesh.addVolume([2437, 2817, 2820, 2819], 12828) + femmesh.addVolume([2818, 2819, 2815, 2435], 12829) + femmesh.addVolume([3116, 3120, 3117, 2325], 12830) + femmesh.addVolume([3117, 2325, 3120, 3118], 12831) + femmesh.addVolume([3000, 3003, 3001, 2592], 12832) + femmesh.addVolume([3003, 3000, 2999, 2592], 12833) + femmesh.addVolume([2892, 2891, 2514, 2512], 12834) + femmesh.addVolume([2891, 2890, 2514, 2510], 12835) + femmesh.addVolume([2789, 2404, 2787, 2403], 12836) + femmesh.addVolume([2785, 2789, 2403, 2402], 12837) + femmesh.addVolume([1336, 2972, 2357, 2358], 12838) + femmesh.addVolume([2559, 2557, 2973, 1335], 12839) + femmesh.addVolume([2555, 2559, 2969, 1335], 12840) + femmesh.addVolume([2359, 1336, 2358, 2967], 12841) + femmesh.addVolume([2633, 2637, 3044, 3045], 12842) + femmesh.addVolume([2637, 2635, 3046, 3045], 12843) + femmesh.addVolume([2280, 2279, 3071, 3075], 12844) + femmesh.addVolume([2280, 2281, 3075, 3073], 12845) + femmesh.addVolume([2482, 2864, 2481, 2862], 12846) + femmesh.addVolume([2480, 2481, 2864, 2860], 12847) + femmesh.addVolume([2432, 2816, 2436, 2815], 12848) + femmesh.addVolume([2436, 2434, 2817, 2816], 12849) + femmesh.addVolume([1013, 2933, 1012, 2663], 12850) + femmesh.addVolume([1010, 2954, 1009, 2678], 12851) + femmesh.addVolume([1150, 2949, 1151, 2720], 12852) + femmesh.addVolume([2954, 1147, 1146, 2717], 12853) + femmesh.addVolume([2677, 2949, 1014, 1013], 12854) + femmesh.addVolume([1111, 2653, 1110, 3154], 12855) + femmesh.addVolume([1277, 3154, 2696, 1278], 12856) + femmesh.addVolume([2677, 1109, 1110, 3173], 12857) + femmesh.addVolume([3173, 1277, 2720, 1276], 12858) + femmesh.addVolume([2696, 1151, 1152, 2931], 12859) + femmesh.addVolume([2933, 1150, 1149, 2707], 12860) + femmesh.addVolume([1011, 1012, 2948, 2673], 12861) + femmesh.addVolume([2674, 1111, 1112, 3170], 12862) + femmesh.addVolume([1279, 2716, 3170, 1278], 12863) + femmesh.addVolume([2948, 1149, 1148, 2722], 12864) + femmesh.addVolume([2707, 1275, 3157, 1276], 12865) + femmesh.addVolume([1292, 2715, 3169, 1291], 12866) + femmesh.addVolume([1034, 1035, 2958, 2650], 12867) + femmesh.addVolume([2936, 2656, 1008, 1009], 12868) + femmesh.addVolume([2937, 1148, 1147, 2702], 12869) + femmesh.addVolume([1011, 2937, 1010, 2662], 12870) + femmesh.addVolume([2670, 1131, 1132, 3146], 12871) + femmesh.addVolume([2942, 1036, 2670, 1035], 12872) + femmesh.addVolume([2672, 1103, 1104, 3153], 12873) + femmesh.addVolume([3119, 3120, 2324, 2328], 12874) + femmesh.addVolume([3120, 2328, 3121, 2326], 12875) + femmesh.addVolume([2590, 2998, 3000, 2589], 12876) + femmesh.addVolume([3000, 2996, 2588, 2589], 12877) + femmesh.addVolume([2952, 2672, 1007, 1008], 12878) + femmesh.addVolume([1108, 1109, 2663, 3157], 12879) + femmesh.addVolume([2514, 2510, 2890, 2513], 12880) + femmesh.addVolume([2515, 2892, 2514, 2512], 12881) + femmesh.addVolume([2402, 2403, 2785, 2399], 12882) + femmesh.addVolume([2787, 2404, 2401, 2403], 12883) + femmesh.addVolume([2936, 2699, 1146, 1145], 12884) + femmesh.addVolume([1298, 3146, 2714, 1299], 12885) + femmesh.addVolume([1290, 3149, 2701, 1291], 12886) + femmesh.addVolume([2653, 2931, 1015, 1014], 12887) + femmesh.addVolume([1293, 2708, 3150, 1292], 12888) + femmesh.addVolume([1131, 2650, 1130, 3178], 12889) + femmesh.addVolume([2893, 2894, 2517, 2897], 12890) + femmesh.addVolume([2895, 2517, 2894, 2897], 12891) + femmesh.addVolume([2784, 2400, 2783, 2786], 12892) + femmesh.addVolume([2783, 2786, 2400, 2782], 12893) + femmesh.addVolume([2637, 2633, 2634, 3045], 12894) + femmesh.addVolume([2635, 2637, 2634, 3045], 12895) + femmesh.addVolume([3075, 2280, 2279, 2283], 12896) + femmesh.addVolume([2280, 2283, 3075, 2281], 12897) + femmesh.addVolume([2651, 1125, 1126, 3150], 12898) + femmesh.addVolume([2630, 3041, 3038, 3042], 12899) + femmesh.addVolume([3043, 3042, 2632, 3040], 12900) + femmesh.addVolume([3076, 3078, 3079, 2284], 12901) + femmesh.addVolume([2282, 3077, 3074, 3078], 12902) + femmesh.addVolume([1297, 3178, 2695, 1298], 12903) + femmesh.addVolume([2481, 2480, 2477, 2860], 12904) + femmesh.addVolume([2862, 2481, 2482, 2479], 12905) + femmesh.addVolume([2815, 2436, 2432, 2435], 12906) + femmesh.addVolume([2437, 2434, 2817, 2436], 12907) + femmesh.addVolume([2861, 2478, 2858, 2857], 12908) + femmesh.addVolume([2859, 2478, 2858, 2861], 12909) + femmesh.addVolume([2439, 2820, 2822, 2819], 12910) + femmesh.addVolume([2819, 2822, 2439, 2818], 12911) + femmesh.addVolume([2714, 1172, 1173, 2942], 12912) + femmesh.addVolume([1113, 2655, 1112, 3155], 12913) + femmesh.addVolume([1279, 3155, 2697, 1280], 12914) + femmesh.addVolume([3120, 2325, 2328, 2326], 12915) + femmesh.addVolume([2328, 3120, 2324, 2325], 12916) + femmesh.addVolume([2589, 3000, 2590, 2592], 12917) + femmesh.addVolume([3000, 2589, 2588, 2592], 12918) + femmesh.addVolume([3118, 3115, 3117, 2323], 12919) + femmesh.addVolume([2321, 3116, 3113, 3117], 12920) + femmesh.addVolume([2593, 3001, 3004, 3003], 12921) + femmesh.addVolume([2999, 2591, 3002, 3003], 12922) + femmesh.addVolume([1124, 1125, 2671, 3169], 12923) + femmesh.addVolume([3181, 2722, 1274, 1275], 12924) + femmesh.addVolume([1164, 2962, 1165, 2701], 12925) + femmesh.addVolume([2955, 1153, 1152, 2716], 12926) + femmesh.addVolume([2658, 1132, 1133, 3179], 12927) + femmesh.addVolume([1034, 2679, 2929, 1033], 12928) + femmesh.addVolume([1164, 2721, 1163, 2938], 12929) + femmesh.addVolume([2656, 1104, 1105, 3175], 12930) + femmesh.addVolume([2683, 2953, 1006, 1005], 12931) + femmesh.addVolume([1171, 1172, 2695, 2958], 12932) + femmesh.addVolume([1007, 2939, 1006, 2660], 12933) + femmesh.addVolume([2673, 1107, 1108, 3181], 12934) + femmesh.addVolume([1036, 1037, 2959, 2658], 12935) + femmesh.addVolume([1336, 2357, 2361, 2358], 12936) + femmesh.addVolume([2358, 2361, 1336, 2359], 12937) + femmesh.addVolume([2555, 2556, 2559, 1335], 12938) + femmesh.addVolume([2556, 2557, 2559, 1335], 12939) + femmesh.addVolume([2726, 1170, 1171, 2929], 12940) + femmesh.addVolume([1121, 1122, 2681, 3160], 12941) + femmesh.addVolume([2662, 1106, 1107, 3166], 12942) + femmesh.addVolume([2692, 25, 2728, 1334], 12943) + femmesh.addVolume([1025, 2935, 1024, 2657], 12944) + femmesh.addVolume([1144, 2952, 1145, 2727], 12945) + femmesh.addVolume([1273, 3159, 1272, 2717], 12946) + femmesh.addVolume([1166, 1167, 2708, 2932], 12947) + femmesh.addVolume([3160, 1289, 2706, 1288], 12948) + femmesh.addVolume([2660, 1102, 1103, 3180], 12949) + femmesh.addVolume([2940, 1016, 1017, 2655], 12950) + femmesh.addVolume([1271, 1270, 2727, 3153], 12951) + femmesh.addVolume([1127, 2682, 1126, 3167], 12952) + femmesh.addVolume([1297, 2726, 3147, 1296], 12953) + femmesh.addVolume([1295, 3171, 2710, 1296], 12954) + femmesh.addVolume([1143, 2939, 1144, 2712], 12955) + femmesh.addVolume([1128, 2667, 1127, 3151], 12956) + femmesh.addVolume([1027, 2938, 1026, 2666], 12957) + femmesh.addVolume([2746, 2744, 2739, 2928], 12958) + femmesh.addVolume([2737, 2736, 3158, 2741], 12959) + femmesh.addVolume([2745, 2941, 2737, 2742], 12960) + femmesh.addVolume([2744, 2746, 2743, 2928], 12961) + femmesh.addVolume([2736, 1332, 3158, 2741], 12962) + femmesh.addVolume([2745, 2743, 2941, 2742], 12963) + femmesh.addVolume([3179, 1300, 2703, 1299], 12964) + femmesh.addVolume([3156, 1332, 2738, 2740], 12965) + femmesh.addVolume([2514, 2890, 2894, 2513], 12966) + femmesh.addVolume([2892, 2514, 2894, 2515], 12967) + femmesh.addVolume([2785, 2403, 2786, 2399], 12968) + femmesh.addVolume([2403, 2401, 2787, 2786], 12969) + femmesh.addVolume([2516, 2896, 2893, 2897], 12970) + femmesh.addVolume([2518, 2895, 2898, 2897], 12971) + femmesh.addVolume([2782, 2783, 2779, 2396], 12972) + femmesh.addVolume([2398, 2781, 2784, 2783], 12973) + femmesh.addVolume([1271, 3175, 2699, 1272], 12974) + femmesh.addVolume([1016, 2955, 1015, 2674], 12975) + femmesh.addVolume([1294, 2723, 3167, 1293], 12976) + femmesh.addVolume([1289, 3168, 2721, 1290], 12977) + femmesh.addVolume([1130, 2679, 1129, 3147], 12978) + femmesh.addVolume([1120, 1121, 2657, 3174], 12979) + femmesh.addVolume([1028, 1029, 2946, 2671], 12980) + femmesh.addVolume([2517, 2894, 2514, 2515], 12981) + femmesh.addVolume([2894, 2517, 2514, 2513], 12982) + femmesh.addVolume([2403, 2400, 2401, 2786], 12983) + femmesh.addVolume([2400, 2786, 2403, 2399], 12984) + femmesh.addVolume([3039, 3038, 3042, 2631], 12985) + femmesh.addVolume([3042, 3040, 3039, 2631], 12986) + femmesh.addVolume([2286, 3081, 3077, 3078], 12987) + femmesh.addVolume([3081, 3078, 2286, 3079], 12988) + femmesh.addVolume([2682, 2947, 1031, 1030], 12989) + femmesh.addVolume([2634, 3043, 2635, 3045], 12990) + femmesh.addVolume([2634, 2633, 3041, 3045], 12991) + femmesh.addVolume([3076, 3075, 2283, 2281], 12992) + femmesh.addVolume([3075, 2279, 3074, 2283], 12993) + femmesh.addVolume([2934, 1142, 1141, 2718], 12994) + femmesh.addVolume([2857, 2474, 2858, 2854], 12995) + femmesh.addVolume([2856, 2858, 2859, 2476], 12996) + femmesh.addVolume([2821, 2822, 2818, 2438], 12997) + femmesh.addVolume([2820, 2823, 2440, 2822], 12998) + femmesh.addVolume([3041, 2630, 2633, 2634], 12999) + femmesh.addVolume([2634, 2632, 2635, 3043], 13000) + femmesh.addVolume([2282, 3074, 2279, 2283], 13001) + femmesh.addVolume([2281, 2283, 3076, 2284], 13002) + femmesh.addVolume([2479, 2862, 2481, 2861], 13003) + femmesh.addVolume([2477, 2861, 2481, 2860], 13004) + femmesh.addVolume([2436, 2817, 2437, 2819], 13005) + femmesh.addVolume([2436, 2815, 2819, 2435], 13006) + femmesh.addVolume([3113, 3117, 3114, 2322], 13007) + femmesh.addVolume([3114, 2322, 3117, 3115], 13008) + femmesh.addVolume([3004, 3003, 3006, 2595], 13009) + femmesh.addVolume([3003, 3002, 3006, 2595], 13010) + femmesh.addVolume([2478, 2861, 2481, 2477], 13011) + femmesh.addVolume([2479, 2481, 2478, 2861], 13012) + femmesh.addVolume([2439, 2436, 2437, 2819], 13013) + femmesh.addVolume([2819, 2439, 2436, 2435], 13014) + femmesh.addVolume([2950, 1003, 1004, 2659], 13015) + femmesh.addVolume([3156, 2738, 2739, 2740], 13016) + femmesh.addVolume([2324, 3116, 2321, 2325], 13017) + femmesh.addVolume([2323, 2325, 3118, 2326], 13018) + femmesh.addVolume([2590, 3001, 2593, 2592], 13019) + femmesh.addVolume([2999, 2588, 2591, 2592], 13020) + femmesh.addVolume([3118, 2325, 3120, 2326], 13021) + femmesh.addVolume([3120, 3116, 2324, 2325], 13022) + femmesh.addVolume([3000, 3001, 2590, 2592], 13023) + femmesh.addVolume([3000, 2588, 2999, 2592], 13024) + femmesh.addVolume([2962, 1027, 1028, 2654], 13025) + femmesh.addVolume([2953, 1143, 1142, 2698], 13026) + femmesh.addVolume([1295, 2694, 3151, 1294], 13027) + femmesh.addVolume([2652, 1128, 1129, 3171], 13028) + femmesh.addVolume([1167, 1168, 2723, 2947], 13029) + femmesh.addVolume([2951, 1025, 1026, 2681], 13030) + femmesh.addVolume([2703, 1173, 1174, 2959], 13031) + femmesh.addVolume([2363, 18, 715, 2684], 13032) + femmesh.addVolume([2549, 778, 19, 2685], 13033) + femmesh.addVolume([2728, 25, 844, 2365], 13034) + femmesh.addVolume([2729, 24, 2551, 907], 13035) + femmesh.addVolume([2898, 2520, 2897, 2900], 13036) + femmesh.addVolume([2520, 2896, 2897, 2900], 13037) + femmesh.addVolume([2780, 2783, 2397, 2779], 13038) + femmesh.addVolume([2397, 2781, 2783, 2780], 13039) + femmesh.addVolume([3038, 3035, 2627, 3039], 13040) + femmesh.addVolume([3040, 3039, 2629, 3037], 13041) + femmesh.addVolume([2285, 3080, 3077, 3081], 13042) + femmesh.addVolume([3079, 3081, 3082, 2287], 13043) + femmesh.addVolume([1267, 1268, 3161, 2718], 13044) + femmesh.addVolume([1140, 2950, 1141, 2704], 13045) + femmesh.addVolume([2825, 2823, 2822, 2442], 13046) + femmesh.addVolume([2442, 2822, 2825, 2821], 13047) + femmesh.addVolume([2858, 2475, 2855, 2854], 13048) + femmesh.addVolume([2856, 2855, 2858, 2475], 13049) + femmesh.addVolume([2515, 2517, 2895, 2518], 13050) + femmesh.addVolume([2513, 2893, 2517, 2516], 13051) + femmesh.addVolume([2398, 2784, 2401, 2400], 13052) + femmesh.addVolume([2399, 2400, 2782, 2396], 13053) + femmesh.addVolume([3115, 3112, 3114, 2320], 13054) + femmesh.addVolume([3110, 2318, 3113, 3114], 13055) + femmesh.addVolume([3007, 2596, 3004, 3006], 13056) + femmesh.addVolume([2594, 3005, 3002, 3006], 13057) + femmesh.addVolume([3042, 2630, 2634, 2631], 13058) + femmesh.addVolume([2634, 2632, 3042, 2631], 13059) + femmesh.addVolume([3078, 2283, 2286, 2284], 13060) + femmesh.addVolume([2286, 2282, 2283, 3078], 13061) + femmesh.addVolume([2439, 2435, 2818, 2438], 13062) + femmesh.addVolume([2479, 2859, 2478, 2476], 13063) + femmesh.addVolume([2857, 2478, 2474, 2477], 13064) + femmesh.addVolume([2820, 2440, 2437, 2439], 13065) + femmesh.addVolume([1265, 3148, 2713, 1266], 13066) + femmesh.addVolume([3117, 2322, 2325, 2323], 13067) + femmesh.addVolume([2321, 2325, 3117, 2322], 13068) + femmesh.addVolume([2591, 2595, 3003, 2592], 13069) + femmesh.addVolume([2595, 2593, 3003, 2592], 13070) + femmesh.addVolume([2895, 2894, 2517, 2515], 13071) + femmesh.addVolume([2893, 2517, 2894, 2513], 13072) + femmesh.addVolume([2401, 2400, 2784, 2786], 13073) + femmesh.addVolume([2782, 2786, 2400, 2399], 13074) + femmesh.addVolume([2634, 3041, 2630, 3042], 13075) + femmesh.addVolume([2632, 2634, 3042, 3043], 13076) + femmesh.addVolume([3076, 2283, 3078, 2284], 13077) + femmesh.addVolume([3074, 2283, 2282, 3078], 13078) + femmesh.addVolume([2479, 2478, 2859, 2861], 13079) + femmesh.addVolume([2820, 2439, 2437, 2819], 13080) + femmesh.addVolume([2857, 2861, 2478, 2477], 13081) + femmesh.addVolume([2818, 2439, 2819, 2435], 13082) + femmesh.addVolume([1174, 1175, 2724, 2943], 13083) + femmesh.addVolume([3117, 2321, 3116, 2325], 13084) + femmesh.addVolume([3118, 3117, 2325, 2323], 13085) + femmesh.addVolume([2591, 3003, 2999, 2592], 13086) + femmesh.addVolume([3003, 2593, 3001, 2592], 13087) + femmesh.addVolume([2898, 2901, 2521, 2900], 13088) + femmesh.addVolume([2896, 2900, 2519, 2899], 13089) + femmesh.addVolume([2778, 2781, 2395, 2780], 13090) + femmesh.addVolume([2776, 2779, 2780, 2393], 13091) + femmesh.addVolume([20, 2269, 15, 2262], 13092) + femmesh.addVolume([2265, 16, 27, 2266], 13093) + femmesh.addVolume([2628, 3039, 3036, 3037], 13094) + femmesh.addVolume([3036, 3035, 3039, 2628], 13095) + femmesh.addVolume([2289, 3084, 3081, 3082], 13096) + femmesh.addVolume([3081, 2289, 3080, 3084], 13097) + femmesh.addVolume([1139, 1140, 2713, 2926], 13098) + femmesh.addVolume([1124, 2654, 1123, 3149], 13099) + femmesh.addVolume([2957, 2652, 1032, 1033], 13100) + femmesh.addVolume([2342, 1064, 2339, 3134], 13101) + femmesh.addVolume([3136, 2341, 2344, 1327], 13102) + femmesh.addVolume([2575, 1240, 2983, 2572], 13103) + femmesh.addVolume([1073, 2573, 2981, 2570], 13104) + femmesh.addVolume([2823, 2826, 2443, 2825], 13105) + femmesh.addVolume([2825, 2441, 2821, 2824], 13106) + femmesh.addVolume([2473, 2856, 2855, 2853], 13107) + femmesh.addVolume([2855, 2471, 2851, 2854], 13108) + femmesh.addVolume([2319, 3114, 3111, 3112], 13109) + femmesh.addVolume([3111, 3110, 3114, 2319], 13110) + femmesh.addVolume([3009, 2598, 3007, 3006], 13111) + femmesh.addVolume([3009, 3005, 2598, 3006], 13112) + femmesh.addVolume([1301, 2724, 3152, 1300], 13113) + femmesh.addVolume([2897, 2517, 2516, 2520], 13114) + femmesh.addVolume([2517, 2897, 2518, 2520], 13115) + femmesh.addVolume([2400, 2398, 2783, 2397], 13116) + femmesh.addVolume([2397, 2783, 2400, 2396], 13117) + femmesh.addVolume([1169, 2694, 1168, 2927], 13118) + femmesh.addVolume([2630, 3038, 2627, 2631], 13119) + femmesh.addVolume([3040, 2632, 2629, 2631], 13120) + femmesh.addVolume([3077, 2282, 2285, 2286], 13121) + femmesh.addVolume([2286, 2287, 3079, 2284], 13122) + femmesh.addVolume([2440, 2439, 2822, 2442], 13123) + femmesh.addVolume([2822, 2442, 2439, 2438], 13124) + femmesh.addVolume([2475, 2858, 2478, 2474], 13125) + femmesh.addVolume([2478, 2476, 2858, 2475], 13126) + femmesh.addVolume([3113, 2318, 2321, 2322], 13127) + femmesh.addVolume([2320, 2322, 3115, 2323], 13128) + femmesh.addVolume([3002, 2591, 2594, 2595], 13129) + femmesh.addVolume([3004, 2596, 2593, 2595], 13130) + femmesh.addVolume([2877, 1219, 2500, 2880], 13131) + femmesh.addVolume([985, 2875, 2498, 2878], 13132) + femmesh.addVolume([2802, 2416, 1193, 2799], 13133) + femmesh.addVolume([2414, 2797, 2800, 959], 13134) + femmesh.addVolume([1002, 1003, 2926, 2669], 13135) + femmesh.addVolume([1004, 2934, 2668, 1005], 13136) + femmesh.addVolume([2702, 3166, 1274, 1273], 13137) + femmesh.addVolume([2715, 1165, 1166, 2946], 13138) + femmesh.addVolume([1280, 3182, 2719, 1281], 13139) + femmesh.addVolume([1194, 2805, 2422, 2802], 13140) + femmesh.addVolume([2803, 2420, 2800, 960], 13141) + femmesh.addVolume([984, 2872, 2492, 2875], 13142) + femmesh.addVolume([1218, 2874, 2877, 2494], 13143) + femmesh.addVolume([2704, 1266, 3172, 1267], 13144) + femmesh.addVolume([2900, 2903, 2523, 2899], 13145) + femmesh.addVolume([2903, 2523, 2901, 2900], 13146) + femmesh.addVolume([2778, 2394, 2777, 2780], 13147) + femmesh.addVolume([2394, 2776, 2777, 2780], 13148) + femmesh.addVolume([1302, 2709, 3163, 1301], 13149) + femmesh.addVolume([2624, 3035, 3032, 3036], 13150) + femmesh.addVolume([3034, 3036, 3037, 2626], 13151) + femmesh.addVolume([3085, 3084, 2290, 3082], 13152) + femmesh.addVolume([3080, 2288, 3083, 3084], 13153) + femmesh.addVolume([2517, 2516, 2893, 2897], 13154) + femmesh.addVolume([2895, 2518, 2517, 2897], 13155) + femmesh.addVolume([2783, 2784, 2398, 2400], 13156) + femmesh.addVolume([2783, 2782, 2400, 2396], 13157) + femmesh.addVolume([2825, 2828, 2826, 2445], 13158) + femmesh.addVolume([2828, 2445, 2825, 2824], 13159) + femmesh.addVolume([2472, 2852, 2855, 2851], 13160) + femmesh.addVolume([2852, 2472, 2855, 2853], 13161) + femmesh.addVolume([1288, 3174, 1287, 2711], 13162) + femmesh.addVolume([2317, 3111, 3109, 3112], 13163) + femmesh.addVolume([3110, 3107, 2315, 3111], 13164) + femmesh.addVolume([3007, 3010, 2599, 3009], 13165) + femmesh.addVolume([3005, 2597, 3008, 3009], 13166) + femmesh.addVolume([2668, 1100, 1101, 3161], 13167) + femmesh.addVolume([3040, 3042, 2632, 2631], 13168) + femmesh.addVolume([3042, 3038, 2630, 2631], 13169) + femmesh.addVolume([2282, 2286, 3077, 3078], 13170) + femmesh.addVolume([2286, 3079, 3078, 2284], 13171) + femmesh.addVolume([2710, 1169, 1170, 2957], 13172) + femmesh.addVolume([1123, 2666, 1122, 3168], 13173) + femmesh.addVolume([2927, 1031, 1032, 2667], 13174) + femmesh.addVolume([2478, 2859, 2858, 2476], 13175) + femmesh.addVolume([2474, 2858, 2478, 2857], 13176) + femmesh.addVolume([2822, 2440, 2820, 2439], 13177) + femmesh.addVolume([2818, 2822, 2439, 2438], 13178) + femmesh.addVolume([3117, 3113, 2321, 2322], 13179) + femmesh.addVolume([3115, 2322, 3117, 2323], 13180) + femmesh.addVolume([3003, 2591, 3002, 2595], 13181) + femmesh.addVolume([2593, 3003, 3004, 2595], 13182) + femmesh.addVolume([2698, 3164, 1269, 1268], 13183) + femmesh.addVolume([2339, 708, 1064, 2342], 13184) + femmesh.addVolume([2341, 837, 2344, 1327], 13185) + femmesh.addVolume([1240, 2575, 914, 2572], 13186) + femmesh.addVolume([2573, 1073, 785, 2570], 13187) + femmesh.addVolume([1153, 1154, 2697, 2940], 13188) + femmesh.addVolume([2678, 1105, 1106, 3159], 13189) + femmesh.addVolume([2898, 2521, 2518, 2520], 13190) + femmesh.addVolume([2896, 2516, 2519, 2520], 13191) + femmesh.addVolume([2781, 2398, 2395, 2397], 13192) + femmesh.addVolume([2396, 2397, 2779, 2393], 13193) + femmesh.addVolume([3039, 2629, 2628, 2631], 13194) + femmesh.addVolume([2628, 2627, 3039, 2631], 13195) + femmesh.addVolume([3081, 2285, 2289, 2286], 13196) + femmesh.addVolume([2286, 2289, 3081, 2287], 13197) + femmesh.addVolume([2442, 2438, 2821, 2441], 13198) + femmesh.addVolume([2475, 2474, 2471, 2854], 13199) + femmesh.addVolume([2473, 2856, 2476, 2475], 13200) + femmesh.addVolume([2823, 2443, 2440, 2442], 13201) + femmesh.addVolume([2935, 1162, 1161, 2711], 13202) + femmesh.addVolume([1038, 2943, 1037, 2680], 13203) + femmesh.addVolume([1114, 2675, 1113, 3182], 13204) + femmesh.addVolume([3162, 1287, 2725, 1286], 13205) + femmesh.addVolume([2318, 2322, 3114, 2319], 13206) + femmesh.addVolume([3114, 2319, 2322, 2320], 13207) + femmesh.addVolume([3006, 2594, 2598, 2595], 13208) + femmesh.addVolume([3006, 2598, 2596, 2595], 13209) + femmesh.addVolume([2367, 1334, 2750, 2749], 13210) + femmesh.addVolume([2752, 1333, 2550, 2754], 13211) + femmesh.addVolume([2550, 2751, 1333, 2752], 13212) + femmesh.addVolume([2749, 2367, 1334, 2747], 13213) + femmesh.addVolume([1154, 2945, 1155, 2719], 13214) + femmesh.addVolume([2524, 2901, 2904, 2903], 13215) + femmesh.addVolume([2903, 2902, 2522, 2899], 13216) + femmesh.addVolume([2778, 2392, 2775, 2777], 13217) + femmesh.addVolume([2390, 2776, 2773, 2777], 13218) + femmesh.addVolume([2625, 3036, 3032, 3033], 13219) + femmesh.addVolume([3034, 3036, 2625, 3033], 13220) + femmesh.addVolume([3083, 3084, 2292, 3087], 13221) + femmesh.addVolume([2292, 3087, 3084, 3085], 13222) + femmesh.addVolume([2649, 2966, 19, 2685], 13223) + femmesh.addVolume([2930, 1038, 1039, 2665], 13224) + femmesh.addVolume([2944, 1161, 1160, 2725], 13225) + femmesh.addVolume([2824, 2828, 2444, 2827], 13226) + femmesh.addVolume([2829, 2446, 2826, 2828], 13227) + femmesh.addVolume([2853, 2852, 2470, 2850], 13228) + femmesh.addVolume([2848, 2851, 2852, 2468], 13229) + femmesh.addVolume([3111, 3108, 2316, 3109], 13230) + femmesh.addVolume([2316, 3111, 3107, 3108], 13231) + femmesh.addVolume([3008, 2601, 3012, 3009], 13232) + femmesh.addVolume([3010, 3012, 2601, 3009], 13233) + femmesh.addVolume([2961, 1156, 1155, 2705], 13234) + femmesh.addVolume([1163, 2706, 1162, 2951], 13235) + femmesh.addVolume([2567, 2981, 1072, 2978], 13236) + femmesh.addVolume([2980, 1239, 2569, 2983], 13237) + femmesh.addVolume([3136, 2347, 3139, 1328], 13238) + femmesh.addVolume([1065, 3137, 3134, 2345], 13239) + femmesh.addVolume([1119, 2664, 1118, 3177], 13240) + femmesh.addVolume([2683, 1101, 1102, 3164], 13241) + femmesh.addVolume([2747, 2749, 2366, 2748], 13242) + femmesh.addVolume([2750, 2753, 2368, 2749], 13243) + femmesh.addVolume([2548, 2925, 2751, 2752], 13244) + femmesh.addVolume([2752, 2546, 2923, 2754], 13245) + femmesh.addVolume([1029, 2932, 2651, 1030], 13246) + femmesh.addVolume([2960, 1160, 1159, 2700], 13247) + femmesh.addVolume([1269, 1270, 3180, 2712], 13248) + femmesh.addVolume([1040, 3062, 3059, 2263], 13249) + femmesh.addVolume([2647, 1264, 3058, 3055], 13250) + femmesh.addVolume([3056, 2645, 3053, 1097], 13251) + femmesh.addVolume([3061, 2268, 3064, 1303], 13252) + femmesh.addVolume([1120, 2676, 1119, 3162], 13253) + femmesh.addVolume([2521, 2523, 2520, 2900], 13254) + femmesh.addVolume([2523, 2519, 2520, 2900], 13255) + femmesh.addVolume([2397, 2394, 2395, 2780], 13256) + femmesh.addVolume([2780, 2397, 2394, 2393], 13257) + femmesh.addVolume([2896, 2897, 2516, 2520], 13258) + femmesh.addVolume([2518, 2897, 2898, 2520], 13259) + femmesh.addVolume([2783, 2398, 2781, 2397], 13260) + femmesh.addVolume([2779, 2783, 2397, 2396], 13261) + femmesh.addVolume([3037, 2628, 2629, 2626], 13262) + femmesh.addVolume([2627, 3035, 2624, 2628], 13263) + femmesh.addVolume([3082, 2289, 2290, 2287], 13264) + femmesh.addVolume([2285, 2288, 3080, 2289], 13265) + femmesh.addVolume([3131, 1063, 2336, 3128], 13266) + femmesh.addVolume([3130, 2338, 3133, 1326], 13267) + femmesh.addVolume([1241, 2986, 2989, 2578], 13268) + femmesh.addVolume([2984, 1074, 2987, 2576], 13269) + femmesh.addVolume([2526, 2903, 2906, 2902], 13270) + femmesh.addVolume([2906, 2904, 2903, 2526], 13271) + femmesh.addVolume([2777, 2774, 2773, 2391], 13272) + femmesh.addVolume([2777, 2775, 2774, 2391], 13273) + femmesh.addVolume([1133, 1134, 2680, 3152], 13274) + femmesh.addVolume([2855, 2473, 2472, 2475], 13275) + femmesh.addVolume([2855, 2475, 2472, 2471], 13276) + femmesh.addVolume([2445, 2443, 2825, 2442], 13277) + femmesh.addVolume([2442, 2825, 2445, 2441], 13278) + femmesh.addVolume([3034, 2623, 3031, 3033], 13279) + femmesh.addVolume([3029, 2621, 3032, 3033], 13280) + femmesh.addVolume([2291, 3086, 3083, 3087], 13281) + femmesh.addVolume([3087, 3085, 2293, 3088], 13282) + femmesh.addVolume([3039, 2627, 3038, 2631], 13283) + femmesh.addVolume([3039, 3040, 2629, 2631], 13284) + femmesh.addVolume([2285, 3081, 3077, 2286], 13285) + femmesh.addVolume([3081, 3079, 2286, 2287], 13286) + femmesh.addVolume([2852, 2850, 2849, 2469], 13287) + femmesh.addVolume([2852, 2469, 2849, 2848], 13288) + femmesh.addVolume([2828, 2831, 2448, 2827], 13289) + femmesh.addVolume([2829, 2448, 2828, 2831], 13290) + femmesh.addVolume([2319, 3112, 2317, 2320], 13291) + femmesh.addVolume([2315, 2318, 3110, 2319], 13292) + femmesh.addVolume([2597, 2594, 2598, 3005], 13293) + femmesh.addVolume([2598, 3007, 2596, 2599], 13294) + femmesh.addVolume([2314, 3108, 3106, 3109], 13295) + femmesh.addVolume([3107, 3104, 2312, 3108], 13296) + femmesh.addVolume([3010, 2602, 3012, 3013], 13297) + femmesh.addVolume([3012, 2600, 3008, 3011], 13298) + femmesh.addVolume([2821, 2442, 2822, 2438], 13299) + femmesh.addVolume([2440, 2822, 2823, 2442], 13300) + femmesh.addVolume([2474, 2475, 2858, 2854], 13301) + femmesh.addVolume([2858, 2476, 2856, 2475], 13302) + femmesh.addVolume([1018, 1019, 2961, 2661], 13303) + femmesh.addVolume([2753, 2756, 2370, 2749], 13304) + femmesh.addVolume([2370, 2749, 2756, 2748], 13305) + femmesh.addVolume([2547, 2924, 2925, 2752], 13306) + femmesh.addVolume([2752, 2547, 2924, 2923], 13307) + femmesh.addVolume([3114, 2318, 3113, 2322], 13308) + femmesh.addVolume([3115, 3114, 2322, 2320], 13309) + femmesh.addVolume([2594, 3006, 3002, 2595], 13310) + femmesh.addVolume([3006, 2596, 3004, 2595], 13311) + femmesh.addVolume([2648, 18, 2965, 2684], 13312) + femmesh.addVolume([2902, 2906, 2525, 2905], 13313) + femmesh.addVolume([2907, 2527, 2904, 2906], 13314) + femmesh.addVolume([2770, 2774, 2387, 2773], 13315) + femmesh.addVolume([2774, 2775, 2772, 2389], 13316) + femmesh.addVolume([2622, 3030, 3031, 3033], 13317) + femmesh.addVolume([3030, 2622, 3029, 3033], 13318) + femmesh.addVolume([3087, 2295, 3086, 3090], 13319) + femmesh.addVolume([3090, 3087, 2295, 3088], 13320) + femmesh.addVolume([2831, 2447, 2827, 2830], 13321) + femmesh.addVolume([2829, 2832, 2449, 2831], 13322) + femmesh.addVolume([2849, 2467, 2850, 2847], 13323) + femmesh.addVolume([2848, 2849, 2845, 2465], 13324) + femmesh.addVolume([3105, 2313, 3108, 3106], 13325) + femmesh.addVolume([3108, 3104, 2313, 3105], 13326) + femmesh.addVolume([3012, 2604, 3015, 3013], 13327) + femmesh.addVolume([2604, 3012, 3015, 3011], 13328) + femmesh.addVolume([2371, 2753, 2757, 2756], 13329) + femmesh.addVolume([2755, 2756, 2748, 2369], 13330) + femmesh.addVolume([2543, 2924, 2923, 2920], 13331) + femmesh.addVolume([2922, 2925, 2545, 2924], 13332) + femmesh.addVolume([2521, 2901, 2524, 2523], 13333) + femmesh.addVolume([2522, 2519, 2523, 2899], 13334) + femmesh.addVolume([2395, 2392, 2778, 2394], 13335) + femmesh.addVolume([2394, 2390, 2776, 2393], 13336) + femmesh.addVolume([3036, 2625, 2628, 2626], 13337) + femmesh.addVolume([2628, 3036, 2624, 2625], 13338) + femmesh.addVolume([3084, 2289, 2292, 2290], 13339) + femmesh.addVolume([2292, 2288, 2289, 3084], 13340) + femmesh.addVolume([1099, 1100, 2659, 3172], 13341) + femmesh.addVolume([2443, 2826, 2446, 2445], 13342) + femmesh.addVolume([2445, 2444, 2441, 2824], 13343) + femmesh.addVolume([2472, 2470, 2473, 2853], 13344) + femmesh.addVolume([2472, 2468, 2851, 2471], 13345) + femmesh.addVolume([2368, 2365, 2750, 2367], 13346) + femmesh.addVolume([2366, 2363, 2367, 2747], 13347) + femmesh.addVolume([2546, 2550, 2549, 2754], 13348) + femmesh.addVolume([2751, 2551, 2548, 2550], 13349) + femmesh.addVolume([1334, 2365, 2364, 2367], 13350) + femmesh.addVolume([2367, 2364, 1334, 2363], 13351) + femmesh.addVolume([2553, 2551, 1333, 2550], 13352) + femmesh.addVolume([2553, 2550, 1333, 2549], 13353) + femmesh.addVolume([2315, 2319, 3111, 2316], 13354) + femmesh.addVolume([3111, 2316, 2319, 2317], 13355) + femmesh.addVolume([2598, 2599, 2601, 3009], 13356) + femmesh.addVolume([2601, 2597, 2598, 3009], 13357) + femmesh.addVolume([2501, 986, 2878, 2881], 13358) + femmesh.addVolume([2503, 2880, 1220, 2883], 13359) + femmesh.addVolume([2794, 2797, 2411, 958], 13360) + femmesh.addVolume([2413, 1192, 2799, 2796], 13361) + femmesh.addVolume([2906, 2909, 2529, 2905], 13362) + femmesh.addVolume([2907, 2529, 2906, 2909], 13363) + femmesh.addVolume([2774, 2771, 2770, 2388], 13364) + femmesh.addVolume([2771, 2774, 2772, 2388], 13365) + femmesh.addVolume([1098, 1099, 2669, 3148], 13366) + femmesh.addVolume([3029, 3026, 2618, 3030], 13367) + femmesh.addVolume([3028, 3030, 3031, 2620], 13368) + femmesh.addVolume([3091, 3090, 2296, 3088], 13369) + femmesh.addVolume([3086, 2294, 3089, 3090], 13370) + femmesh.addVolume([1176, 2709, 1175, 2930], 13371) + femmesh.addVolume([2451, 2832, 2834, 2831], 13372) + femmesh.addVolume([2831, 2834, 2451, 2830], 13373) + femmesh.addVolume([2466, 2846, 2849, 2845], 13374) + femmesh.addVolume([2466, 2847, 2849, 2846], 13375) + femmesh.addVolume([3104, 3101, 2309, 3105], 13376) + femmesh.addVolume([3103, 3105, 3106, 2311], 13377) + femmesh.addVolume([3015, 2603, 3011, 3014], 13378) + femmesh.addVolume([3015, 2605, 3016, 3013], 13379) + femmesh.addVolume([2521, 2520, 2898, 2900], 13380) + femmesh.addVolume([2896, 2520, 2519, 2900], 13381) + femmesh.addVolume([2397, 2395, 2781, 2780], 13382) + femmesh.addVolume([2779, 2397, 2780, 2393], 13383) + femmesh.addVolume([2373, 2757, 2759, 2756], 13384) + femmesh.addVolume([2756, 2759, 2373, 2755], 13385) + femmesh.addVolume([2924, 2922, 2921, 2544], 13386) + femmesh.addVolume([2544, 2921, 2924, 2920], 13387) + femmesh.addVolume([2805, 1195, 2425, 2808], 13388) + femmesh.addVolume([2806, 2423, 2803, 961], 13389) + femmesh.addVolume([2872, 983, 2489, 2869], 13390) + femmesh.addVolume([2874, 2871, 2491, 1217], 13391) + femmesh.addVolume([2629, 3039, 2628, 3037], 13392) + femmesh.addVolume([3039, 3035, 2627, 2628], 13393) + femmesh.addVolume([2289, 3080, 2285, 3081], 13394) + femmesh.addVolume([3082, 3081, 2289, 2287], 13395) + femmesh.addVolume([2821, 2825, 2442, 2441], 13396) + femmesh.addVolume([2825, 2443, 2823, 2442], 13397) + femmesh.addVolume([2471, 2855, 2475, 2854], 13398) + femmesh.addVolume([2856, 2473, 2855, 2475], 13399) + femmesh.addVolume([3112, 2319, 3114, 2320], 13400) + femmesh.addVolume([2318, 3114, 3110, 2319], 13401) + femmesh.addVolume([3007, 2598, 2596, 3006], 13402) + femmesh.addVolume([3005, 2594, 2598, 3006], 13403) + femmesh.addVolume([2903, 2526, 2523, 2522], 13404) + femmesh.addVolume([2524, 2523, 2903, 2526], 13405) + femmesh.addVolume([2394, 2392, 2777, 2391], 13406) + femmesh.addVolume([2390, 2394, 2777, 2391], 13407) + femmesh.addVolume([2905, 2909, 2528, 2908], 13408) + femmesh.addVolume([2530, 2907, 2910, 2909], 13409) + femmesh.addVolume([2770, 2767, 2384, 2771], 13410) + femmesh.addVolume([2769, 2772, 2386, 2771], 13411) + femmesh.addVolume([2623, 2625, 3034, 2626], 13412) + femmesh.addVolume([2624, 3032, 2621, 2625], 13413) + femmesh.addVolume([2293, 2292, 2290, 3085], 13414) + femmesh.addVolume([3083, 2288, 2291, 2292], 13415) + femmesh.addVolume([2298, 3093, 3089, 3090], 13416) + femmesh.addVolume([3027, 3026, 3030, 2619], 13417) + femmesh.addVolume([3030, 3028, 3027, 2619], 13418) + femmesh.addVolume([3090, 2298, 3093, 3091], 13419) + femmesh.addVolume([2846, 2842, 2845, 2462], 13420) + femmesh.addVolume([2844, 2847, 2464, 2846], 13421) + femmesh.addVolume([2834, 2833, 2450, 2830], 13422) + femmesh.addVolume([2832, 2835, 2452, 2834], 13423) + femmesh.addVolume([2570, 2981, 784, 2567], 13424) + femmesh.addVolume([2983, 913, 2569, 2572], 13425) + femmesh.addVolume([838, 3136, 2347, 2344], 13426) + femmesh.addVolume([709, 3134, 2342, 2345], 13427) + femmesh.addVolume([2445, 2828, 2448, 2444], 13428) + femmesh.addVolume([2448, 2446, 2828, 2445], 13429) + femmesh.addVolume([2470, 2852, 2472, 2469], 13430) + femmesh.addVolume([2469, 2852, 2472, 2468], 13431) + femmesh.addVolume([2310, 3101, 3102, 3105], 13432) + femmesh.addVolume([3105, 3102, 2310, 3103], 13433) + femmesh.addVolume([3015, 3014, 3018, 2607], 13434) + femmesh.addVolume([3018, 3016, 3015, 2607], 13435) + femmesh.addVolume([3058, 2266, 939, 2647], 13436) + femmesh.addVolume([2269, 3056, 810, 2645], 13437) + femmesh.addVolume([2262, 683, 3059, 2263], 13438) + femmesh.addVolume([2265, 812, 2268, 3061], 13439) + femmesh.addVolume([2757, 2760, 2374, 2759], 13440) + femmesh.addVolume([2759, 2372, 2755, 2758], 13441) + femmesh.addVolume([2921, 2922, 2919, 2542], 13442) + femmesh.addVolume([2921, 2917, 2920, 2540], 13443) + femmesh.addVolume([2312, 2315, 3107, 2316], 13444) + femmesh.addVolume([2316, 3109, 2314, 2317], 13445) + femmesh.addVolume([3008, 2601, 2597, 2600], 13446) + femmesh.addVolume([2602, 2601, 2599, 3010], 13447) + femmesh.addVolume([2749, 2370, 2367, 2366], 13448) + femmesh.addVolume([2367, 2368, 2370, 2749], 13449) + femmesh.addVolume([2752, 2550, 2547, 2546], 13450) + femmesh.addVolume([2550, 2547, 2548, 2752], 13451) + femmesh.addVolume([2909, 2910, 2532, 2912], 13452) + femmesh.addVolume([2912, 2532, 2909, 2908], 13453) + femmesh.addVolume([2769, 2385, 2768, 2771], 13454) + femmesh.addVolume([2767, 2768, 2385, 2771], 13455) + femmesh.addVolume([3027, 2617, 3028, 3025], 13456) + femmesh.addVolume([3023, 3026, 3027, 2615], 13457) + femmesh.addVolume([3093, 3094, 3091, 2299], 13458) + femmesh.addVolume([3092, 3089, 2297, 3093], 13459) + femmesh.addVolume([2846, 2844, 2843, 2463], 13460) + femmesh.addVolume([2463, 2843, 2846, 2842], 13461) + femmesh.addVolume([2837, 2454, 2834, 2833], 13462) + femmesh.addVolume([2834, 2835, 2454, 2837], 13463) + femmesh.addVolume([3100, 3102, 3103, 2308], 13464) + femmesh.addVolume([2306, 3101, 3098, 3102], 13465) + femmesh.addVolume([3018, 3019, 3016, 2608], 13466) + femmesh.addVolume([3017, 3018, 3014, 2606], 13467) + femmesh.addVolume([2759, 2762, 2760, 2376], 13468) + femmesh.addVolume([2762, 2376, 2759, 2758], 13469) + femmesh.addVolume([2919, 2921, 2541, 2918], 13470) + femmesh.addVolume([2918, 2921, 2541, 2917], 13471) + femmesh.addVolume([707, 2336, 2339, 3131], 13472) + femmesh.addVolume([2341, 836, 3133, 2338], 13473) + femmesh.addVolume([2576, 2984, 786, 2573], 13474) + femmesh.addVolume([2575, 2986, 915, 2578], 13475) + femmesh.addVolume([1282, 3165, 1281, 2705], 13476) + femmesh.addVolume([2533, 2910, 2913, 2912], 13477) + femmesh.addVolume([2912, 2911, 2531, 2908], 13478) + femmesh.addVolume([2768, 2764, 2767, 2381], 13479) + femmesh.addVolume([2768, 2766, 2383, 2769], 13480) + femmesh.addVolume([2301, 3096, 3092, 3093], 13481) + femmesh.addVolume([2616, 3027, 3024, 3025], 13482) + femmesh.addVolume([3023, 3027, 3024, 2616], 13483) + femmesh.addVolume([3093, 2301, 3096, 3094], 13484) + femmesh.addVolume([2843, 2839, 2842, 2459], 13485) + femmesh.addVolume([2841, 2843, 2844, 2461], 13486) + femmesh.addVolume([2836, 2837, 2833, 2453], 13487) + femmesh.addVolume([2835, 2838, 2455, 2837], 13488) + femmesh.addVolume([3102, 3099, 2307, 3100], 13489) + femmesh.addVolume([2307, 3102, 3098, 3099], 13490) + femmesh.addVolume([3017, 3018, 2610, 3021], 13491) + femmesh.addVolume([3019, 2610, 3018, 3021], 13492) + femmesh.addVolume([2761, 2762, 2758, 2375], 13493) + femmesh.addVolume([2377, 2760, 2763, 2762], 13494) + femmesh.addVolume([2537, 2918, 2917, 2914], 13495) + femmesh.addVolume([2919, 2539, 2916, 2918], 13496) + femmesh.addVolume([2904, 2527, 2524, 2526], 13497) + femmesh.addVolume([2522, 2526, 2525, 2902], 13498) + femmesh.addVolume([2773, 2387, 2390, 2391], 13499) + femmesh.addVolume([2389, 2775, 2392, 2391], 13500) + femmesh.addVolume([1024, 2676, 2944, 1023], 13501) + femmesh.addVolume([2292, 2295, 3087, 2293], 13502) + femmesh.addVolume([2291, 3087, 2292, 2295], 13503) + femmesh.addVolume([2622, 2623, 2625, 3033], 13504) + femmesh.addVolume([2621, 2622, 2625, 3033], 13505) + femmesh.addVolume([2912, 2915, 2535, 2911], 13506) + femmesh.addVolume([2535, 2913, 2915, 2912], 13507) + femmesh.addVolume([2766, 2768, 2382, 2765], 13508) + femmesh.addVolume([2764, 2382, 2768, 2765], 13509) + femmesh.addVolume([2827, 2448, 2444, 2447], 13510) + femmesh.addVolume([2470, 2467, 2850, 2469], 13511) + femmesh.addVolume([2469, 2465, 2848, 2468], 13512) + femmesh.addVolume([2449, 2446, 2829, 2448], 13513) + femmesh.addVolume([3094, 3096, 3097, 2302], 13514) + femmesh.addVolume([3092, 2300, 3095, 3096], 13515) + femmesh.addVolume([3024, 3020, 3023, 2612], 13516) + femmesh.addVolume([3022, 3024, 3025, 2614], 13517) + femmesh.addVolume([2837, 2840, 2838, 2457], 13518) + femmesh.addVolume([2457, 2837, 2840, 2836], 13519) + femmesh.addVolume([2843, 2840, 2460, 2841], 13520) + femmesh.addVolume([2840, 2843, 2460, 2839], 13521) + femmesh.addVolume([2303, 3098, 3095, 3099], 13522) + femmesh.addVolume([3097, 3099, 3100, 2305], 13523) + femmesh.addVolume([3022, 3019, 3021, 2611], 13524) + femmesh.addVolume([3017, 2609, 3020, 3021], 13525) + femmesh.addVolume([2761, 2762, 2379, 2765], 13526) + femmesh.addVolume([2915, 2918, 2538, 2914], 13527) + femmesh.addVolume([2538, 2915, 2916, 2918], 13528) + femmesh.addVolume([2379, 2762, 2763, 2765], 13529) + femmesh.addVolume([2313, 2316, 2312, 3108], 13530) + femmesh.addVolume([2316, 3108, 2313, 2314], 13531) + femmesh.addVolume([2604, 3012, 2601, 2602], 13532) + femmesh.addVolume([2604, 2601, 3012, 2600], 13533) + femmesh.addVolume([2915, 2914, 2534, 2911], 13534) + femmesh.addVolume([2916, 2536, 2913, 2915], 13535) + femmesh.addVolume([2766, 2380, 2763, 2765], 13536) + femmesh.addVolume([2761, 2378, 2764, 2765], 13537) + femmesh.addVolume([3096, 2304, 3095, 3099], 13538) + femmesh.addVolume([3020, 2613, 3024, 3021], 13539) + femmesh.addVolume([3021, 2613, 3024, 3022], 13540) + femmesh.addVolume([3099, 3096, 2304, 3097], 13541) + femmesh.addVolume([2840, 2458, 2841, 2838], 13542) + femmesh.addVolume([2840, 2456, 2836, 2839], 13543) + femmesh.addVolume([2977, 1238, 2566, 2980], 13544) + femmesh.addVolume([2975, 1071, 2978, 2564], 13545) + femmesh.addVolume([3142, 3139, 2350, 1329], 13546) + femmesh.addVolume([2348, 1066, 3137, 3140], 13547) + femmesh.addVolume([2748, 2370, 2366, 2369], 13548) + femmesh.addVolume([2371, 2368, 2753, 2370], 13549) + femmesh.addVolume([2925, 2545, 2547, 2548], 13550) + femmesh.addVolume([2546, 2547, 2923, 2543], 13551) + femmesh.addVolume([1285, 3177, 2700, 1286], 13552) + femmesh.addVolume([2519, 2900, 2523, 2899], 13553) + femmesh.addVolume([2523, 2521, 2901, 2900], 13554) + femmesh.addVolume([2776, 2780, 2394, 2393], 13555) + femmesh.addVolume([2394, 2778, 2395, 2780], 13556) + femmesh.addVolume([1022, 2960, 2664, 1023], 13557) + femmesh.addVolume([3036, 2624, 3035, 2628], 13558) + femmesh.addVolume([2628, 3037, 3036, 2626], 13559) + femmesh.addVolume([2289, 2288, 3080, 3084], 13560) + femmesh.addVolume([2290, 3084, 2289, 3082], 13561) + femmesh.addVolume([2272, 3067, 3064, 1304], 13562) + femmesh.addVolume([3050, 3053, 2642, 1096], 13563) + femmesh.addVolume([1263, 2644, 3052, 3055], 13564) + femmesh.addVolume([3062, 1041, 3065, 2270], 13565) + femmesh.addVolume([2443, 2825, 2826, 2445], 13566) + femmesh.addVolume([2441, 2825, 2445, 2824], 13567) + femmesh.addVolume([2472, 2851, 2855, 2471], 13568) + femmesh.addVolume([2473, 2855, 2472, 2853], 13569) + femmesh.addVolume([3110, 3111, 2315, 2319], 13570) + femmesh.addVolume([3111, 2317, 2319, 3112], 13571) + femmesh.addVolume([2599, 2598, 3007, 3009], 13572) + femmesh.addVolume([2597, 3005, 2598, 3009], 13573) + femmesh.addVolume([2333, 1062, 3125, 3128], 13574) + femmesh.addVolume([3130, 3127, 2335, 1325], 13575) + femmesh.addVolume([1075, 2990, 2987, 2579], 13576) + femmesh.addVolume([1242, 2989, 2992, 2581], 13577) + femmesh.addVolume([2529, 2527, 2906, 2526], 13578) + femmesh.addVolume([2526, 2906, 2529, 2525], 13579) + femmesh.addVolume([2388, 2774, 2389, 2391], 13580) + femmesh.addVolume([2774, 2388, 2387, 2391], 13581) + femmesh.addVolume([3086, 2291, 2294, 2295], 13582) + femmesh.addVolume([2296, 2295, 2293, 3088], 13583) + femmesh.addVolume([2621, 3029, 2618, 2622], 13584) + femmesh.addVolume([3031, 2623, 2620, 2622], 13585) + femmesh.addVolume([2831, 2451, 2448, 2447], 13586) + femmesh.addVolume([2449, 2451, 2448, 2831], 13587) + femmesh.addVolume([2469, 2466, 2849, 2465], 13588) + femmesh.addVolume([2467, 2466, 2849, 2469], 13589) + femmesh.addVolume([3104, 2309, 2312, 2313], 13590) + femmesh.addVolume([2311, 2313, 3106, 2314], 13591) + femmesh.addVolume([2605, 2604, 2602, 3013], 13592) + femmesh.addVolume([3011, 2604, 2600, 2603], 13593) + femmesh.addVolume([2756, 2373, 2370, 2369], 13594) + femmesh.addVolume([2370, 2371, 2373, 2756], 13595) + femmesh.addVolume([2924, 2547, 2545, 2544], 13596) + femmesh.addVolume([2547, 2544, 2924, 2543], 13597) + femmesh.addVolume([761, 2878, 2498, 2501], 13598) + femmesh.addVolume([2500, 2880, 890, 2503], 13599) + femmesh.addVolume([732, 2797, 2411, 2414], 13600) + femmesh.addVolume([2799, 2416, 861, 2413], 13601) + femmesh.addVolume([1334, 2750, 2365, 2367], 13602) + femmesh.addVolume([2549, 2550, 1333, 2754], 13603) + femmesh.addVolume([2363, 1334, 2367, 2747], 13604) + femmesh.addVolume([1333, 2551, 2751, 2550], 13605) + femmesh.addVolume([2422, 864, 2425, 2805], 13606) + femmesh.addVolume([2420, 735, 2803, 2423], 13607) + femmesh.addVolume([758, 2489, 2492, 2872], 13608) + femmesh.addVolume([2491, 2874, 887, 2494], 13609) + femmesh.addVolume([2525, 2529, 2528, 2905], 13610) + femmesh.addVolume([2907, 2530, 2527, 2529], 13611) + femmesh.addVolume([2386, 2772, 2389, 2388], 13612) + femmesh.addVolume([2387, 2770, 2384, 2388], 13613) + femmesh.addVolume([1017, 1018, 2945, 2675], 13614) + femmesh.addVolume([2622, 3030, 2618, 2619], 13615) + femmesh.addVolume([3030, 2622, 2620, 2619], 13616) + femmesh.addVolume([2298, 3090, 2295, 2296], 13617) + femmesh.addVolume([2295, 2298, 2294, 3090], 13618) + femmesh.addVolume([2451, 2450, 2447, 2830], 13619) + femmesh.addVolume([2449, 2832, 2452, 2451], 13620) + femmesh.addVolume([2464, 2467, 2466, 2847], 13621) + femmesh.addVolume([2466, 2462, 2845, 2465], 13622) + femmesh.addVolume([2310, 2313, 2309, 3105], 13623) + femmesh.addVolume([2313, 3105, 2310, 2311], 13624) + femmesh.addVolume([2605, 2604, 3015, 2607], 13625) + femmesh.addVolume([2603, 3015, 2604, 2607], 13626) + femmesh.addVolume([2757, 2374, 2371, 2373], 13627) + femmesh.addVolume([2373, 2369, 2755, 2372], 13628) + femmesh.addVolume([2542, 2922, 2545, 2544], 13629) + femmesh.addVolume([2544, 2920, 2543, 2540], 13630) + femmesh.addVolume([2903, 2524, 2901, 2523], 13631) + femmesh.addVolume([2522, 2523, 2903, 2899], 13632) + femmesh.addVolume([2777, 2778, 2392, 2394], 13633) + femmesh.addVolume([2777, 2390, 2776, 2394], 13634) + femmesh.addVolume([3036, 3032, 2624, 2625], 13635) + femmesh.addVolume([3034, 2625, 3036, 2626], 13636) + femmesh.addVolume([2288, 2292, 3083, 3084], 13637) + femmesh.addVolume([3084, 2290, 2292, 3085], 13638) + femmesh.addVolume([2444, 2445, 2828, 2824], 13639) + femmesh.addVolume([2828, 2446, 2826, 2445], 13640) + femmesh.addVolume([2470, 2472, 2852, 2853], 13641) + femmesh.addVolume([2852, 2851, 2472, 2468], 13642) + femmesh.addVolume([1221, 2883, 2886, 2506], 13643) + femmesh.addVolume([987, 2884, 2881, 2504], 13644) + femmesh.addVolume([2408, 2791, 2794, 957], 13645) + femmesh.addVolume([2796, 2410, 1191, 2793], 13646) + femmesh.addVolume([2532, 2529, 2530, 2909], 13647) + femmesh.addVolume([2529, 2909, 2532, 2528], 13648) + femmesh.addVolume([2771, 2386, 2385, 2388], 13649) + femmesh.addVolume([2771, 2385, 2384, 2388], 13650) + femmesh.addVolume([3028, 2619, 2620, 2617], 13651) + femmesh.addVolume([3026, 2615, 2618, 2619], 13652) + femmesh.addVolume([3091, 2296, 2298, 2299], 13653) + femmesh.addVolume([3089, 2297, 2298, 2294], 13654) + femmesh.addVolume([3111, 3107, 2315, 2316], 13655) + femmesh.addVolume([3109, 2316, 3111, 2317], 13656) + femmesh.addVolume([3008, 2597, 2601, 3009], 13657) + femmesh.addVolume([3010, 2601, 2599, 3009], 13658) + femmesh.addVolume([2846, 2466, 2464, 2463], 13659) + femmesh.addVolume([2452, 2834, 2454, 2451], 13660) + femmesh.addVolume([2454, 2451, 2834, 2450], 13661) + femmesh.addVolume([2466, 2463, 2846, 2462], 13662) + femmesh.addVolume([2310, 2311, 3103, 2308], 13663) + femmesh.addVolume([2306, 2309, 3101, 2310], 13664) + femmesh.addVolume([2603, 2606, 3014, 2607], 13665) + femmesh.addVolume([2605, 2607, 3016, 2608], 13666) + femmesh.addVolume([2373, 2759, 2376, 2372], 13667) + femmesh.addVolume([2376, 2374, 2759, 2373], 13668) + femmesh.addVolume([2921, 2542, 2541, 2544], 13669) + femmesh.addVolume([2921, 2544, 2541, 2540], 13670) + femmesh.addVolume([2749, 2366, 2367, 2747], 13671) + femmesh.addVolume([2368, 2367, 2750, 2749], 13672) + femmesh.addVolume([2546, 2752, 2550, 2754], 13673) + femmesh.addVolume([2751, 2550, 2548, 2752], 13674) + femmesh.addVolume([2808, 2811, 1196, 2428], 13675) + femmesh.addVolume([2809, 2426, 2806, 962], 13676) + femmesh.addVolume([982, 2486, 2869, 2866], 13677) + femmesh.addVolume([2868, 2488, 2871, 1216], 13678) + femmesh.addVolume([2530, 2910, 2533, 2532], 13679) + femmesh.addVolume([2528, 2532, 2531, 2908], 13680) + femmesh.addVolume([2383, 2386, 2385, 2769], 13681) + femmesh.addVolume([2385, 2381, 2767, 2384], 13682) + femmesh.addVolume([3093, 2298, 2301, 2299], 13683) + femmesh.addVolume([2619, 3027, 2616, 2617], 13684) + femmesh.addVolume([2301, 2297, 2298, 3093], 13685) + femmesh.addVolume([3027, 2616, 2615, 2619], 13686) + femmesh.addVolume([2461, 2844, 2464, 2463], 13687) + femmesh.addVolume([2462, 2463, 2842, 2459], 13688) + femmesh.addVolume([2835, 2455, 2452, 2454], 13689) + femmesh.addVolume([2833, 2454, 2450, 2453], 13690) + femmesh.addVolume([2310, 3102, 2307, 2308], 13691) + femmesh.addVolume([2307, 2306, 3102, 2310], 13692) + femmesh.addVolume([3018, 2606, 2610, 2607], 13693) + femmesh.addVolume([2607, 2610, 3018, 2608], 13694) + femmesh.addVolume([2758, 2376, 2372, 2375], 13695) + femmesh.addVolume([2377, 2374, 2760, 2376], 13696) + femmesh.addVolume([2919, 2539, 2541, 2542], 13697) + femmesh.addVolume([2540, 2541, 2917, 2537], 13698) + femmesh.addVolume([2701, 2715, 1291, 3195], 13699) + femmesh.addVolume([2768, 2385, 2382, 2381], 13700) + femmesh.addVolume([2385, 2768, 2382, 2383], 13701) + femmesh.addVolume([2535, 2532, 2533, 2912], 13702) + femmesh.addVolume([2912, 2535, 2532, 2531], 13703) + femmesh.addVolume([2300, 3092, 2297, 2301], 13704) + femmesh.addVolume([2299, 2301, 3094, 2302], 13705) + femmesh.addVolume([3023, 2612, 2615, 2616], 13706) + femmesh.addVolume([3025, 2616, 2617, 2614], 13707) + femmesh.addVolume([2837, 2455, 2454, 2457], 13708) + femmesh.addVolume([2457, 2454, 2837, 2453], 13709) + femmesh.addVolume([2843, 2461, 2460, 2463], 13710) + femmesh.addVolume([2843, 2463, 2460, 2459], 13711) + femmesh.addVolume([2305, 2307, 3100, 2308], 13712) + femmesh.addVolume([2306, 3098, 2303, 2307], 13713) + femmesh.addVolume([2609, 2610, 3017, 2606], 13714) + femmesh.addVolume([2611, 3019, 2610, 2608], 13715) + femmesh.addVolume([2379, 2376, 2762, 2375], 13716) + femmesh.addVolume([2762, 2379, 2377, 2376], 13717) + femmesh.addVolume([2918, 2541, 2538, 2537], 13718) + femmesh.addVolume([2538, 2539, 2541, 2918], 13719) + femmesh.addVolume([2566, 912, 2569, 2980], 13720) + femmesh.addVolume([2978, 783, 2567, 2564], 13721) + femmesh.addVolume([2347, 839, 2350, 3139], 13722) + femmesh.addVolume([2345, 710, 3137, 2348], 13723) + femmesh.addVolume([2382, 2378, 2764, 2381], 13724) + femmesh.addVolume([2382, 2380, 2383, 2766], 13725) + femmesh.addVolume([2531, 2535, 2534, 2911], 13726) + femmesh.addVolume([2913, 2536, 2533, 2535], 13727) + femmesh.addVolume([2301, 2300, 3096, 2304], 13728) + femmesh.addVolume([2304, 3096, 2301, 2302], 13729) + femmesh.addVolume([2613, 2616, 3024, 2614], 13730) + femmesh.addVolume([2612, 3024, 2613, 2616], 13731) + femmesh.addVolume([2839, 2460, 2456, 2459], 13732) + femmesh.addVolume([2458, 2455, 2838, 2457], 13733) + femmesh.addVolume([2456, 2457, 2836, 2453], 13734) + femmesh.addVolume([2460, 2461, 2841, 2458], 13735) + femmesh.addVolume([2307, 3099, 2304, 2305], 13736) + femmesh.addVolume([2303, 2304, 2307, 3099], 13737) + femmesh.addVolume([2609, 2610, 2613, 3021], 13738) + femmesh.addVolume([3021, 2610, 2613, 2611], 13739) + femmesh.addVolume([2380, 2379, 2377, 2763], 13740) + femmesh.addVolume([2538, 2537, 2534, 2914], 13741) + femmesh.addVolume([2536, 2916, 2539, 2538], 13742) + femmesh.addVolume([2379, 2375, 2761, 2378], 13743) + femmesh.addVolume([3169, 3149, 1291, 3195], 13744) + femmesh.addVolume([2915, 2538, 2535, 2534], 13745) + femmesh.addVolume([2536, 2535, 2915, 2538], 13746) + femmesh.addVolume([2382, 2378, 2379, 2765], 13747) + femmesh.addVolume([2379, 2380, 2382, 2765], 13748) + femmesh.addVolume([2302, 2304, 3097, 2305], 13749) + femmesh.addVolume([2303, 3095, 2300, 2304], 13750) + femmesh.addVolume([2614, 3022, 2613, 2611], 13751) + femmesh.addVolume([2613, 2609, 3020, 2612], 13752) + femmesh.addVolume([2460, 2457, 2840, 2456], 13753) + femmesh.addVolume([2460, 2458, 2840, 2457], 13754) + femmesh.addVolume([2268, 813, 2272, 3064], 13755) + femmesh.addVolume([2645, 3053, 809, 2642], 13756) + femmesh.addVolume([2263, 684, 3062, 2270], 13757) + femmesh.addVolume([938, 2647, 2644, 3055], 13758) + femmesh.addVolume([2524, 2903, 2904, 2526], 13759) + femmesh.addVolume([2522, 2903, 2526, 2902], 13760) + femmesh.addVolume([2777, 2392, 2775, 2391], 13761) + femmesh.addVolume([2390, 2777, 2773, 2391], 13762) + femmesh.addVolume([2623, 3034, 2625, 3033], 13763) + femmesh.addVolume([2625, 3032, 2621, 3033], 13764) + femmesh.addVolume([2293, 3087, 2292, 3085], 13765) + femmesh.addVolume([3083, 2292, 2291, 3087], 13766) + femmesh.addVolume([2828, 2829, 2446, 2448], 13767) + femmesh.addVolume([2448, 2444, 2828, 2827], 13768) + femmesh.addVolume([2848, 2852, 2469, 2468], 13769) + femmesh.addVolume([2850, 2852, 2470, 2469], 13770) + femmesh.addVolume([2338, 835, 3130, 2335], 13771) + femmesh.addVolume([2336, 706, 2333, 3128], 13772) + femmesh.addVolume([2579, 2987, 787, 2576], 13773) + femmesh.addVolume([916, 2578, 2989, 2581], 13774) + femmesh.addVolume([2314, 2316, 3108, 3109], 13775) + femmesh.addVolume([2312, 2316, 3107, 3108], 13776) + femmesh.addVolume([2602, 3012, 2601, 3010], 13777) + femmesh.addVolume([3008, 3012, 2601, 2600], 13778) + femmesh.addVolume([1135, 2665, 1134, 3163], 13779) + femmesh.addVolume([2366, 2749, 2370, 2748], 13780) + femmesh.addVolume([2370, 2368, 2753, 2749], 13781) + femmesh.addVolume([2547, 2923, 2752, 2546], 13782) + femmesh.addVolume([2925, 2548, 2547, 2752], 13783) + femmesh.addVolume([1237, 2563, 2974, 2977], 13784) + femmesh.addVolume([2561, 2975, 1070, 2970], 13785) + femmesh.addVolume([2353, 3145, 3142, 1330], 13786) + femmesh.addVolume([3140, 2351, 1067, 3143], 13787) + femmesh.addVolume([3050, 2639, 3047, 1095], 13788) + femmesh.addVolume([3070, 3067, 2275, 1305], 13789) + femmesh.addVolume([2273, 1042, 3065, 3068], 13790) + femmesh.addVolume([2641, 1262, 3052, 3049], 13791) + femmesh.addVolume([3122, 1061, 3125, 2330], 13792) + femmesh.addVolume([2332, 3127, 3124, 1324], 13793) + femmesh.addVolume([2995, 1243, 2992, 2584], 13794) + femmesh.addVolume([1076, 2993, 2990, 2582], 13795) + femmesh.addVolume([2906, 2525, 2526, 2902], 13796) + femmesh.addVolume([2906, 2527, 2904, 2526], 13797) + femmesh.addVolume([2773, 2774, 2387, 2391], 13798) + femmesh.addVolume([2775, 2389, 2774, 2391], 13799) + femmesh.addVolume([908, 2554, 2729, 2557], 13800) + femmesh.addVolume([2362, 843, 2728, 2359], 13801) + femmesh.addVolume([779, 2685, 2552, 2555], 13802) + femmesh.addVolume([2684, 714, 2360, 2357], 13803) + femmesh.addVolume([2941, 2732, 1158, 2745], 13804) + femmesh.addVolume([3087, 2291, 3086, 2295], 13805) + femmesh.addVolume([2622, 3031, 2623, 3033], 13806) + femmesh.addVolume([2622, 2621, 3029, 3033], 13807) + femmesh.addVolume([2293, 2295, 3087, 3088], 13808) + femmesh.addVolume([2448, 2827, 2831, 2447], 13809) + femmesh.addVolume([2449, 2448, 2829, 2831], 13810) + femmesh.addVolume([2849, 2848, 2469, 2465], 13811) + femmesh.addVolume([2467, 2849, 2850, 2469], 13812) + femmesh.addVolume([3106, 2313, 3108, 2314], 13813) + femmesh.addVolume([3104, 2313, 2312, 3108], 13814) + femmesh.addVolume([2600, 3012, 2604, 3011], 13815) + femmesh.addVolume([2602, 2604, 3012, 3013], 13816) + femmesh.addVolume([2370, 2748, 2756, 2369], 13817) + femmesh.addVolume([2370, 2753, 2371, 2756], 13818) + femmesh.addVolume([2925, 2547, 2545, 2924], 13819) + femmesh.addVolume([2923, 2547, 2924, 2543], 13820) + femmesh.addVolume([2686, 2928, 2744, 1020], 13821) + femmesh.addVolume([762, 2881, 2501, 2504], 13822) + femmesh.addVolume([2883, 891, 2503, 2506], 13823) + femmesh.addVolume([2413, 2410, 860, 2796], 13824) + femmesh.addVolume([731, 2411, 2794, 2408], 13825) + femmesh.addVolume([2808, 865, 2425, 2428], 13826) + femmesh.addVolume([2806, 736, 2426, 2423], 13827) + femmesh.addVolume([2869, 757, 2489, 2486], 13828) + femmesh.addVolume([2491, 2871, 2488, 886], 13829) + femmesh.addVolume([3158, 2688, 1117, 2736], 13830) + femmesh.addVolume([2889, 1222, 2886, 2509], 13831) + femmesh.addVolume([988, 2887, 2884, 2507], 13832) + femmesh.addVolume([2791, 2405, 2788, 956], 13833) + femmesh.addVolume([2790, 1190, 2407, 2793], 13834) + femmesh.addVolume([2868, 2865, 2485, 1215], 13835) + femmesh.addVolume([981, 2863, 2483, 2866], 13836) + femmesh.addVolume([2812, 2429, 2809, 963], 13837) + femmesh.addVolume([2814, 1197, 2811, 2431], 13838) + femmesh.addVolume([2661, 1114, 1115, 3165], 13839) + femmesh.addVolume([2529, 2525, 2906, 2905], 13840) + femmesh.addVolume([2527, 2906, 2907, 2529], 13841) + femmesh.addVolume([2774, 2389, 2772, 2388], 13842) + femmesh.addVolume([2774, 2770, 2387, 2388], 13843) + femmesh.addVolume([3030, 2618, 3029, 2622], 13844) + femmesh.addVolume([2620, 3030, 3031, 2622], 13845) + femmesh.addVolume([2295, 2294, 3086, 3090], 13846) + femmesh.addVolume([2296, 3090, 2295, 3088], 13847) + femmesh.addVolume([2451, 2449, 2832, 2831], 13848) + femmesh.addVolume([2451, 2447, 2831, 2830], 13849) + femmesh.addVolume([2466, 2467, 2849, 2847], 13850) + femmesh.addVolume([2845, 2849, 2466, 2465], 13851) + femmesh.addVolume([2736, 1117, 3158, 3176], 13852) + femmesh.addVolume([2309, 2313, 3104, 3105], 13853) + femmesh.addVolume([2313, 3106, 3105, 2311], 13854) + femmesh.addVolume([2604, 2605, 3015, 3013], 13855) + femmesh.addVolume([3011, 3015, 2604, 2603], 13856) + femmesh.addVolume([2928, 2956, 2744, 1020], 13857) + femmesh.addVolume([2956, 2746, 1157, 2928], 13858) + femmesh.addVolume([2941, 2742, 2956, 1021], 13859) + femmesh.addVolume([2956, 2941, 1158, 2745], 13860) + femmesh.addVolume([2757, 2373, 2371, 2756], 13861) + femmesh.addVolume([2755, 2373, 2756, 2369], 13862) + femmesh.addVolume([2924, 2543, 2544, 2920], 13863) + femmesh.addVolume([2922, 2924, 2545, 2544], 13864) + femmesh.addVolume([3156, 1116, 2738, 3176], 13865) + femmesh.addVolume([3158, 1284, 2741, 3176], 13866) + femmesh.addVolume([2566, 2563, 911, 2977], 13867) + femmesh.addVolume([2561, 782, 2975, 2564], 13868) + femmesh.addVolume([840, 2350, 3142, 2353], 13869) + femmesh.addVolume([2351, 711, 2348, 3140], 13870) + femmesh.addVolume([2560, 2973, 1236, 2974], 13871) + femmesh.addVolume([2969, 2558, 1069, 2970], 13872) + femmesh.addVolume([1068, 2972, 3143, 2354], 13873) + femmesh.addVolume([2967, 3145, 2356, 1331], 13874) + femmesh.addVolume([2529, 2907, 2530, 2909], 13875) + femmesh.addVolume([2528, 2529, 2909, 2905], 13876) + femmesh.addVolume([2771, 2384, 2770, 2388], 13877) + femmesh.addVolume([2771, 2772, 2386, 2388], 13878) + femmesh.addVolume([3030, 2620, 3028, 2619], 13879) + femmesh.addVolume([2618, 3030, 3026, 2619], 13880) + femmesh.addVolume([2296, 2298, 3090, 3091], 13881) + femmesh.addVolume([2294, 2298, 3089, 3090], 13882) + femmesh.addVolume([2450, 2451, 2834, 2830], 13883) + femmesh.addVolume([2834, 2452, 2832, 2451], 13884) + femmesh.addVolume([2845, 2466, 2846, 2462], 13885) + femmesh.addVolume([2847, 2466, 2464, 2846], 13886) + femmesh.addVolume([2270, 685, 3065, 2273], 13887) + femmesh.addVolume([2272, 814, 2275, 3067], 13888) + femmesh.addVolume([2642, 808, 2639, 3050], 13889) + femmesh.addVolume([2644, 937, 3052, 2641], 13890) + femmesh.addVolume([3101, 2310, 2309, 3105], 13891) + femmesh.addVolume([3103, 2310, 3105, 2311], 13892) + femmesh.addVolume([2605, 3015, 3016, 2607], 13893) + femmesh.addVolume([3014, 3015, 2603, 2607], 13894) + femmesh.addVolume([2759, 2374, 2757, 2373], 13895) + femmesh.addVolume([2755, 2759, 2373, 2372], 13896) + femmesh.addVolume([2922, 2542, 2921, 2544], 13897) + femmesh.addVolume([2921, 2920, 2544, 2540], 13898) + femmesh.addVolume([2636, 3044, 3047, 1094], 13899) + femmesh.addVolume([1043, 3071, 3068, 2276], 13900) + femmesh.addVolume([3070, 2278, 3073, 1306], 13901) + femmesh.addVolume([3046, 3049, 1261, 2638], 13902) + femmesh.addVolume([2332, 834, 2335, 3127], 13903) + femmesh.addVolume([2330, 705, 3125, 2333], 13904) + femmesh.addVolume([2584, 917, 2992, 2581], 13905) + femmesh.addVolume([2990, 2579, 788, 2582], 13906) + femmesh.addVolume([3121, 2329, 3124, 1323], 13907) + femmesh.addVolume([3122, 3119, 1060, 2327], 13908) + femmesh.addVolume([2993, 1077, 2996, 2585], 13909) + femmesh.addVolume([2995, 2998, 1244, 2587], 13910) + femmesh.addVolume([2910, 2532, 2530, 2909], 13911) + femmesh.addVolume([2528, 2909, 2532, 2908], 13912) + femmesh.addVolume([2385, 2384, 2767, 2771], 13913) + femmesh.addVolume([2385, 2769, 2386, 2771], 13914) + femmesh.addVolume([2615, 3026, 3027, 2619], 13915) + femmesh.addVolume([3027, 2619, 3028, 2617], 13916) + femmesh.addVolume([3089, 2298, 2297, 3093], 13917) + femmesh.addVolume([3091, 2298, 3093, 2299], 13918) + femmesh.addVolume([2844, 2846, 2464, 2463], 13919) + femmesh.addVolume([2454, 2452, 2835, 2834], 13920) + femmesh.addVolume([2450, 2834, 2454, 2833], 13921) + femmesh.addVolume([2842, 2846, 2463, 2462], 13922) + femmesh.addVolume([3101, 3102, 2306, 2310], 13923) + femmesh.addVolume([3103, 3102, 2310, 2308], 13924) + femmesh.addVolume([3016, 2607, 3018, 2608], 13925) + femmesh.addVolume([2606, 3018, 3014, 2607], 13926) + femmesh.addVolume([2374, 2759, 2760, 2376], 13927) + femmesh.addVolume([2372, 2759, 2376, 2758], 13928) + femmesh.addVolume([2919, 2541, 2921, 2542], 13929) + femmesh.addVolume([2541, 2917, 2921, 2540], 13930) + femmesh.addVolume([2532, 2910, 2533, 2912], 13931) + femmesh.addVolume([2531, 2532, 2912, 2908], 13932) + femmesh.addVolume([2768, 2383, 2385, 2769], 13933) + femmesh.addVolume([2767, 2385, 2768, 2381], 13934) + femmesh.addVolume([2615, 3027, 3023, 2616], 13935) + femmesh.addVolume([2617, 3027, 2616, 3025], 13936) + femmesh.addVolume([2297, 2301, 3092, 3093], 13937) + femmesh.addVolume([2301, 3094, 3093, 2299], 13938) + femmesh.addVolume([2455, 2454, 2835, 2837], 13939) + femmesh.addVolume([2454, 2833, 2837, 2453], 13940) + femmesh.addVolume([2843, 2842, 2463, 2459], 13941) + femmesh.addVolume([2844, 2461, 2843, 2463], 13942) + femmesh.addVolume([3100, 2307, 3102, 2308], 13943) + femmesh.addVolume([3102, 3098, 2306, 2307], 13944) + femmesh.addVolume([3019, 3018, 2610, 2608], 13945) + femmesh.addVolume([3017, 2610, 3018, 2606], 13946) + femmesh.addVolume([2758, 2762, 2376, 2375], 13947) + femmesh.addVolume([2760, 2762, 2377, 2376], 13948) + femmesh.addVolume([2917, 2541, 2918, 2537], 13949) + femmesh.addVolume([2539, 2919, 2541, 2918], 13950) + femmesh.addVolume([2738, 2687, 1116, 3156], 13951) + femmesh.addVolume([2887, 989, 2890, 2510], 13952) + femmesh.addVolume([2892, 1223, 2889, 2512], 13953) + femmesh.addVolume([2788, 2402, 2785, 955], 13954) + femmesh.addVolume([2787, 1189, 2404, 2790], 13955) + femmesh.addVolume([2506, 2886, 892, 2509], 13956) + femmesh.addVolume([763, 2507, 2884, 2504], 13957) + femmesh.addVolume([859, 2410, 2407, 2793], 13958) + femmesh.addVolume([730, 2408, 2791, 2405], 13959) + femmesh.addVolume([2863, 980, 2480, 2860], 13960) + femmesh.addVolume([2862, 2482, 2865, 1214], 13961) + femmesh.addVolume([2815, 2432, 2812, 964], 13962) + femmesh.addVolume([1198, 2814, 2817, 2434], 13963) + femmesh.addVolume([2913, 2535, 2533, 2912], 13964) + femmesh.addVolume([2535, 2531, 2912, 2911], 13965) + femmesh.addVolume([2382, 2383, 2768, 2766], 13966) + femmesh.addVolume([2382, 2764, 2768, 2381], 13967) + femmesh.addVolume([3096, 3092, 2300, 2301], 13968) + femmesh.addVolume([3094, 2301, 3096, 2302], 13969) + femmesh.addVolume([3025, 3024, 2616, 2614], 13970) + femmesh.addVolume([2612, 3023, 3024, 2616], 13971) + femmesh.addVolume([2837, 2836, 2457, 2453], 13972) + femmesh.addVolume([2837, 2838, 2455, 2457], 13973) + femmesh.addVolume([2843, 2841, 2460, 2461], 13974) + femmesh.addVolume([2460, 2839, 2843, 2459], 13975) + femmesh.addVolume([2307, 3098, 2303, 3099], 13976) + femmesh.addVolume([2307, 3100, 3099, 2305], 13977) + femmesh.addVolume([2609, 3017, 2610, 3021], 13978) + femmesh.addVolume([2610, 3021, 3019, 2611], 13979) + femmesh.addVolume([2762, 2761, 2379, 2375], 13980) + femmesh.addVolume([2763, 2379, 2377, 2762], 13981) + femmesh.addVolume([2538, 2916, 2539, 2918], 13982) + femmesh.addVolume([2537, 2538, 2918, 2914], 13983) + femmesh.addVolume([737, 2426, 2429, 2809], 13984) + femmesh.addVolume([2428, 2811, 866, 2431], 13985) + femmesh.addVolume([2868, 2485, 2488, 885], 13986) + femmesh.addVolume([2486, 756, 2483, 2866], 13987) + femmesh.addVolume([2915, 2536, 2913, 2535], 13988) + femmesh.addVolume([2915, 2534, 2535, 2911], 13989) + femmesh.addVolume([2380, 2766, 2382, 2765], 13990) + femmesh.addVolume([2378, 2382, 2764, 2765], 13991) + femmesh.addVolume([3096, 2300, 3095, 2304], 13992) + femmesh.addVolume([2613, 3020, 3024, 2612], 13993) + femmesh.addVolume([3097, 3096, 2304, 2302], 13994) + femmesh.addVolume([3024, 3022, 2613, 2614], 13995) + femmesh.addVolume([2836, 2840, 2457, 2456], 13996) + femmesh.addVolume([2838, 2840, 2458, 2457], 13997) + femmesh.addVolume([2460, 2456, 2840, 2839], 13998) + femmesh.addVolume([2460, 2841, 2840, 2458], 13999) + femmesh.addVolume([2304, 2303, 3095, 3099], 14000) + femmesh.addVolume([3097, 2304, 3099, 2305], 14001) + femmesh.addVolume([2609, 2613, 3020, 3021], 14002) + femmesh.addVolume([2613, 3022, 3021, 2611], 14003) + femmesh.addVolume([2534, 2915, 2538, 2914], 14004) + femmesh.addVolume([2763, 2380, 2379, 2765], 14005) + femmesh.addVolume([2378, 2761, 2379, 2765], 14006) + femmesh.addVolume([2915, 2916, 2536, 2538], 14007) + femmesh.addVolume([1284, 3158, 2741, 2733], 14008) + femmesh.addVolume([2740, 3156, 3176, 1283], 14009) + femmesh.addVolume([2635, 1260, 3046, 3043], 14010) + femmesh.addVolume([3041, 3044, 2633, 1093], 14011) + femmesh.addVolume([2279, 1044, 3071, 3074], 14012) + femmesh.addVolume([3076, 3073, 2281, 1307], 14013) + femmesh.addVolume([2742, 1021, 2941, 2689], 14014) + femmesh.addVolume([2357, 21, 2972, 1336], 14015) + femmesh.addVolume([2973, 2557, 26, 1335], 14016) + femmesh.addVolume([22, 2555, 2969, 1335], 14017) + femmesh.addVolume([2359, 28, 1336, 2967], 14018) + femmesh.addVolume([2326, 3121, 3118, 1322], 14019) + femmesh.addVolume([1059, 3116, 2324, 3119], 14020) + femmesh.addVolume([1245, 2590, 2998, 3001], 14021) + femmesh.addVolume([2996, 2588, 1078, 2999], 14022) + femmesh.addVolume([2974, 910, 2560, 2563], 14023) + femmesh.addVolume([781, 2558, 2561, 2970], 14024) + femmesh.addVolume([3143, 2351, 712, 2354], 14025) + femmesh.addVolume([841, 3145, 2356, 2353], 14026) + femmesh.addVolume([2639, 807, 2636, 3047], 14027) + femmesh.addVolume([936, 3049, 2641, 2638], 14028) + femmesh.addVolume([3068, 2273, 686, 2276], 14029) + femmesh.addVolume([3070, 2278, 815, 2275], 14030) + femmesh.addVolume([2329, 833, 2332, 3124], 14031) + femmesh.addVolume([2327, 704, 3122, 2330], 14032) + femmesh.addVolume([2585, 2993, 789, 2582], 14033) + femmesh.addVolume([2587, 918, 2995, 2584], 14034) + femmesh.addVolume([2895, 1224, 2892, 2515], 14035) + femmesh.addVolume([990, 2893, 2890, 2513], 14036) + femmesh.addVolume([2784, 1188, 2401, 2787], 14037) + femmesh.addVolume([2785, 2399, 2782, 954], 14038) + femmesh.addVolume([2740, 2730, 3156, 1283], 14039) + femmesh.addVolume([2479, 2862, 2859, 1213], 14040) + femmesh.addVolume([2477, 979, 2857, 2860], 14041) + femmesh.addVolume([2435, 2815, 2818, 965], 14042) + femmesh.addVolume([2820, 2437, 1199, 2817], 14043) + femmesh.addVolume([2746, 2731, 1157, 2928], 14044) + femmesh.addVolume([2509, 2889, 893, 2512], 14045) + femmesh.addVolume([2507, 764, 2887, 2510], 14046) + femmesh.addVolume([858, 2407, 2404, 2790], 14047) + femmesh.addVolume([2405, 2788, 729, 2402], 14048) + femmesh.addVolume([2865, 2482, 2485, 884], 14049) + femmesh.addVolume([2483, 755, 2480, 2863], 14050) + femmesh.addVolume([2432, 738, 2429, 2812], 14051) + femmesh.addVolume([867, 2431, 2814, 2434], 14052) + femmesh.addVolume([1045, 3074, 2282, 3077], 14053) + femmesh.addVolume([3041, 2630, 3038, 1092], 14054) + femmesh.addVolume([1259, 3043, 2632, 3040], 14055) + femmesh.addVolume([2284, 3079, 3076, 1308], 14056) + femmesh.addVolume([2354, 713, 2972, 2357], 14057) + femmesh.addVolume([2973, 909, 2557, 2560], 14058) + femmesh.addVolume([2969, 780, 2558, 2555], 14059) + femmesh.addVolume([2967, 2359, 842, 2356], 14060) + femmesh.addVolume([3113, 2321, 1058, 3116], 14061) + femmesh.addVolume([3115, 2323, 3118, 1321], 14062) + femmesh.addVolume([2591, 2999, 3002, 1079], 14063) + femmesh.addVolume([3001, 2593, 3004, 1246], 14064) + femmesh.addVolume([1206, 2841, 2458, 2838], 14065) + femmesh.addVolume([972, 2836, 2456, 2839], 14066) + femmesh.addVolume([2378, 2761, 2764, 947], 14067) + femmesh.addVolume([2763, 1181, 2380, 2766], 14068) + femmesh.addVolume([2536, 2916, 2913, 1231], 14069) + femmesh.addVolume([2534, 2911, 2914, 997], 14070) + femmesh.addVolume([2898, 1225, 2895, 2518], 14071) + femmesh.addVolume([2893, 991, 2896, 2516], 14072) + femmesh.addVolume([1187, 2784, 2398, 2781], 14073) + femmesh.addVolume([2396, 2779, 2782, 953], 14074) + femmesh.addVolume([2739, 2738, 1332, 2740], 14075) + femmesh.addVolume([2736, 2737, 1332, 2741], 14076) + femmesh.addVolume([2743, 2739, 2746, 2744], 14077) + femmesh.addVolume([2743, 2745, 2737, 2742], 14078) + femmesh.addVolume([2857, 978, 2474, 2854], 14079) + femmesh.addVolume([2476, 2859, 2856, 1212], 14080) + femmesh.addVolume([2438, 2818, 2821, 966], 14081) + femmesh.addVolume([2823, 2440, 1200, 2820], 14082) + femmesh.addVolume([2609, 3017, 3020, 1085], 14083) + femmesh.addVolume([2305, 3100, 3097, 1315], 14084) + femmesh.addVolume([3095, 2303, 1052, 3098], 14085) + femmesh.addVolume([3019, 2611, 3022, 1252], 14086) + femmesh.addVolume([2636, 806, 2633, 3044], 14087) + femmesh.addVolume([2638, 935, 3046, 2635], 14088) + femmesh.addVolume([2276, 687, 3071, 2279], 14089) + femmesh.addVolume([2278, 816, 2281, 3073], 14090) + femmesh.addVolume([2302, 3097, 3094, 1314], 14091) + femmesh.addVolume([2300, 3095, 1051, 3092], 14092) + femmesh.addVolume([2614, 3025, 3022, 1253], 14093) + femmesh.addVolume([3023, 2612, 3020, 1086], 14094) + femmesh.addVolume([3119, 2324, 703, 2327], 14095) + femmesh.addVolume([832, 3121, 2329, 2326], 14096) + femmesh.addVolume([2585, 790, 2996, 2588], 14097) + femmesh.addVolume([2590, 2998, 2587, 919], 14098) + femmesh.addVolume([2939, 1007, 2952, 3191], 14099) + femmesh.addVolume([2287, 3082, 3079, 1309], 14100) + femmesh.addVolume([3040, 2629, 1258, 3037], 14101) + femmesh.addVolume([3077, 2285, 1046, 3080], 14102) + femmesh.addVolume([3035, 3038, 2627, 1091], 14103) + femmesh.addVolume([2539, 2919, 2916, 1232], 14104) + femmesh.addVolume([2914, 2917, 2537, 998], 14105) + femmesh.addVolume([2375, 2758, 2761, 946], 14106) + femmesh.addVolume([1180, 2763, 2377, 2760], 14107) + femmesh.addVolume([3113, 1057, 2318, 3110], 14108) + femmesh.addVolume([3112, 2320, 3115, 1320], 14109) + femmesh.addVolume([3005, 2594, 3002, 1080], 14110) + femmesh.addVolume([2596, 3007, 3004, 1247], 14111) + femmesh.addVolume([2455, 1205, 2838, 2835], 14112) + femmesh.addVolume([2453, 2833, 2836, 971], 14113) + femmesh.addVolume([2839, 973, 2842, 2459], 14114) + femmesh.addVolume([2461, 2844, 2841, 1207], 14115) + femmesh.addVolume([2766, 1182, 2383, 2769], 14116) + femmesh.addVolume([2767, 2381, 2764, 948], 14117) + femmesh.addVolume([2910, 2533, 2913, 1230], 14118) + femmesh.addVolume([2531, 2908, 2911, 996], 14119) + femmesh.addVolume([2901, 2898, 2521, 1226], 14120) + femmesh.addVolume([2896, 2899, 2519, 992], 14121) + femmesh.addVolume([1186, 2781, 2395, 2778], 14122) + femmesh.addVolume([2393, 2776, 2779, 952], 14123) + femmesh.addVolume([2510, 765, 2890, 2513], 14124) + femmesh.addVolume([2515, 894, 2892, 2512], 14125) + femmesh.addVolume([857, 2404, 2401, 2787], 14126) + femmesh.addVolume([728, 2402, 2785, 2399], 14127) + femmesh.addVolume([2606, 3014, 3017, 1084], 14128) + femmesh.addVolume([3016, 2608, 3019, 1251], 14129) + femmesh.addVolume([3098, 2306, 1053, 3101], 14130) + femmesh.addVolume([2308, 3103, 3100, 1316], 14131) + femmesh.addVolume([2821, 2824, 2441, 967], 14132) + femmesh.addVolume([2471, 977, 2851, 2854], 14133) + femmesh.addVolume([2443, 1201, 2826, 2823], 14134) + femmesh.addVolume([2856, 2853, 2473, 1211], 14135) + femmesh.addVolume([3091, 2299, 3094, 1313], 14136) + femmesh.addVolume([3092, 1050, 2297, 3089], 14137) + femmesh.addVolume([3026, 2615, 3023, 1087], 14138) + femmesh.addVolume([2617, 1254, 3028, 3025], 14139) + femmesh.addVolume([2479, 2482, 2862, 883], 14140) + femmesh.addVolume([2480, 754, 2477, 2860], 14141) + femmesh.addVolume([868, 2817, 2437, 2434], 14142) + femmesh.addVolume([739, 2815, 2432, 2435], 14143) + femmesh.addVolume([2919, 2542, 2922, 1233], 14144) + femmesh.addVolume([2920, 2540, 2917, 999], 14145) + femmesh.addVolume([2374, 1179, 2760, 2757], 14146) + femmesh.addVolume([2755, 2758, 2372, 945], 14147) + femmesh.addVolume([1047, 3083, 3080, 2288], 14148) + femmesh.addVolume([1257, 3034, 3037, 2626], 14149) + femmesh.addVolume([3035, 2624, 3032, 1090], 14150) + femmesh.addVolume([3082, 2290, 3085, 1310], 14151) + femmesh.addVolume([2450, 2830, 2833, 970], 14152) + femmesh.addVolume([1204, 2452, 2832, 2835], 14153) + femmesh.addVolume([2847, 2844, 2464, 1208], 14154) + femmesh.addVolume([2842, 974, 2845, 2462], 14155) + femmesh.addVolume([3010, 3007, 2599, 1248], 14156) + femmesh.addVolume([2315, 3110, 1056, 3107], 14157) + femmesh.addVolume([3112, 3109, 2317, 1319], 14158) + femmesh.addVolume([2597, 3005, 3008, 1081], 14159) + femmesh.addVolume([2767, 2770, 2384, 949], 14160) + femmesh.addVolume([2907, 2530, 2910, 1229], 14161) + femmesh.addVolume([2908, 2528, 2905, 995], 14162) + femmesh.addVolume([2386, 1183, 2772, 2769], 14163) + femmesh.addVolume([1007, 2660, 2672, 3191], 14164) + femmesh.addVolume([2522, 2899, 2902, 993], 14165) + femmesh.addVolume([2901, 2524, 2904, 1227], 14166) + femmesh.addVolume([1185, 2775, 2778, 2392], 14167) + femmesh.addVolume([2776, 2390, 2773, 951], 14168) + femmesh.addVolume([3016, 3013, 2605, 1250], 14169) + femmesh.addVolume([2309, 1054, 3101, 3104], 14170) + femmesh.addVolume([2311, 3106, 3103, 1317], 14171) + femmesh.addVolume([3011, 3014, 2603, 1083], 14172) + femmesh.addVolume([2826, 2829, 1202, 2446], 14173) + femmesh.addVolume([2827, 2444, 2824, 968], 14174) + femmesh.addVolume([2850, 2470, 2853, 1210], 14175) + femmesh.addVolume([2848, 976, 2851, 2468], 14176) + femmesh.addVolume([3089, 3086, 1049, 2294], 14177) + femmesh.addVolume([3088, 2296, 3091, 1312], 14178) + femmesh.addVolume([1255, 3028, 3031, 2620], 14179) + femmesh.addVolume([3026, 3029, 2618, 1088], 14180) + femmesh.addVolume([2365, 25, 2750, 1334], 14181) + femmesh.addVolume([1334, 2363, 18, 2747], 14182) + femmesh.addVolume([2549, 1333, 19, 2754], 14183) + femmesh.addVolume([2751, 1333, 24, 2551], 14184) + femmesh.addVolume([2369, 2748, 2755, 944], 14185) + femmesh.addVolume([2925, 2922, 2545, 1234], 14186) + femmesh.addVolume([2920, 2923, 2543, 1000], 14187) + femmesh.addVolume([2757, 2371, 1178, 2753], 14188) + femmesh.addVolume([1256, 3031, 3034, 2623], 14189) + femmesh.addVolume([2293, 3088, 3085, 1311], 14190) + femmesh.addVolume([2621, 3029, 3032, 1089], 14191) + femmesh.addVolume([3083, 1048, 3086, 2291], 14192) + femmesh.addVolume([908, 2729, 26, 2557], 14193) + femmesh.addVolume([28, 2728, 843, 2359], 14194) + femmesh.addVolume([2685, 779, 22, 2555], 14195) + femmesh.addVolume([714, 2684, 21, 2357], 14196) + femmesh.addVolume([2449, 1203, 2832, 2829], 14197) + femmesh.addVolume([2827, 2830, 2447, 969], 14198) + femmesh.addVolume([975, 2848, 2845, 2465], 14199) + femmesh.addVolume([2850, 2847, 2467, 1209], 14200) + femmesh.addVolume([2312, 3107, 1055, 3104], 14201) + femmesh.addVolume([3008, 3011, 2600, 1082], 14202) + femmesh.addVolume([3109, 3106, 2314, 1318], 14203) + femmesh.addVolume([2602, 3013, 3010, 1249], 14204) + femmesh.addVolume([2905, 2525, 2902, 994], 14205) + femmesh.addVolume([2527, 2907, 2904, 1228], 14206) + femmesh.addVolume([2775, 1184, 2772, 2389], 14207) + femmesh.addVolume([2773, 2387, 2770, 950], 14208) + femmesh.addVolume([2925, 2548, 2751, 1235], 14209) + femmesh.addVolume([2748, 2366, 2747, 943], 14210) + femmesh.addVolume([2923, 2754, 2546, 1001], 14211) + femmesh.addVolume([2368, 1177, 2753, 2750], 14212) + femmesh.addVolume([2633, 3041, 805, 2630], 14213) + femmesh.addVolume([2632, 934, 2635, 3043], 14214) + femmesh.addVolume([2279, 2282, 688, 3074], 14215) + femmesh.addVolume([2281, 3076, 817, 2284], 14216) + femmesh.addVolume([2321, 2324, 702, 3116], 14217) + femmesh.addVolume([2323, 3118, 831, 2326], 14218) + femmesh.addVolume([3001, 2590, 2593, 920], 14219) + femmesh.addVolume([2591, 791, 2588, 2999], 14220) + femmesh.addVolume([2300, 2303, 695, 3095], 14221) + femmesh.addVolume([824, 2302, 3097, 2305], 14222) + femmesh.addVolume([2609, 798, 3020, 2612], 14223) + femmesh.addVolume([3022, 2611, 2614, 927], 14224) + femmesh.addVolume([895, 2515, 2895, 2518], 14225) + femmesh.addVolume([2513, 766, 2893, 2516], 14226) + femmesh.addVolume([856, 2401, 2398, 2784], 14227) + femmesh.addVolume([727, 2399, 2782, 2396], 14228) + femmesh.addVolume([2537, 773, 2534, 2914], 14229) + femmesh.addVolume([2916, 2536, 2539, 902], 14230) + femmesh.addVolume([849, 2380, 2377, 2763], 14231) + femmesh.addVolume([2375, 720, 2761, 2378], 14232) + femmesh.addVolume([2437, 869, 2440, 2820], 14233) + femmesh.addVolume([2435, 740, 2818, 2438], 14234) + femmesh.addVolume([753, 2857, 2474, 2477], 14235) + femmesh.addVolume([2859, 2476, 2479, 882], 14236) + femmesh.addVolume([875, 2838, 2458, 2455], 14237) + femmesh.addVolume([746, 2456, 2836, 2453], 14238) + femmesh.addVolume([2841, 2458, 2461, 876], 14239) + femmesh.addVolume([747, 2839, 2456, 2459], 14240) + femmesh.addVolume([2378, 721, 2764, 2381], 14241) + femmesh.addVolume([2380, 850, 2383, 2766], 14242) + femmesh.addVolume([772, 2531, 2534, 2911], 14243) + femmesh.addVolume([2536, 2913, 2533, 901], 14244) + femmesh.addVolume([3038, 2627, 804, 2630], 14245) + femmesh.addVolume([2629, 933, 2632, 3040], 14246) + femmesh.addVolume([2285, 689, 2282, 3077], 14247) + femmesh.addVolume([2287, 818, 3079, 2284], 14248) + femmesh.addVolume([3019, 2608, 2611, 926], 14249) + femmesh.addVolume([2303, 2306, 696, 3098], 14250) + femmesh.addVolume([2609, 3017, 797, 2606], 14251) + femmesh.addVolume([825, 2305, 3100, 2308], 14252) + femmesh.addVolume([2321, 701, 2318, 3113], 14253) + femmesh.addVolume([2320, 3115, 830, 2323], 14254) + femmesh.addVolume([2594, 792, 2591, 3002], 14255) + femmesh.addVolume([2596, 3004, 2593, 921], 14256) + femmesh.addVolume([2299, 3094, 823, 2302], 14257) + femmesh.addVolume([694, 2297, 2300, 3092], 14258) + femmesh.addVolume([2614, 2617, 3025, 928], 14259) + femmesh.addVolume([799, 2615, 3023, 2612], 14260) + femmesh.addVolume([896, 2518, 2898, 2521], 14261) + femmesh.addVolume([767, 2519, 2896, 2516], 14262) + femmesh.addVolume([2395, 855, 2398, 2781], 14263) + femmesh.addVolume([726, 2396, 2779, 2393], 14264) + femmesh.addVolume([774, 2540, 2917, 2537], 14265) + femmesh.addVolume([2539, 2542, 2919, 903], 14266) + femmesh.addVolume([2758, 2372, 719, 2375], 14267) + femmesh.addVolume([2760, 2377, 848, 2374], 14268) + femmesh.addVolume([2474, 752, 2471, 2854], 14269) + femmesh.addVolume([2440, 870, 2443, 2823], 14270) + femmesh.addVolume([2438, 741, 2821, 2441], 14271) + femmesh.addVolume([2856, 2473, 2476, 881], 14272) + femmesh.addVolume([2462, 2842, 748, 2459], 14273) + femmesh.addVolume([2452, 874, 2455, 2835], 14274) + femmesh.addVolume([745, 2833, 2450, 2453], 14275) + femmesh.addVolume([2844, 2461, 2464, 877], 14276) + femmesh.addVolume([2383, 851, 2386, 2769], 14277) + femmesh.addVolume([2381, 722, 2767, 2384], 14278) + femmesh.addVolume([2910, 2530, 2533, 900], 14279) + femmesh.addVolume([771, 2528, 2531, 2908], 14280) + femmesh.addVolume([3080, 2285, 690, 2288], 14281) + femmesh.addVolume([3082, 2290, 819, 2287], 14282) + femmesh.addVolume([2624, 803, 3035, 2627], 14283) + femmesh.addVolume([932, 3037, 2629, 2626], 14284) + femmesh.addVolume([796, 3014, 2603, 2606], 14285) + femmesh.addVolume([3101, 2306, 697, 2309], 14286) + femmesh.addVolume([2608, 3016, 2605, 925], 14287) + femmesh.addVolume([2311, 826, 3103, 2308], 14288) + femmesh.addVolume([3110, 700, 2318, 2315], 14289) + femmesh.addVolume([3112, 829, 2317, 2320], 14290) + femmesh.addVolume([2594, 2597, 793, 3005], 14291) + femmesh.addVolume([2596, 2599, 3007, 922], 14292) + femmesh.addVolume([2297, 3089, 693, 2294], 14293) + femmesh.addVolume([3091, 822, 2296, 2299], 14294) + femmesh.addVolume([3026, 800, 2618, 2615], 14295) + femmesh.addVolume([3028, 2617, 2620, 929], 14296) + femmesh.addVolume([845, 2750, 2368, 2365], 14297) + femmesh.addVolume([2366, 716, 2363, 2747], 14298) + femmesh.addVolume([2546, 2549, 777, 2754], 14299) + femmesh.addVolume([2551, 2751, 2548, 906], 14300) + femmesh.addVolume([2522, 768, 2519, 2899], 14301) + femmesh.addVolume([2901, 2521, 2524, 897], 14302) + femmesh.addVolume([725, 2776, 2390, 2393], 14303) + femmesh.addVolume([2778, 2395, 854, 2392], 14304) + femmesh.addVolume([2922, 2542, 2545, 904], 14305) + femmesh.addVolume([2920, 775, 2543, 2540], 14306) + femmesh.addVolume([2371, 847, 2374, 2757], 14307) + femmesh.addVolume([2369, 718, 2755, 2372], 14308) + femmesh.addVolume([2446, 871, 2826, 2443], 14309) + femmesh.addVolume([2444, 742, 2441, 2824], 14310) + femmesh.addVolume([2473, 2853, 2470, 880], 14311) + femmesh.addVolume([2468, 751, 2851, 2471], 14312) + femmesh.addVolume([2847, 2464, 2467, 878], 14313) + femmesh.addVolume([2462, 749, 2845, 2465], 14314) + femmesh.addVolume([2450, 744, 2447, 2830], 14315) + femmesh.addVolume([2452, 873, 2832, 2449], 14316) + femmesh.addVolume([2389, 852, 2772, 2386], 14317) + femmesh.addVolume([2384, 2387, 723, 2770], 14318) + femmesh.addVolume([2525, 2528, 770, 2905], 14319) + femmesh.addVolume([2530, 2907, 2527, 899], 14320) + femmesh.addVolume([2291, 3083, 691, 2288], 14321) + femmesh.addVolume([2621, 802, 3032, 2624], 14322) + femmesh.addVolume([2293, 2290, 820, 3085], 14323) + femmesh.addVolume([931, 2623, 3034, 2626], 14324) + femmesh.addVolume([3011, 2600, 795, 2603], 14325) + femmesh.addVolume([3013, 2602, 2605, 924], 14326) + femmesh.addVolume([827, 2311, 3106, 2314], 14327) + femmesh.addVolume([2309, 2312, 698, 3104], 14328) + femmesh.addVolume([3010, 2599, 2602, 923], 14329) + femmesh.addVolume([794, 3008, 2597, 2600], 14330) + femmesh.addVolume([3107, 699, 2315, 2312], 14331) + femmesh.addVolume([3109, 828, 2314, 2317], 14332) + femmesh.addVolume([2294, 3086, 692, 2291], 14333) + femmesh.addVolume([821, 2296, 2293, 3088], 14334) + femmesh.addVolume([930, 2620, 3031, 2623], 14335) + femmesh.addVolume([2618, 801, 3029, 2621], 14336) + femmesh.addVolume([769, 2522, 2525, 2902], 14337) + femmesh.addVolume([2527, 2904, 2524, 898], 14338) + femmesh.addVolume([2392, 853, 2775, 2389], 14339) + femmesh.addVolume([2390, 724, 2387, 2773], 14340) + femmesh.addVolume([2545, 2548, 2925, 905], 14341) + femmesh.addVolume([2546, 2923, 776, 2543], 14342) + femmesh.addVolume([2753, 2371, 846, 2368], 14343) + femmesh.addVolume([717, 2748, 2366, 2369], 14344) + femmesh.addVolume([872, 2829, 2449, 2446], 14345) + femmesh.addVolume([743, 2827, 2444, 2447], 14346) + femmesh.addVolume([2465, 750, 2848, 2468], 14347) + femmesh.addVolume([2467, 2470, 2850, 879], 14348) + femmesh.addVolume([2693, 1265, 26, 3183], 14349) + femmesh.addVolume([2736, 17, 1117, 3176], 14350) + femmesh.addVolume([1137, 2746, 1157, 2956], 14351) + femmesh.addVolume([1020, 2956, 2744, 941], 14352) + femmesh.addVolume([1021, 2742, 2956, 941], 14353) + femmesh.addVolume([1158, 1137, 2956, 2745], 14354) + femmesh.addVolume([1139, 24, 2963, 2693], 14355) + femmesh.addVolume([2740, 3176, 23, 1283], 14356) + femmesh.addVolume([1284, 23, 2741, 3176], 14357) + femmesh.addVolume([3184, 28, 2692, 1302], 14358) + femmesh.addVolume([1135, 21, 2648, 3185], 14359) + femmesh.addVolume([2265, 27, 812, 3061], 14360) + femmesh.addVolume([3059, 20, 683, 2262], 14361) + femmesh.addVolume([3056, 810, 20, 2269], 14362) + femmesh.addVolume([2266, 939, 27, 3058], 14363) + femmesh.addVolume([2981, 784, 1073, 2570], 14364) + femmesh.addVolume([913, 2983, 1240, 2572], 14365) + femmesh.addVolume([2342, 709, 1064, 3134], 14366) + femmesh.addVolume([2344, 838, 3136, 1327], 14367) + femmesh.addVolume([2738, 1116, 17, 3176], 14368) + femmesh.addVolume([836, 2341, 3133, 1327], 14369) + femmesh.addVolume([707, 2339, 1064, 3131], 14370) + femmesh.addVolume([2984, 1073, 786, 2573], 14371) + femmesh.addVolume([2986, 915, 1240, 2575], 14372) + femmesh.addVolume([812, 16, 27, 2265], 14373) + femmesh.addVolume([15, 683, 20, 2262], 14374) + femmesh.addVolume([20, 810, 15, 2269], 14375) + femmesh.addVolume([939, 27, 16, 2266], 14376) + femmesh.addVolume([785, 1073, 784, 2570], 14377) + femmesh.addVolume([1240, 914, 913, 2572], 14378) + femmesh.addVolume([709, 1064, 708, 2342], 14379) + femmesh.addVolume([2344, 837, 838, 1327], 14380) + femmesh.addVolume([1098, 2649, 22, 3186], 14381) + femmesh.addVolume([1137, 2956, 1157, 1158], 14382) + femmesh.addVolume([1020, 1021, 2956, 941], 14383) + femmesh.addVolume([1158, 1159, 2732, 2941], 14384) + femmesh.addVolume([2928, 2686, 1019, 1020], 14385) + femmesh.addVolume([2981, 1072, 784, 2567], 14386) + femmesh.addVolume([913, 2569, 1239, 2983], 14387) + femmesh.addVolume([2347, 3136, 838, 1328], 14388) + femmesh.addVolume([3134, 709, 1065, 2345], 14389) + femmesh.addVolume([985, 2498, 761, 2878], 14390) + femmesh.addVolume([2500, 1219, 890, 2880], 14391) + femmesh.addVolume([1193, 2416, 861, 2799], 14392) + femmesh.addVolume([2414, 732, 2797, 959], 14393) + femmesh.addVolume([3058, 939, 1264, 2647], 14394) + femmesh.addVolume([2645, 3056, 810, 1097], 14395) + femmesh.addVolume([3059, 683, 1040, 2263], 14396) + femmesh.addVolume([3061, 812, 2268, 1303], 14397) + femmesh.addVolume([1064, 707, 708, 2339], 14398) + femmesh.addVolume([2341, 836, 837, 1327], 14399) + femmesh.addVolume([786, 1073, 785, 2573], 14400) + femmesh.addVolume([1240, 915, 914, 2575], 14401) + femmesh.addVolume([1117, 1118, 2688, 3158], 14402) + femmesh.addVolume([2422, 1194, 864, 2805], 14403) + femmesh.addVolume([2420, 2803, 735, 960], 14404) + femmesh.addVolume([2874, 1218, 887, 2494], 14405) + femmesh.addVolume([758, 2492, 984, 2872], 14406) + femmesh.addVolume([2984, 786, 1074, 2576], 14407) + femmesh.addVolume([915, 2986, 1241, 2578], 14408) + femmesh.addVolume([2336, 707, 1063, 3131], 14409) + femmesh.addVolume([2338, 836, 3133, 1326], 14410) + femmesh.addVolume([3176, 1284, 23, 1283], 14411) + femmesh.addVolume([19, 1002, 2966, 2649], 14412) + femmesh.addVolume([3158, 2733, 1284, 1285], 14413) + femmesh.addVolume([890, 889, 1219, 2500], 14414) + femmesh.addVolume([985, 760, 761, 2498], 14415) + femmesh.addVolume([732, 2414, 733, 959], 14416) + femmesh.addVolume([1193, 862, 861, 2416], 14417) + femmesh.addVolume([1194, 864, 863, 2422], 14418) + femmesh.addVolume([734, 2420, 735, 960], 14419) + femmesh.addVolume([887, 1218, 888, 2494], 14420) + femmesh.addVolume([984, 758, 759, 2492], 14421) + femmesh.addVolume([2567, 1072, 783, 2978], 14422) + femmesh.addVolume([1239, 2569, 912, 2980], 14423) + femmesh.addVolume([3139, 2347, 839, 1328], 14424) + femmesh.addVolume([710, 3137, 1065, 2345], 14425) + femmesh.addVolume([2941, 2689, 1021, 1022], 14426) + femmesh.addVolume([2878, 761, 986, 2501], 14427) + femmesh.addVolume([2880, 1220, 890, 2503], 14428) + femmesh.addVolume([2799, 861, 1192, 2413], 14429) + femmesh.addVolume([2797, 732, 2411, 958], 14430) + femmesh.addVolume([2645, 809, 3053, 1097], 14431) + femmesh.addVolume([2647, 938, 1264, 3055], 14432) + femmesh.addVolume([3062, 1040, 684, 2263], 14433) + femmesh.addVolume([813, 3064, 2268, 1303], 14434) + femmesh.addVolume([2423, 735, 2803, 961], 14435) + femmesh.addVolume([1195, 2425, 864, 2805], 14436) + femmesh.addVolume([2491, 887, 2874, 1217], 14437) + femmesh.addVolume([2489, 758, 983, 2872], 14438) + femmesh.addVolume([2338, 3130, 835, 1326], 14439) + femmesh.addVolume([706, 2336, 1063, 3128], 14440) + femmesh.addVolume([2987, 1074, 787, 2576], 14441) + femmesh.addVolume([2989, 916, 1241, 2578], 14442) + femmesh.addVolume([1117, 17, 1116, 3176], 14443) + femmesh.addVolume([1115, 1116, 2687, 3156], 14444) + femmesh.addVolume([2692, 1176, 25, 2964], 14445) + femmesh.addVolume([2305, 3097, 824, 1315], 14446) + femmesh.addVolume([695, 2303, 1052, 3095], 14447) + femmesh.addVolume([2609, 3020, 798, 1085], 14448) + femmesh.addVolume([927, 3022, 2611, 1252], 14449) + femmesh.addVolume([2458, 875, 1206, 2838], 14450) + femmesh.addVolume([2456, 746, 2836, 972], 14451) + femmesh.addVolume([1206, 2458, 2841, 876], 14452) + femmesh.addVolume([747, 972, 2456, 2839], 14453) + femmesh.addVolume([2914, 773, 2534, 997], 14454) + femmesh.addVolume([1231, 2536, 2916, 902], 14455) + femmesh.addVolume([2380, 849, 1181, 2763], 14456) + femmesh.addVolume([2378, 720, 2761, 947], 14457) + femmesh.addVolume([2300, 695, 1051, 3095], 14458) + femmesh.addVolume([2302, 824, 3097, 1314], 14459) + femmesh.addVolume([2612, 798, 3020, 1086], 14460) + femmesh.addVolume([3022, 927, 2614, 1253], 14461) + femmesh.addVolume([2978, 1071, 783, 2564], 14462) + femmesh.addVolume([912, 2566, 1238, 2980], 14463) + femmesh.addVolume([3137, 710, 1066, 2348], 14464) + femmesh.addVolume([3139, 839, 2350, 1329], 14465) + femmesh.addVolume([891, 2503, 1220, 2883], 14466) + femmesh.addVolume([986, 2501, 762, 2881], 14467) + femmesh.addVolume([2413, 860, 1192, 2796], 14468) + femmesh.addVolume([2411, 731, 2794, 958], 14469) + femmesh.addVolume([2380, 1181, 850, 2766], 14470) + femmesh.addVolume([2378, 2764, 721, 947], 14471) + femmesh.addVolume([1231, 2913, 2536, 901], 14472) + femmesh.addVolume([2911, 2534, 772, 997], 14473) + femmesh.addVolume([3064, 813, 2272, 1304], 14474) + femmesh.addVolume([2642, 3053, 809, 1096], 14475) + femmesh.addVolume([3062, 684, 1041, 2270], 14476) + femmesh.addVolume([2644, 1263, 938, 3055], 14477) + femmesh.addVolume([736, 2423, 2806, 961], 14478) + femmesh.addVolume([2425, 1195, 865, 2808], 14479) + femmesh.addVolume([886, 2491, 2871, 1217], 14480) + femmesh.addVolume([2489, 983, 757, 2869], 14481) + femmesh.addVolume([2333, 706, 1062, 3128], 14482) + femmesh.addVolume([2335, 835, 3130, 1325], 14483) + femmesh.addVolume([2987, 787, 1075, 2579], 14484) + femmesh.addVolume([2989, 1242, 916, 2581], 14485) + femmesh.addVolume([1156, 1157, 2731, 2928], 14486) + femmesh.addVolume([773, 2914, 2537, 998], 14487) + femmesh.addVolume([2539, 1232, 2916, 902], 14488) + femmesh.addVolume([2375, 2761, 720, 946], 14489) + femmesh.addVolume([2377, 1180, 849, 2763], 14490) + femmesh.addVolume([2566, 911, 1238, 2977], 14491) + femmesh.addVolume([2975, 782, 1071, 2564], 14492) + femmesh.addVolume([2350, 840, 3142, 1329], 14493) + femmesh.addVolume([1066, 2348, 711, 3140], 14494) + femmesh.addVolume([2609, 797, 3017, 1085], 14495) + femmesh.addVolume([926, 2611, 3019, 1252], 14496) + femmesh.addVolume([1052, 2303, 696, 3098], 14497) + femmesh.addVolume([3100, 2305, 825, 1315], 14498) + femmesh.addVolume([2883, 1221, 891, 2506], 14499) + femmesh.addVolume([2881, 762, 987, 2504], 14500) + femmesh.addVolume([860, 2410, 1191, 2796], 14501) + femmesh.addVolume([2408, 2794, 731, 957], 14502) + femmesh.addVolume([2838, 875, 1205, 2455], 14503) + femmesh.addVolume([746, 2453, 2836, 971], 14504) + femmesh.addVolume([2839, 747, 973, 2459], 14505) + femmesh.addVolume([2461, 1207, 2841, 876], 14506) + femmesh.addVolume([3050, 2642, 808, 1096], 14507) + femmesh.addVolume([3052, 1263, 937, 2644], 14508) + femmesh.addVolume([814, 3067, 2272, 1304], 14509) + femmesh.addVolume([3065, 1041, 685, 2270], 14510) + femmesh.addVolume([2300, 1051, 694, 3092], 14511) + femmesh.addVolume([2302, 3094, 823, 1314], 14512) + femmesh.addVolume([928, 3025, 2614, 1253], 14513) + femmesh.addVolume([2612, 3023, 799, 1086], 14514) + femmesh.addVolume([865, 2808, 1196, 2428], 14515) + femmesh.addVolume([2806, 2426, 736, 962], 14516) + femmesh.addVolume([886, 2871, 2488, 1216], 14517) + femmesh.addVolume([757, 2869, 982, 2486], 14518) + femmesh.addVolume([3125, 705, 1062, 2333], 14519) + femmesh.addVolume([3127, 834, 2335, 1325], 14520) + femmesh.addVolume([2992, 917, 1242, 2581], 14521) + femmesh.addVolume([2990, 1075, 788, 2579], 14522) + femmesh.addVolume([1182, 2383, 850, 2766], 14523) + femmesh.addVolume([2381, 721, 2764, 948], 14524) + femmesh.addVolume([2911, 772, 2531, 996], 14525) + femmesh.addVolume([901, 2913, 2533, 1230], 14526) + femmesh.addVolume([911, 2563, 1237, 2977], 14527) + femmesh.addVolume([2975, 1070, 782, 2561], 14528) + femmesh.addVolume([2351, 1067, 711, 3140], 14529) + femmesh.addVolume([2353, 3142, 840, 1330], 14530) + femmesh.addVolume([2884, 987, 763, 2504], 14531) + femmesh.addVolume([1221, 2886, 892, 2506], 14532) + femmesh.addVolume([2410, 859, 1191, 2793], 14533) + femmesh.addVolume([2408, 730, 2791, 957], 14534) + femmesh.addVolume([774, 2537, 2917, 998], 14535) + femmesh.addVolume([903, 2919, 2539, 1232], 14536) + femmesh.addVolume([2758, 2375, 719, 946], 14537) + femmesh.addVolume([2377, 848, 1180, 2760], 14538) + femmesh.addVolume([3065, 685, 1042, 2273], 14539) + femmesh.addVolume([3067, 814, 2275, 1305], 14540) + femmesh.addVolume([3050, 808, 2639, 1095], 14541) + femmesh.addVolume([3052, 937, 1262, 2641], 14542) + femmesh.addVolume([2811, 866, 1196, 2428], 14543) + femmesh.addVolume([2809, 737, 2426, 962], 14544) + femmesh.addVolume([885, 2488, 2868, 1216], 14545) + femmesh.addVolume([2486, 982, 756, 2866], 14546) + femmesh.addVolume([797, 2606, 3017, 1084], 14547) + femmesh.addVolume([926, 3019, 2608, 1251], 14548) + femmesh.addVolume([2306, 1053, 696, 3098], 14549) + femmesh.addVolume([825, 2308, 3100, 1316], 14550) + femmesh.addVolume([3125, 1061, 705, 2330], 14551) + femmesh.addVolume([3127, 2332, 834, 1324], 14552) + femmesh.addVolume([2990, 788, 1076, 2582], 14553) + femmesh.addVolume([2992, 1243, 917, 2584], 14554) + femmesh.addVolume([2833, 2453, 745, 971], 14555) + femmesh.addVolume([1205, 2455, 874, 2835], 14556) + femmesh.addVolume([877, 2844, 2461, 1207], 14557) + femmesh.addVolume([748, 2842, 973, 2459], 14558) + femmesh.addVolume([2299, 823, 3094, 1313], 14559) + femmesh.addVolume([1050, 2297, 694, 3092], 14560) + femmesh.addVolume([1254, 3025, 2617, 928], 14561) + femmesh.addVolume([2615, 799, 3023, 1087], 14562) + femmesh.addVolume([851, 2383, 1182, 2769], 14563) + femmesh.addVolume([2381, 2767, 722, 948], 14564) + femmesh.addVolume([2908, 2531, 771, 996], 14565) + femmesh.addVolume([900, 2533, 2910, 1230], 14566) + femmesh.addVolume([1052, 1051, 695, 3095], 14567) + femmesh.addVolume([1315, 3097, 824, 1314], 14568) + femmesh.addVolume([798, 1085, 3020, 1086], 14569) + femmesh.addVolume([927, 1253, 3022, 1252], 14570) + femmesh.addVolume([2561, 1070, 781, 2970], 14571) + femmesh.addVolume([2974, 1237, 910, 2563], 14572) + femmesh.addVolume([2351, 712, 1067, 3143], 14573) + femmesh.addVolume([2353, 841, 3145, 1330], 14574) + femmesh.addVolume([2886, 1222, 892, 2509], 14575) + femmesh.addVolume([2884, 763, 988, 2507], 14576) + femmesh.addVolume([2407, 1190, 859, 2793], 14577) + femmesh.addVolume([2405, 2791, 730, 956], 14578) + femmesh.addVolume([2641, 936, 1262, 3049], 14579) + femmesh.addVolume([3047, 2639, 807, 1095], 14580) + femmesh.addVolume([2273, 686, 1042, 3068], 14581) + femmesh.addVolume([2275, 815, 3070, 1305], 14582) + femmesh.addVolume([866, 2811, 1197, 2431], 14583) + femmesh.addVolume([2809, 2429, 737, 963], 14584) + femmesh.addVolume([2485, 885, 2868, 1215], 14585) + femmesh.addVolume([2483, 756, 981, 2866], 14586) + femmesh.addVolume([3122, 704, 1061, 2330], 14587) + femmesh.addVolume([3124, 833, 2332, 1324], 14588) + femmesh.addVolume([2993, 1076, 789, 2582], 14589) + femmesh.addVolume([2995, 918, 1243, 2584], 14590) + femmesh.addVolume([903, 2542, 2919, 1233], 14591) + femmesh.addVolume([2540, 774, 2917, 999], 14592) + femmesh.addVolume([2760, 848, 1179, 2374], 14593) + femmesh.addVolume([2758, 719, 2372, 945], 14594) + femmesh.addVolume([1251, 3016, 2608, 925], 14595) + femmesh.addVolume([2606, 796, 3014, 1084], 14596) + femmesh.addVolume([1053, 2306, 697, 3101], 14597) + femmesh.addVolume([2308, 826, 3103, 1316], 14598) + femmesh.addVolume([998, 773, 2914, 997], 14599) + femmesh.addVolume([1231, 2916, 1232, 902], 14600) + femmesh.addVolume([947, 720, 2761, 946], 14601) + femmesh.addVolume([1181, 849, 1180, 2763], 14602) + femmesh.addVolume([877, 2464, 2844, 1208], 14603) + femmesh.addVolume([2452, 1204, 874, 2835], 14604) + femmesh.addVolume([2833, 745, 2450, 970], 14605) + femmesh.addVolume([2842, 748, 974, 2462], 14606) + femmesh.addVolume([971, 2836, 746, 972], 14607) + femmesh.addVolume([1206, 875, 1205, 2838], 14608) + femmesh.addVolume([747, 973, 972, 2839], 14609) + femmesh.addVolume([1206, 2841, 1207, 876], 14610) + femmesh.addVolume([2299, 3091, 822, 1313], 14611) + femmesh.addVolume([2297, 1050, 693, 3089], 14612) + femmesh.addVolume([2615, 3026, 800, 1087], 14613) + femmesh.addVolume([2617, 3028, 1254, 929], 14614) + femmesh.addVolume([2386, 851, 1183, 2769], 14615) + femmesh.addVolume([2384, 722, 2767, 949], 14616) + femmesh.addVolume([1229, 2530, 2910, 900], 14617) + femmesh.addVolume([2908, 771, 2528, 995], 14618) + femmesh.addVolume([850, 1181, 1182, 2766], 14619) + femmesh.addVolume([948, 721, 2764, 947], 14620) + femmesh.addVolume([997, 772, 2911, 996], 14621) + femmesh.addVolume([901, 1231, 2913, 1230], 14622) + femmesh.addVolume([2558, 781, 1069, 2970], 14623) + femmesh.addVolume([2560, 1236, 910, 2974], 14624) + femmesh.addVolume([3143, 712, 1068, 2354], 14625) + femmesh.addVolume([3145, 841, 2356, 1331], 14626) + femmesh.addVolume([2889, 893, 1222, 2509], 14627) + femmesh.addVolume([2887, 988, 764, 2507], 14628) + femmesh.addVolume([2407, 858, 1190, 2790], 14629) + femmesh.addVolume([2405, 729, 2788, 956], 14630) + femmesh.addVolume([3068, 686, 1043, 2276], 14631) + femmesh.addVolume([3070, 815, 2278, 1306], 14632) + femmesh.addVolume([3047, 807, 2636, 1094], 14633) + femmesh.addVolume([1261, 3049, 936, 2638], 14634) + femmesh.addVolume([884, 2485, 2865, 1215], 14635) + femmesh.addVolume([2483, 981, 755, 2863], 14636) + femmesh.addVolume([2814, 867, 1197, 2431], 14637) + femmesh.addVolume([2812, 738, 2429, 963], 14638) + femmesh.addVolume([2995, 1244, 918, 2587], 14639) + femmesh.addVolume([1077, 2993, 789, 2585], 14640) + femmesh.addVolume([3122, 1060, 704, 2327], 14641) + femmesh.addVolume([3124, 2329, 833, 1323], 14642) + femmesh.addVolume([904, 2922, 2542, 1233], 14643) + femmesh.addVolume([2540, 2920, 775, 999], 14644) + femmesh.addVolume([1179, 2374, 847, 2757], 14645) + femmesh.addVolume([2372, 718, 2755, 945], 14646) + femmesh.addVolume([3014, 796, 2603, 1083], 14647) + femmesh.addVolume([2311, 3103, 826, 1317], 14648) + femmesh.addVolume([2605, 925, 3016, 1250], 14649) + femmesh.addVolume([3101, 697, 1054, 2309], 14650) + femmesh.addVolume([2832, 1204, 873, 2452], 14651) + femmesh.addVolume([2830, 2450, 744, 970], 14652) + femmesh.addVolume([749, 2845, 974, 2462], 14653) + femmesh.addVolume([2464, 878, 2847, 1208], 14654) + femmesh.addVolume([2972, 1068, 713, 2354], 14655) + femmesh.addVolume([2973, 1236, 909, 2560], 14656) + femmesh.addVolume([780, 2558, 1069, 2969], 14657) + femmesh.addVolume([2356, 842, 2967, 1331], 14658) + femmesh.addVolume([3089, 1049, 693, 2294], 14659) + femmesh.addVolume([822, 3091, 2296, 1312], 14660) + femmesh.addVolume([2620, 1255, 3028, 929], 14661) + femmesh.addVolume([800, 3026, 2618, 1088], 14662) + femmesh.addVolume([1183, 2772, 852, 2386], 14663) + femmesh.addVolume([2770, 723, 2384, 949], 14664) + femmesh.addVolume([2905, 2528, 770, 995], 14665) + femmesh.addVolume([1229, 2907, 2530, 899], 14666) + femmesh.addVolume([2972, 713, 21, 2357], 14667) + femmesh.addVolume([2557, 26, 909, 2973], 14668) + femmesh.addVolume([2969, 22, 780, 2555], 14669) + femmesh.addVolume([2359, 842, 28, 2967], 14670) + femmesh.addVolume([2889, 1223, 893, 2512], 14671) + femmesh.addVolume([2887, 764, 989, 2510], 14672) + femmesh.addVolume([2404, 1189, 858, 2790], 14673) + femmesh.addVolume([2402, 2788, 729, 955], 14674) + femmesh.addVolume([935, 3046, 1261, 2638], 14675) + femmesh.addVolume([3044, 2636, 806, 1094], 14676) + femmesh.addVolume([3071, 1043, 687, 2276], 14677) + femmesh.addVolume([816, 3073, 2278, 1306], 14678) + femmesh.addVolume([2730, 1282, 3156, 1283], 14679) + femmesh.addVolume([1214, 2482, 2865, 884], 14680) + femmesh.addVolume([2480, 755, 980, 2863], 14681) + femmesh.addVolume([738, 2812, 2432, 964], 14682) + femmesh.addVolume([2814, 1198, 867, 2434], 14683) + femmesh.addVolume([3119, 703, 1060, 2327], 14684) + femmesh.addVolume([3121, 832, 2329, 1323], 14685) + femmesh.addVolume([2587, 2998, 1244, 919], 14686) + femmesh.addVolume([790, 2996, 1077, 2585], 14687) + femmesh.addVolume([2545, 1234, 2922, 904], 14688) + femmesh.addVolume([775, 2920, 2543, 1000], 14689) + femmesh.addVolume([2371, 1178, 847, 2757], 14690) + femmesh.addVolume([2369, 2755, 718, 944], 14691) + femmesh.addVolume([2603, 795, 3011, 1083], 14692) + femmesh.addVolume([2605, 1250, 3013, 924], 14693) + femmesh.addVolume([3106, 2311, 827, 1317], 14694) + femmesh.addVolume([1054, 2309, 698, 3104], 14695) + femmesh.addVolume([2467, 1209, 2847, 878], 14696) + femmesh.addVolume([2832, 873, 1203, 2449], 14697) + femmesh.addVolume([2830, 744, 2447, 969], 14698) + femmesh.addVolume([2845, 749, 975, 2465], 14699) + femmesh.addVolume([1049, 3086, 692, 2294], 14700) + femmesh.addVolume([3088, 821, 2296, 1312], 14701) + femmesh.addVolume([801, 2618, 3029, 1088], 14702) + femmesh.addVolume([3031, 930, 1255, 2620], 14703) + femmesh.addVolume([723, 2770, 2387, 950], 14704) + femmesh.addVolume([2772, 1184, 852, 2389], 14705) + femmesh.addVolume([899, 2907, 2527, 1228], 14706) + femmesh.addVolume([2905, 770, 2525, 994], 14707) + femmesh.addVolume([2892, 894, 1223, 2512], 14708) + femmesh.addVolume([2890, 989, 765, 2510], 14709) + femmesh.addVolume([2404, 857, 1189, 2787], 14710) + femmesh.addVolume([2402, 728, 2785, 955], 14711) + femmesh.addVolume([2736, 1332, 17, 3176], 14712) + femmesh.addVolume([3044, 806, 2633, 1093], 14713) + femmesh.addVolume([1260, 3046, 935, 2635], 14714) + femmesh.addVolume([3071, 687, 1044, 2279], 14715) + femmesh.addVolume([3073, 816, 2281, 1307], 14716) + femmesh.addVolume([1252, 3019, 926, 1251], 14717) + femmesh.addVolume([1084, 3017, 797, 1085], 14718) + femmesh.addVolume([1316, 3100, 825, 1315], 14719) + femmesh.addVolume([1052, 696, 1053, 3098], 14720) + femmesh.addVolume([754, 2480, 980, 2860], 14721) + femmesh.addVolume([2817, 868, 1198, 2434], 14722) + femmesh.addVolume([2815, 739, 2432, 964], 14723) + femmesh.addVolume([1214, 2862, 2482, 883], 14724) + femmesh.addVolume([2738, 17, 1332, 3176], 14725) + femmesh.addVolume([3121, 2326, 832, 1322], 14726) + femmesh.addVolume([2324, 703, 1059, 3119], 14727) + femmesh.addVolume([2996, 790, 1078, 2588], 14728) + femmesh.addVolume([2998, 2590, 1245, 919], 14729) + femmesh.addVolume([2458, 876, 1206, 875], 14730) + femmesh.addVolume([746, 2456, 747, 972], 14731) + femmesh.addVolume([776, 2543, 2923, 1000], 14732) + femmesh.addVolume([2925, 1234, 2545, 905], 14733) + femmesh.addVolume([2748, 2369, 717, 944], 14734) + femmesh.addVolume([1178, 2371, 846, 2753], 14735) + femmesh.addVolume([694, 1051, 1050, 3092], 14736) + femmesh.addVolume([1314, 3094, 823, 1313], 14737) + femmesh.addVolume([928, 1254, 3025, 1253], 14738) + femmesh.addVolume([799, 1086, 3023, 1087], 14739) + femmesh.addVolume([1249, 2602, 3013, 924], 14740) + femmesh.addVolume([3011, 795, 2600, 1082], 14741) + femmesh.addVolume([2314, 3106, 827, 1318], 14742) + femmesh.addVolume([2312, 1055, 698, 3104], 14743) + femmesh.addVolume([2378, 721, 720, 947], 14744) + femmesh.addVolume([849, 1181, 850, 2380], 14745) + femmesh.addVolume([2534, 773, 772, 997], 14746) + femmesh.addVolume([902, 1231, 2536, 901], 14747) + femmesh.addVolume([1203, 2449, 872, 2829], 14748) + femmesh.addVolume([2447, 743, 2827, 969], 14749) + femmesh.addVolume([2850, 1209, 2467, 879], 14750) + femmesh.addVolume([750, 2848, 975, 2465], 14751) + femmesh.addVolume([3086, 1048, 692, 2291], 14752) + femmesh.addVolume([3088, 2293, 821, 1311], 14753) + femmesh.addVolume([930, 3031, 1256, 2623], 14754) + femmesh.addVolume([2621, 801, 3029, 1089], 14755) + femmesh.addVolume([2775, 853, 1184, 2389], 14756) + femmesh.addVolume([2773, 724, 2387, 950], 14757) + femmesh.addVolume([2904, 898, 2527, 1228], 14758) + femmesh.addVolume([769, 2902, 2525, 994], 14759) + femmesh.addVolume([894, 2892, 1224, 2515], 14760) + femmesh.addVolume([2890, 765, 990, 2513], 14761) + femmesh.addVolume([2401, 1188, 857, 2787], 14762) + femmesh.addVolume([2399, 2785, 728, 954], 14763) + femmesh.addVolume([2635, 934, 1260, 3043], 14764) + femmesh.addVolume([2633, 805, 3041, 1093], 14765) + femmesh.addVolume([2279, 688, 1044, 3074], 14766) + femmesh.addVolume([2281, 817, 3076, 1307], 14767) + femmesh.addVolume([2477, 754, 979, 2860], 14768) + femmesh.addVolume([2862, 1213, 2479, 883], 14769) + femmesh.addVolume([1199, 2437, 868, 2817], 14770) + femmesh.addVolume([2435, 739, 2815, 965], 14771) + femmesh.addVolume([2326, 3118, 831, 1322], 14772) + femmesh.addVolume([2324, 1059, 702, 3116], 14773) + femmesh.addVolume([3001, 1245, 2590, 920], 14774) + femmesh.addVolume([2588, 791, 1078, 2999], 14775) + femmesh.addVolume([2648, 2965, 18, 1039], 14776) + femmesh.addVolume([2546, 776, 2923, 1001], 14777) + femmesh.addVolume([1235, 2925, 2548, 905], 14778) + femmesh.addVolume([2748, 717, 2366, 943], 14779) + femmesh.addVolume([2753, 846, 1177, 2368], 14780) + femmesh.addVolume([2743, 2956, 1137, 2745], 14781) + femmesh.addVolume([2956, 2742, 2743, 941], 14782) + femmesh.addVolume([2743, 2744, 2956, 941], 14783) + femmesh.addVolume([2956, 1137, 2746, 2743], 14784) + femmesh.addVolume([2600, 794, 3008, 1082], 14785) + femmesh.addVolume([2602, 1249, 3010, 923], 14786) + femmesh.addVolume([699, 3107, 1055, 2312], 14787) + femmesh.addVolume([828, 3109, 2314, 1318], 14788) + femmesh.addVolume([1210, 2850, 2470, 879], 14789) + femmesh.addVolume([1202, 2829, 872, 2446], 14790) + femmesh.addVolume([2848, 750, 976, 2468], 14791) + femmesh.addVolume([2827, 743, 2444, 968], 14792) + femmesh.addVolume([2611, 926, 927, 1252], 14793) + femmesh.addVolume([797, 2609, 798, 1085], 14794) + femmesh.addVolume([825, 2305, 824, 1315], 14795) + femmesh.addVolume([1052, 695, 696, 2303], 14796) + femmesh.addVolume([1256, 3034, 931, 2623], 14797) + femmesh.addVolume([3085, 820, 2293, 1311], 14798) + femmesh.addVolume([3083, 691, 1048, 2291], 14799) + femmesh.addVolume([2621, 3032, 802, 1089], 14800) + femmesh.addVolume([2775, 1185, 853, 2392], 14801) + femmesh.addVolume([724, 2773, 2390, 951], 14802) + femmesh.addVolume([898, 2904, 2524, 1227], 14803) + femmesh.addVolume([2902, 769, 2522, 993], 14804) + femmesh.addVolume([2893, 990, 766, 2513], 14805) + femmesh.addVolume([2895, 895, 1224, 2515], 14806) + femmesh.addVolume([2399, 727, 2782, 954], 14807) + femmesh.addVolume([2401, 856, 1188, 2784], 14808) + femmesh.addVolume([688, 2282, 1045, 3074], 14809) + femmesh.addVolume([2630, 3041, 805, 1092], 14810) + femmesh.addVolume([2632, 1259, 934, 3043], 14811) + femmesh.addVolume([2284, 3076, 817, 1308], 14812) + femmesh.addVolume([2437, 1199, 869, 2820], 14813) + femmesh.addVolume([740, 2435, 2818, 965], 14814) + femmesh.addVolume([2859, 882, 2479, 1213], 14815) + femmesh.addVolume([2857, 753, 979, 2477], 14816) + femmesh.addVolume([25, 2750, 845, 2365], 14817) + femmesh.addVolume([2551, 24, 2751, 906], 14818) + femmesh.addVolume([2549, 19, 777, 2754], 14819) + femmesh.addVolume([2363, 716, 18, 2747], 14820) + femmesh.addVolume([1058, 2321, 702, 3116], 14821) + femmesh.addVolume([2323, 831, 3118, 1321], 14822) + femmesh.addVolume([2593, 1246, 3001, 920], 14823) + femmesh.addVolume([2999, 2591, 791, 1079], 14824) + femmesh.addVolume([824, 2302, 823, 1314], 14825) + femmesh.addVolume([1051, 694, 695, 2300], 14826) + femmesh.addVolume([798, 2612, 799, 1086], 14827) + femmesh.addVolume([927, 928, 2614, 1253], 14828) + femmesh.addVolume([716, 18, 715, 2363], 14829) + femmesh.addVolume([845, 844, 25, 2365], 14830) + femmesh.addVolume([777, 778, 19, 2549], 14831) + femmesh.addVolume([907, 24, 2551, 906], 14832) + femmesh.addVolume([2315, 1056, 699, 3107], 14833) + femmesh.addVolume([2317, 3109, 828, 1319], 14834) + femmesh.addVolume([1248, 2599, 3010, 923], 14835) + femmesh.addVolume([3008, 794, 2597, 1081], 14836) + femmesh.addVolume([742, 2824, 2444, 968], 14837) + femmesh.addVolume([871, 2826, 1202, 2446], 14838) + femmesh.addVolume([880, 2853, 2470, 1210], 14839) + femmesh.addVolume([751, 2851, 976, 2468], 14840) + femmesh.addVolume([3083, 1047, 691, 2288], 14841) + femmesh.addVolume([3085, 2290, 820, 1310], 14842) + femmesh.addVolume([931, 3034, 1257, 2626], 14843) + femmesh.addVolume([2624, 802, 3032, 1090], 14844) + femmesh.addVolume([716, 2747, 2366, 943], 14845) + femmesh.addVolume([2368, 845, 1177, 2750], 14846) + femmesh.addVolume([906, 2751, 2548, 1235], 14847) + femmesh.addVolume([2754, 777, 2546, 1001], 14848) + femmesh.addVolume([2778, 854, 1185, 2392], 14849) + femmesh.addVolume([2390, 2776, 725, 951], 14850) + femmesh.addVolume([2899, 2522, 768, 993], 14851) + femmesh.addVolume([2524, 1227, 2901, 897], 14852) + femmesh.addVolume([895, 2895, 1225, 2518], 14853) + femmesh.addVolume([2398, 1187, 856, 2784], 14854) + femmesh.addVolume([2396, 2782, 727, 953], 14855) + femmesh.addVolume([2893, 766, 991, 2516], 14856) + femmesh.addVolume([2282, 689, 1045, 3077], 14857) + femmesh.addVolume([2284, 818, 3079, 1308], 14858) + femmesh.addVolume([2630, 804, 3038, 1092], 14859) + femmesh.addVolume([2632, 933, 1259, 3040], 14860) + femmesh.addVolume([2474, 753, 978, 2857], 14861) + femmesh.addVolume([2438, 740, 2818, 966], 14862) + femmesh.addVolume([2440, 869, 1200, 2820], 14863) + femmesh.addVolume([1212, 2476, 2859, 882], 14864) + femmesh.addVolume([2321, 1058, 701, 3113], 14865) + femmesh.addVolume([2323, 3115, 830, 1321], 14866) + femmesh.addVolume([3002, 792, 2591, 1079], 14867) + femmesh.addVolume([1246, 2593, 3004, 921], 14868) + femmesh.addVolume([880, 2473, 2853, 1211], 14869) + femmesh.addVolume([2824, 742, 2441, 967], 14870) + femmesh.addVolume([2826, 871, 1201, 2443], 14871) + femmesh.addVolume([2851, 751, 977, 2471], 14872) + femmesh.addVolume([1248, 3007, 2599, 922], 14873) + femmesh.addVolume([3112, 2317, 829, 1319], 14874) + femmesh.addVolume([3005, 2597, 793, 1081], 14875) + femmesh.addVolume([700, 3110, 1056, 2315], 14876) + femmesh.addVolume([2899, 768, 2519, 992], 14877) + femmesh.addVolume([2395, 854, 1186, 2778], 14878) + femmesh.addVolume([2521, 897, 2901, 1226], 14879) + femmesh.addVolume([2393, 725, 2776, 952], 14880) + femmesh.addVolume([2898, 896, 1225, 2518], 14881) + femmesh.addVolume([2896, 991, 767, 2516], 14882) + femmesh.addVolume([2396, 726, 2779, 953], 14883) + femmesh.addVolume([2398, 855, 1187, 2781], 14884) + femmesh.addVolume([3080, 690, 1047, 2288], 14885) + femmesh.addVolume([2290, 3082, 819, 1310], 14886) + femmesh.addVolume([3037, 932, 1257, 2626], 14887) + femmesh.addVolume([2624, 3035, 803, 1090], 14888) + femmesh.addVolume([2476, 1212, 2856, 881], 14889) + femmesh.addVolume([2474, 978, 752, 2854], 14890) + femmesh.addVolume([870, 2440, 1200, 2823], 14891) + femmesh.addVolume([741, 2438, 2821, 966], 14892) + femmesh.addVolume([3038, 804, 2627, 1091], 14893) + femmesh.addVolume([2285, 1046, 689, 3077], 14894) + femmesh.addVolume([2287, 3079, 818, 1309], 14895) + femmesh.addVolume([2629, 1258, 933, 3040], 14896) + femmesh.addVolume([2318, 701, 1057, 3113], 14897) + femmesh.addVolume([2320, 830, 3115, 1320], 14898) + femmesh.addVolume([792, 3002, 2594, 1080], 14899) + femmesh.addVolume([1247, 3004, 2596, 921], 14900) + femmesh.addVolume([3005, 793, 2594, 1080], 14901) + femmesh.addVolume([1247, 2596, 3007, 922], 14902) + femmesh.addVolume([2318, 1057, 700, 3110], 14903) + femmesh.addVolume([2320, 3112, 829, 1320], 14904) + femmesh.addVolume([2287, 819, 3082, 1309], 14905) + femmesh.addVolume([1046, 2285, 690, 3080], 14906) + femmesh.addVolume([2627, 803, 3035, 1091], 14907) + femmesh.addVolume([1258, 2629, 932, 3037], 14908) + femmesh.addVolume([2471, 752, 977, 2854], 14909) + femmesh.addVolume([2473, 881, 2856, 1211], 14910) + femmesh.addVolume([2443, 870, 1201, 2823], 14911) + femmesh.addVolume([2441, 741, 2821, 967], 14912) + femmesh.addVolume([2395, 1186, 855, 2781], 14913) + femmesh.addVolume([2519, 767, 2896, 992], 14914) + femmesh.addVolume([896, 2521, 2898, 1226], 14915) + femmesh.addVolume([726, 2393, 2779, 952], 14916) + femmesh.addVolume([1233, 2919, 903, 1232], 14917) + femmesh.addVolume([999, 774, 2917, 998], 14918) + femmesh.addVolume([1180, 848, 1179, 2760], 14919) + femmesh.addVolume([946, 719, 2758, 945], 14920) + femmesh.addVolume([874, 1204, 1205, 2835], 14921) + femmesh.addVolume([970, 2833, 745, 971], 14922) + femmesh.addVolume([1208, 2844, 877, 1207], 14923) + femmesh.addVolume([973, 748, 974, 2842], 14924) + femmesh.addVolume([1332, 2741, 23, 3176], 14925) + femmesh.addVolume([1182, 1183, 851, 2769], 14926) + femmesh.addVolume([948, 2767, 722, 949], 14927) + femmesh.addVolume([996, 771, 2908, 995], 14928) + femmesh.addVolume([900, 2910, 1229, 1230], 14929) + femmesh.addVolume([3176, 23, 1332, 2740], 14930) + femmesh.addVolume([1232, 2539, 903, 902], 14931) + femmesh.addVolume([2537, 774, 773, 998], 14932) + femmesh.addVolume([1180, 849, 848, 2377], 14933) + femmesh.addVolume([719, 2375, 720, 946], 14934) + femmesh.addVolume([2453, 746, 745, 971], 14935) + femmesh.addVolume([874, 1205, 875, 2455], 14936) + femmesh.addVolume([1207, 2461, 877, 876], 14937) + femmesh.addVolume([748, 973, 747, 2459], 14938) + femmesh.addVolume([1182, 851, 850, 2383], 14939) + femmesh.addVolume([721, 2381, 722, 948], 14940) + femmesh.addVolume([901, 2533, 900, 1230], 14941) + femmesh.addVolume([2531, 772, 771, 996], 14942) + femmesh.addVolume([1083, 3014, 796, 1084], 14943) + femmesh.addVolume([3016, 925, 1251, 1250], 14944) + femmesh.addVolume([1317, 3103, 826, 1316], 14945) + femmesh.addVolume([697, 1054, 1053, 3101], 14946) + femmesh.addVolume([3091, 1312, 822, 1313], 14947) + femmesh.addVolume([1049, 693, 1050, 3089], 14948) + femmesh.addVolume([1088, 800, 3026, 1087], 14949) + femmesh.addVolume([1254, 3028, 1255, 929], 14950) + femmesh.addVolume([1332, 3156, 2738, 3176], 14951) + femmesh.addVolume([1251, 2608, 926, 925], 14952) + femmesh.addVolume([2606, 797, 796, 1084], 14953) + femmesh.addVolume([2308, 825, 826, 1316], 14954) + femmesh.addVolume([697, 1053, 696, 2306], 14955) + femmesh.addVolume([1050, 693, 694, 2297], 14956) + femmesh.addVolume([823, 2299, 822, 1313], 14957) + femmesh.addVolume([799, 2615, 800, 1087], 14958) + femmesh.addVolume([1254, 928, 2617, 929], 14959) + femmesh.addVolume([904, 1234, 2922, 1233], 14960) + femmesh.addVolume([2920, 1000, 775, 999], 14961) + femmesh.addVolume([847, 1178, 1179, 2757], 14962) + femmesh.addVolume([944, 2755, 718, 945], 14963) + femmesh.addVolume([1203, 1204, 873, 2832], 14964) + femmesh.addVolume([969, 2830, 744, 970], 14965) + femmesh.addVolume([749, 975, 974, 2845], 14966) + femmesh.addVolume([2847, 878, 1209, 1208], 14967) + femmesh.addVolume([949, 2770, 723, 950], 14968) + femmesh.addVolume([852, 1183, 1184, 2772], 14969) + femmesh.addVolume([994, 2905, 770, 995], 14970) + femmesh.addVolume([899, 1229, 2907, 1228], 14971) + femmesh.addVolume([2956, 2744, 2743, 2928], 14972) + femmesh.addVolume([2743, 2746, 2956, 2928], 14973) + femmesh.addVolume([2743, 2956, 2941, 2742], 14974) + femmesh.addVolume([2743, 2941, 2956, 2745], 14975) + femmesh.addVolume([2736, 3158, 1332, 3176], 14976) + femmesh.addVolume([2741, 1332, 3158, 3176], 14977) + femmesh.addVolume([3176, 1332, 3156, 2740], 14978) + femmesh.addVolume([2540, 775, 774, 999], 14979) + femmesh.addVolume([2542, 903, 904, 1233], 14980) + femmesh.addVolume([847, 1179, 848, 2374], 14981) + femmesh.addVolume([718, 2372, 719, 945], 14982) + femmesh.addVolume([873, 1204, 874, 2452], 14983) + femmesh.addVolume([2450, 745, 744, 970], 14984) + femmesh.addVolume([974, 748, 749, 2462], 14985) + femmesh.addVolume([878, 2464, 877, 1208], 14986) + femmesh.addVolume([722, 2384, 723, 949], 14987) + femmesh.addVolume([1183, 852, 851, 2386], 14988) + femmesh.addVolume([900, 1229, 2530, 899], 14989) + femmesh.addVolume([770, 2528, 771, 995], 14990) + femmesh.addVolume([1083, 795, 3011, 1082], 14991) + femmesh.addVolume([3013, 1250, 1249, 924], 14992) + femmesh.addVolume([1054, 698, 1055, 3104], 14993) + femmesh.addVolume([1317, 827, 3106, 1318], 14994) + femmesh.addVolume([1312, 3088, 821, 1311], 14995) + femmesh.addVolume([692, 1049, 1048, 3086], 14996) + femmesh.addVolume([801, 1088, 3029, 1089], 14997) + femmesh.addVolume([1255, 1256, 930, 3031], 14998) + femmesh.addVolume([1250, 2605, 925, 924], 14999) + femmesh.addVolume([795, 2603, 796, 1083], 15000) + femmesh.addVolume([827, 2311, 826, 1317], 15001) + femmesh.addVolume([1054, 697, 698, 2309], 15002) + femmesh.addVolume([693, 1049, 692, 2294], 15003) + femmesh.addVolume([2296, 821, 822, 1312], 15004) + femmesh.addVolume([2618, 801, 800, 1088], 15005) + femmesh.addVolume([2620, 930, 1255, 929], 15006) + femmesh.addVolume([2923, 1001, 776, 1000], 15007) + femmesh.addVolume([1234, 2925, 1235, 905], 15008) + femmesh.addVolume([846, 1177, 1178, 2753], 15009) + femmesh.addVolume([943, 2748, 717, 944], 15010) + femmesh.addVolume([1209, 2850, 1210, 879], 15011) + femmesh.addVolume([975, 750, 976, 2848], 15012) + femmesh.addVolume([872, 1202, 1203, 2829], 15013) + femmesh.addVolume([968, 2827, 743, 969], 15014) + femmesh.addVolume([951, 724, 2773, 950], 15015) + femmesh.addVolume([1185, 853, 1184, 2775], 15016) + femmesh.addVolume([993, 2902, 769, 994], 15017) + femmesh.addVolume([1227, 898, 2904, 1228], 15018) + femmesh.addVolume([904, 2545, 1234, 905], 15019) + femmesh.addVolume([2543, 776, 775, 1000], 15020) + femmesh.addVolume([846, 1178, 847, 2371], 15021) + femmesh.addVolume([717, 2369, 718, 944], 15022) + femmesh.addVolume([1203, 873, 872, 2449], 15023) + femmesh.addVolume([743, 2447, 744, 969], 15024) + femmesh.addVolume([750, 975, 749, 2465], 15025) + femmesh.addVolume([2467, 879, 1209, 878], 15026) + femmesh.addVolume([3010, 1249, 1248, 923], 15027) + femmesh.addVolume([1082, 794, 3008, 1081], 15028) + femmesh.addVolume([1055, 699, 1056, 3107], 15029) + femmesh.addVolume([1318, 828, 3109, 1319], 15030) + femmesh.addVolume([691, 1048, 1047, 3083], 15031) + femmesh.addVolume([1311, 3085, 820, 1310], 15032) + femmesh.addVolume([1089, 3032, 802, 1090], 15033) + femmesh.addVolume([1256, 1257, 931, 3034], 15034) + femmesh.addVolume([852, 1184, 853, 2389], 15035) + femmesh.addVolume([2387, 724, 723, 950], 15036) + femmesh.addVolume([899, 2527, 898, 1228], 15037) + femmesh.addVolume([2525, 770, 769, 994], 15038) + femmesh.addVolume([2754, 19, 777, 1001], 15039) + femmesh.addVolume([906, 24, 2751, 1235], 15040) + femmesh.addVolume([1177, 845, 25, 2750], 15041) + femmesh.addVolume([2747, 716, 18, 943], 15042) + femmesh.addVolume([967, 2824, 742, 968], 15043) + femmesh.addVolume([871, 1201, 1202, 2826], 15044) + femmesh.addVolume([976, 751, 977, 2851], 15045) + femmesh.addVolume([1210, 880, 2853, 1211], 15046) + femmesh.addVolume([794, 2600, 795, 1082], 15047) + femmesh.addVolume([923, 2602, 1249, 924], 15048) + femmesh.addVolume([828, 2314, 827, 1318], 15049) + femmesh.addVolume([1055, 698, 699, 2312], 15050) + femmesh.addVolume([1186, 854, 1185, 2778], 15051) + femmesh.addVolume([952, 725, 2776, 951], 15052) + femmesh.addVolume([993, 768, 2899, 992], 15053) + femmesh.addVolume([2901, 897, 1227, 1226], 15054) + femmesh.addVolume([692, 1048, 691, 2291], 15055) + femmesh.addVolume([821, 2293, 820, 1311], 15056) + femmesh.addVolume([1256, 931, 930, 2623], 15057) + femmesh.addVolume([801, 2621, 802, 1089], 15058) + femmesh.addVolume([1081, 793, 3005, 1080], 15059) + femmesh.addVolume([1247, 3007, 1248, 922], 15060) + femmesh.addVolume([1056, 700, 1057, 3110], 15061) + femmesh.addVolume([1319, 829, 3112, 1320], 15062) + femmesh.addVolume([819, 1310, 3082, 1309], 15063) + femmesh.addVolume([690, 1047, 1046, 3080], 15064) + femmesh.addVolume([803, 1090, 3035, 1091], 15065) + femmesh.addVolume([932, 1257, 1258, 3037], 15066) + femmesh.addVolume([1235, 2548, 906, 905], 15067) + femmesh.addVolume([2546, 777, 776, 1001], 15068) + femmesh.addVolume([2366, 717, 716, 943], 15069) + femmesh.addVolume([845, 1177, 846, 2368], 15070) + femmesh.addVolume([2444, 743, 742, 968], 15071) + femmesh.addVolume([872, 871, 1202, 2446], 15072) + femmesh.addVolume([976, 750, 751, 2468], 15073) + femmesh.addVolume([1210, 2470, 880, 879], 15074) + femmesh.addVolume([853, 1185, 854, 2392], 15075) + femmesh.addVolume([2390, 725, 724, 951], 15076) + femmesh.addVolume([1227, 2524, 898, 897], 15077) + femmesh.addVolume([2522, 769, 768, 993], 15078) + femmesh.addVolume([2856, 881, 1212, 1211], 15079) + femmesh.addVolume([752, 978, 977, 2854], 15080) + femmesh.addVolume([1200, 1201, 870, 2823], 15081) + femmesh.addVolume([966, 2821, 741, 967], 15082) + femmesh.addVolume([953, 726, 2779, 952], 15083) + femmesh.addVolume([1187, 855, 1186, 2781], 15084) + femmesh.addVolume([2896, 767, 991, 992], 15085) + femmesh.addVolume([896, 2898, 1225, 1226], 15086) + femmesh.addVolume([2597, 794, 793, 1081], 15087) + femmesh.addVolume([2599, 923, 1248, 922], 15088) + femmesh.addVolume([829, 2317, 828, 1319], 15089) + femmesh.addVolume([1056, 699, 700, 2315], 15090) + femmesh.addVolume([691, 1047, 690, 2288], 15091) + femmesh.addVolume([820, 2290, 819, 1310], 15092) + femmesh.addVolume([1257, 932, 931, 2626], 15093) + femmesh.addVolume([802, 2624, 803, 1090], 15094) + femmesh.addVolume([1079, 3002, 792, 1080], 15095) + femmesh.addVolume([1246, 3004, 1247, 921], 15096) + femmesh.addVolume([1057, 701, 1058, 3113], 15097) + femmesh.addVolume([1320, 830, 3115, 1321], 15098) + femmesh.addVolume([1309, 3079, 818, 1308], 15099) + femmesh.addVolume([1045, 689, 1046, 3077], 15100) + femmesh.addVolume([1091, 3038, 804, 1092], 15101) + femmesh.addVolume([1259, 933, 1258, 3040], 15102) + femmesh.addVolume([2269, 811, 15, 2262], 15103) + femmesh.addVolume([16, 2265, 811, 2266], 15104) + femmesh.addVolume([882, 2859, 1212, 1213], 15105) + femmesh.addVolume([978, 753, 979, 2857], 15106) + femmesh.addVolume([1200, 869, 1199, 2820], 15107) + femmesh.addVolume([965, 2818, 740, 966], 15108) + femmesh.addVolume([752, 977, 751, 2471], 15109) + femmesh.addVolume([2473, 880, 881, 1211], 15110) + femmesh.addVolume([741, 2441, 742, 967], 15111) + femmesh.addVolume([870, 1201, 871, 2443], 15112) + femmesh.addVolume([1188, 856, 1187, 2784], 15113) + femmesh.addVolume([954, 727, 2782, 953], 15114) + femmesh.addVolume([895, 1224, 1225, 2895], 15115) + femmesh.addVolume([766, 991, 990, 2893], 15116) + femmesh.addVolume([725, 2393, 726, 952], 15117) + femmesh.addVolume([1186, 855, 854, 2395], 15118) + femmesh.addVolume([897, 2521, 896, 1226], 15119) + femmesh.addVolume([767, 2519, 768, 992], 15120) + femmesh.addVolume([2999, 791, 1078, 1079], 15121) + femmesh.addVolume([1246, 1245, 3001, 920], 15122) + femmesh.addVolume([1058, 702, 1059, 3116], 15123) + femmesh.addVolume([1321, 831, 3118, 1322], 15124) + femmesh.addVolume([1045, 1044, 688, 3074], 15125) + femmesh.addVolume([1308, 3076, 817, 1307], 15126) + femmesh.addVolume([1092, 3041, 805, 1093], 15127) + femmesh.addVolume([1259, 1260, 934, 3043], 15128) + femmesh.addVolume([2594, 793, 792, 1080], 15129) + femmesh.addVolume([922, 1247, 2596, 921], 15130) + femmesh.addVolume([1057, 700, 701, 2318], 15131) + femmesh.addVolume([830, 2320, 829, 1320], 15132) + femmesh.addVolume([2287, 818, 819, 1309], 15133) + femmesh.addVolume([1046, 689, 690, 2285], 15134) + femmesh.addVolume([2627, 804, 803, 1091], 15135) + femmesh.addVolume([932, 1258, 933, 2629], 15136) + femmesh.addVolume([1213, 2862, 1214, 883], 15137) + femmesh.addVolume([980, 979, 754, 2860], 15138) + femmesh.addVolume([964, 2815, 739, 965], 15139) + femmesh.addVolume([868, 1198, 1199, 2817], 15140) + femmesh.addVolume([954, 2785, 728, 955], 15141) + femmesh.addVolume([1189, 857, 1188, 2787], 15142) + femmesh.addVolume([989, 765, 990, 2890], 15143) + femmesh.addVolume([894, 1223, 1224, 2892], 15144) + femmesh.addVolume([913, 1239, 1240, 2983], 15145) + femmesh.addVolume([1072, 784, 1073, 2981], 15146) + femmesh.addVolume([1064, 709, 1065, 3134], 15147) + femmesh.addVolume([1327, 838, 3136, 1328], 15148) + femmesh.addVolume([3061, 27, 812, 1303], 15149) + femmesh.addVolume([1040, 20, 683, 3059], 15150) + femmesh.addVolume([3056, 20, 810, 1097], 15151) + femmesh.addVolume([1264, 27, 939, 3058], 15152) + femmesh.addVolume([909, 26, 1236, 2973], 15153) + femmesh.addVolume([1068, 713, 21, 2972], 15154) + femmesh.addVolume([1069, 22, 780, 2969], 15155) + femmesh.addVolume([2967, 842, 28, 1331], 15156) + femmesh.addVolume([1077, 790, 1078, 2996], 15157) + femmesh.addVolume([1244, 2998, 1245, 919], 15158) + femmesh.addVolume([1059, 703, 1060, 3119], 15159) + femmesh.addVolume([1322, 832, 3121, 1323], 15160) + femmesh.addVolume([1261, 935, 1260, 3046], 15161) + femmesh.addVolume([1094, 806, 3044, 1093], 15162) + femmesh.addVolume([1043, 687, 1044, 3071], 15163) + femmesh.addVolume([1307, 3073, 816, 1306], 15164) + femmesh.addVolume([1327, 3133, 836, 1326], 15165) + femmesh.addVolume([1064, 1063, 707, 3131], 15166) + femmesh.addVolume([915, 1240, 1241, 2986], 15167) + femmesh.addVolume([786, 1074, 1073, 2984], 15168) + femmesh.addVolume([761, 986, 985, 2878], 15169) + femmesh.addVolume([861, 1192, 1193, 2799], 15170) + femmesh.addVolume([732, 958, 2797, 959], 15171) + femmesh.addVolume([890, 1219, 1220, 2880], 15172) + femmesh.addVolume([864, 1194, 1195, 2805], 15173) + femmesh.addVolume([735, 960, 2803, 961], 15174) + femmesh.addVolume([1218, 2874, 887, 1217], 15175) + femmesh.addVolume([984, 983, 758, 2872], 15176) + femmesh.addVolume([2438, 741, 740, 966], 15177) + femmesh.addVolume([869, 1200, 870, 2440], 15178) + femmesh.addVolume([881, 2476, 1212, 882], 15179) + femmesh.addVolume([978, 752, 753, 2474], 15180) + femmesh.addVolume([755, 981, 980, 2863], 15181) + femmesh.addVolume([1214, 884, 2865, 1215], 15182) + femmesh.addVolume([1197, 1198, 867, 2814], 15183) + femmesh.addVolume([963, 2812, 738, 964], 15184) + femmesh.addVolume([1187, 856, 855, 2398], 15185) + femmesh.addVolume([726, 2396, 727, 953], 15186) + femmesh.addVolume([767, 991, 766, 2516], 15187) + femmesh.addVolume([1225, 896, 895, 2518], 15188) + femmesh.addVolume([1190, 858, 1189, 2790], 15189) + femmesh.addVolume([2788, 956, 729, 955], 15190) + femmesh.addVolume([988, 764, 989, 2887], 15191) + femmesh.addVolume([1223, 893, 1222, 2889], 15192) + femmesh.addVolume([912, 1238, 1239, 2980], 15193) + femmesh.addVolume([1329, 3139, 839, 1328], 15194) + femmesh.addVolume([1071, 783, 1072, 2978], 15195) + femmesh.addVolume([710, 1066, 1065, 3137], 15196) + femmesh.addVolume([3053, 1097, 809, 1096], 15197) + femmesh.addVolume([1040, 684, 1041, 3062], 15198) + femmesh.addVolume([1304, 3064, 813, 1303], 15199) + femmesh.addVolume([1264, 938, 1263, 3055], 15200) + femmesh.addVolume([1063, 1062, 706, 3128], 15201) + femmesh.addVolume([1326, 3130, 835, 1325], 15202) + femmesh.addVolume([1074, 787, 1075, 2987], 15203) + femmesh.addVolume([1242, 916, 1241, 2989], 15204) + femmesh.addVolume([1077, 1076, 789, 2993], 15205) + femmesh.addVolume([918, 1243, 1244, 2995], 15206) + femmesh.addVolume([1060, 704, 1061, 3122], 15207) + femmesh.addVolume([1323, 833, 3124, 1324], 15208) + femmesh.addVolume([1262, 936, 1261, 3049], 15209) + femmesh.addVolume([1043, 1042, 686, 3068], 15210) + femmesh.addVolume([1306, 3070, 815, 1305], 15211) + femmesh.addVolume([3047, 1095, 807, 1094], 15212) + femmesh.addVolume([1331, 3145, 841, 1330], 15213) + femmesh.addVolume([1068, 1067, 712, 3143], 15214) + femmesh.addVolume([1069, 781, 1070, 2970], 15215) + femmesh.addVolume([1237, 910, 1236, 2974], 15216) + femmesh.addVolume([1220, 1221, 891, 2883], 15217) + femmesh.addVolume([762, 987, 986, 2881], 15218) + femmesh.addVolume([957, 2794, 731, 958], 15219) + femmesh.addVolume([1191, 1192, 860, 2796], 15220) + femmesh.addVolume([1196, 865, 1195, 2808], 15221) + femmesh.addVolume([962, 736, 2806, 961], 15222) + femmesh.addVolume([2871, 1216, 886, 1217], 15223) + femmesh.addVolume([982, 757, 983, 2869], 15224) + femmesh.addVolume([1216, 2868, 885, 1215], 15225) + femmesh.addVolume([1196, 1197, 866, 2811], 15226) + femmesh.addVolume([962, 2809, 737, 963], 15227) + femmesh.addVolume([756, 982, 981, 2866], 15228) + femmesh.addVolume([1191, 859, 1190, 2793], 15229) + femmesh.addVolume([2791, 957, 730, 956], 15230) + femmesh.addVolume([987, 763, 988, 2884], 15231) + femmesh.addVolume([1222, 892, 1221, 2886], 15232) + femmesh.addVolume([1330, 3142, 840, 1329], 15233) + femmesh.addVolume([1237, 1238, 911, 2977], 15234) + femmesh.addVolume([1070, 782, 1071, 2975], 15235) + femmesh.addVolume([711, 1067, 1066, 3140], 15236) + femmesh.addVolume([1262, 1263, 937, 3052], 15237) + femmesh.addVolume([1095, 3050, 808, 1096], 15238) + femmesh.addVolume([1305, 3067, 814, 1304], 15239) + femmesh.addVolume([1042, 1041, 685, 3065], 15240) + femmesh.addVolume([788, 1076, 1075, 2990], 15241) + femmesh.addVolume([1062, 1061, 705, 3125], 15242) + femmesh.addVolume([1325, 3127, 834, 1324], 15243) + femmesh.addVolume([1242, 1243, 917, 2992], 15244) + femmesh.addVolume([1058, 701, 702, 2321], 15245) + femmesh.addVolume([2593, 921, 1246, 920], 15246) + femmesh.addVolume([2591, 792, 791, 1079], 15247) + femmesh.addVolume([831, 2323, 830, 1321], 15248) + femmesh.addVolume([2284, 817, 818, 1308], 15249) + femmesh.addVolume([1045, 688, 689, 2282], 15250) + femmesh.addVolume([1259, 934, 933, 2632], 15251) + femmesh.addVolume([804, 2630, 805, 1092], 15252) + femmesh.addVolume([2735, 889, 888, 2497], 15253) + femmesh.addVolume([2691, 759, 760, 2495], 15254) + femmesh.addVolume([2417, 734, 733, 2690], 15255) + femmesh.addVolume([862, 2734, 863, 2419], 15256) + femmesh.addVolume([1283, 2740, 2730, 1138], 15257) + femmesh.addVolume([2479, 1213, 882, 883], 15258) + femmesh.addVolume([754, 979, 753, 2477], 15259) + femmesh.addVolume([2435, 740, 739, 965], 15260) + femmesh.addVolume([1199, 869, 868, 2437], 15261) + femmesh.addVolume([1188, 857, 856, 2401], 15262) + femmesh.addVolume([727, 2399, 728, 954], 15263) + femmesh.addVolume([894, 1224, 895, 2515], 15264) + femmesh.addVolume([766, 990, 765, 2513], 15265) + femmesh.addVolume([920, 1245, 2590, 919], 15266) + femmesh.addVolume([1078, 790, 791, 2588], 15267) + femmesh.addVolume([832, 2326, 831, 1322], 15268) + femmesh.addVolume([1059, 702, 703, 2324], 15269) + femmesh.addVolume([688, 1044, 687, 2279], 15270) + femmesh.addVolume([2281, 816, 817, 1307], 15271) + femmesh.addVolume([934, 1260, 935, 2635], 15272) + femmesh.addVolume([2633, 806, 805, 1093], 15273) + femmesh.addVolume([2741, 1136, 1284, 2733], 15274) + femmesh.addVolume([2745, 2732, 1158, 1136], 15275) + femmesh.addVolume([714, 21, 713, 2357], 15276) + femmesh.addVolume([842, 28, 843, 2359], 15277) + femmesh.addVolume([780, 22, 779, 2555], 15278) + femmesh.addVolume([909, 908, 26, 2557], 15279) + femmesh.addVolume([1020, 2744, 2686, 940], 15280) + femmesh.addVolume([980, 754, 755, 2480], 15281) + femmesh.addVolume([1198, 868, 867, 2434], 15282) + femmesh.addVolume([883, 2482, 1214, 884], 15283) + femmesh.addVolume([2432, 739, 738, 964], 15284) + femmesh.addVolume([2689, 2742, 1021, 942], 15285) + femmesh.addVolume([1189, 858, 857, 2404], 15286) + femmesh.addVolume([765, 989, 764, 2510], 15287) + femmesh.addVolume([728, 2402, 729, 955], 15288) + femmesh.addVolume([1223, 894, 893, 2512], 15289) + femmesh.addVolume([1117, 2688, 942, 2736], 15290) + femmesh.addVolume([2587, 1244, 918, 919], 15291) + femmesh.addVolume([1077, 789, 790, 2585], 15292) + femmesh.addVolume([704, 1060, 703, 2327], 15293) + femmesh.addVolume([833, 2329, 832, 1323], 15294) + femmesh.addVolume([2278, 815, 816, 1306], 15295) + femmesh.addVolume([806, 2636, 807, 1094], 15296) + femmesh.addVolume([687, 1043, 686, 2276], 15297) + femmesh.addVolume([1261, 936, 935, 2638], 15298) + femmesh.addVolume([713, 1068, 712, 2354], 15299) + femmesh.addVolume([2356, 841, 842, 1331], 15300) + femmesh.addVolume([781, 1069, 780, 2558], 15301) + femmesh.addVolume([909, 1236, 910, 2560], 15302) + femmesh.addVolume([2485, 884, 885, 1215], 15303) + femmesh.addVolume([1197, 867, 866, 2431], 15304) + femmesh.addVolume([737, 2429, 738, 963], 15305) + femmesh.addVolume([981, 755, 756, 2483], 15306) + femmesh.addVolume([858, 1190, 859, 2407], 15307) + femmesh.addVolume([729, 2405, 730, 956], 15308) + femmesh.addVolume([1222, 893, 892, 2509], 15309) + femmesh.addVolume([764, 988, 763, 2507], 15310) + femmesh.addVolume([784, 1072, 783, 2567], 15311) + femmesh.addVolume([913, 912, 1239, 2569], 15312) + femmesh.addVolume([839, 2347, 838, 1328], 15313) + femmesh.addVolume([1065, 709, 710, 2345], 15314) + femmesh.addVolume([917, 1243, 918, 2584], 15315) + femmesh.addVolume([789, 1076, 788, 2582], 15316) + femmesh.addVolume([705, 1061, 704, 2330], 15317) + femmesh.addVolume([2332, 833, 834, 1324], 15318) + femmesh.addVolume([939, 938, 1264, 2647], 15319) + femmesh.addVolume([809, 2645, 810, 1097], 15320) + femmesh.addVolume([2268, 812, 813, 1303], 15321) + femmesh.addVolume([684, 1040, 683, 2263], 15322) + femmesh.addVolume([2275, 814, 815, 1305], 15323) + femmesh.addVolume([686, 1042, 685, 2273], 15324) + femmesh.addVolume([937, 936, 1262, 2641], 15325) + femmesh.addVolume([807, 2639, 808, 1095], 15326) + femmesh.addVolume([1063, 706, 707, 2336], 15327) + femmesh.addVolume([836, 2338, 835, 1326], 15328) + femmesh.addVolume([787, 1074, 786, 2576], 15329) + femmesh.addVolume([1241, 916, 915, 2578], 15330) + femmesh.addVolume([712, 1067, 711, 2351], 15331) + femmesh.addVolume([2353, 840, 841, 1330], 15332) + femmesh.addVolume([782, 1070, 781, 2561], 15333) + femmesh.addVolume([911, 910, 1237, 2563], 15334) + femmesh.addVolume([891, 890, 1220, 2503], 15335) + femmesh.addVolume([762, 986, 761, 2501], 15336) + femmesh.addVolume([860, 1192, 861, 2413], 15337) + femmesh.addVolume([2411, 732, 731, 958], 15338) + femmesh.addVolume([736, 2426, 737, 962], 15339) + femmesh.addVolume([982, 756, 757, 2486], 15340) + femmesh.addVolume([1196, 866, 865, 2428], 15341) + femmesh.addVolume([886, 2488, 885, 1216], 15342) + femmesh.addVolume([886, 887, 2491, 1217], 15343) + femmesh.addVolume([758, 983, 757, 2489], 15344) + femmesh.addVolume([2423, 736, 735, 961], 15345) + femmesh.addVolume([864, 1195, 865, 2425], 15346) + femmesh.addVolume([730, 2408, 731, 957], 15347) + femmesh.addVolume([1191, 860, 859, 2410], 15348) + femmesh.addVolume([892, 891, 1221, 2506], 15349) + femmesh.addVolume([763, 987, 762, 2504], 15350) + femmesh.addVolume([840, 2350, 839, 1329], 15351) + femmesh.addVolume([783, 1071, 782, 2564], 15352) + femmesh.addVolume([1066, 710, 711, 2348], 15353) + femmesh.addVolume([911, 1238, 912, 2566], 15354) + femmesh.addVolume([1242, 917, 916, 2581], 15355) + femmesh.addVolume([788, 1075, 787, 2579], 15356) + femmesh.addVolume([1062, 705, 706, 2333], 15357) + femmesh.addVolume([2335, 834, 835, 1325], 15358) + femmesh.addVolume([685, 1041, 684, 2270], 15359) + femmesh.addVolume([2272, 813, 814, 1304], 15360) + femmesh.addVolume([808, 2642, 809, 1096], 15361) + femmesh.addVolume([937, 1263, 938, 2644], 15362) + femmesh.addVolume([2746, 1157, 2731, 1138], 15363) + femmesh.addVolume([940, 2687, 1116, 2738], 15364) + femmesh.addVolume([1283, 23, 2740, 1138], 15365) + femmesh.addVolume([941, 2744, 1020, 940], 15366) + femmesh.addVolume([1157, 2746, 1137, 1138], 15367) + femmesh.addVolume([941, 1021, 2742, 942], 15368) + femmesh.addVolume([2745, 1158, 1137, 1136], 15369) + femmesh.addVolume([23, 1284, 2741, 1136], 15370) + femmesh.addVolume([17, 1117, 942, 2736], 15371) + femmesh.addVolume([1116, 17, 940, 2738], 15372) + femmesh.addVolume([2360, 715, 714, 2684], 15373) + femmesh.addVolume([778, 2552, 779, 2685], 15374) + femmesh.addVolume([2728, 844, 843, 2362], 15375) + femmesh.addVolume([907, 2554, 2729, 908], 15376) + femmesh.addVolume([2691, 985, 984, 2875], 15377) + femmesh.addVolume([1193, 1194, 2734, 2802], 15378) + femmesh.addVolume([2800, 2690, 959, 960], 15379) + femmesh.addVolume([1219, 2735, 1218, 2877], 15380) + femmesh.addVolume([3184, 1336, 2964, 2692], 15381) + femmesh.addVolume([3184, 2964, 1336, 2648], 15382) + femmesh.addVolume([1334, 2964, 1336, 2692], 15383) + femmesh.addVolume([1334, 1336, 2964, 2648], 15384) + femmesh.addVolume([3183, 1335, 2963, 2649], 15385) + femmesh.addVolume([3183, 2963, 1335, 2693], 15386) + femmesh.addVolume([1333, 2963, 1335, 2649], 15387) + femmesh.addVolume([1333, 1335, 2963, 2693], 15388) + femmesh.addVolume([2926, 1002, 2649, 2966], 15389) + femmesh.addVolume([2926, 2649, 1002, 2669], 15390) + femmesh.addVolume([2711, 1161, 2944, 2725], 15391) + femmesh.addVolume([2711, 2944, 1161, 2935], 15392) + femmesh.addVolume([3184, 2964, 2709, 2692], 15393) + femmesh.addVolume([3184, 2709, 2964, 3163], 15394) + femmesh.addVolume([2680, 1037, 2959, 2943], 15395) + femmesh.addVolume([1037, 2680, 2959, 2658], 15396) + femmesh.addVolume([2713, 2669, 2704, 3172], 15397) + femmesh.addVolume([2713, 2704, 2669, 2950], 15398) + femmesh.addVolume([2659, 2704, 2669, 3172], 15399) + femmesh.addVolume([2659, 2669, 2704, 2950], 15400) + femmesh.addVolume([2675, 3193, 2719, 2945], 15401) + femmesh.addVolume([3193, 2675, 2719, 3182], 15402) + femmesh.addVolume([3162, 2960, 2944, 2676], 15403) + femmesh.addVolume([2960, 3162, 2944, 2725], 15404) + femmesh.addVolume([2960, 3162, 3177, 2676], 15405) + femmesh.addVolume([3162, 2960, 3177, 2725], 15406) + femmesh.addVolume([2680, 2709, 2665, 2943], 15407) + femmesh.addVolume([2709, 2680, 2665, 3152], 15408) + femmesh.addVolume([2709, 2680, 2724, 2943], 15409) + femmesh.addVolume([2680, 2709, 2724, 3152], 15410) + femmesh.addVolume([2669, 3183, 2713, 2926], 15411) + femmesh.addVolume([3183, 2669, 2713, 3148], 15412) + femmesh.addVolume([3183, 2669, 2649, 2926], 15413) + femmesh.addVolume([2951, 1026, 2666, 2681], 15414) + femmesh.addVolume([1026, 2951, 2666, 2938], 15415) + femmesh.addVolume([2665, 2964, 3163, 2648], 15416) + femmesh.addVolume([2964, 2665, 2965, 2648], 15417) + femmesh.addVolume([2665, 2964, 2965, 2930], 15418) + femmesh.addVolume([2709, 2964, 2665, 2930], 15419) + femmesh.addVolume([2709, 2665, 2964, 3163], 15420) + femmesh.addVolume([3177, 2737, 2960, 2664], 15421) + femmesh.addVolume([2737, 3177, 2960, 2700], 15422) + femmesh.addVolume([2661, 2719, 2705, 2961], 15423) + femmesh.addVolume([2719, 2661, 2705, 3165], 15424) + femmesh.addVolume([2719, 2661, 2675, 2961], 15425) + femmesh.addVolume([2661, 2719, 2675, 3165], 15426) + femmesh.addVolume([3163, 1135, 2648, 3185], 15427) + femmesh.addVolume([3163, 2648, 1135, 2665], 15428) + femmesh.addVolume([2710, 1296, 3147, 2726], 15429) + femmesh.addVolume([1296, 2710, 3147, 3171], 15430) + femmesh.addVolume([3151, 2723, 2682, 3167], 15431) + femmesh.addVolume([3151, 2682, 2723, 2667], 15432) + femmesh.addVolume([2706, 1288, 3174, 3160], 15433) + femmesh.addVolume([1288, 2706, 3174, 2711], 15434) + femmesh.addVolume([2717, 2937, 3166, 3159], 15435) + femmesh.addVolume([2717, 3166, 2937, 2702], 15436) + femmesh.addVolume([2715, 1166, 2932, 2946], 15437) + femmesh.addVolume([1166, 2715, 2932, 2708], 15438) + femmesh.addVolume([3165, 2739, 2730, 3156], 15439) + femmesh.addVolume([2739, 3165, 2730, 2705], 15440) + femmesh.addVolume([2876, 2496, 2879, 2877], 15441) + femmesh.addVolume([2876, 2879, 2496, 2875], 15442) + femmesh.addVolume([2801, 2421, 2804, 2802], 15443) + femmesh.addVolume([2801, 2804, 2421, 2800], 15444) + femmesh.addVolume([3058, 2265, 3061, 27], 15445) + femmesh.addVolume([2265, 3058, 3061, 3060], 15446) + femmesh.addVolume([2265, 3058, 2266, 27], 15447) + femmesh.addVolume([3058, 2265, 2266, 3060], 15448) + femmesh.addVolume([3056, 2262, 2269, 20], 15449) + femmesh.addVolume([2262, 3056, 2269, 3060], 15450) + femmesh.addVolume([2262, 3056, 3059, 20], 15451) + femmesh.addVolume([3056, 2262, 3059, 3060], 15452) + femmesh.addVolume([3134, 2339, 3131, 1064], 15453) + femmesh.addVolume([3134, 3131, 2339, 3135], 15454) + femmesh.addVolume([2984, 2573, 2981, 1073], 15455) + femmesh.addVolume([2984, 2981, 2573, 2985], 15456) + femmesh.addVolume([2983, 2575, 2986, 1240], 15457) + femmesh.addVolume([2983, 2986, 2575, 2985], 15458) + femmesh.addVolume([3136, 2341, 3133, 3135], 15459) + femmesh.addVolume([3136, 3133, 2341, 1327], 15460) + femmesh.addVolume([2669, 3186, 3183, 2649], 15461) + femmesh.addVolume([3186, 2669, 3183, 3148], 15462) + femmesh.addVolume([3186, 2669, 1098, 2649], 15463) + femmesh.addVolume([2669, 3186, 1098, 3148], 15464) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_plate_mystran_quad4.py b/src/Mod/Fem/femexamples/meshes/mesh_plate_mystran_quad4.py new file mode 100644 index 0000000000..f3ef580552 --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_plate_mystran_quad4.py @@ -0,0 +1,69 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(0.0, 0.0, 0.0, 1) + femmesh.addNode(2.0, 0.0, 0.0, 2) + femmesh.addNode(4.0, 0.0, 0.0, 3) + femmesh.addNode(6.0, 0.0, 0.0, 4) + femmesh.addNode(8.0, 0.0, 0.0, 5) + femmesh.addNode(10.0, 0.0, 0.0, 6) + femmesh.addNode(0.0, 2.0, 0.0, 7) + femmesh.addNode(2.0, 2.0, 0.0, 8) + femmesh.addNode(4.0, 2.0, 0.0, 9) + femmesh.addNode(6.0, 2.0, 0.0, 10) + femmesh.addNode(8.0, 2.0, 0.0, 11) + femmesh.addNode(10.0, 2.0, 0.0, 12) + femmesh.addNode(0.0, 4.0, 0.0, 13) + femmesh.addNode(2.0, 4.0, 0.0, 14) + femmesh.addNode(4.0, 4.0, 0.0, 15) + femmesh.addNode(6.0, 4.0, 0.0, 16) + femmesh.addNode(8.0, 4.0, 0.0, 17) + femmesh.addNode(10.0, 4.0, 0.0, 18) + femmesh.addNode(0.0, 6.0, 0.0, 19) + femmesh.addNode(2.0, 6.0, 0.0, 20) + femmesh.addNode(4.0, 6.0, 0.0, 21) + femmesh.addNode(6.0, 6.0, 0.0, 22) + femmesh.addNode(8.0, 6.0, 0.0, 23) + femmesh.addNode(10.0, 6.0, 0.0, 24) + femmesh.addNode(0.0, 8.0, 0.0, 25) + femmesh.addNode(2.0, 8.0, 0.0, 26) + femmesh.addNode(4.0, 8.0, 0.0, 27) + femmesh.addNode(6.0, 8.0, 0.0, 28) + femmesh.addNode(8.0, 8.0, 0.0, 29) + femmesh.addNode(10.0, 8.0, 0.0, 30) + femmesh.addNode(0.0, 10.0, 0.0, 31) + femmesh.addNode(2.0, 10.0, 0.0, 32) + femmesh.addNode(4.0, 10.0, 0.0, 33) + femmesh.addNode(6.0, 10.0, 0.0, 34) + femmesh.addNode(8.0, 10.0, 0.0, 35) + femmesh.addNode(10.0, 10.0, 0.0, 36) + return True + + +def create_elements(femmesh): + # elements + femmesh.addFace([1, 2, 8, 7], 1) + femmesh.addFace([2, 3, 9, 8], 2) + femmesh.addFace([3, 4, 10, 9], 3) + femmesh.addFace([4, 5, 11, 10], 4) + femmesh.addFace([5, 6, 12, 11], 5) + femmesh.addFace([7, 8, 14, 13], 6) + femmesh.addFace([8, 9, 15, 14], 7) + femmesh.addFace([9, 10, 16, 15], 8) + femmesh.addFace([10, 11, 17, 16], 9) + femmesh.addFace([11, 12, 18, 17], 10) + femmesh.addFace([13, 14, 20, 19], 11) + femmesh.addFace([14, 15, 21, 20], 12) + femmesh.addFace([15, 16, 22, 21], 13) + femmesh.addFace([16, 17, 23, 22], 14) + femmesh.addFace([17, 18, 24, 23], 15) + femmesh.addFace([19, 20, 26, 25], 16) + femmesh.addFace([20, 21, 27, 26], 17) + femmesh.addFace([21, 22, 28, 27], 18) + femmesh.addFace([22, 23, 29, 28], 19) + femmesh.addFace([23, 24, 30, 29], 20) + femmesh.addFace([25, 26, 32, 31], 21) + femmesh.addFace([26, 27, 33, 32], 22) + femmesh.addFace([27, 28, 34, 33], 23) + femmesh.addFace([28, 29, 35, 34], 24) + femmesh.addFace([29, 30, 36, 35], 25) + return True diff --git a/src/Mod/Fem/femexamples/meshes/mesh_transform_torque_tetra10.py b/src/Mod/Fem/femexamples/meshes/mesh_transform_torque_tetra10.py new file mode 100644 index 0000000000..a0a97f2236 --- /dev/null +++ b/src/Mod/Fem/femexamples/meshes/mesh_transform_torque_tetra10.py @@ -0,0 +1,8699 @@ +def create_nodes(femmesh): + # nodes + femmesh.addNode(4.0, -9.797174393178826e-16, 0.0, 1) + femmesh.addNode(4.0, -9.797174393178826e-16, 50.0, 2) + femmesh.addNode(5.0, -1.2246467991473533e-15, 0.0, 3) + femmesh.addNode(5.0, -1.2246467991473533e-15, 50.0, 4) + femmesh.addNode(4.0, -9.797174393178826e-16, 1.7999999999999998, 5) + femmesh.addNode(4.0, -9.797174393178826e-16, 3.65, 6) + femmesh.addNode(4.0, -9.797174393178826e-16, 5.45, 7) + femmesh.addNode(4.0, -9.797174393178826e-16, 7.1499999999999995, 8) + femmesh.addNode(4.0, -9.797174393178826e-16, 9.0, 9) + femmesh.addNode(4.0, -9.797174393178826e-16, 10.85, 10) + femmesh.addNode(4.0, -9.797174393178826e-16, 12.55, 11) + femmesh.addNode(4.0, -9.797174393178826e-16, 14.399999999999999, 12) + femmesh.addNode(4.0, -9.797174393178826e-16, 16.05, 13) + femmesh.addNode(4.0, -9.797174393178826e-16, 17.9, 14) + femmesh.addNode(4.0, -9.797174393178826e-16, 19.7, 15) + femmesh.addNode(4.0, -9.797174393178826e-16, 21.45, 16) + femmesh.addNode(4.0, -9.797174393178826e-16, 23.3, 17) + femmesh.addNode(4.0, -9.797174393178826e-16, 25.1, 18) + femmesh.addNode(4.0, -9.797174393178826e-16, 26.85, 19) + femmesh.addNode(4.0, -9.797174393178826e-16, 28.65, 20) + femmesh.addNode(4.0, -9.797174393178826e-16, 30.5, 21) + femmesh.addNode(4.0, -9.797174393178826e-16, 32.25, 22) + femmesh.addNode(4.0, -9.797174393178826e-16, 34.050000000000004, 23) + femmesh.addNode(4.0, -9.797174393178826e-16, 35.9, 24) + femmesh.addNode(4.0, -9.797174393178826e-16, 37.65, 25) + femmesh.addNode(4.0, -9.797174393178826e-16, 39.4, 26) + femmesh.addNode(4.0, -9.797174393178826e-16, 41.25, 27) + femmesh.addNode(4.0, -9.797174393178826e-16, 42.95, 28) + femmesh.addNode(4.0, -9.797174393178826e-16, 44.800000000000004, 29) + femmesh.addNode(4.0, -9.797174393178826e-16, 46.45, 30) + femmesh.addNode(4.0, -9.797174393178826e-16, 48.3, 31) + femmesh.addNode(3.6085358374728114, 1.7258241827238356, 0.0, 32) + femmesh.addNode(2.4714384523613377, 3.1451537285464752, 0.0, 33) + femmesh.addNode(0.8234504350795254, 3.9143236173018883, 0.0, 34) + femmesh.addNode(-0.9459959880948977, 3.886526931658696, 0.0, 35) + femmesh.addNode(-2.588223846277776, 3.0497700440457924, 0.0, 36) + femmesh.addNode(-3.6710185027359246, 1.5885915625391225, 0.0, 37) + femmesh.addNode(-3.997157890562357, -0.15076073067973716, 0.0, 38) + femmesh.addNode(-3.529164905739814, -1.8828157286613287, 0.0, 39) + femmesh.addNode(-2.431721190778423, -3.17596159459134, 0.0, 40) + femmesh.addNode(-0.897083043797526, -3.8981074911463085, 0.0, 41) + femmesh.addNode(0.9703969231816284, -3.8805063859604236, 0.0, 42) + femmesh.addNode(2.5107654451627996, -3.1138492062680956, 0.0, 43) + femmesh.addNode(3.586564147140943, -1.7710329241556066, 0.0, 44) + femmesh.addNode(3.6085358374728114, 1.7258241827238356, 50.0, 45) + femmesh.addNode(2.4714384523613377, 3.1451537285464752, 50.0, 46) + femmesh.addNode(0.8234504350795254, 3.9143236173018883, 50.0, 47) + femmesh.addNode(-0.9459959880948977, 3.886526931658696, 50.0, 48) + femmesh.addNode(-2.588223846277776, 3.0497700440457924, 50.0, 49) + femmesh.addNode(-3.6710185027359246, 1.5885915625391225, 50.0, 50) + femmesh.addNode(-3.997157890562357, -0.15076073067973716, 50.0, 51) + femmesh.addNode(-3.529164905739814, -1.8828157286613287, 50.0, 52) + femmesh.addNode(-2.431721190778423, -3.17596159459134, 50.0, 53) + femmesh.addNode(-0.897083043797526, -3.8981074911463085, 50.0, 54) + femmesh.addNode(0.9703969231816284, -3.8805063859604236, 50.0, 55) + femmesh.addNode(2.5107654451627996, -3.1138492062680956, 50.0, 56) + femmesh.addNode(3.586564147140943, -1.7710329241556066, 50.0, 57) + femmesh.addNode(4.648882429441257, 1.8406227634233896, 0.0, 58) + femmesh.addNode(3.6875655867908694, 3.376664040605122, 0.0, 59) + femmesh.addNode(2.2978993031074397, 4.440682244067722, 0.0, 60) + femmesh.addNode(0.5954858004743485, 4.964413022849069, 0.0, 61) + femmesh.addNode(-1.2738536284169102, 4.835007438812175, 0.0, 62) + femmesh.addNode(-2.887863517111337, 4.08169625358592, 0.0, 63) + femmesh.addNode(-4.170392168065856, 2.758229353142152, 0.0, 64) + femmesh.addNode(-4.865492554910633, 1.1519471333829523, 0.0, 65) + femmesh.addNode(-4.956538155347533, -0.6578217954614131, 0.0, 66) + femmesh.addNode(-4.366312274049601, -2.4362506286266603, 0.0, 67) + femmesh.addNode(-3.138456806453501, -3.892311507835118, 0.0, 68) + femmesh.addNode(-1.485207907885175, -4.774322723733214, 0.0, 69) + femmesh.addNode(0.31395259764656414, -4.990133642141358, 0.0, 70) + femmesh.addNode(2.100428642059029, -4.5374221227055855, 0.0, 71) + femmesh.addNode(3.6232656509352337, -3.4455690419367424, 0.0, 72) + femmesh.addNode(4.671644712283059, -1.7820593935662565, 0.0, 73) + femmesh.addNode(4.648882429441257, 1.8406227634233896, 50.0, 74) + femmesh.addNode(3.6875655867908694, 3.376664040605122, 50.0, 75) + femmesh.addNode(2.2978993031074397, 4.440682244067722, 50.0, 76) + femmesh.addNode(0.5954858004743485, 4.964413022849069, 50.0, 77) + femmesh.addNode(-1.2738536284169102, 4.835007438812175, 50.0, 78) + femmesh.addNode(-2.887863517111337, 4.08169625358592, 50.0, 79) + femmesh.addNode(-4.170392168065856, 2.758229353142152, 50.0, 80) + femmesh.addNode(-4.865492554910633, 1.1519471333829523, 50.0, 81) + femmesh.addNode(-4.956538155347533, -0.6578217954614131, 50.0, 82) + femmesh.addNode(-4.366312274049601, -2.4362506286266603, 50.0, 83) + femmesh.addNode(-3.138456806453501, -3.892311507835118, 50.0, 84) + femmesh.addNode(-1.485207907885175, -4.774322723733214, 50.0, 85) + femmesh.addNode(0.31395259764656414, -4.990133642141358, 50.0, 86) + femmesh.addNode(2.100428642059029, -4.5374221227055855, 50.0, 87) + femmesh.addNode(3.6232656509352337, -3.4455690419367424, 50.0, 88) + femmesh.addNode(4.671644712283059, -1.7820593935662565, 50.0, 89) + femmesh.addNode(5.0, -1.2246467991473533e-15, 1.8499999999999999, 90) + femmesh.addNode(5.0, -1.2246467991473533e-15, 3.55, 91) + femmesh.addNode(5.0, -1.2246467991473533e-15, 5.35, 92) + femmesh.addNode(5.0, -1.2246467991473533e-15, 7.199999999999999, 93) + femmesh.addNode(5.0, -1.2246467991473533e-15, 8.9, 94) + femmesh.addNode(5.0, -1.2246467991473533e-15, 10.65, 95) + femmesh.addNode(5.0, -1.2246467991473533e-15, 12.5, 96) + femmesh.addNode(5.0, -1.2246467991473533e-15, 14.249999999999998, 97) + femmesh.addNode(5.0, -1.2246467991473533e-15, 16.0, 98) + femmesh.addNode(5.0, -1.2246467991473533e-15, 17.65, 99) + femmesh.addNode(5.0, -1.2246467991473533e-15, 19.45, 100) + femmesh.addNode(5.0, -1.2246467991473533e-15, 21.3, 101) + femmesh.addNode(5.0, -1.2246467991473533e-15, 23.0, 102) + femmesh.addNode(5.0, -1.2246467991473533e-15, 24.8, 103) + femmesh.addNode(5.0, -1.2246467991473533e-15, 26.6, 104) + femmesh.addNode(5.0, -1.2246467991473533e-15, 28.349999999999998, 105) + femmesh.addNode(5.0, -1.2246467991473533e-15, 30.099999999999998, 106) + femmesh.addNode(5.0, -1.2246467991473533e-15, 31.95, 107) + femmesh.addNode(5.0, -1.2246467991473533e-15, 33.7, 108) + femmesh.addNode(5.0, -1.2246467991473533e-15, 35.4, 109) + femmesh.addNode(5.0, -1.2246467991473533e-15, 37.25, 110) + femmesh.addNode(5.0, -1.2246467991473533e-15, 39.050000000000004, 111) + femmesh.addNode(5.0, -1.2246467991473533e-15, 40.75, 112) + femmesh.addNode(5.0, -1.2246467991473533e-15, 42.65, 113) + femmesh.addNode(5.0, -1.2246467991473533e-15, 44.4, 114) + femmesh.addNode(5.0, -1.2246467991473533e-15, 46.1, 115) + femmesh.addNode(5.0, -1.2246467991473533e-15, 48.15, 116) + femmesh.addNode(3.7961456836748657, -1.2606656766632007, 2.883830848705585, 117) + femmesh.addNode(3.6877770546054456, -1.5492902876883927, 4.4941423116273, 118) + femmesh.addNode(3.6757198803454507, -1.577682908962769, 6.221063462457196, 119) + femmesh.addNode(3.6912905946922443, -1.540900303568202, 8.112967220251909, 120) + femmesh.addNode(3.688555337088441, -1.5474364365738507, 9.884975351909484, 121) + femmesh.addNode(3.689149992884908, -1.5460182178736708, 11.623494904838338, 122) + femmesh.addNode(3.6844378391785026, -1.5572147601502007, 13.440971418929063, 123) + femmesh.addNode(3.687897917351167, -1.5490025665559515, 15.257242260238195, 124) + femmesh.addNode(3.675761527065428, -1.5775858759971306, 16.97350398128666, 125) + femmesh.addNode(3.6815557212597145, -1.5640164549197881, 18.8264728673247, 126) + femmesh.addNode(3.685877319975452, -1.5538044864430596, 20.57839152460661, 127) + femmesh.addNode(3.6831308067769255, -1.5603036435805548, 22.339770372101643, 128) + femmesh.addNode(3.6817673418082766, -1.5635182252836124, 24.218426481273774, 129) + femmesh.addNode(3.684529565126202, -1.5569977147417136, 25.971837791496114, 130) + femmesh.addNode(3.6795202823991158, -1.5687990602411548, 27.7207893138508, 131) + femmesh.addNode(3.6767931472416033, -1.575180038089991, 29.571703781695465, 132) + femmesh.addNode(3.680130112971408, -1.5673679694318918, 31.402875907082326, 133) + femmesh.addNode(3.6815955248669243, -1.563922757453141, 33.11968989876505, 134) + femmesh.addNode(3.67828505294448, -1.571693058228999, 34.954291684354246, 135) + femmesh.addNode(3.6818166133066437, -1.5634021958469917, 36.78156850148122, 136) + femmesh.addNode(3.6879068067525695, -1.5489814023118758, 38.493482049022276, 137) + femmesh.addNode(3.683895575674766, -1.5584971567262742, 40.269396357986885, 138) + femmesh.addNode(3.685146298569151, -1.5555374499323644, 42.07562359153149, 139) + femmesh.addNode(3.689561010052927, -1.545037071754988, 43.87123331658667, 140) + femmesh.addNode(3.721415333426648, -1.4666519410333962, 45.57992278601976, 141) + femmesh.addNode(3.7145628438532583, -1.4839214531318006, 47.496332656697525, 142) + femmesh.addNode(2.960931858374523, 2.689401890767312, 1.5106263798579327, 143) + femmesh.addNode(1.6447121224276389, 3.646220239417741, 1.5972675238337404, 144) + femmesh.addNode(-0.08415110705926115, 3.9991147259338162, 1.513454082473138, 145) + femmesh.addNode(-1.8034363557799509, 3.5703805554381915, 1.4919588438946627, 146) + femmesh.addNode(-3.2220226267781666, 2.3703523351032696, 1.5070812885249536, 147) + femmesh.addNode(-3.9286743176388317, 0.7520093788810474, 1.5085261016689135, 148) + femmesh.addNode(-3.8712815584319507, -1.0065679785015456, 1.5120698274506505, 149) + femmesh.addNode(-3.07244623174257, -2.5612641708833714, 1.5393319719024217, 150) + femmesh.addNode(-1.686720908013875, -3.6269784364493884, 1.5520743912061028, 151) + femmesh.addNode(0.08818296641570951, -3.9990278524204013, 1.6198542211418636, 152) + femmesh.addNode(1.7892075845216164, -3.577532140944414, 1.5951947425256174, 153) + femmesh.addNode(3.015167137600237, -2.6284533726767143, 1.221238378008383, 154) + femmesh.addNode(3.6845050708107556, 1.5570556776075246, 2.522962083281601, 155) + femmesh.addNode(3.6923851938686387, 1.5382755215174089, 6.336889717826475, 156) + femmesh.addNode(3.6950704343089837, 1.5318141158429177, 9.969070209466665, 157) + femmesh.addNode(3.7048369518452358, 1.5080395088465364, 13.466799988018028, 158) + femmesh.addNode(3.6776746606215265, 1.5731208124687501, 17.002544871037227, 159) + femmesh.addNode(3.7024611996812755, 1.5138629610551582, 20.587882946588895, 160) + femmesh.addNode(3.7050088839951414, 1.5076170500220127, 24.213667873137513, 161) + femmesh.addNode(3.70134690377778, 1.5165853414478985, 27.823223627871993, 162) + femmesh.addNode(3.7286291306449635, 1.4482143508837986, 31.38403498124994, 163) + femmesh.addNode(3.684014995929334, 1.558214847114412, 34.89617174443122, 164) + femmesh.addNode(3.692969816649052, 1.5368714758622684, 38.51983653382191, 165) + femmesh.addNode(3.6695816090412285, 1.5919079164908965, 42.137025953702036, 166) + femmesh.addNode(3.6830174162203035, 1.5605712773910454, 45.67016797952025, 167) + femmesh.addNode(3.2805081321857905, 2.2887259326234095, 48.50792313832653, 168) + femmesh.addNode(0.0600779894392467, 3.999548803950883, 48.33878109208654, 169) + femmesh.addNode(-3.187919508544602, 2.41602342849583, 48.44374432506269, 170) + femmesh.addNode(-3.8728572404037083, -1.000488278518331, 48.39423813546468, 171) + femmesh.addNode(-1.731654091926927, -3.605741824633695, 48.35955544975923, 172) + femmesh.addNode(1.565468994218045, -3.680938308114107, 48.472892948302764, 173) + femmesh.addNode(2.890761104834615, -2.7646880899615702, 48.25463729817945, 174) + femmesh.addNode(3.6540979585302744, 1.6271349389232845, 4.457084885314051, 175) + femmesh.addNode(3.6927782569049863, 1.5373316965865795, 8.16107237199779, 176) + femmesh.addNode(3.69408549371517, 1.5341878519670102, 11.749420409816048, 177) + femmesh.addNode(3.6891430672796726, 1.5460347438341513, 15.234587728083508, 178) + femmesh.addNode(3.6867408156907318, 1.5517545417752245, 18.798369518676637, 179) + femmesh.addNode(3.695689497417317, 1.5303199465077033, 22.3952839615566, 180) + femmesh.addNode(3.7069110821243196, 1.5029338738693416, 26.020111911794068, 181) + femmesh.addNode(3.7004654461262083, 1.5187348293977994, 29.63072100046721, 182) + femmesh.addNode(3.7265382338112354, 1.453586183183866, 33.13930049688207, 183) + femmesh.addNode(3.684615619632915, 1.5567940568865068, 36.70538580439079, 184) + femmesh.addNode(3.6832185185515938, 1.5600965818174855, 40.35682417972301, 185) + femmesh.addNode(3.6610205012652948, 1.6114989572802114, 43.946038946651925, 186) + femmesh.addNode(3.749710577034973, 1.392720570851184, 47.20828536009407, 187) + femmesh.addNode(1.868187214822781, 3.536930382460574, 48.342091347935714, 188) + femmesh.addNode(-1.765356906858334, 3.5893613626114016, 48.44542038299227, 189) + femmesh.addNode(-3.9242906730959497, 0.7745596897929409, 48.41049983068989, 190) + femmesh.addNode(-3.0789620713509445, -2.5534276107190315, 48.35183422031484, 191) + femmesh.addNode(-0.06951627741217847, -3.9993958902782745, 48.43869598278144, 192) + femmesh.addNode(3.7273448185262392, -1.4515166563996418, 1.4532202560533378, 193) + femmesh.addNode(2.623601591017534, -3.019389787955551, 5.187530471760324, 194) + femmesh.addNode(2.87653060569779, -2.779491261811036, 7.194834324109028, 195) + femmesh.addNode(2.8612160031735474, -2.7952536527448792, 8.987019580537082, 196) + femmesh.addNode(2.8416309859646316, -2.8151613345607167, 10.758094825448564, 197) + femmesh.addNode(2.8016584676719947, -2.8549448034107088, 12.48817867547991, 198) + femmesh.addNode(2.777608017361538, -2.8783491278663376, 14.316946376615443, 199) + femmesh.addNode(2.7967828393217498, -2.8597212713261713, 16.13665509958972, 200) + femmesh.addNode(2.771355905746343, -2.8843693320524797, 17.863769489607286, 201) + femmesh.addNode(2.7995035460035482, -2.8570579090934713, 19.706708283258603, 202) + femmesh.addNode(2.8001776546301613, -2.8563972242161855, 21.436841999224896, 203) + femmesh.addNode(2.768909827547603, -2.886717576575565, 23.272384474788872, 204) + femmesh.addNode(2.7957130588443344, -2.8607671161084145, 25.10533867186365, 205) + femmesh.addNode(2.7924455223928333, -2.863956704363426, 26.83329963050099, 206) + femmesh.addNode(2.754812828713959, -2.90017349114721, 28.665474073994396, 207) + femmesh.addNode(2.7599689150897344, -2.895267101277254, 30.500620604007388, 208) + femmesh.addNode(2.792771152386435, -2.863639169029182, 32.254162075544286, 209) + femmesh.addNode(2.7638170940143767, -2.8915938633967815, 34.0092089069084, 210) + femmesh.addNode(2.762641886346588, -2.8927166829476, 35.862581608563225, 211) + femmesh.addNode(2.7941726844290145, -2.8622716519559694, 37.61065889031373, 212) + femmesh.addNode(2.77782556561966, -2.878139177835189, 39.35774129506331, 213) + femmesh.addNode(2.7412552596732045, -2.9129915209821657, 41.19213869076014, 214) + femmesh.addNode(2.779116238955525, -2.8768929299460724, 43.01179451368555, 215) + femmesh.addNode(2.8717557106462315, -2.7844243818733445, 44.707802558095054, 216) + femmesh.addNode(2.9719234024102157, -2.6772506961819036, 46.467585294114414, 217) + femmesh.addNode(-1.0272641090974004, 3.8658412344741118, 2.9550579170742832, 218) + femmesh.addNode(2.5637614328193674, 3.070362733552501, 3.3709100358704682, 219) + femmesh.addNode(-3.9989073926672716, -0.0934861747588679, 3.028886569692816, 220) + femmesh.addNode(-2.6126465274506057, 3.0288740684617927, 2.9631202530717218, 221) + femmesh.addNode(-3.668344529160723, 1.5947565379632695, 3.0119161876726057, 222) + femmesh.addNode(-2.465585170279011, -3.149744397264677, 3.0100511558517393, 223) + femmesh.addNode(-0.8704413589198045, -3.9041429073078056, 3.0277555738191158, 224) + femmesh.addNode(1.1544914051033421, -3.829771480851372, 3.420494781817115, 225) + femmesh.addNode(2.813197046878739, 2.8435756320929366, 12.62218688651625, 226) + femmesh.addNode(2.7542733625682474, 2.90068582308512, 5.513173206579237, 227) + femmesh.addNode(2.796164270423457, 2.860326095536531, 14.37070802557734, 228) + femmesh.addNode(2.82789366306673, 2.8289604858299158, 9.151481019502635, 229) + femmesh.addNode(2.8013755057289957, 2.8552224564649276, 17.911169286224617, 230) + femmesh.addNode(2.8093573374779726, 2.847369198112299, 7.367478458902481, 231) + femmesh.addNode(2.821700504554202, 2.8351377854697932, 21.50407228059377, 232) + femmesh.addNode(-0.8375911414690195, 3.9113221651677614, 46.816708392961864, 233) + femmesh.addNode(2.8262995284755816, 2.8305531218012328, 25.179389323203893, 234) + femmesh.addNode(2.8731753838289675, 2.782959434443712, 30.682996646076102, 235) + femmesh.addNode(2.8169093516443025, 2.8398981856078707, 28.821050660278445, 236) + femmesh.addNode(2.856479558779665, 2.800093664553729, 33.84313204401549, 237) + femmesh.addNode(2.7794361596077093, 2.876583848015758, 35.67779362604048, 238) + femmesh.addNode(2.7478912965724107, 2.906732430448595, 39.420469443232, 239) + femmesh.addNode(2.7506800367852224, 2.9040935479476633, 41.271771996762936, 240) + femmesh.addNode(2.7441694075176537, 2.9102464264807906, 45.019968205132805, 241) + femmesh.addNode(2.8702774591125513, 2.7859481882673975, 46.875531870553, 242) + femmesh.addNode(1.2201867729516283, 3.8093495821614867, 46.45556379347497, 243) + femmesh.addNode(2.7996590815146774, 2.8569054984882496, 19.70719736790477, 244) + femmesh.addNode(0.7705427250612483, 3.9250813888192413, 3.13719561900474, 245) + femmesh.addNode(-2.52073283615337, 3.1057858858488925, 46.88546044088118, 246) + femmesh.addNode(-3.645307278871712, 1.6467345999294838, 46.899222946888365, 247) + femmesh.addNode(-3.571552447948978, -1.8011144082344306, 46.83399985785779, 248) + femmesh.addNode(-0.959193785921177, -3.8832907798734566, 46.8605486945776, 249) + femmesh.addNode(0.7215859599992132, -3.9343758974368495, 46.99720004427378, 250) + femmesh.addNode(2.8344206093104702, 2.8224209128895112, 23.33282097514087, 251) + femmesh.addNode(2.793756528688526, 2.862677847472579, 16.131169827145033, 252) + femmesh.addNode(2.8104157455927017, 2.8463245312024097, 26.997836370967924, 253) + femmesh.addNode(2.826345112285642, 2.8305076057589145, 10.920407916883846, 254) + femmesh.addNode(-3.5727980771016266, -1.7986422379836742, 3.016492977457936, 255) + femmesh.addNode(2.9407256765775776, -2.7114816051593174, 2.9265397629938152, 256) + femmesh.addNode(3.077056729756346, 2.555723357850216, 32.25921501551382, 257) + femmesh.addNode(2.7600506409633665, 2.895189192318476, 37.5484014057244, 258) + femmesh.addNode(2.712637518691569, 2.9396594517370285, 43.16953231183083, 259) + femmesh.addNode(-3.99950113265784, -0.0631719072741712, 46.848371445962435, 260) + femmesh.addNode(-2.48291527194333, -3.1361013619381914, 46.79614982063089, 261) + femmesh.addNode(2.0460580472550416, -3.4370985536150815, 47.18067269057437, 262) + femmesh.addNode(-3.135172019918133, 2.4840886468728227, 45.352849071047835, 263) + femmesh.addNode(1.2111340947064204, 3.812237427632185, 42.33494957258343, 264) + femmesh.addNode(1.5918641667375995, -3.6696005878919316, 8.15123113038731, 265) + femmesh.addNode(1.5332527687344486, -3.6944737036779878, 9.81517458162568, 266) + femmesh.addNode(1.4815483912086456, -3.715509973678859, 11.605616771029005, 267) + femmesh.addNode(1.4439193553189331, -3.7302944783670036, 13.41688358487622, 268) + femmesh.addNode(1.4307024189513249, -3.7353835932079087, 15.156273023747206, 269) + femmesh.addNode(1.4385913438042472, -3.7323524680195317, 17.00394575105951, 270) + femmesh.addNode(1.4010334331895442, -3.7466125125351724, 18.731291749323695, 271) + femmesh.addNode(1.4288480092643774, -3.7360933294580887, 20.554611076459487, 272) + femmesh.addNode(1.4044401637548263, -3.74533681081319, 22.387287866670846, 273) + femmesh.addNode(1.3830045474307984, -3.75330499983491, 24.130335445868013, 274) + femmesh.addNode(1.4234910673336154, -3.7381376621549673, 25.964949406417652, 275) + femmesh.addNode(1.3798747762363206, -3.7544567652200715, 27.796842039895708, 276) + femmesh.addNode(1.3793636544302712, -3.7546445782306437, 29.55318226198831, 277) + femmesh.addNode(1.423149007318577, -3.7382679014442166, 31.30842197288943, 278) + femmesh.addNode(1.4224389604222525, -3.73853813727677, 33.15981404894767, 279) + femmesh.addNode(1.3795264029211918, -3.7545847844526454, 34.91812663599174, 280) + femmesh.addNode(1.4149215677379612, -3.7413897093392916, 36.66781557645598, 281) + femmesh.addNode(1.3928473437313442, -3.7496634885094076, 38.469605871135315, 282) + femmesh.addNode(1.296854413195719, -3.7839356007964495, 40.33696362017952, 283) + femmesh.addNode(1.2381365488098959, -3.80355332373573, 42.149568188778474, 284) + femmesh.addNode(1.4107350263988292, -3.742970302485914, 44.01743558570556, 285) + femmesh.addNode(-1.7345991342625988, 3.6043259901700684, 45.299353980653656, 286) + femmesh.addNode(-3.219975471766387, 2.3731325207882583, 4.44218796145572, 287) + femmesh.addNode(-1.7829198414818748, -3.580669886885727, 4.575851267877147, 288) + femmesh.addNode(-0.2785040175279571, -3.9902926599712942, 4.446347827387059, 289) + femmesh.addNode(1.497638063147997, 3.7090538189422806, 22.43672452454067, 290) + femmesh.addNode(-3.9192385882696517, 0.799730509745694, 4.540745098972653, 291) + femmesh.addNode(1.3751019973544418, 3.756207461905136, 38.40756065914961, 292) + femmesh.addNode(1.469847241389809, 3.7201544439685255, 13.529764408926246, 293) + femmesh.addNode(1.6882936137173, 3.626246637210627, 32.2364221645039, 294) + femmesh.addNode(-1.7504018939200157, -3.5966780798065905, 45.17870175525123, 295) + femmesh.addNode(1.2985352596369426, 3.783359113206096, 40.33147365734663, 296) + femmesh.addNode(1.306038272157926, 3.780775585995384, 44.19945065817064, 297) + femmesh.addNode(1.3925435962233679, 3.7497763043436723, 36.450867898791685, 298) + femmesh.addNode(-3.1338146707192145, -2.4858007984520847, 45.24340123565719, 299) + femmesh.addNode(-3.9010296903464865, 0.8842891806616183, 45.32645139506123, 300) + femmesh.addNode(-3.890768256444441, -0.928397745928051, 45.26715620265566, 301) + femmesh.addNode(0.06997370412114692, -3.9993879132601737, 45.32066419242402, 302) + femmesh.addNode(1.4677882203989663, 3.720967312414614, 34.4967878656512, 303) + femmesh.addNode(1.5155870192766192, 3.7017557978613627, 24.26813149595095, 304) + femmesh.addNode(-0.31608973806978286, 3.987491351399646, 4.417959237019846, 305) + femmesh.addNode(-0.10607767566820211, 3.998593193452521, 45.22851872369789, 306) + femmesh.addNode(1.5450750530597568, 3.6895451048079613, 29.98415260249426, 307) + femmesh.addNode(1.3233137022147154, 3.774763680752847, 4.831675808204436, 308) + femmesh.addNode(1.7337300425478517, -3.604744115685193, 45.75433307392107, 309) + femmesh.addNode(-3.889698417189976, -0.9328698855198382, 4.626647846974178, 310) + femmesh.addNode(1.5033815494584035, 3.706729544591573, 28.02117757112522, 311) + femmesh.addNode(-3.1035015982213388, -2.523544695430932, 4.624848856269478, 312) + femmesh.addNode(-1.909973938136429, 3.5145411586207977, 4.297888553461844, 313) + femmesh.addNode(1.738750818933354, -3.602325025543724, 6.587447300085367, 314) + femmesh.addNode(1.4888059445469408, 3.712607824627009, 26.16573166687488, 315) + femmesh.addNode(1.4374739121045106, 3.7327829768175587, 18.819381154065862, 316) + femmesh.addNode(1.49289203053678, 3.7109666375702934, 10.103268073761958, 317) + femmesh.addNode(1.4697245782385648, 3.7202029063105515, 6.653399044851032, 318) + femmesh.addNode(1.44549025368268, 3.7296860359162114, 20.625664714052412, 319) + femmesh.addNode(0.8883341258228422, -3.900110572906692, 5.414434159186237, 320) + femmesh.addNode(1.4630425268189202, 3.722835822960678, 17.028002244652097, 321) + femmesh.addNode(1.4455368505551431, 3.729667976333432, 15.267141629115631, 322) + femmesh.addNode(1.4854758746738737, 3.7139414946606104, 11.818313518967297, 323) + femmesh.addNode(1.4778920630277876, 3.716965839234936, 8.384930347177265, 324) + femmesh.addNode(-0.6720369227093598, -3.943141688364157, 43.3428703940623, 325) + femmesh.addNode(-0.8760040100333759, -3.9028985349872274, 5.954634844328398, 326) + femmesh.addNode(-0.06161300084700843, -3.9995254516163072, 10.701282537725884, 327) + femmesh.addNode(-0.13011181383699058, -3.997883304437493, 12.418789991161507, 328) + femmesh.addNode(-0.1674247121580106, -3.996494584727822, 14.21952261935647, 329) + femmesh.addNode(-0.19701609494651265, -3.9951451360785413, 16.022751306279392, 330) + femmesh.addNode(-0.19870267314879722, -3.995061607495374, 17.809507456220693, 331) + femmesh.addNode(-0.23030680749668275, -3.9933643428092918, 19.59525834726852, 332) + femmesh.addNode(-0.2602423788515546, -3.9915252603797566, 21.435793297188237, 333) + femmesh.addNode(-0.24404126340008406, -3.992548542191828, 23.225795402525808, 334) + femmesh.addNode(-0.24311608218004543, -3.9926049855433265, 25.029576479584392, 335) + femmesh.addNode(-0.23980412872219664, -3.99280527697605, 26.836727391387424, 336) + femmesh.addNode(-0.22422126897140096, -3.9937106583402926, 28.63763957860234, 337) + femmesh.addNode(-0.22789308662352817, -3.9935028159585917, 30.410879339731768, 338) + femmesh.addNode(-0.24610510956809373, -3.992421855846959, 32.21753405889645, 339) + femmesh.addNode(-0.23428762098987685, -3.993132768973617, 34.01239856760076, 340) + femmesh.addNode(-0.23789524758137254, -3.9929194646496686, 35.79558790750798, 341) + femmesh.addNode(-0.26157926058857567, -3.991437872550434, 37.57651527104442, 342) + femmesh.addNode(-0.27273017827841356, -3.99069145009436, 39.37738655929549, 343) + femmesh.addNode(-0.3279773493386206, -3.9865311811549664, 41.2464574332424, 344) + femmesh.addNode(-3.601959989760029, 1.7395068933947728, 6.059613964258514, 345) + femmesh.addNode(-0.7228486145038525, 3.9341441102875048, 43.433402278467035, 346) + femmesh.addNode(-3.5283646892426113, 1.8843148939882346, 43.76148372883602, 347) + femmesh.addNode(-0.18275768760008598, 3.9958227722989754, 17.939208992387105, 348) + femmesh.addNode(-0.0676635777707792, 3.999427664084357, 31.13640795753358, 349) + femmesh.addNode(-0.19704298413647875, 3.995143809977632, 37.28626735767967, 350) + femmesh.addNode(-2.5276367432756612, -3.1001697524559537, 43.65295986248309, 351) + femmesh.addNode(0.25846157444183904, -3.99164096763938, 7.128696354756854, 352) + femmesh.addNode(-1.2893942083009828, 3.7864841971939986, 5.4865720712363215, 353) + femmesh.addNode(0.054372708408780376, -3.9996304340001583, 8.862741246822623, 354) + femmesh.addNode(-2.444351675738682, 3.1662509195124597, 43.96112319110806, 355) + femmesh.addNode(-0.18094681923059763, 3.9959051851376968, 35.34782680835974, 356) + femmesh.addNode(-0.10348027700211992, 3.998661255004175, 23.394113084932574, 357) + femmesh.addNode(-0.1034131632320313, 3.9986629912597467, 33.24404802495216, 358) + femmesh.addNode(0.05002577632948649, 3.9996871654796493, 6.063106555485686, 359) + femmesh.addNode(-2.5679361752261944, 3.0668719894975505, 5.80241087323176, 360) + femmesh.addNode(-3.9979921118418296, 0.12672440037540594, 43.74195474766778, 361) + femmesh.addNode(-3.9998275695570102, -0.037140460574154925, 6.145485815662697, 362) + femmesh.addNode(-0.10572074384420868, 3.9986026464655158, 29.05622677504197, 363) + femmesh.addNode(-2.481329096066389, -3.1373565173588984, 6.126544236224471, 364) + femmesh.addNode(-0.5971024535138704, 3.9551825065359143, 41.2966439109185, 365) + femmesh.addNode(-0.09777724189046931, 3.998804772800029, 9.292299040117157, 366) + femmesh.addNode(-0.146922882275024, 3.997300797621315, 19.7806220286597, 367) + femmesh.addNode(-0.3394961623060329, 3.9855667546510216, 39.25502295405979, 368) + femmesh.addNode(-0.12428544345198485, 3.998068674816122, 21.53741154806995, 369) + femmesh.addNode(-3.6487650904972857, -1.6390586671526846, 43.74658842008444, 370) + femmesh.addNode(-0.1808858263876642, 3.995907946613892, 16.129233186133494, 371) + femmesh.addNode(-0.10412695782536764, 3.998644467398175, 25.299225822030785, 372) + femmesh.addNode(-0.14157505472260337, 3.9974937778413477, 14.411994904629166, 373) + femmesh.addNode(-0.11864217778788057, 3.998240117057722, 12.709424977708407, 374) + femmesh.addNode(-0.10019486324165632, 3.9987449267713973, 27.157441145861934, 375) + femmesh.addNode(-1.752290239702094, 3.5957584618331606, 36.153149821403204, 376) + femmesh.addNode(-1.7147351102915638, -3.613818410149212, 13.237857494889626, 377) + femmesh.addNode(-1.7843599759179463, -3.5799524405139946, 14.975017625533189, 378) + femmesh.addNode(-1.833971445888851, -3.554792361821483, 16.800275584001028, 379) + femmesh.addNode(-1.851941786815904, -3.545463526570978, 18.649450736718595, 380) + femmesh.addNode(-1.841406198728029, -3.5509468049079516, 20.416031760442678, 381) + femmesh.addNode(-1.830105566408198, -3.556784167728164, 22.242807587560062, 382) + femmesh.addNode(-1.8764236865580073, -3.5325676424555637, 24.045955907429793, 383) + femmesh.addNode(-1.8821417479303877, -3.5295243929880336, 25.862099555614463, 384) + femmesh.addNode(-1.8828055385541547, -3.529170342161143, 27.67771755830813, 385) + femmesh.addNode(-1.8459488629141114, -3.5485874366437837, 29.44750872089116, 386) + femmesh.addNode(-1.8510694494805955, -3.5459190477504707, 31.278110660910077, 387) + femmesh.addNode(-1.8548258332932288, -3.543955576491906, 33.11946447901958, 388) + femmesh.addNode(-1.8432312593345899, -3.549999792198842, 34.90503098063331, 389) + femmesh.addNode(-1.8554723550313728, -3.5436171265691687, 36.67894110999438, 390) + femmesh.addNode(-1.8335607106637257, -3.555004236328043, 38.48031909124146, 391) + femmesh.addNode(-1.7884279602678355, -3.577921943102201, 40.19365474695426, 392) + femmesh.addNode(-0.07232187663348279, 3.999346139828386, 11.034147374225102, 393) + femmesh.addNode(-3.598233471964711, -1.7472023011754485, 6.1728807335054645, 394) + femmesh.addNode(-1.9956329430878363, -3.4666192690375706, 41.92691395422011, 395) + femmesh.addNode(-2.5624721429994692, 3.0714388348706714, 42.18574350649854, 396) + femmesh.addNode(-1.7960671037716354, 3.57409330582588, 18.898318057232725, 397) + femmesh.addNode(-0.030258663534173103, 3.9998855500227912, 7.66640032831378, 398) + femmesh.addNode(-1.7779557864429663, 3.5831373433701885, 34.17090443707735, 399) + femmesh.addNode(-1.5601602184991328, -3.683191563388027, 7.755387853617894, 400) + femmesh.addNode(-1.7793000530596712, 3.582470002830708, 32.15239830565107, 401) + femmesh.addNode(-1.7317898364893494, 3.605676630291767, 24.387278336863275, 402) + femmesh.addNode(-1.7322881258727554, 3.605437261825569, 10.17526031376651, 403) + femmesh.addNode(-1.8804394611403306, 3.5304316213440905, 38.06418853889916, 404) + femmesh.addNode(-2.0936544368737726, 3.408314994092941, 40.017648178325466, 405) + femmesh.addNode(-1.7452623736110369, 3.599174800875552, 30.139187544096654, 406) + femmesh.addNode(-3.298376277260317, -2.262899452827361, 42.2223140551844, 407) + femmesh.addNode(-3.8512198190732665, 1.0807894823587407, 7.751165798893041, 408) + femmesh.addNode(-1.7258807686906528, 3.6085087740317, 20.71356210112652, 409) + femmesh.addNode(-1.7013975651014, 3.6201168938954207, 26.279229833997345, 410) + femmesh.addNode(-3.803074585368664, 1.23960626737806, 42.20130081799675, 411) + femmesh.addNode(-1.6910324877616225, 3.624970224061811, 8.517654668109959, 412) + femmesh.addNode(-1.7605993694838742, 3.5916973508597554, 22.543389301753205, 413) + femmesh.addNode(-1.5080994464706508, -3.7048125539026824, 9.73327521778013, 414) + femmesh.addNode(-1.8233088577130232, 3.5602731369075085, 17.106826264003388, 415) + femmesh.addNode(-1.5905267730939103, -3.6701804566085676, 11.501058265545504, 416) + femmesh.addNode(-1.7386791742587002, 3.602359605730539, 15.299125636648542, 417) + femmesh.addNode(-1.4805109867245396, 3.715923467751715, 6.924609378431491, 418) + femmesh.addNode(-1.7077285217430425, 3.6171346803824327, 13.577506131281314, 419) + femmesh.addNode(-1.6976558372783814, 3.6218730869751132, 11.878776122970446, 420) + femmesh.addNode(-2.940745155317656, 2.7114604794235406, 7.440372788731542, 421) + femmesh.addNode(-3.4252930227794782, 2.065760806119195, 40.54169493283702, 422) + femmesh.addNode(-3.13584693949303, 2.4832365920451878, 35.04832998721887, 423) + femmesh.addNode(-3.1433163456997093, -2.473774919198799, 15.697159990336615, 424) + femmesh.addNode(-3.178551616927749, -2.428334741860354, 17.49810611400894, 425) + femmesh.addNode(-3.1662548546150253, -2.444346578459524, 19.38480559072655, 426) + femmesh.addNode(-3.1617103995851763, -2.4502218979420918, 21.245067366835155, 427) + femmesh.addNode(-3.1585990791364167, -2.4542314188516494, 23.008114776107277, 428) + femmesh.addNode(-3.1542594077406454, -2.4598064128462696, 24.840902589817418, 429) + femmesh.addNode(-3.162705018275959, -2.4489379264023956, 26.680740641169727, 430) + femmesh.addNode(-3.163522561265979, -2.4478817382302482, 28.467688580242996, 431) + femmesh.addNode(-3.175797427500355, -2.431935587033943, 30.31151044642051, 432) + femmesh.addNode(-3.145971846135882, -2.470396960676642, 32.16649136644358, 433) + femmesh.addNode(-3.1430514846249813, -2.4741114293816073, 34.00549385573993, 434) + femmesh.addNode(-3.137183344036313, -2.4815480382013835, 35.829241895655535, 435) + femmesh.addNode(-3.1292279905676215, -2.491572231152074, 37.652152681157496, 436) + femmesh.addNode(-3.0493023819460228, -2.588774803542848, 39.39129586320457, 437) + femmesh.addNode(-3.9475132565523916, -0.645863057732158, 42.17920021441007, 438) + femmesh.addNode(-2.8834698619488672, -2.772291751463504, 40.86516706551972, 439) + femmesh.addNode(-3.2286310633672817, 2.3613431467408237, 9.410462818306948, 440) + femmesh.addNode(-1.672362224553983, 3.633621415321752, 28.18587570199482, 441) + femmesh.addNode(-3.0283970127748088, 2.6131994820557836, 25.374813241244716, 442) + femmesh.addNode(-3.0564044452186363, 2.580385991910466, 31.14179823821287, 443) + femmesh.addNode(-2.877290685095325, -2.7787044307489195, 10.529060590841185, 444) + femmesh.addNode(-3.0859958537238215, 2.5449223152778915, 33.11135404364432, 445) + femmesh.addNode(-2.9119055492046315, -2.7424088084221276, 12.245004777824086, 446) + femmesh.addNode(-3.154095085746659, 2.4600171117430825, 36.91833113604179, 447) + femmesh.addNode(-3.9938281751684426, 0.22211822804692677, 40.675535240836254, 448) + femmesh.addNode(-3.089547201626394, 2.5406097868272726, 18.062689777263902, 449) + femmesh.addNode(-3.139317615265508, -2.4788474964151557, 7.608366721443421, 450) + femmesh.addNode(-2.8762204628771215, 2.77981219670087, 11.052259860542874, 451) + femmesh.addNode(-3.0825671442673688, 2.549074302778034, 29.203654174585907, 452) + femmesh.addNode(-3.0766116407157154, 2.5562591441816993, 27.332025124427652, 453) + femmesh.addNode(-3.174995782934026, 2.4329820752219184, 38.74301862207657, 454) + femmesh.addNode(-3.0563051069587495, 2.5805036510685015, 23.54256350511801, 455) + femmesh.addNode(-3.9054101299338186, -0.8647379470165025, 7.753556631037689, 456) + femmesh.addNode(-2.6295076564079847, -3.0142477477625804, 8.9594533457418, 457) + femmesh.addNode(-3.1213668374639902, 2.501413413648381, 16.254119508020402, 458) + femmesh.addNode(-3.0092414668038785, -2.6352354343526962, 13.964950404500502, 459) + femmesh.addNode(-3.094643004413244, 2.53440025947682, 14.482303451988669, 460) + femmesh.addNode(-3.120032854728002, 2.5030771033705363, 19.896333250822334, 461) + femmesh.addNode(-3.9957577454058235, 0.1841739396043091, 9.500934738975642, 462) + femmesh.addNode(-3.9043951202503, -0.8693093494065529, 18.28788746325027, 463) + femmesh.addNode(-3.910350547289183, -0.8421155486720258, 20.14338499915578, 464) + femmesh.addNode(-3.9128590710413502, -0.8303817737459217, 21.969450683527104, 465) + femmesh.addNode(-3.9093556412989456, -0.8467221916568094, 23.793573660989626, 466) + femmesh.addNode(-3.904142987390287, -0.8704409997301633, 25.638486761217813, 467) + femmesh.addNode(-3.907168874466239, -0.8567563168148952, 27.48123614226932, 468) + femmesh.addNode(-3.9060621524131784, -0.8617879446159181, 29.325624913631213, 469) + femmesh.addNode(-3.9011734789281785, -0.883654619920823, 31.199410054311826, 470) + femmesh.addNode(-3.9028813852869377, -0.8760804143346169, 33.08032279623643, 471) + femmesh.addNode(-3.8991389614723793, -0.8925891323157015, 34.94810480858729, 472) + femmesh.addNode(-3.8992417479620736, -0.892140006360926, 36.81903705618622, 473) + femmesh.addNode(-3.900104424717069, -0.8883611181846833, 38.84178454357476, 474) + femmesh.addNode(-3.7167710215010628, -1.478381944468325, 40.64294142617957, 475) + femmesh.addNode(-3.8797515343637134, 0.9734105154570758, 32.14318827314523, 476) + femmesh.addNode(-3.1129059632870772, 2.51193480483307, 21.741750671332152, 477) + femmesh.addNode(-3.908033406641499, -0.8528041349419232, 14.41059178211651, 478) + femmesh.addNode(-3.8203393133017545, -1.1853301359710218, 11.191035641007023, 479) + femmesh.addNode(-3.8569922826666994, 1.060004967653229, 24.589606159302654, 480) + femmesh.addNode(-3.877765985707193, 0.9812904565378816, 30.20352700185609, 481) + femmesh.addNode(-3.6229223343834818, -1.6954155122050003, 9.268103176801969, 482) + femmesh.addNode(-3.0195277339243276, 2.623442826528113, 12.669481425379542, 483) + femmesh.addNode(-3.8834743124218734, 0.9584504498196345, 34.03361084641903, 484) + femmesh.addNode(-3.9001562521486113, -0.8881335534851142, 16.40289513149547, 485) + femmesh.addNode(-3.6710033175906145, -1.5886266528793676, 12.907838047399066, 486) + femmesh.addNode(-3.8834107837049348, 0.9587078204563819, 17.241027765472943, 487) + femmesh.addNode(-3.892028418677332, 0.9231006381798387, 35.91593265577363, 488) + femmesh.addNode(-3.8849182680647014, 0.9525807317267968, 19.087380361969124, 489) + femmesh.addNode(-3.8724504714646, 1.0020615480366446, 22.72092290074363, 490) + femmesh.addNode(-3.8600394473398283, 1.048854358326471, 26.496926463541865, 491) + femmesh.addNode(-3.8255114426952326, 1.1685299319263673, 11.359358105881837, 492) + femmesh.addNode(-3.876588504766785, 0.9859318255893862, 15.369653135142528, 493) + femmesh.addNode(-3.8762115938090034, 0.9874126189292225, 28.34301030140859, 494) + femmesh.addNode(-3.903261773859805, 0.8743840830692239, 37.67901409568997, 495) + femmesh.addNode(-3.88132101126713, 0.9671335003484802, 39.29289102578628, 496) + femmesh.addNode(-3.881310128633899, 0.9671771737194303, 20.921915251281344, 497) + femmesh.addNode(-3.8395220496333864, 1.121637388097883, 13.562998028715823, 498) + femmesh.addNode(-3.9948962435438355, -0.20200000821622055, 12.655788736377525, 499) + femmesh.addNode(4.34070796209047, 2.481583040690842, 48.495531356918626, 500) + femmesh.addNode(3.0864495130113005, 3.9336788638159446, 48.48867287294651, 501) + femmesh.addNode(1.501226819491412, 4.769310016809528, 48.47235909384219, 502) + femmesh.addNode(-0.35054803449509264, 4.987696469865787, 48.45539236021307, 503) + femmesh.addNode(-2.1437873123602524, 4.51709817907063, 48.427055971505254, 504) + femmesh.addNode(-3.5904629278073443, 3.479737915999008, 48.417357055786944, 505) + femmesh.addNode(-4.588424370786952, 1.9865451904168616, 48.39310184662904, 506) + femmesh.addNode(-4.9942868039024395, 0.2389546408127628, 48.44737472828771, 507) + femmesh.addNode(-4.719212208985274, -1.6519794570648647, 48.45969825755819, 508) + femmesh.addNode(-3.805795374183107, -3.242826170155666, 48.46379111749622, 509) + femmesh.addNode(-2.3633154347142984, -4.406216081406036, 48.42632007036664, 510) + femmesh.addNode(-0.6141382356347548, -4.962140085440095, 48.39085880907438, 511) + femmesh.addNode(1.3050512764246371, -4.826680139174588, 48.35104397028744, 512) + femmesh.addNode(2.975393098213877, -4.018337456100623, 48.37395401219642, 513) + femmesh.addNode(4.212850779260485, -2.692933031414693, 48.50289617156126, 514) + femmesh.addNode(4.838459685548445, -1.2606775445459655, 48.771351314336606, 515) + femmesh.addNode(4.737209858616445, -1.5996383201921514, 2.433401814050531, 516) + femmesh.addNode(4.755452153985415, -1.54456298387456, 6.235695768678595, 517) + femmesh.addNode(4.761978415803524, -1.524323314596139, 9.767036165847182, 518) + femmesh.addNode(4.774062026758257, -1.4860456805444597, 13.363081750798044, 519) + femmesh.addNode(4.7788728877938125, -1.4705012486595264, 16.81711444038559, 520) + femmesh.addNode(4.755122291587062, -1.5455782063848496, 20.417633331252546, 521) + femmesh.addNode(4.746039645670448, -1.5732474953815514, 23.917005252615365, 522) + femmesh.addNode(4.796477547122001, -1.4120209417549394, 27.461073364534688, 523) + femmesh.addNode(4.730159476805501, -1.620367650870354, 30.987557369968233, 524) + femmesh.addNode(4.7418860678848676, -1.5857227119516808, 34.64333374225961, 525) + femmesh.addNode(4.746585005286109, -1.5716013449959463, 38.25824963413179, 526) + femmesh.addNode(4.765046762670099, -1.5147043769551867, 41.79284100008845, 527) + femmesh.addNode(4.75144394318111, -1.5568495286338822, 45.4115490297467, 528) + femmesh.addNode(4.756380132218338, -1.5417029667995945, 47.1390919286572, 529) + femmesh.addNode(4.105756104928017, 2.8535533649900993, 1.500428359953368, 530) + femmesh.addNode(1.4151825105856526, 4.795545689672083, 1.5616849906114034, 531) + femmesh.addNode(-2.07317192641526, 4.549940457140471, 1.6985548949112137, 532) + femmesh.addNode(-4.579630898675664, 2.0067338717167074, 1.6508071090036582, 533) + femmesh.addNode(-4.738860511451409, -1.594741688489547, 1.6378401238127516, 534) + femmesh.addNode(-2.3675168861665212, -4.4039600127290415, 1.6112659938468556, 535) + femmesh.addNode(1.2446942307656457, -4.842596026089593, 1.6950391147487014, 536) + femmesh.addNode(4.085728770791882, -2.8821555148054485, 1.5231237616469924, 537) + femmesh.addNode(4.885019664174602, 1.0661064114934558, 2.9025396543952215, 538) + femmesh.addNode(4.80928507196762, 1.3677635382438744, 4.3735395570846896, 539) + femmesh.addNode(4.758704178710869, 1.5345144311865269, 6.144667457560099, 540) + femmesh.addNode(4.7539673977389665, 1.549126844785473, 7.973145502034023, 541) + femmesh.addNode(4.75057034853189, 1.5595131816209808, 9.76071696742829, 542) + femmesh.addNode(4.763296509485707, 1.5201994483360646, 11.547609984781039, 543) + femmesh.addNode(4.771008248546297, 1.4958209425941325, 13.331568233330724, 544) + femmesh.addNode(4.774960270567023, 1.4831569082556646, 15.099870004587322, 545) + femmesh.addNode(4.779921486654322, 1.4670891525126692, 16.84383601591458, 546) + femmesh.addNode(4.777296092531345, 1.4756158186617339, 18.597075259425004, 547) + femmesh.addNode(4.778066175150841, 1.4731203704651592, 20.38269371428916, 548) + femmesh.addNode(4.779879989846199, 1.4672243463996586, 22.157373672325644, 549) + femmesh.addNode(4.780415705571206, 1.4654779704683898, 23.923512919009223, 550) + femmesh.addNode(4.7676731365688205, 1.5064172273444132, 25.706987058280458, 551) + femmesh.addNode(4.771018551926967, 1.4957880789632951, 27.48395190587348, 552) + femmesh.addNode(4.7707275967835505, 1.4967158037810142, 29.251765461359927, 553) + femmesh.addNode(4.7667352237839955, 1.5093824254763737, 31.03739610044038, 554) + femmesh.addNode(4.770015930267399, 1.4989823297808555, 32.82176047495411, 555) + femmesh.addNode(4.76959794884263, 1.5003117697319364, 34.58271051764254, 556) + femmesh.addNode(4.768667385304574, 1.503266898568727, 36.36171278685726, 557) + femmesh.addNode(4.774402399641283, 1.4849517589132508, 38.157157100079495, 558) + femmesh.addNode(4.775756476921128, 1.4805911228782573, 39.93454382321948, 559) + femmesh.addNode(4.769615855905045, 1.5002548407184633, 41.72394380189614, 560) + femmesh.addNode(4.759400515082764, 1.5323533329587933, 43.4363822400917, 561) + femmesh.addNode(4.765642194843493, 1.512829954333035, 45.13608749229087, 562) + femmesh.addNode(4.785788520069797, 1.4478357093151641, 1.5004084175157568, 563) + femmesh.addNode(4.725335794328994, -1.6343811155398158, 4.365547559570369, 564) + femmesh.addNode(4.7494170474729795, -1.5630219797472615, 7.94035946361696, 565) + femmesh.addNode(4.764248234715387, -1.5172141437553637, 11.51110165978995, 566) + femmesh.addNode(4.778993866960242, -1.4701080298931766, 15.084785624068312, 567) + femmesh.addNode(4.757652734162767, -1.5377712642371573, 18.549599368152386, 568) + femmesh.addNode(4.75284660194716, -1.5525621334939654, 22.17803191053965, 569) + femmesh.addNode(4.768010492940081, -1.505349108749622, 25.757639448773848, 570) + femmesh.addNode(4.771146030823846, -1.4953814070510125, 29.174120535800572, 571) + femmesh.addNode(4.741337767974435, -1.5873613860678373, 32.73905884069535, 572) + femmesh.addNode(4.744941232623362, -1.5765572298367996, 36.40524705373649, 573) + femmesh.addNode(4.758434671777805, -1.5353499517773948, 39.96806580486501, 574) + femmesh.addNode(4.7765586304358285, -1.4780012347792557, 43.53845268371723, 575) + femmesh.addNode(-3.558519101476528, 3.5123982980901642, 1.6781644139776222, 576) + femmesh.addNode(2.9556377792046433, 4.032890442119429, 1.502436193358705, 577) + femmesh.addNode(-0.3383284532931329, 4.988540253189532, 1.6397431462858987, 578) + femmesh.addNode(-4.994447973332931, 0.23556196991573602, 1.6426314625921883, 579) + femmesh.addNode(-3.820223926188566, -3.225816044627532, 1.6069067583089118, 580) + femmesh.addNode(-0.5953396428440259, -4.964430552405617, 1.644107526524547, 581) + femmesh.addNode(2.8962956972578295, -4.075717266205519, 1.6811273065422232, 582) + femmesh.addNode(4.7082257203671745, 1.683036115498715, 46.82938758339907, 583) + femmesh.addNode(2.3529940771595284, 4.411736491774207, 46.89930074318079, 584) + femmesh.addNode(0.5565469379493558, 4.968929009943611, 46.79257568992882, 585) + femmesh.addNode(-1.2458458617732222, 4.842299875957966, 46.77791083828524, 586) + femmesh.addNode(-2.89422509471563, 4.077187891319004, 46.82230014657741, 587) + femmesh.addNode(-4.154467464747365, 2.782157451395517, 46.8505123414633, 588) + femmesh.addNode(-4.874147375384702, 1.1147588811175386, 46.83207436989451, 589) + femmesh.addNode(-4.9415747624815225, -0.76212785463181, 46.77512084918191, 590) + femmesh.addNode(-4.334584324010338, -2.492263777781927, 46.80539089396019, 591) + femmesh.addNode(-3.1518931316394694, -3.881439125726944, 46.78514451119311, 592) + femmesh.addNode(-1.5052174202552635, -4.768052067433837, 46.772100090063425, 593) + femmesh.addNode(0.3821523970535763, -4.985374564205403, 46.693098108058614, 594) + femmesh.addNode(2.156914350390137, -4.510844764019384, 46.6677898931915, 595) + femmesh.addNode(3.8518531333548225, -3.187981718746931, 46.52188791364465, 596) + femmesh.addNode(3.7711963219444233, -3.282998370598568, 3.4816687275722793, 597) + femmesh.addNode(4.064825489924211, -2.9115620784146774, 10.597865525781266, 598) + femmesh.addNode(4.119934145848145, -2.833044763831754, 14.182500651946592, 599) + femmesh.addNode(3.5414341012477135, 3.5296238477378576, 3.0570235656388136, 600) + femmesh.addNode(4.094973653962807, -2.869005188798113, 17.71612710874238, 601) + femmesh.addNode(4.0612609033497655, -2.9165321659331394, 19.462399305977648, 602) + femmesh.addNode(4.04501031079293, -2.939029020880686, 21.343103790149236, 603) + femmesh.addNode(4.05256560772025, -2.9286023962161547, 24.8952972617523, 604) + femmesh.addNode(4.150614309725861, -2.787902590102265, 26.711888117537487, 605) + femmesh.addNode(3.8535621246746805, -3.185915716285157, 29.78105525496396, 606) + femmesh.addNode(3.9881593186208066, -3.0157230060630615, 31.884931579051923, 607) + femmesh.addNode(4.021847966552949, -2.9706462148720965, 35.52904973035076, 608) + femmesh.addNode(4.051446814800336, -2.9301499461365808, 39.21139915597631, 609) + femmesh.addNode(4.14689031398354, -2.793438870601879, 42.66125624649294, 610) + femmesh.addNode(0.6033684815348889, 4.963461138710596, 3.1707087352350567, 611) + femmesh.addNode(-2.7848902008325656, 4.152636098830086, 3.283365531282996, 612) + femmesh.addNode(-4.863613093279671, 1.1598567492921505, 3.289996656330226, 613) + femmesh.addNode(2.204474262849065, 4.487793803689745, 3.0456214843752325, 614) + femmesh.addNode(-3.1418704548025262, -3.889556535807002, 3.2580096169582973, 615) + femmesh.addNode(-4.116233368604431, 2.83841907673751, 3.290627569859587, 616) + femmesh.addNode(-4.955333878117439, -0.6668329298869289, 3.2849087353458604, 617) + femmesh.addNode(4.013510333961637, -2.981901205469952, 6.993662835451373, 618) + femmesh.addNode(-1.5050761251615599, -4.768096670314966, 3.17986553145601, 619) + femmesh.addNode(4.197587055562703, 2.7166639304434463, 45.765185937895524, 620) + femmesh.addNode(2.1303002195895475, -4.523474436140512, 3.4530546198999907, 621) + femmesh.addNode(-1.1678745526016807, 4.8616940493397385, 3.2595189952761245, 622) + femmesh.addNode(4.090240652593835, -2.8757488422789566, 12.43936173635943, 623) + femmesh.addNode(0.33808040899556274, -4.988557069639816, 3.2408512690257676, 624) + femmesh.addNode(4.0639711887355965, 2.912754396980114, 4.908751917004122, 625) + femmesh.addNode(4.004367476250166, 2.994167850196425, 6.95444312112697, 626) + femmesh.addNode(3.978962948861465, 3.0278464048870894, 8.825825947747935, 627) + femmesh.addNode(4.023453471098591, 2.968471351706918, 10.652219932729492, 628) + femmesh.addNode(4.080732181290772, 2.889225651377521, 12.406273609779294, 629) + femmesh.addNode(4.1174058981539465, 2.836717939776017, 14.206987173505304, 630) + femmesh.addNode(4.110862710385616, 2.846191802454822, 15.97892069426001, 631) + femmesh.addNode(4.111780109650354, 2.8448663114254984, 17.73659554357187, 632) + femmesh.addNode(4.1267728583604715, 2.8230738168704246, 19.505310580911683, 633) + femmesh.addNode(4.111398092969667, 2.8454183736535796, 21.280088707224056, 634) + femmesh.addNode(4.098633968159488, 2.8637736633765614, 23.051445929252395, 635) + femmesh.addNode(4.112056262374622, 2.8444671372799597, 24.825436377983014, 636) + femmesh.addNode(4.108264203202944, 2.849941268988061, 26.606084397773394, 637) + femmesh.addNode(4.093662631610792, 2.8708755212571306, 28.381082150118033, 638) + femmesh.addNode(4.106904724174244, 2.851899995889631, 30.15771316174971, 639) + femmesh.addNode(4.106058951250764, 2.853117573611974, 31.94153269688246, 640) + femmesh.addNode(4.090196609758731, 2.875811484349797, 33.72166303383408, 641) + femmesh.addNode(4.106224559202737, 2.8528792244678507, 35.49622841826013, 642) + femmesh.addNode(4.119517489830361, 2.8336505873134326, 37.27745068016176, 643) + femmesh.addNode(4.097930013242262, 2.864780900272877, 39.058940360094546, 644) + femmesh.addNode(4.0769925284822115, 2.8945002889445743, 40.83621421656144, 645) + femmesh.addNode(4.048433693001078, 2.9343116114982832, 42.60547971396046, 646) + femmesh.addNode(4.0591877968328385, 2.9194167962186155, 44.277567404029924, 647) + femmesh.addNode(4.11044212551521, -2.8467991732452784, 5.275076216422966, 648) + femmesh.addNode(3.742185779579251, 3.3160285871980704, 47.050983112087785, 649) + femmesh.addNode(4.007964813475265, -2.9893507746572974, 8.741134676432411, 650) + femmesh.addNode(-4.352327609385517, -2.4611469644416903, 3.2904763333929465, 651) + femmesh.addNode(4.4231703863703995, 2.331429547109655, 3.0502009882213117, 652) + femmesh.addNode(4.132445816596628, -2.814763146854994, 15.901805029714026, 653) + femmesh.addNode(4.033715090471771, -2.9545122387460685, 23.11685407414162, 654) + femmesh.addNode(4.262442753123976, -2.613729476503048, 28.236363765210807, 655) + femmesh.addNode(3.987202308563317, -3.01698819198673, 33.723655643775714, 656) + femmesh.addNode(4.0340266802678695, -2.954086786620697, 37.42420623289332, 657) + femmesh.addNode(4.061957891011408, -2.915561368184548, 40.9691388121134, 658) + femmesh.addNode(4.076063478006404, -2.8958084403603666, 44.504000662635534, 659) + femmesh.addNode(-0.13548392916710433, 4.9981640734311075, 4.785737768885799, 660) + femmesh.addNode(-0.3071925868292843, 4.9905543494282405, 45.28055659283728, 661) + femmesh.addNode(-2.0899293442012796, 4.54226764251584, 45.28234902487752, 662) + femmesh.addNode(-3.579030713666323, 3.4914952600043914, 45.319462346763856, 663) + femmesh.addNode(-4.583942757769181, 1.9968647409114797, 45.301059857424775, 664) + femmesh.addNode(-4.99801995456772, 0.1407001554472516, 45.27977447894215, 665) + femmesh.addNode(-4.73068582520646, -1.6188303256335042, 45.23512161460043, 666) + femmesh.addNode(-3.789179066762696, -3.2622265402646984, 45.21879281051847, 667) + femmesh.addNode(-2.407765466561584, -4.3820846018799635, 45.18387403068131, 668) + femmesh.addNode(-0.6157537307217438, -4.961939877014055, 45.11843716871826, 669) + femmesh.addNode(1.2289778268003555, -4.846608453468577, 45.085667221702494, 670) + femmesh.addNode(2.8362892885800473, -4.11770118773644, 45.0180337704639, 671) + femmesh.addNode(2.9291654946983687, -4.052158622841468, 22.246998340594835, 672) + femmesh.addNode(2.9361917243661173, -4.0470703178674725, 20.436313936021225, 673) + femmesh.addNode(3.006692302252759, -3.994972014867439, 26.018132195607187, 674) + femmesh.addNode(2.9281677853360213, -4.0528796455014975, 24.122930319967832, 675) + femmesh.addNode(-2.351183151484393, -4.412701869396562, 4.769774360916296, 676) + femmesh.addNode(2.9673173969569833, -4.024304594053044, 38.37783772411119, 677) + femmesh.addNode(2.9015923948670315, -4.071948130078502, 34.659240220919024, 678) + femmesh.addNode(2.7127486713035873, -4.2001184086095265, 30.99791119740102, 679) + femmesh.addNode(2.8887134478277057, -4.081094781592235, 32.85616516384708, 680) + femmesh.addNode(3.0301235558549253, -3.9772290902402267, 41.98685298410124, 681) + femmesh.addNode(2.925350163099278, -4.054913861385348, 36.49435380634029, 682) + femmesh.addNode(2.956170068860362, -4.032500281955864, 40.22923484839545, 683) + femmesh.addNode(2.808784240373469, -4.136511947405644, 5.5288557585479445, 684) + femmesh.addNode(3.0178385273700274, -3.9865587444211963, 18.589095543358873, 685) + femmesh.addNode(3.092944362771439, -3.9285741903138827, 15.037235013043519, 686) + femmesh.addNode(3.1230858266852812, 3.904655544239148, 45.44341649044722, 687) + femmesh.addNode(-4.991223728352338, 0.2961177021601153, 4.92723475115212, 688) + femmesh.addNode(3.056413882724888, -3.957061305752866, 13.280995787267317, 689) + femmesh.addNode(2.8207294025440763, 4.128375665758064, 5.982138642804372, 690) + femmesh.addNode(2.742706285545955, 4.180617446170686, 7.8476551772083205, 691) + femmesh.addNode(2.799975283442176, 4.142479741907365, 9.757719885569209, 692) + femmesh.addNode(2.9252632934758322, 4.0549765306155505, 11.504822587202243, 693) + femmesh.addNode(3.037431324224162, 3.9716509099645014, 13.338005447030842, 694) + femmesh.addNode(3.0680310759388036, 3.9480609566056337, 15.101555035512183, 695) + femmesh.addNode(3.046457782749861, 3.96473138786511, 16.86064881518542, 696) + femmesh.addNode(3.0637825429011443, 3.9513588206861443, 18.625873520784708, 697) + femmesh.addNode(3.064938699592667, 3.9504620954692395, 20.391127601254702, 698) + femmesh.addNode(3.04813811244189, 3.9634396737529882, 22.166815369722173, 699) + femmesh.addNode(3.068483412066059, 3.947709405449626, 23.946990875938372, 700) + femmesh.addNode(3.086756106335688, 3.933438284757922, 25.720623026943127, 701) + femmesh.addNode(3.067441156547725, 3.9485193112250516, 27.49552776089055, 702) + femmesh.addNode(3.066976028820127, 3.948880605772062, 29.27694929524969, 703) + femmesh.addNode(3.0840826284899423, 3.9355348226952036, 31.055362860409538, 704) + femmesh.addNode(3.0649518560999094, 3.950451888048976, 32.8391314099748, 705) + femmesh.addNode(3.0555587255370265, 3.9577216772777923, 34.640881820072885, 706) + femmesh.addNode(3.069801975718924, 3.946684156335821, 36.38408473368118, 707) + femmesh.addNode(3.044231033414731, 3.9664414044826986, 38.16613111538738, 708) + femmesh.addNode(2.9976792639243377, 4.0017395005969645, 39.929540634657506, 709) + femmesh.addNode(2.956429843194439, 4.032309832127153, 41.73693571796692, 710) + femmesh.addNode(1.540210668279881, 4.756863577749192, 45.27443068993589, 711) + femmesh.addNode(3.2854964499049224, -3.7690201747486247, 27.89242287745099, 712) + femmesh.addNode(3.2663422158283644, -3.7856318533499067, 43.52058604075831, 713) + femmesh.addNode(2.9633820241014712, -4.027203369490081, 11.472615195023206, 714) + femmesh.addNode(3.0484821530223556, -3.96317506081982, 16.797420752820933, 715) + femmesh.addNode(2.884460203472694, -4.0841020230379, 9.629392462101249, 716) + femmesh.addNode(2.8430877066130384, -4.113010125504898, 7.73513415990324, 717) + femmesh.addNode(-4.734737178777325, -1.606942390972287, 4.863842390236016, 718) + femmesh.addNode(-0.663848812867207, -4.9557345322015385, 4.758725920517299, 719) + femmesh.addNode(2.2792521114393574, -4.450281992469604, 29.1832247266663, 720) + femmesh.addNode(-1.8929642916836964, 4.627816568362498, 4.834861696611705, 721) + femmesh.addNode(-4.520298343361961, 2.137031325694389, 5.039503599516988, 722) + femmesh.addNode(-3.4344180965511697, 3.633837136978189, 5.012054021589022, 723) + femmesh.addNode(-3.792924840208236, -3.2578706476057837, 4.820252852695275, 724) + femmesh.addNode(1.1154154763529562, -4.873997159940936, 4.961436633314457, 725) + femmesh.addNode(2.71403020179809, 4.199290423836844, 43.66033924203727, 726) + femmesh.addNode(1.569115649226651, 4.747407300764495, 4.775798411429668, 727) + femmesh.addNode(2.9222097425541103, 4.057177617571338, 4.4186309314780114, 728) + femmesh.addNode(-4.1528765478653344, 2.7845316263583904, 43.81404276609418, 729) + femmesh.addNode(-4.944664421448055, -0.7418178747278694, 43.65339711880076, 730) + femmesh.addNode(-4.960778786921047, -0.6250390605667312, 6.612855160999561, 731) + femmesh.addNode(-2.4722685211295152, 4.34601982961791, 6.575279842492676, 732) + femmesh.addNode(1.5179653002509017, -4.764008957509861, 21.41582096090037, 733) + femmesh.addNode(1.586146184633882, -4.741744434379755, 19.508935997795124, 734) + femmesh.addNode(-1.210773354855778, 4.851188295992157, 43.70160454531926, 735) + femmesh.addNode(-0.9469650035199684, 4.909506826770732, 6.200497554829569, 736) + femmesh.addNode(-1.4581399515101006, -4.7826590806590135, 6.31282732707889, 737) + femmesh.addNode(1.7896621154596313, -4.6687374645067115, 27.233073990158086, 738) + femmesh.addNode(1.0004373588329947, 4.898890189731881, 6.637767998297282, 739) + femmesh.addNode(1.7730147819333917, -4.675084874421606, 14.156907344329243, 740) + femmesh.addNode(1.0134404942844164, 4.896216739947748, 8.78883145556521, 741) + femmesh.addNode(1.2293321229709453, 4.846518599100983, 10.6982916586186, 742) + femmesh.addNode(1.5729070252573711, 4.746152493325094, 12.481344046826194, 743) + femmesh.addNode(1.7333416443142144, 4.689938884898831, 14.239534030641762, 744) + femmesh.addNode(1.726933222149412, 4.692302382225239, 15.960071561315846, 745) + femmesh.addNode(1.7183251984000387, 4.695461480253401, 17.72032470146288, 746) + femmesh.addNode(1.7027334366574354, 4.70113803708089, 19.490273201216365, 747) + femmesh.addNode(1.7282933339361806, 4.691801589141613, 21.266044523666682, 748) + femmesh.addNode(1.7485129542508473, 4.6843038382258015, 23.05115107248476, 749) + femmesh.addNode(1.7280809301192006, 4.6918798257157395, 24.82631296913643, 750) + femmesh.addNode(1.7320559983573176, 4.6904138429945, 26.596834946003366, 751) + femmesh.addNode(1.7530345925102655, 4.682613556280549, 28.377641555409074, 752) + femmesh.addNode(1.7324249162052572, 4.690277594099437, 30.16103845997668, 753) + femmesh.addNode(1.7323436722490562, 4.690307601982908, 31.94072747419808, 754) + femmesh.addNode(1.7533734947643367, 4.68248666713082, 33.730363292000185, 755) + femmesh.addNode(1.726805944857409, 4.692349222809947, 35.51158313698794, 756) + femmesh.addNode(1.6947428149972938, 4.7040245312939275, 37.272884307103226, 757) + femmesh.addNode(1.66511731065246, 4.714592701577255, 39.04457520334357, 758) + femmesh.addNode(1.5790406181307275, 4.744115378686876, 40.808707156150874, 759) + femmesh.addNode(-1.5517216575036588, -4.753121069111757, 43.54375388768041, 760) + femmesh.addNode(1.6695978788450703, -4.713007842445846, 12.415506121003604, 761) + femmesh.addNode(0.2842143421855241, -4.991915685154954, 43.40559030985022, 762) + femmesh.addNode(-4.349202600014699, -2.4666651057704168, 43.65691986647459, 763) + femmesh.addNode(-2.8917978933523596, 4.078909773947305, 43.81862719697314, 764) + femmesh.addNode(-4.886381687031599, 1.0598462193366651, 43.70441345334438, 765) + femmesh.addNode(1.6109914843236186, 4.733361008568519, 42.41325610204301, 766) + femmesh.addNode(1.4368621484433974, -4.789094608208385, 6.789138086357442, 767) + femmesh.addNode(-3.024682719347399, -3.981368413910125, 6.44845188103155, 768) + femmesh.addNode(1.7500857731617523, -4.68371645027502, 15.891189116287812, 769) + femmesh.addNode(1.0083094073518644, -4.897275991716796, 30.47891221176442, 770) + femmesh.addNode(1.5778978605509086, -4.744495583480805, 39.40195779737771, 771) + femmesh.addNode(0.05325537206386949, -4.999716378490518, 6.077216985033147, 772) + femmesh.addNode(1.3274539309823932, -4.82056698544055, 8.672564713725741, 773) + femmesh.addNode(1.5621848918368362, -4.749692449382037, 25.192590929810454, 774) + femmesh.addNode(1.5877511259043644, -4.741207268427464, 37.432206269088475, 775) + femmesh.addNode(1.4658889111243945, -4.780289708819177, 35.50895441715575, 776) + femmesh.addNode(-4.819723794570086, 1.3305121360043781, 6.657755674272031, 777) + femmesh.addNode(1.444043386991839, -4.7869341646282475, 10.545582508199498, 778) + femmesh.addNode(-3.928880379869425, 3.092555409475646, 6.704979646531309, 779) + femmesh.addNode(0.7068515065964088, 4.949783929387462, 43.75950110971815, 780) + femmesh.addNode(1.4835242831771618, -4.774846144246292, 23.28872650931348, 781) + femmesh.addNode(1.4153834263721234, -4.795486394136794, 33.698975006838204, 782) + femmesh.addNode(1.9731674662073404, -4.59419309022824, 43.350294656731464, 783) + femmesh.addNode(-3.1684530476339474, -3.8679329473168416, 43.61421467895461, 784) + femmesh.addNode(-4.31649358247682, -2.5234664952078187, 6.536996363365341, 785) + femmesh.addNode(1.6699546027786898, -4.7128814566736414, 17.658359645871712, 786) + femmesh.addNode(-0.21615078658903364, -4.995325698836558, 7.670513589814993, 787) + femmesh.addNode(-0.6892261108075232, -4.952268911133677, 41.84313340930202, 788) + femmesh.addNode(-2.0326668111486073, -4.568179685044685, 7.982719263692156, 789) + femmesh.addNode(-0.20439915644126658, 4.995820351538484, 41.96249465153944, 790) + femmesh.addNode(-3.838790549424818, -3.2036989742556496, 42.02685885390285, 791) + femmesh.addNode(-0.975430548473134, 4.903930591383345, 7.87503051307328, 792) + femmesh.addNode(1.6074477287637579, -4.7345656399813745, 32.06954056145694, 793) + femmesh.addNode(-0.018727155754201193, -4.99996492924074, 36.477707933833, 794) + femmesh.addNode(0.10466596727725223, -4.998904383491839, 26.414221656784623, 795) + femmesh.addNode(0.48735218856061147, -4.97619210283377, 28.48403372631914, 796) + femmesh.addNode(-3.629150178343074, 3.439370434110352, 42.35759360728745, 797) + femmesh.addNode(-0.015421206559524964, -4.999976218582269, 20.470637102340863, 798) + femmesh.addNode(1.3611847988542116, -4.811151207701564, 41.47046915965535, 799) + femmesh.addNode(-2.4559250758257614, -4.355276342774386, 42.02292757135528, 800) + femmesh.addNode(-1.1041754615928046, 4.876555808151519, 9.933857533544314, 801) + femmesh.addNode(0.3715002369695276, 4.986179657205663, 13.432048605839077, 802) + femmesh.addNode(0.21394371362544085, 4.99542071175193, 15.003712207912201, 803) + femmesh.addNode(0.20698280405630862, 4.995713974881367, 16.76696137218931, 804) + femmesh.addNode(0.19994560398784245, 4.996000576005365, 18.558422753026186, 805) + femmesh.addNode(0.20746042103643758, 4.995694163347411, 20.342243079293727, 806) + femmesh.addNode(0.22886808258542365, 4.994759193472061, 22.132307182923796, 807) + femmesh.addNode(0.1879356238931893, 4.996466771757006, 23.914083341031173, 808) + femmesh.addNode(0.18425025744476828, 4.996604031002611, 25.682143742102433, 809) + femmesh.addNode(0.21054647782334904, 4.995565051190524, 27.460580040148194, 810) + femmesh.addNode(0.21182694563324922, 4.995510919325839, 29.249185479644648, 811) + femmesh.addNode(0.18970156158399482, 4.99640003577902, 31.03588319856755, 812) + femmesh.addNode(0.20921970831636297, 4.9956207936203505, 32.82416600668767, 813) + femmesh.addNode(0.206087542886734, 4.99575098705559, 34.60860991084874, 814) + femmesh.addNode(0.17887260318296822, 4.996799434821309, 36.367663184443494, 815) + femmesh.addNode(0.20195197165146272, 4.995919875372911, 38.120237532894166, 816) + femmesh.addNode(0.08917555434915041, 4.999204708801843, 39.917564828867015, 817) + femmesh.addNode(-4.709952238385686, -1.6781984126216014, 8.201217323318724, 818) + femmesh.addNode(0.2843169326740686, -4.991909843115639, 13.281598289856161, 819) + femmesh.addNode(-2.146031298070981, 4.516032514021547, 42.2547526765485, 820) + femmesh.addNode(-0.019062058033274244, -4.999963663662321, 40.15205186607451, 821) + femmesh.addNode(-0.2307308017888257, -4.994673492542419, 32.237643268743426, 822) + femmesh.addNode(-3.6715813366664065, -3.3940374906949575, 8.13409970289553, 823) + femmesh.addNode(-0.603113131198862, -4.9634921729539885, 9.639745760976115, 824) + femmesh.addNode(-0.19804069268907581, 4.996076448978661, 11.883549286864364, 825) + femmesh.addNode(-4.9960095221299285, 0.19972194367942342, 42.03835718789331, 826) + femmesh.addNode(-2.8795655920166663, 4.087554525786011, 8.420839948310283, 827) + femmesh.addNode(-0.03617733224807498, -4.999869118350141, 24.387315562271326, 828) + femmesh.addNode(0.023076887978302867, -4.999946745440519, 11.555769798326441, 829) + femmesh.addNode(0.21043212074313095, -4.995569869650463, 15.021317577766991, 830) + femmesh.addNode(-0.05180979382021087, -4.99973156732082, 22.406145220095947, 831) + femmesh.addNode(-0.17928463309911047, -4.996784668197592, 34.50834977515199, 832) + femmesh.addNode(-0.9060318191150205, -4.917225472026997, 29.93150312415969, 833) + femmesh.addNode(0.03977709676922876, -4.99984177575377, 18.56167194581934, 834) + femmesh.addNode(0.15903266832381596, -4.997470221062433, 38.30937460474619, 835) + femmesh.addNode(-4.738655175294533, -1.59535172600099, 42.00259883114803, 836) + femmesh.addNode(-4.986501202540683, 0.36715903510647274, 8.291405735811534, 837) + femmesh.addNode(-4.613232925182947, 1.9282328640514323, 42.17360635818143, 838) + femmesh.addNode(-4.23594495390373, -2.656458233719763, 9.736108440252462, 839) + femmesh.addNode(-1.9984581211295518, 4.583248317306333, 11.662309789315483, 840) + femmesh.addNode(-1.3095858324884146, -4.8254517868636535, 27.765310196515227, 841) + femmesh.addNode(-1.7616801009394203, -4.679367822895959, 40.448231764630435, 842) + femmesh.addNode(-2.768046857211941, -4.163882394626329, 9.645729611502905, 843) + femmesh.addNode(-4.381679041850042, 2.408503430392429, 8.482752954569845, 844) + femmesh.addNode(-1.6066768009335408, -4.734827310192206, 21.41939463092771, 845) + femmesh.addNode(-1.5572211824222584, -4.751322151676881, 19.508037246131945, 846) + femmesh.addNode(-1.466731421505429, -4.780031269476034, 37.52024874718349, 847) + femmesh.addNode(-1.427706431372365, 4.791832044825652, 13.573513766464604, 848) + femmesh.addNode(0.1457116767734639, -4.997876359740391, 16.707844566433568, 849) + femmesh.addNode(-1.7298081720272631, -4.691243298741571, 35.626838337017574, 850) + femmesh.addNode(-1.4297793128537586, 4.791213950194192, 15.68485997768997, 851) + femmesh.addNode(-1.3752828317993337, 4.807140223933352, 17.611100740313567, 852) + femmesh.addNode(-1.352524780426624, 4.813592911571554, 19.397591465385222, 853) + femmesh.addNode(-1.361203290080382, 4.811145976072057, 21.163013507812902, 854) + femmesh.addNode(-1.3669056210960853, 4.8095289814092945, 23.011056770197612, 855) + femmesh.addNode(-1.3599187710654739, 4.81150921604685, 24.76026701935402, 856) + femmesh.addNode(-1.3563614824720278, 4.812513223760147, 26.498391516744718, 857) + femmesh.addNode(-1.3585004294415846, 4.811909868566434, 28.31871074460301, 858) + femmesh.addNode(-1.3512802487841957, 4.813942426872773, 30.14825587289198, 859) + femmesh.addNode(-1.3614107696243387, 4.811087269666896, 31.881048112823358, 860) + femmesh.addNode(-1.38057953573028, 4.805621723099184, 33.69896657562533, 861) + femmesh.addNode(-1.3763959792228135, 4.806821622275916, 35.49241867695234, 862) + femmesh.addNode(-1.362491178767919, 4.810781411348847, 37.16486548566059, 863) + femmesh.addNode(-1.3511584876349436, 4.813976603733347, 38.88726398656678, 864) + femmesh.addNode(-1.5912835945460602, 4.740022839789758, 40.63855443667234, 865) + femmesh.addNode(-1.145446561674209, -4.867027036533569, 39.06624822865136, 866) + femmesh.addNode(-1.9813560321971744, -4.590667519400188, 33.57558185033049, 867) + femmesh.addNode(-1.5246247571513707, -4.761881912635079, 25.57039506986808, 868) + femmesh.addNode(-4.364351864520154, -2.439760808493213, 40.35550473524809, 869) + femmesh.addNode(-3.233865155937266, -3.813412664951807, 40.38260691572195, 870) + femmesh.addNode(-3.495429098444199, 3.575188864626535, 10.45896742161176, 871) + femmesh.addNode(-2.3022976030457727, -4.4384035133153095, 31.405611061167104, 872) + femmesh.addNode(-4.837727573793916, 1.2634840409573966, 40.23439525395439, 873) + femmesh.addNode(-1.0900061692564031, -4.879742467690583, 12.592785551015583, 874) + femmesh.addNode(-1.6255018737216145, -4.728397578305733, 23.539882425024665, 875) + femmesh.addNode(-1.842128676918748, -4.648285913933607, 11.191290493931968, 876) + femmesh.addNode(-4.946636088509635, -0.7285543273182156, 40.36220677995062, 877) + femmesh.addNode(-1.4998589086343501, -4.769740375973327, 17.589160320527885, 878) + femmesh.addNode(-4.947119315292115, -0.725265799733916, 9.887270684056224, 879) + femmesh.addNode(-3.1250083359018195, 3.903117074921548, 40.884416796980155, 880) + femmesh.addNode(-1.2818646308448767, -4.83288972232855, 14.081947803148877, 881) + femmesh.addNode(-3.0057201957535353, 3.99570345556816, 14.655571822891236, 882) + femmesh.addNode(-2.92707121159038, -4.053671684075909, 26.87523297448566, 883) + femmesh.addNode(-1.4076135185533003, -4.7977728356380105, 15.762785655110092, 884) + femmesh.addNode(-4.651936525797673, -1.8328902203758615, 11.435527048023866, 885) + femmesh.addNode(-3.5160332105121093, -3.554927631130612, 11.390079280886663, 886) + femmesh.addNode(-3.0590794931370784, -3.9550009677202604, 24.691695955586255, 887) + femmesh.addNode(-3.2961462823307053, 3.75971005337878, 12.682087941231742, 888) + femmesh.addNode(-2.673685879792325, -4.225092166592244, 29.142314836016105, 889) + femmesh.addNode(-2.8746382656852907, 4.09102124676197, 16.590232226053836, 890) + femmesh.addNode(-4.796917418214253, 1.4105258887495478, 10.085238119383327, 891) + femmesh.addNode(-3.0485822604664548, -3.9630980559619315, 20.467344737238193, 892) + femmesh.addNode(-3.1115883697804154, -3.9138239379214874, 22.560700359988935, 893) + femmesh.addNode(-3.0178598992104098, -3.986542565775228, 37.001200545488615, 894) + femmesh.addNode(-2.777507565447234, 4.157577626922121, 18.44737125432974, 895) + femmesh.addNode(-2.7859941289363555, 4.151895556674344, 20.241463085736335, 896) + femmesh.addNode(-2.8486230431368167, 4.109178355597375, 22.03511651670347, 897) + femmesh.addNode(-2.7961451411463316, 4.145066024762906, 23.829630838975927, 898) + femmesh.addNode(-2.7715671776687394, 4.161540024999079, 25.61703548718775, 899) + femmesh.addNode(-2.810153717409521, 4.135581710537158, 27.366206252311205, 900) + femmesh.addNode(-2.7994015598787847, 4.142867473930131, 29.184466782678673, 901) + femmesh.addNode(-2.7642653529594066, 4.166393771408099, 30.986890302072677, 902) + femmesh.addNode(-2.8446663211768937, 4.11191847209571, 32.77735528739681, 903) + femmesh.addNode(-2.863392784151182, 4.098900067538967, 34.56252383770614, 904) + femmesh.addNode(-2.7975591832964373, 4.144111800609845, 36.32039560635154, 905) + femmesh.addNode(-2.7991792036320184, 4.143017714897442, 38.022670124636655, 906) + femmesh.addNode(-3.326274346948905, -3.733081698654563, 34.98917531488802, 907) + femmesh.addNode(-4.179083343126631, 2.7450432439583783, 40.95936104118357, 908) + femmesh.addNode(-3.955884766481116, 3.0579365124741633, 39.26261717389748, 909) + femmesh.addNode(-2.593139235330335, -4.275000456864351, 12.869766384908905, 910) + femmesh.addNode(-2.9693173413617933, -4.022829169413999, 18.476448309117597, 911) + femmesh.addNode(-3.841787831525308, -3.2001041010479754, 38.64414815910396, 912) + femmesh.addNode(-3.59786657350825, -3.472082389464859, 32.80581319373918, 913) + femmesh.addNode(-4.682052379314146, -1.7545328487545455, 38.73993160455824, 914) + femmesh.addNode(-4.718225835990831, 1.6547945372730193, 38.2688518222417, 915) + femmesh.addNode(-4.487002494795993, 2.2060844525299874, 11.999000905593114, 916) + femmesh.addNode(-4.99559427292114, 0.2098519963152799, 11.547268943666717, 917) + femmesh.addNode(-4.999961498059521, -0.019621873569870465, 38.75793081394362, 918) + femmesh.addNode(-2.670712008103867, 4.226972601019529, 39.53369452481894, 919) + femmesh.addNode(-2.530803877191705, -4.312195697691773, 38.82406405388969, 920) + femmesh.addNode(-4.099021821065078, -2.8632184880711313, 19.427657859613596, 921) + femmesh.addNode(-4.134682249555515, -2.8114769597509683, 13.390023204128086, 922) + femmesh.addNode(-4.00739408100572, 2.9901158304521114, 37.27612650569759, 923) + femmesh.addNode(-4.243952785165201, 2.6436461104483207, 13.904405746969562, 924) + femmesh.addNode(-4.019137605693694, 2.974312173679616, 15.698828905124671, 925) + femmesh.addNode(-4.33444417780649, -2.4925075064038262, 36.59134733566233, 926) + femmesh.addNode(-4.041011971831691, -2.9445241115523157, 28.276789736155777, 927) + femmesh.addNode(-3.9197560529929847, 3.1041121895036032, 17.524847134829763, 928) + femmesh.addNode(-3.9490725452222293, 3.066728881491161, 19.29265397620976, 929) + femmesh.addNode(-3.964831310821908, 3.0463277362631604, 21.087717510038942, 930) + femmesh.addNode(-3.978573729133953, 3.0283578193214145, 22.872489395690444, 931) + femmesh.addNode(-3.967522814178502, 3.042821506262419, 24.665154854980383, 932) + femmesh.addNode(-3.9342998998617413, 3.085657838767593, 26.461102742819463, 933) + femmesh.addNode(-3.9117422645098063, 3.114204947662836, 28.23986586081518, 934) + femmesh.addNode(-3.9301899081525704, 3.090891018113659, 30.040957663445305, 935) + femmesh.addNode(-3.973394446173824, 3.0351501734041113, 31.843526752030037, 936) + femmesh.addNode(-4.011075828853751, 2.985175153183677, 33.63869715205996, 937) + femmesh.addNode(-4.023562214662955, 2.9683239554901237, 35.43151999917499, 938) + femmesh.addNode(-4.1192244529644935, -2.8340765526180416, 25.987395054295938, 939) + femmesh.addNode(-3.871424438736967, -3.1641859640593446, 30.573304778567813, 940) + femmesh.addNode(-4.211286012810423, -2.6953794015513455, 21.501309149598608, 941) + femmesh.addNode(-2.817855425384144, -4.130337855627932, 14.727765833006464, 942) + femmesh.addNode(-4.908972472900076, -0.9497311515946566, 12.967595287526338, 943) + femmesh.addNode(-4.743282451761067, 1.5815408887586566, 36.31485227375417, 944) + femmesh.addNode(-4.513381767871602, -2.1516005710735935, 34.24060158782659, 945) + femmesh.addNode(-2.86728617422877, -4.096177485788005, 16.5876238539587, 946) + femmesh.addNode(-4.010632465328837, -2.9857707929528576, 17.53762168877557, 947) + femmesh.addNode(-4.254669496477671, -2.6263639267516674, 23.747629565185807, 948) + femmesh.addNode(-4.985351488709603, 0.38245330959601115, 37.21686055074472, 949) + femmesh.addNode(-4.930743094181421, 0.8293205286149781, 13.382306842679668, 950) + femmesh.addNode(-4.901268424030993, -0.9887203020049422, 37.33173390792712, 951) + femmesh.addNode(-4.767023172540001, -1.5084727615925537, 18.39290496069713, 952) + femmesh.addNode(-4.670389044792361, -1.785347632894922, 32.07415591937206, 953) + femmesh.addNode(-4.04607641117985, -2.9375611780682935, 15.543210823505461, 954) + femmesh.addNode(-4.835395512030505, -1.272379755511401, 25.099699020543508, 955) + femmesh.addNode(-4.977738616519641, -0.4712942452535678, 35.58264421283958, 956) + femmesh.addNode(-4.696223357916799, 1.7162418747241506, 18.317553139269357, 957) + femmesh.addNode(-4.693297834213479, 1.724226040682331, 20.14162270512597, 958) + femmesh.addNode(-4.740506204003698, 1.589843051940175, 21.939771516711172, 959) + femmesh.addNode(-4.733457617939322, 1.610707602009812, 23.67348863147089, 960) + femmesh.addNode(-4.690877716968814, 1.7307993079630744, 25.574704459554674, 961) + femmesh.addNode(-4.691419075107072, 1.7293313915272286, 27.327451746298358, 962) + femmesh.addNode(-4.681814330822464, 1.7551679611095343, 29.041560363186868, 963) + femmesh.addNode(-4.702497953090176, 1.6989741025638692, 30.864988380221302, 964) + femmesh.addNode(-4.766126642876439, 1.5113030219196162, 32.691096490492725, 965) + femmesh.addNode(-4.829671245597828, 1.2939380431247587, 15.214841084065178, 966) + femmesh.addNode(-4.802094376672282, 1.392799194978388, 34.47374896322823, 967) + femmesh.addNode(-4.715871490276847, -1.6614921267324834, 16.627551878923168, 968) + femmesh.addNode(-4.806455321361856, -1.3776745783211275, 20.304305345644387, 969) + femmesh.addNode(-4.800861041559749, -1.3970444730336429, 27.288606174973282, 970) + femmesh.addNode(-4.915005057658458, -0.91800069890593, 14.85567923319535, 971) + femmesh.addNode(-4.806607883038358, -1.3771422071498352, 29.716024726249945, 972) + femmesh.addNode(-4.630123997488081, 1.8873133729947977, 16.738706384430657, 973) + femmesh.addNode(-4.963656763968784, -0.6017570352783108, 22.804441658087306, 974) + femmesh.addNode(-4.997773087278673, 0.1492118228325269, 17.04539327910152, 975) + femmesh.addNode(-4.995478908770573, 0.21258050716931684, 26.390735240774216, 976) + femmesh.addNode(-4.997909648756237, 0.14456535846912238, 19.12175521723329, 977) + femmesh.addNode(-4.992369819968228, 0.27612240160915685, 20.900553234271552, 978) + femmesh.addNode(-4.990112379610926, 0.31429037346662014, 24.65982495389454, 979) + femmesh.addNode(-4.996564711288057, 0.18531348011111026, 28.2521391473775, 980) + femmesh.addNode(-4.999800774694319, -0.04463421743559257, 31.50057255504089, 981) + femmesh.addNode(-4.992108945499974, -0.28079935231253333, 33.44803241039061, 982) + femmesh.addNode(-4.983449388378861, 0.4064876301517117, 29.86730637541477, 983) + femmesh.addNode(4.352342404632709, 0.6089123543689304, 49.24293707399806, 984) + femmesh.addNode(4.425636153919441, -0.31253798473341593, 0.8917370108088196, 985) + femmesh.addNode(4.0, -9.797174393178826e-16, 0.8999999999999999, 986) + femmesh.addNode(4.0, -9.797174393178826e-16, 2.7249999999999996, 987) + femmesh.addNode(4.0, -9.797174393178826e-16, 4.55, 988) + femmesh.addNode(4.0, -9.797174393178826e-16, 6.3, 989) + femmesh.addNode(4.0, -9.797174393178826e-16, 8.075, 990) + femmesh.addNode(4.0, -9.797174393178826e-16, 9.925, 991) + femmesh.addNode(4.0, -9.797174393178826e-16, 11.7, 992) + femmesh.addNode(4.0, -9.797174393178826e-16, 13.475, 993) + femmesh.addNode(4.0, -9.797174393178826e-16, 15.225, 994) + femmesh.addNode(4.0, -9.797174393178826e-16, 16.975, 995) + femmesh.addNode(4.0, -9.797174393178826e-16, 18.799999999999997, 996) + femmesh.addNode(4.0, -9.797174393178826e-16, 20.575, 997) + femmesh.addNode(4.0, -9.797174393178826e-16, 22.375, 998) + femmesh.addNode(4.0, -9.797174393178826e-16, 24.200000000000003, 999) + femmesh.addNode(4.0, -9.797174393178826e-16, 25.975, 1000) + femmesh.addNode(4.0, -9.797174393178826e-16, 27.75, 1001) + femmesh.addNode(4.0, -9.797174393178826e-16, 29.575, 1002) + femmesh.addNode(4.0, -9.797174393178826e-16, 31.375, 1003) + femmesh.addNode(4.0, -9.797174393178826e-16, 33.150000000000006, 1004) + femmesh.addNode(4.0, -9.797174393178826e-16, 34.975, 1005) + femmesh.addNode(4.0, -9.797174393178826e-16, 36.775, 1006) + femmesh.addNode(4.0, -9.797174393178826e-16, 38.525, 1007) + femmesh.addNode(4.0, -9.797174393178826e-16, 40.325, 1008) + femmesh.addNode(4.0, -9.797174393178826e-16, 42.1, 1009) + femmesh.addNode(4.0, -9.797174393178826e-16, 43.875, 1010) + femmesh.addNode(4.0, -9.797174393178826e-16, 45.625, 1011) + femmesh.addNode(4.0, -9.797174393178826e-16, 47.375, 1012) + femmesh.addNode(4.0, -9.797174393178826e-16, 49.15, 1013) + femmesh.addNode(3.900906519636894, 0.884832371160988, 0.0, 1014) + femmesh.addNode(3.121721629353319, 2.5009706253428203, 0.0, 1015) + femmesh.addNode(1.6917383883412138, 3.624640840885159, 0.0, 1016) + femmesh.addNode(-0.0628292692472821, 3.9995065299266424, 0.0, 1017) + femmesh.addNode(-1.8159619989581868, 3.5640260967534716, 0.0, 1018) + femmesh.addNode(-3.2137656004485096, 2.381535358833421, 0.0, 1019) + femmesh.addNode(-3.9314843125295167, 0.7371777942493337, 0.0, 1020) + femmesh.addNode(-3.861526555333096, -1.0433660251595855, 0.0, 1021) + femmesh.addNode(-3.0497700440457924, -2.588223846277776, 0.0, 1022) + femmesh.addNode(-1.7031171662602917, -3.6193082098640774, 0.0, 1023) + femmesh.addNode(0.03769855373257295, -3.9998223484357993, 0.0, 1024) + femmesh.addNode(1.7822916895075833, -3.5809825932992476, 0.0, 1025) + femmesh.addNode(3.121721629353317, -2.5009706253428234, 0.0, 1026) + femmesh.addNode(3.8952699899085155, -0.9093248625865865, 0.0, 1027) + femmesh.addNode(3.900906519636894, 0.8848323711609879, 50.0, 1028) + femmesh.addNode(3.121721629353319, 2.5009706253428203, 50.0, 1029) + femmesh.addNode(1.6917383883412138, 3.624640840885159, 50.0, 1030) + femmesh.addNode(-0.0628292692472821, 3.9995065299266424, 50.0, 1031) + femmesh.addNode(-1.8159619989581852, 3.5640260967534725, 50.0, 1032) + femmesh.addNode(-3.2137656004485096, 2.381535358833421, 50.0, 1033) + femmesh.addNode(-3.9314843125295167, 0.7371777942493337, 50.0, 1034) + femmesh.addNode(-3.861526555333096, -1.0433660251595855, 50.0, 1035) + femmesh.addNode(-3.0497700440457924, -2.588223846277776, 50.0, 1036) + femmesh.addNode(-1.7031171662602917, -3.6193082098640774, 50.0, 1037) + femmesh.addNode(0.03769855373257295, -3.9998223484357993, 50.0, 1038) + femmesh.addNode(1.7822916895075833, -3.5809825932992476, 50.0, 1039) + femmesh.addNode(3.121721629353317, -2.5009706253428234, 50.0, 1040) + femmesh.addNode(3.8952699899085155, -0.9093248625865865, 50.0, 1041) + femmesh.addNode(4.911436253643443, 0.9369065729286224, 0.0, 1042) + femmesh.addNode(4.238389680425416, 2.6525559215336703, 0.0, 1043) + femmesh.addNode(3.0396514884730275, 3.9699519932391762, 0.0, 1044) + femmesh.addNode(1.4702016261615194, 4.7789650739916505, 0.0, 1045) + femmesh.addNode(-0.3453001285720294, 4.9880625318061265, 0.0, 1046) + femmesh.addNode(-2.1146729854265156, 4.530801051106449, 0.0, 1047) + femmesh.addNode(-3.5906314888159434, 3.4795639829615723, 0.0, 1048) + femmesh.addNode(-4.588773128419906, 1.985739453173903, 0.0, 1049) + femmesh.addNode(-4.993684783030087, 0.2512215908988483, 0.0, 1050) + femmesh.addNode(-4.745480724951473, -1.5749325982765237, 0.0, 1051) + femmesh.addNode(-3.8223576571154587, -3.223287443137956, 0.0, 1052) + femmesh.addNode(-2.353519660826662, -4.4114561321747665, 0.0, 1053) + femmesh.addNode(-0.5954858004743524, -4.964413022849068, 0.0, 1054) + femmesh.addNode(1.228228855962129, -4.846798312018147, 0.0, 1055) + femmesh.addNode(2.9134523983428773, -4.063470822165472, 0.0, 1056) + femmesh.addNode(4.230035528339209, -2.665858103685946, 0.0, 1057) + femmesh.addNode(4.917226024976648, -0.906028818135689, 0.0, 1058) + femmesh.addNode(4.911436253643443, 0.9369065729286223, 50.0, 1059) + femmesh.addNode(4.238389680425416, 2.6525559215336703, 50.0, 1060) + femmesh.addNode(3.0396514884730275, 3.9699519932391762, 50.0, 1061) + femmesh.addNode(1.4702016261615205, 4.7789650739916505, 50.0, 1062) + femmesh.addNode(-0.3453001285720283, 4.9880625318061265, 50.0, 1063) + femmesh.addNode(-2.1146729854265156, 4.530801051106449, 50.0, 1064) + femmesh.addNode(-3.5906314888159434, 3.4795639829615723, 50.0, 1065) + femmesh.addNode(-4.588773128419906, 1.985739453173903, 50.0, 1066) + femmesh.addNode(-4.993684783030087, 0.2512215908988483, 50.0, 1067) + femmesh.addNode(-4.745480724951473, -1.5749325982765237, 50.0, 1068) + femmesh.addNode(-3.8223576571154587, -3.223287443137956, 50.0, 1069) + femmesh.addNode(-2.353519660826662, -4.4114561321747665, 50.0, 1070) + femmesh.addNode(-0.5954858004743524, -4.964413022849068, 50.0, 1071) + femmesh.addNode(1.228228855962129, -4.846798312018147, 50.0, 1072) + femmesh.addNode(2.9134523983428773, -4.063470822165472, 50.0, 1073) + femmesh.addNode(4.230035528339209, -2.665858103685946, 50.0, 1074) + femmesh.addNode(4.917226024976648, -0.906028818135689, 50.0, 1075) + femmesh.addNode(5.0, -1.2246467991473533e-15, 0.9249999999999999, 1076) + femmesh.addNode(5.0, -1.2246467991473533e-15, 2.6999999999999997, 1077) + femmesh.addNode(5.0, -1.2246467991473533e-15, 4.449999999999999, 1078) + femmesh.addNode(5.0, -1.2246467991473533e-15, 6.2749999999999995, 1079) + femmesh.addNode(5.0, -1.2246467991473533e-15, 8.05, 1080) + femmesh.addNode(5.0, -1.2246467991473533e-15, 9.775, 1081) + femmesh.addNode(5.0, -1.2246467991473533e-15, 11.575, 1082) + femmesh.addNode(5.0, -1.2246467991473533e-15, 13.375, 1083) + femmesh.addNode(5.0, -1.2246467991473533e-15, 15.125, 1084) + femmesh.addNode(5.0, -1.2246467991473533e-15, 16.825, 1085) + femmesh.addNode(5.0, -1.2246467991473533e-15, 18.549999999999997, 1086) + femmesh.addNode(5.0, -1.2246467991473533e-15, 20.375, 1087) + femmesh.addNode(5.0, -1.2246467991473533e-15, 22.15, 1088) + femmesh.addNode(5.0, -1.2246467991473533e-15, 23.9, 1089) + femmesh.addNode(5.0, -1.2246467991473533e-15, 25.700000000000003, 1090) + femmesh.addNode(5.0, -1.2246467991473533e-15, 27.475, 1091) + femmesh.addNode(5.0, -1.2246467991473533e-15, 29.224999999999998, 1092) + femmesh.addNode(5.0, -1.2246467991473533e-15, 31.025, 1093) + femmesh.addNode(5.0, -1.2246467991473533e-15, 32.825, 1094) + femmesh.addNode(5.0, -1.2246467991473533e-15, 34.55, 1095) + femmesh.addNode(5.0, -1.2246467991473533e-15, 36.325, 1096) + femmesh.addNode(5.0, -1.2246467991473533e-15, 38.150000000000006, 1097) + femmesh.addNode(5.0, -1.2246467991473533e-15, 39.900000000000006, 1098) + femmesh.addNode(5.0, -1.2246467991473533e-15, 41.7, 1099) + femmesh.addNode(5.0, -1.2246467991473533e-15, 43.525, 1100) + femmesh.addNode(5.0, -1.2246467991473533e-15, 45.25, 1101) + femmesh.addNode(5.0, -1.2246467991473533e-15, 47.125, 1102) + femmesh.addNode(5.0, -1.2246467991473533e-15, 49.075, 1103) + femmesh.addNode(3.9312453035968553, -0.7384513274059903, 0.7266101280266689, 1104) + femmesh.addNode(3.660442425562362, -1.6128115975349169, 0.7266101280266689, 1105) + femmesh.addNode(3.948707556574508, -0.6385206595337206, 2.341915424352792, 1106) + femmesh.addNode(3.948707556574508, -0.6385206595337206, 3.2669154243527925, 1107) + femmesh.addNode(3.9211674421287883, -0.7902188878970023, 4.07207115581365, 1108) + femmesh.addNode(3.9211674421287883, -0.7902188878970023, 4.97207115581365, 1109) + femmesh.addNode(3.7447431059632947, -1.4060224288183936, 3.6889865801664428, 1110) + femmesh.addNode(3.918091341544795, -0.8053323781592967, 5.835531731228598, 1111) + femmesh.addNode(3.918091341544795, -0.8053323781592967, 6.685531731228598, 1112) + femmesh.addNode(3.6817758368745817, -1.5634982209796324, 5.357602887042248, 1113) + femmesh.addNode(3.9220633841620174, -0.785760021008694, 7.631483610125954, 1114) + femmesh.addNode(3.9220633841620174, -0.785760021008694, 8.556483610125955, 1115) + femmesh.addNode(3.683551150024074, -1.5593110418246645, 7.167015341354553, 1116) + femmesh.addNode(3.9213659194439905, -0.7892333785536363, 9.442487675954741, 1117) + femmesh.addNode(3.9213659194439905, -0.7892333785536363, 10.367487675954742, 1118) + femmesh.addNode(3.6899244131097935, -1.54416897570711, 8.998971286080696, 1119) + femmesh.addNode(3.9215175615786477, -0.7884795585367166, 11.23674745241917, 1120) + femmesh.addNode(3.9215175615786477, -0.7884795585367166, 12.08674745241917, 1121) + femmesh.addNode(3.6888527331428342, -1.5467273558014816, 10.75423512837391, 1122) + femmesh.addNode(3.920315762583027, -0.7944333336681306, 12.995485709464532, 1123) + femmesh.addNode(3.920315762583027, -0.7944333336681306, 13.920485709464531, 1124) + femmesh.addNode(3.686798166421391, -1.5516182778221808, 12.5322331618837, 1125) + femmesh.addNode(3.9211982651610806, -0.7900659246529576, 14.828621130119096, 1126) + femmesh.addNode(3.9211982651610806, -0.7900659246529576, 15.653621130119099, 1127) + femmesh.addNode(3.686170165196174, -1.5531096269155034, 14.34910683958363, 1128) + femmesh.addNode(3.9181019708690896, -0.8052806627951239, 16.511751990643333, 1129) + femmesh.addNode(3.9181019708690896, -0.8052806627951239, 17.43675199064333, 1130) + femmesh.addNode(3.68185745986059, -1.5633059986032563, 16.115373120762428, 1131) + femmesh.addNode(3.919580518692829, -0.7980529791208428, 18.36323643366235, 1132) + femmesh.addNode(3.919580518692829, -0.7980529791208428, 19.26323643366235, 1133) + femmesh.addNode(3.6786648808260254, -1.5708038370774515, 17.899988424305683, 1134) + femmesh.addNode(3.920682930300643, -0.792619303353863, 20.139195762303302, 1135) + femmesh.addNode(3.920682930300643, -0.792619303353863, 21.014195762303302, 1136) + femmesh.addNode(3.6837200593077037, -1.558911968218234, 19.702432195965656, 1137) + femmesh.addNode(3.919982348627834, -0.7960768721965322, 21.89488518605082, 1138) + femmesh.addNode(3.919982348627834, -0.7960768721965322, 22.819885186050822, 1139) + femmesh.addNode(3.684505496372142, -1.5570546705891464, 21.459080948354128, 1140) + femmesh.addNode(3.919634508932364, -0.7977877639990126, 23.75921324063689, 1141) + femmesh.addNode(3.919634508932364, -0.7977877639990126, 24.659213240636888, 1142) + femmesh.addNode(3.6824494250623885, -1.5619110832111043, 23.27909842668771, 1143) + femmesh.addNode(3.9203391601049438, -0.7943178644268695, 25.535918895748058, 1144) + femmesh.addNode(3.9203391601049438, -0.7943178644268695, 26.410918895748058, 1145) + femmesh.addNode(3.6831498964259595, -1.5602585812798613, 25.095132136384944, 1146) + femmesh.addNode(3.9190611841096965, -0.8005994224359042, 27.2853946569254, 1147) + femmesh.addNode(3.9190611841096965, -0.8005994224359042, 28.1853946569254, 1148) + femmesh.addNode(3.682029651856204, -1.5629003944115185, 26.846313552673458, 1149) + femmesh.addNode(3.9183652579207697, -0.8039985730829998, 29.110851890847734, 1150) + femmesh.addNode(3.9183652579207697, -0.8039985730829998, 30.03585189084773, 1151) + femmesh.addNode(3.6781580985593423, -1.5719901405550618, 28.64624654777313, 1152) + femmesh.addNode(3.919216787310934, -0.799837342251638, 30.951437953541163, 1153) + femmesh.addNode(3.919216787310934, -0.799837342251638, 31.826437953541163, 1154) + femmesh.addNode(3.6784637039489714, -1.5712748896135311, 30.487289844388897, 1155) + femmesh.addNode(3.9195906737478037, -0.7980031016664275, 32.68484494938252, 1156) + femmesh.addNode(3.9195906737478037, -0.7980031016664275, 33.58484494938253, 1157) + femmesh.addNode(3.6808632220000974, -1.5656455348919374, 32.26128290292369, 1158) + femmesh.addNode(3.9187459863948986, -0.8021408193789134, 34.50214584217713, 1159) + femmesh.addNode(3.9187459863948986, -0.8021408193789134, 35.427145842177126, 1160) + femmesh.addNode(3.6799423398070954, -1.5678087816105255, 34.036990791559646, 1161) + femmesh.addNode(3.9196470793440303, -0.7977260014502551, 36.34078425074061, 1162) + femmesh.addNode(3.9196470793440303, -0.7977260014502551, 37.21578425074061, 1163) + femmesh.addNode(3.6800531679566677, -1.5675486215783205, 35.86793009291773, 1164) + femmesh.addNode(3.9212005321718846, -0.7900546731049235, 38.07174102451114, 1165) + femmesh.addNode(3.9212005321718846, -0.7900546731049235, 38.94674102451114, 1166) + femmesh.addNode(3.684868764537465, -1.55619477834111, 37.63752527525175, 1167) + femmesh.addNode(3.920177438758285, -0.7951156196746053, 39.83469817899344, 1168) + femmesh.addNode(3.920177438758285, -0.7951156196746053, 40.759698178993446, 1169) + femmesh.addNode(3.6859042620211735, -1.5537405739743522, 39.381439203504584, 1170) + femmesh.addNode(3.920496473297513, -0.7935410530412157, 41.66281179576575, 1171) + femmesh.addNode(3.920496473297513, -0.7935410530412157, 42.51281179576574, 1172) + femmesh.addNode(3.68452123430659, -1.5570174289146044, 41.17250997475919, 1173) + femmesh.addNode(3.9216223709207116, -0.7879581079563913, 43.410616658293335, 1174) + femmesh.addNode(3.9216223709207116, -0.7879581079563913, 44.33561665829333, 1175) + femmesh.addNode(3.6873573920148344, -1.5502888322998265, 42.973428454059075, 1176) + femmesh.addNode(3.9297367172436926, -0.7464377624067307, 45.18996139300988, 1177) + femmesh.addNode(3.9297367172436926, -0.7464377624067307, 46.014961393009884, 1178) + femmesh.addNode(3.705695433799577, -1.5059287340100003, 44.725578051303216, 1179) + femmesh.addNode(3.9279925773486957, -0.7555622491188616, 46.97316632834877, 1180) + femmesh.addNode(3.9279925773486957, -0.7555622491188616, 47.898166328348765, 1181) + femmesh.addNode(3.7179991154191767, -1.4752906756779225, 46.53812772135864, 1182) + femmesh.addNode(3.8952699899085155, -0.9093248625865865, 49.15, 1183) + femmesh.addNode(3.900906519636894, 0.884832371160988, 0.8999999999999999, 1184) + femmesh.addNode(3.319879056766324, 2.2312335262012226, 0.7553131899289663, 1185) + femmesh.addNode(2.7257272850839556, 2.9275263905469493, 0.7553131899289663, 1186) + femmesh.addNode(2.0732681449019132, 3.4207541857512913, 0.7986337619168702, 1187) + femmesh.addNode(1.2413405889918843, 3.8025088483948704, 0.7986337619168702, 1188) + femmesh.addNode(2.3519915938528215, 3.235449820727508, 1.5539469518458366, 1189) + femmesh.addNode(0.3720729191014232, 3.9826576231043695, 0.756727041236569, 1190) + femmesh.addNode(-0.5181406780677354, 3.966299312675672, 0.756727041236569, 1191) + femmesh.addNode(-1.3837744347206429, 3.7530212248019015, 0.7459794219473314, 1192) + femmesh.addNode(-2.2112052502490673, 3.3332523668739755, 0.7459794219473314, 1193) + femmesh.addNode(-0.967832555096569, 3.8811467564748496, 1.5027064631839004, 1194) + femmesh.addNode(-2.9249176270830683, 2.7285265024878815, 0.7535406442624768, 1195) + femmesh.addNode(-3.4686152106674286, 1.9921617706216908, 0.7535406442624768, 1196) + femmesh.addNode(-2.583375007377944, 3.0538784473608325, 1.4995200662098083, 1197) + femmesh.addNode(-3.822800044276128, 1.1773698745434396, 0.7542630508344568, 1198) + femmesh.addNode(-3.9885401484526866, 0.30256814799482673, 0.7542630508344568, 1199) + femmesh.addNode(-3.6657707482482293, 1.60066386892677, 1.5078036950969336, 1200) + femmesh.addNode(-3.957421679828723, -0.5820770121054482, 0.7560349137253253, 1201) + femmesh.addNode(-3.726070919505194, -1.4547836618610057, 0.7560349137253253, 1202) + femmesh.addNode(-3.3181908436407563, -2.2337433883905837, 0.7696659859512108, 1203) + femmesh.addNode(-2.7691926593258045, -2.8864462606353993, 0.7696659859512108, 1204) + femmesh.addNode(-3.557823628098317, -1.828083978198302, 1.525700899676536, 1205) + femmesh.addNode(-2.071532133032693, -3.421805754541456, 0.7760371956030514, 1206) + femmesh.addNode(-1.2989951718250035, -3.783201229590534, 0.7760371956030514, 1207) + femmesh.addNode(-2.438514853346783, -3.170748383269653, 1.5457031815542623, 1208) + femmesh.addNode(-0.4075856518906673, -3.979180058300059, 0.8099271105709318, 1209) + femmesh.addNode(0.5325971086739677, -3.9643839773452987, 0.8099271105709318, 1210) + femmesh.addNode(-0.8206315127167909, -3.9149155700137586, 1.5859643061739832, 1211) + femmesh.addNode(1.3880931553823463, -3.751426047782454, 0.7975973712628087, 1212) + femmesh.addNode(2.16245057284099, -3.3650865546103974, 0.7975973712628087, 1213) + femmesh.addNode(0.9620620972084282, -3.882581167356958, 1.6075244818337406, 1214) + femmesh.addNode(2.773605055902466, -2.88220661887247, 0.6106191890041915, 1215) + femmesh.addNode(3.328589257533622, -2.218218554297969, 0.6106191890041915, 1216) + femmesh.addNode(2.4486101659395403, -3.1629587817828955, 1.4082165602670003, 1217) + femmesh.addNode(3.6533850171935462, -1.6287350662847873, 48.74816632834876, 1218) + femmesh.addNode(3.920332912090687, 0.7943487007470665, 3.0864810416408, 1219) + femmesh.addNode(3.920332912090687, 0.7943487007470665, 2.1614810416408003, 1220) + femmesh.addNode(3.9223424618125056, 0.784365738837829, 6.743444858913238, 1221) + femmesh.addNode(3.9223424618125056, 0.784365738837829, 5.893444858913238, 1222) + femmesh.addNode(3.923027003299607, 0.7809347804920095, 10.409535104733333, 1223) + femmesh.addNode(3.923027003299607, 0.7809347804920095, 9.484535104733332, 1224) + femmesh.addNode(3.9255157500244984, 0.7683268160812808, 13.933399994009013, 1225) + femmesh.addNode(3.9255157500244984, 0.7683268160812808, 13.008399994009014, 1226) + femmesh.addNode(3.9185902211433477, 0.8029014128519955, 17.45127243551861, 1227) + femmesh.addNode(3.9185902211433477, 0.8029014128519955, 16.526272435518614, 1228) + femmesh.addNode(3.92491049571358, 0.7714127304092022, 21.018941473294447, 1229) + femmesh.addNode(3.92491049571358, 0.7714127304092022, 20.143941473294447, 1230) + femmesh.addNode(3.9255595483943706, 0.7681030087233006, 24.65683393656876, 1231) + femmesh.addNode(3.9255595483943706, 0.7681030087233006, 23.756833936568757, 1232) + femmesh.addNode(3.924626581925405, 0.7728558678333947, 28.236611813935994, 1233) + femmesh.addNode(3.924626581925405, 0.7728558678333947, 27.336611813935995, 1234) + femmesh.addNode(3.9315719834807332, 0.7367100777845869, 31.81701749062497, 1235) + femmesh.addNode(3.9315719834807332, 0.7367100777845869, 30.94201749062497, 1236) + femmesh.addNode(3.9202079016116738, 0.7949654131730487, 35.39808587221561, 1237) + femmesh.addNode(3.9202079016116738, 0.7949654131730487, 34.47308587221561, 1238) + femmesh.addNode(3.9224915083780885, 0.7836200397525508, 38.959918266910954, 1239) + femmesh.addNode(3.9224915083780885, 0.7836200397525508, 38.084918266910954, 1240) + femmesh.addNode(3.916524379865741, 0.812918680999074, 42.54351297685102, 1241) + femmesh.addNode(3.916524379865741, 0.812918680999074, 41.69351297685102, 1242) + femmesh.addNode(3.9199534222284798, 0.7962192961485115, 46.06008398976013, 1243) + femmesh.addNode(3.9199534222284798, 0.7962192961485115, 45.23508398976013, 1244) + femmesh.addNode(3.900906519636894, 0.884832371160988, 49.15, 1245) + femmesh.addNode(2.9076776850740096, 2.746891057126702, 49.253961569163266, 1246) + femmesh.addNode(3.4560014900144633, 2.0139646722367823, 49.253961569163266, 1247) + femmesh.addNode(-0.44654916973344755, 3.97499608037673, 49.169390546043275, 1248) + femmesh.addNode(0.4438146599008191, 3.9753023215419883, 49.169390546043275, 1249) + femmesh.addNode(-3.454333298025658, 2.01682459974862, 49.22187216253134, 1250) + femmesh.addNode(-2.905403019728173, 2.749296872466561, 49.22187216253134, 1251) + femmesh.addNode(-3.727211879584755, -1.451857983647946, 49.197119067732345, 1252) + femmesh.addNode(-3.957877432007905, -0.5789699760803776, 49.197119067732345, 1253) + femmesh.addNode(-1.3224727418448743, -3.7750583898897907, 49.179777724879614, 1254) + femmesh.addNode(-2.0927496739204243, -3.408870605098697, 49.179777724879614, 1255) + femmesh.addNode(2.057746173257787, -3.4301138008006284, 49.23644647415138, 1256) + femmesh.addNode(1.2718533100091463, -3.7924120501099003, 49.23644647415138, 1257) + femmesh.addNode(3.2765489851524787, -2.294390278025136, 49.12731864908973, 1258) + femmesh.addNode(2.7063999406715356, -2.9454030897541186, 49.12731864908973, 1259) + femmesh.addNode(2.274725321768004, -3.290231710762549, 48.36376512324111, 1260) + femmesh.addNode(3.3641740310633845, -2.163869933410679, 47.87548497743849, 1261) + femmesh.addNode(3.8158899701597067, 1.1995764817778616, 48.403961569163265, 1262) + femmesh.addNode(0.7999820625023858, 3.919187249886694, 1.5553608031534392, 1263) + femmesh.addNode(-3.99787149588846, -0.13047414442167704, 1.510297964559782, 1264) + femmesh.addNode(3.9125689664287533, 0.8317476077144066, 4.053542442657025, 1265) + femmesh.addNode(3.6694688145942824, 1.5921678990357873, 3.4900234842978257, 1266) + femmesh.addNode(3.9125689664287533, 0.8317476077144066, 4.953542442657025, 1267) + femmesh.addNode(3.673510266235239, 1.5828210018395334, 5.396987301570263, 1268) + femmesh.addNode(3.9224426718321714, 0.7838644565166205, 8.580536185998895, 1269) + femmesh.addNode(3.9224426718321714, 0.7838644565166205, 7.655536185998894, 1270) + femmesh.addNode(3.922775928781867, 0.7821949965127357, 12.149710204908025, 1271) + femmesh.addNode(3.922775928781867, 0.7821949965127357, 11.299710204908024, 1272) + femmesh.addNode(3.921515795525943, 0.7884883419813695, 15.642293864041754, 1273) + femmesh.addNode(3.921515795525943, 0.7884883419813695, 14.817293864041753, 1274) + femmesh.addNode(3.9209031652645283, 0.7915291331458384, 19.24918475933832, 1275) + femmesh.addNode(3.9209031652645283, 0.7915291331458384, 18.349184759338318, 1276) + femmesh.addNode(3.923184802534105, 0.7801416571145502, 22.8476419807783, 1277) + femmesh.addNode(3.923184802534105, 0.7801416571145502, 21.9226419807783, 1278) + femmesh.addNode(3.926044085876863, 0.7656225151804942, 26.435055955897035, 1279) + femmesh.addNode(3.926044085876863, 0.7656225151804942, 25.560055955897035, 1280) + femmesh.addNode(3.9244019789328854, 0.7739955476277974, 30.065360500233606, 1281) + femmesh.addNode(3.9244019789328854, 0.7739955476277974, 29.140360500233605, 1282) + femmesh.addNode(3.9310401254150684, 0.7395427860351848, 33.59465024844104, 1283) + femmesh.addNode(3.9310401254150684, 0.7395427860351848, 32.694650248441036, 1284) + femmesh.addNode(3.9203611108246115, 0.794209519417904, 37.17769290219539, 1285) + femmesh.addNode(3.9203611108246115, 0.794209519417904, 36.30269290219539, 1286) + femmesh.addNode(3.92000472411745, 0.7959666845395448, 40.80341208986151, 1287) + femmesh.addNode(3.92000472411745, 0.7959666845395448, 39.878412089861506, 1288) + femmesh.addNode(3.9143378753666593, 0.823382655555743, 44.37301947332597, 1289) + femmesh.addNode(3.9143378753666593, 0.823382655555743, 43.448019473325964, 1290) + femmesh.addNode(3.69464958405622, 1.5328289046834942, 19.693126232632764, 1291) + femmesh.addNode(3.9369304228129187, 0.7075159686749793, 47.75414268004703, 1292) + femmesh.addNode(3.9369304228129187, 0.7075159686749793, 46.829142680047035, 1293) + femmesh.addNode(1.358982973778071, 3.7620692812574985, 49.17104567396785, 1294) + femmesh.addNode(2.178637181693738, 3.3546296413377092, 49.17104567396785, 1295) + femmesh.addNode(-2.1934461564601406, 3.3449654645018736, 49.222710191496134, 1296) + femmesh.addNode(-1.3637945131507752, 3.760327715226406, 49.222710191496134, 1297) + femmesh.addNode(-3.9876548630501065, 0.31402021144002157, 49.20524991534495, 1298) + femmesh.addNode(-3.8194034012631985, 1.1883423994872477, 49.20524991534495, 1299) + femmesh.addNode(-2.772867585036519, -2.8829161201557256, 49.17591711015742, 1300) + femmesh.addNode(-3.3210338165137085, -2.229514384248819, 49.17591711015742, 1301) + femmesh.addNode(0.45434586279590156, -3.9741124590228, 49.21934799139072, 1302) + femmesh.addNode(-0.48594587856076554, -3.9703723506882582, 49.21934799139072, 1303) + femmesh.addNode(3.7041352819601934, 1.509762170985112, 26.92166776983303, 1304) + femmesh.addNode(3.6474966928777603, 1.641879372988711, 1.2614810416408004, 1305) + femmesh.addNode(3.9312453035968553, -0.7384513274059903, 1.6266101280266687, 1306) + femmesh.addNode(3.6945781546503276, 1.5330010630069966, 10.859245309641356, 1307) + femmesh.addNode(3.697038820498783, 1.5270572876368997, 14.350693858050768, 1308) + femmesh.addNode(3.6822232355355253, 1.5624442529838583, 17.900457194856934, 1309) + femmesh.addNode(3.6990845005673556, 1.5220952196437505, 21.491583454072746, 1310) + femmesh.addNode(3.705960722818686, 1.5052757624187014, 25.116889892465792, 1311) + femmesh.addNode(3.7009063310049353, 1.5176601494167223, 28.7269723141696, 1312) + femmesh.addNode(3.7275846498984784, 1.450900643683515, 32.261667739066006, 1313) + femmesh.addNode(3.6843153762689127, 1.5575044809529313, 35.800778774411, 1314) + femmesh.addNode(3.6881124495430146, 1.548491704700359, 39.43833035677246, 1315) + femmesh.addNode(3.6653141443984603, 1.6017091567674149, 43.04153245017698, 1316) + femmesh.addNode(3.7173115043471454, 1.477022403231706, 46.439226669807155, 1317) + femmesh.addNode(-0.8769592241424939, 3.90268401477642, 48.39210073753941, 1318) + femmesh.addNode(-3.649586855841066, 1.6372280786964664, 48.42712207787629, 1319) + femmesh.addNode(-3.561580137831317, -1.8207544924578538, 48.37303617788976, 1320) + femmesh.addNode(-0.9218430211784915, -3.892326482234566, 48.39912571627033, 1321) + femmesh.addNode(3.7003666019108774, 1.5189756454474657, 23.304475917347055, 1322) + femmesh.addNode(3.714714638047606, 1.483541424387887, 30.507377990858576, 1323) + femmesh.addNode(3.7056459061860685, 1.506050602724368, 34.01773612065665, 1324) + femmesh.addNode(3.6888061679517143, 1.5468384063247809, 37.612611169106344, 1325) + femmesh.addNode(3.6764344709698937, 1.5760169988500494, 41.24692506671252, 1326) + femmesh.addNode(3.6721072479587624, 1.586073251615046, 44.808103463086084, 1327) + femmesh.addNode(0.9914916164364107, 3.8751702381361666, 48.34043622001113, 1328) + femmesh.addNode(-2.545175296272813, 3.0857872109467626, 48.444582354027474, 1329) + femmesh.addNode(-3.998321862819382, -0.11585456961443542, 48.40236898307729, 1330) + femmesh.addNode(-2.4621836383175717, -3.1524041192717096, 48.355694835037035, 1331) + femmesh.addNode(0.7647368440449402, -3.92621669796258, 48.4557944655421, 1332) + femmesh.addNode(3.6834337611539, 1.5595883197791767, 16.118566299560367, 1333) + femmesh.addNode(3.692581755542052, 1.5378036216103719, 7.248981044912132, 1334) + femmesh.addNode(3.6994843252562077, 1.5211231794906093, 12.60811019891704, 1335) + femmesh.addNode(3.6939253758017783, 1.5345733341902212, 9.065071290732227, 1336) + femmesh.addNode(2.648918558813178, 2.997203774983462, 48.42500724313112, 1337) + femmesh.addNode(3.2401656188043177, -2.345490729616818, 4.840836391693812, 1338) + femmesh.addNode(3.231097713027379, -2.357966829467548, 5.70429696710876, 1339) + femmesh.addNode(3.3307780528285713, -2.2149305999952937, 6.7079488932831115, 1340) + femmesh.addNode(3.3417952840542724, -2.198273022049951, 7.653900772180468, 1341) + femmesh.addNode(2.7526807608307418, -2.902197207109174, 6.191182397934676, 1342) + femmesh.addNode(3.335743734148422, -2.2074450706845554, 8.549993400394495, 1343) + femmesh.addNode(3.333787351296922, -2.2103985831366826, 9.435997466223283, 1344) + femmesh.addNode(2.8688841297873315, -2.787382975095885, 8.090926952323056, 1345) + femmesh.addNode(3.3260509553653517, -2.2220227366778293, 10.321535088679024, 1346) + femmesh.addNode(3.3264780340593814, -2.2213833277758326, 11.190794865143452, 1347) + femmesh.addNode(2.8514408681102648, -2.805224585602832, 9.872557202992823, 1348) + femmesh.addNode(3.310735691578173, -2.2447782029658065, 12.055836790159123, 1349) + femmesh.addNode(3.307323259333803, -2.2498028487557815, 12.964575047204487, 1350) + femmesh.addNode(2.821714841276495, -2.835123516624975, 11.623136750464237, 1351) + femmesh.addNode(3.2978566020070366, -2.2636567391277773, 13.878958897772254, 1352) + femmesh.addNode(3.3003760873530696, -2.2599817879859216, 14.787094318426819, 1353) + femmesh.addNode(2.789657786961586, -2.8666721876846304, 13.402562526047676, 1354) + femmesh.addNode(3.307909764451085, -2.248940415006402, 15.696948679913959, 1355) + femmesh.addNode(3.2991552610788544, -2.261763595802116, 16.555079540438193, 1356) + femmesh.addNode(2.787210990403916, -2.8690512186037425, 15.226800738102582, 1357) + femmesh.addNode(3.2891110574700133, -2.2763454157110012, 17.418636735446974, 1358) + femmesh.addNode(3.2933038193480453, -2.2702753034527725, 18.345121178465995, 1359) + femmesh.addNode(2.7840966493292774, -2.8720734404247903, 17.000212294598505, 1360) + femmesh.addNode(3.3043942496316756, -2.2541026247713556, 19.26659057529165, 1361) + femmesh.addNode(3.307515474659839, -2.249520256607106, 20.142549903932604, 1362) + femmesh.addNode(2.7854631995852657, -2.8707481191766395, 18.785238886432943, 1363) + femmesh.addNode(3.307780863891977, -2.2491299999044183, 21.007616761915752, 1364) + femmesh.addNode(3.305795939540154, -2.2520464484818756, 21.888306185663268, 1365) + femmesh.addNode(2.7998406198047725, -2.8567275865387005, 20.57177514124175, 1366) + femmesh.addNode(3.2934860812157103, -2.2700108882642795, 22.80607742344526, 1367) + femmesh.addNode(3.292494968353715, -2.2714481907728974, 23.745405478031323, 1368) + femmesh.addNode(2.7845850098316385, -2.8715999587374514, 22.354613237006884, 1369) + femmesh.addNode(3.303051885211312, -2.2560692018646056, 24.66188257656871, 1370) + femmesh.addNode(3.3050476213463655, -2.2531445183637757, 25.53858823167988, 1371) + femmesh.addNode(2.782341697839943, -2.8737735951986796, 24.18886157332626, 1372) + femmesh.addNode(3.303761041786386, -2.255030593755777, 26.40256871099855, 1373) + femmesh.addNode(3.300142978021401, -2.260322172747956, 27.277044472175895, 1374) + femmesh.addNode(2.794079745753859, -2.8623623764939423, 25.96931915118232, 1375) + femmesh.addNode(3.2853158318507787, -2.2818194242732326, 28.1931316939226, 1376) + femmesh.addNode(3.2833353118663045, -2.284668297554767, 29.118588927844932, 1377) + femmesh.addNode(2.7736882877122744, -2.8821265209230065, 27.749386852247692, 1378) + femmesh.addNode(3.2853666348469868, -2.2817462774450155, 30.036162192851428, 1379) + femmesh.addNode(3.2877876906664216, -2.2782563729972005, 30.951748255544857, 1380) + femmesh.addNode(2.7573919631806096, -2.8977214430284675, 29.583047339000892, 1381) + femmesh.addNode(3.300710901229726, -2.2594927631004373, 31.828518991313306, 1382) + femmesh.addNode(3.3017679590659457, -2.25794781704217, 32.686925987154666, 1383) + femmesh.addNode(2.776415070871677, -2.8794998444585165, 31.377391339775837, 1384) + femmesh.addNode(3.2903667878062115, -2.2745299298320596, 33.56444940283673, 1385) + femmesh.addNode(3.287963587364344, -2.278002512765558, 34.48175029563132, 1386) + femmesh.addNode(2.778329282364532, -2.877652932296698, 33.13168549122634, 1387) + femmesh.addNode(3.287500694081709, -2.2786704865803395, 35.40843664645874, 1388) + femmesh.addNode(3.290065438534966, -2.274965804173268, 36.322075055022225, 1389) + femmesh.addNode(2.7632295472117447, -2.8921553328643976, 34.93589525773581, 1390) + femmesh.addNode(3.302480100182576, -2.256906109677158, 37.19611369589747, 1391) + femmesh.addNode(3.306889997029269, -2.2504396342821025, 38.052070469668, 1392) + femmesh.addNode(2.778448986120498, -2.877537355365865, 36.736620249438474, 1393) + femmesh.addNode(3.3004679783097033, -2.2598475886997913, 38.92561167204279, 1394) + femmesh.addNode(3.297548148691185, -2.2641060503128685, 39.8135688265251, 1395) + femmesh.addNode(2.7860104215940664, -2.870217052901967, 38.484200092688525, 1396) + femmesh.addNode(3.2831851242267436, -2.2848841196122445, 40.73076752437351, 1397) + femmesh.addNode(3.28410256168983, -2.283565274806546, 41.633881141145814, 1398) + femmesh.addNode(2.7595954342049023, -2.895623083123122, 40.274939992911726, 1399) + femmesh.addNode(3.2989646276757685, -2.2620416409394584, 42.54370905260852, 1400) + femmesh.addNode(3.302182058081027, -2.257342166196289, 43.44151391513611, 1401) + femmesh.addNode(2.7602447622967783, -2.895004119550299, 42.101966602222845, 1402) + femmesh.addNode(3.338673314873229, -2.2030116877931913, 44.28951793734086, 1403) + femmesh.addNode(3.361786304267303, -2.1675776443857298, 45.14386267205741, 1404) + femmesh.addNode(2.825814228818777, -2.8310376091117795, 43.859798535890306, 1405) + femmesh.addNode(3.4009679790693683, -2.1055680481392227, 46.02375404006709, 1406) + femmesh.addNode(3.3960687936122804, -2.113460846349615, 46.98195897540597, 1407) + femmesh.addNode(2.9316682507285643, -2.7212719944302, 47.36111129614693, 1408) + femmesh.addNode(2.922330909363144, -2.731296771898063, 45.587693926104734, 1409) + femmesh.addNode(-0.5596886648458436, 3.960650022211389, 2.2342559997737106, 1410) + femmesh.addNode(-1.4230391890873348, 3.738309707116528, 2.223508380484473, 1411) + femmesh.addNode(2.76890624279238, 2.8867210150316547, 2.4407682078642003, 1412) + femmesh.addNode(2.123844481846212, 3.3895847263243613, 2.4840887798521045, 1413) + femmesh.addNode(3.370609734389596, 2.1538314740104654, 2.016794231569767, 1414) + femmesh.addNode(-3.9862706413640967, 0.3311289383286739, 2.2687063356808648, 1415) + femmesh.addNode(-3.9614893823638893, -0.5537164196754257, 2.270478198571733, 1416) + femmesh.addNode(-2.2245795842700726, 3.3243413893956184, 2.2275395484831924, 1417) + femmesh.addNode(-2.9358565620876957, 2.716752886599482, 2.2351007707983377, 1418) + femmesh.addNode(-1.8674490273522204, 3.5373201905172857, 2.9590890850730025, 1419) + femmesh.addNode(-3.466940595978725, 1.9950746612482153, 2.2594987380987797, 1420) + femmesh.addNode(-3.8218097196474927, 1.1805805634550959, 2.2602211446707594, 1421) + femmesh.addNode(-3.221317344833952, 2.371310726976104, 2.9875182203721637, 1422) + femmesh.addNode(3.422230541351254, -2.070830297692861, 1.3372293170308605, 1423) + femmesh.addNode(-2.7846050342292665, -2.8715805409817476, 2.2746915638770804, 1424) + femmesh.addNode(-2.0898204525742803, -3.410667159955986, 2.2810627735289213, 1425) + femmesh.addNode(-1.286069496891075, -3.7876147176245816, 2.2899149825126095, 1426) + femmesh.addNode(-0.3939959852118067, -3.9805486008384543, 2.32380489748049, 1427) + femmesh.addNode(-1.7101308513875852, -3.615999512048138, 3.0189033648354275, 1428) + femmesh.addNode(0.6270740213377205, -3.950541503612301, 2.5201745014794894, 1429) + femmesh.addNode(1.4772430763177318, -3.717223815358893, 2.5078447621713664, 1430) + femmesh.addNode(0.14681241245831536, -3.9973048564686895, 3.2241251778181157, 1431) + femmesh.addNode(3.326726016109794, 2.2210119346231036, 13.044493437267139, 1432) + femmesh.addNode(3.3188560688083486, 2.232754889040441, 12.18580364816615, 1433) + femmesh.addNode(3.543543449282133, 1.8556130585468735, 47.8581042492103, 1434) + femmesh.addNode(3.2945245625547144, 2.2685034508952517, 5.925031462202856, 1435) + femmesh.addNode(3.2668469065610246, 2.3081835475309718, 4.985129045946644, 1436) + femmesh.addNode(3.3085711803446576, 2.2479672472242025, 14.802647876830424, 1437) + femmesh.addNode(3.320078911128536, 2.2309361317347385, 13.918754006797684, 1438) + femmesh.addNode(3.325343941640509, 2.2230806710047126, 9.560275614484649, 1439) + femmesh.addNode(3.323682717149304, 2.225563568115505, 8.656276695750211, 1440) + femmesh.addNode(3.3088775288946817, 2.247516295552899, 18.35476940245063, 1441) + femmesh.addNode(3.302342944169452, 2.2571067939054714, 17.45685707863092, 1442) + femmesh.addNode(3.3163973504069477, 2.2364052884514867, 7.764275415450135, 1443) + femmesh.addNode(3.3161115104148484, 2.2368291062336776, 6.852184088364478, 1444) + femmesh.addNode(2.781943081238152, 2.8741594758731077, 6.440325832740859, 1445) + femmesh.addNode(2.818640528864498, 2.8381799747448127, 8.259479739202558, 1446) + femmesh.addNode(3.3233613266803816, 2.226043461463682, 21.949678121075188, 1447) + femmesh.addNode(3.328304865267273, 2.2186452451525907, 21.045977613591333, 1448) + femmesh.addNode(-1.311392132494629, 3.7789218931900654, 47.63106438797706, 1449) + femmesh.addNode(-0.3912514029915771, 3.980819305074914, 47.5777447425242, 1450) + femmesh.addNode(3.3333696820911127, 2.2110283947782743, 25.59975061749898, 1451) + femmesh.addNode(3.331971992260828, 2.213134122187223, 24.6965285981707, 1452) + femmesh.addNode(3.3676908737818754, 2.158392498746757, 31.033515813663023, 1453) + femmesh.addNode(3.347051598543716, 2.190261536138083, 30.156858823271655, 1454) + femmesh.addNode(3.32496792722896, 2.2236430205630477, 29.225885830372828, 1455) + femmesh.addNode(3.3256135334275667, 2.222677355416979, 28.32213714407522, 1456) + femmesh.addNode(2.8451848058715816, 2.8115695652851076, 29.752023653177275, 1457) + femmesh.addNode(3.3286758635147207, 2.218088590578503, 34.36965189422335, 1458) + femmesh.addNode(3.359657931060569, 2.170875073849672, 33.49121627044878, 1459) + femmesh.addNode(3.2987046888693485, 2.2624206893571706, 36.191589715215635, 1460) + femmesh.addNode(3.298268396543484, 2.263056690487994, 35.286982685235856, 1461) + femmesh.addNode(3.28529304488221, 2.2818522321238452, 39.88864681147751, 1462) + femmesh.addNode(3.2924614999539443, 2.271496702907804, 38.970152988526955, 1463) + femmesh.addNode(3.276491672974185, 2.2944721216285955, 41.704398975232486, 1464) + femmesh.addNode(3.2863877763182145, 2.280275286816533, 40.81429808824298, 1465) + femmesh.addNode(3.2836851811381234, 2.2841654123933077, 45.34506809232653, 1466) + femmesh.addNode(3.2677669269835556, 2.3068808618809182, 44.48300357589237, 1467) + femmesh.addNode(3.382503687827475, 2.135103932325903, 47.041908615323536, 1468) + femmesh.addNode(3.333437501168037, 2.210926146619691, 46.272849925036624, 1469) + femmesh.addNode(2.8079113087060232, 2.8487951984024455, 45.9477500378429, 1470) + femmesh.addNode(3.085425147432303, 2.5456142008545504, 47.69172750443977, 1471) + femmesh.addNode(0.6471579416548067, 3.9473011791036563, 47.39717244278076, 1472) + femmesh.addNode(1.5501827399314028, 3.6874019950120394, 47.39882757070534, 1473) + femmesh.addNode(0.19797589810018837, 3.99509768888965, 46.63613609321842, 1474) + femmesh.addNode(3.319688667951259, 2.2315167818943227, 20.14754015724683, 1475) + femmesh.addNode(3.308202028528992, 2.2485104710533728, 19.252783443290703, 1476) + femmesh.addNode(2.800517420055192, 2.8560641064176786, 18.809183327064694, 1477) + femmesh.addNode(2.8107008658526142, 2.8460429797695195, 20.60563482424927, 1478) + femmesh.addNode(1.2156499824131268, 3.8107998006007824, 2.3672315714192402, 1479) + femmesh.addNode(0.3451863222480689, 3.9850779669829364, 2.325324850738939, 1480) + femmesh.addNode(1.7210555044008355, 3.610812644097113, 3.2540528274376044, 1481) + femmesh.addNode(-2.87508625262789, 2.7809852642454103, 47.664602382971935, 1482) + femmesh.addNode(-2.1566415167382536, 3.3688124566797906, 47.66544041193673, 1483) + femmesh.addNode(-3.8098393085635784, 1.218656819175848, 47.65486138878913, 1484) + femmesh.addNode(-3.43819697043454, 2.044211728881026, 47.67148363597553, 1485) + femmesh.addNode(-3.346465244330324, -2.1911573125837367, 47.592917039086316, 1486) + femmesh.addNode(-3.7436692498009174, -1.4088791815109754, 47.61411899666123, 1487) + femmesh.addNode(-0.5176207084017298, -3.9663672046639467, 47.64962233867952, 1488) + femmesh.addNode(-1.3525619878840769, -3.764382561447637, 47.610052072168415, 1489) + femmesh.addNode(1.1505271590983361, -3.830964272370223, 47.73504649628828, 1490) + femmesh.addNode(0.32765167114569416, -3.9865579617503912, 47.71794801352761, 1491) + femmesh.addNode(3.3351479463332625, 2.208345121594227, 23.773244424139193, 1492) + femmesh.addNode(3.3283578125447693, 2.218565814140342, 22.864052468348735, 1493) + femmesh.addNode(3.2993324697768545, 2.261505085971765, 16.56685734909113, 1494) + femmesh.addNode(3.307625138742484, 2.249359006819224, 15.68287877761427, 1495) + femmesh.addNode(2.7949606469090904, 2.861502224746561, 15.250938926361187, 1496) + femmesh.addNode(2.7975685007440045, 2.8589526899976754, 17.021169556684825, 1497) + femmesh.addNode(3.3230730925787735, 2.2264737189957904, 27.410529999419957, 1498) + femmesh.addNode(3.327170248029537, 2.2203464010435554, 26.508974141380996, 1499) + femmesh.addNode(2.818368669029532, 2.8384499371017102, 26.08861284708591, 1500) + femmesh.addNode(2.8136643833225365, 2.8431132123118505, 27.909443515623185, 1501) + femmesh.addNode(3.32402091568871, 2.225058415427332, 11.334914163349946, 1502) + femmesh.addNode(3.3247355350507, 2.223990472545045, 10.444739063175255, 1503) + femmesh.addNode(2.8271194935074098, 2.829734151723516, 10.03594446819324, 1504) + femmesh.addNode(2.8197786499255892, 2.837049235636178, 11.771297401700048, 1505) + femmesh.addNode(-3.7430503353781557, -1.4105226644139668, 2.2642814024542934, 1506) + femmesh.addNode(-3.344430599398244, -2.19426159921936, 2.277912474680179, 1507) + femmesh.addNode(-3.0938466868543073, -2.5353722957862868, 3.013272066654838, 1508) + femmesh.addNode(-3.880666209585632, -0.9697575829970505, 3.022689773575376, 1509) + femmesh.addNode(3.214456896037778, 2.3806022060636622, 2.9469360595760348, 1510) + femmesh.addNode(3.7629554021133544, -1.3565274201821074, 2.1685255523794615, 1511) + femmesh.addNode(3.3930324121563715, -2.118332138748859, 2.1898800095235766, 1512) + femmesh.addNode(3.445660407779466, -2.0316063482527924, 2.9051853058497, 1513) + femmesh.addNode(-1.7267910003801157, 3.608073286534829, 46.85108441692152, 1514) + femmesh.addNode(-3.925459065186989, 0.7686163721527713, 3.0204013786827106, 1515) + femmesh.addNode(2.9782357571792444, -2.670226914451087, 2.073889070501099, 1516) + femmesh.addNode(3.1915780531650264, 2.4111884062750755, 3.9139974605922596, 1517) + femmesh.addNode(2.804693163523944, 2.8519635794452305, 13.496447456046795, 1518) + femmesh.addNode(2.4042832707995103, -3.1967830632924734, 2.2608672527597165, 1519) + femmesh.addNode(2.1082722812059407, 3.3992922775628895, 46.665547832013985, 1520) + femmesh.addNode(2.3988029161503865, 3.200897463129427, 47.608811609244356, 1521) + femmesh.addNode(2.8280677048805765, 2.828786498944646, 22.41844662786732, 1522) + femmesh.addNode(2.122579515127726, -3.3903769999750986, 3.173517272405465, 1523) + femmesh.addNode(-0.13173388412610065, 3.9978301844591964, 3.0461267680395117, 1524) + femmesh.addNode(2.8303629895809443, 2.8264899340366343, 24.25610514917238, 1525) + femmesh.addNode(2.818217376859525, 2.8386001509136536, 34.76046283502799, 1526) + femmesh.addNode(3.446143162292502, 2.0307873608491445, 32.699257756197945, 1527) + femmesh.addNode(3.4476055542570236, 2.0283037105562176, 31.82162499838188, 1528) + femmesh.addNode(2.97728477140023, 2.6712872159294814, 31.47110583079496, 1529) + femmesh.addNode(3.297214735394517, 2.2645915721598153, 38.034118969773154, 1530) + femmesh.addNode(3.291087386754673, 2.2734871481370416, 37.12689360505759, 1531) + femmesh.addNode(2.7492859832928986, 2.9054133237921933, 40.34612071999747, 1532) + femmesh.addNode(2.7284430979947003, 2.9249954292280664, 44.09475025848182, 1533) + femmesh.addNode(3.2552851969679555, 2.3244608592964733, 43.55778562924138, 1534) + femmesh.addNode(3.261485673552711, 2.31575283681364, 42.65327913276643, 1535) + femmesh.addNode(2.6603704788477875, 2.987043507429243, 4.442041621224853, 1536) + femmesh.addNode(-3.1681572465341845, 2.441880353586747, 46.892341693884774, 1537) + femmesh.addNode(-3.9639812163314594, -0.5355865164204217, 47.62130479071356, 1538) + femmesh.addNode(-3.983976368204777, 0.35767624688518707, 47.629435638326164, 1539) + femmesh.addNode(-2.1203276331187864, -3.3917857727505263, 47.57785263519506, 1540) + femmesh.addNode(-2.7961575546723827, -2.8603326606268302, 47.573992020472865, 1541) + femmesh.addNode(-0.1215186901012221, -3.9981537249030437, 46.92887436942569, 1542) + femmesh.addNode(2.491200472265813, -3.1295239585250965, 47.717654994376915, 1543) + femmesh.addNode(1.809874677786114, -3.5671211993298755, 47.82678281943856, 1544) + femmesh.addNode(1.405981695078237, -3.7447583998310128, 47.088936367424076, 1545) + femmesh.addNode(2.5375926877469315, -3.092025768180677, 46.82412899234439, 1546) + femmesh.addNode(3.3648082083420916, -2.162883658700505, 3.710341037310558, 1547) + femmesh.addNode(2.7317166601559015, 2.9219384128736676, 42.220652154296886, 1548) + femmesh.addNode(2.7697590225747892, 2.885902797542833, 36.613097515882444, 1549) + femmesh.addNode(2.7864199876335656, -2.869819445978468, 4.05703511737707, 1550) + femmesh.addNode(2.9692831514597517, 2.680178644504363, 33.051173529764654, 1551) + femmesh.addNode(2.7539770166802366, 2.9009671820958305, 38.4844354244782, 1552) + femmesh.addNode(-1.7611364791333182, -3.5914340174735075, 46.828349257604245, 1553) + femmesh.addNode(-3.8839830218816385, -0.9563868912397204, 46.84118565191011, 1554) + femmesh.addNode(-3.9168506453647076, 0.8113451928162713, 46.8737971964254, 1555) + femmesh.addNode(-3.0999503841905742, -2.527905776637395, 46.81507483924434, 1556) + femmesh.addNode(-3.415994047171723, 2.081101792245481, 46.1260360089681, 1557) + femmesh.addNode(-2.8449853777253296, 2.811771363487626, 46.11915475596451, 1558) + femmesh.addNode(2.0098119313837333, 3.4584181355740644, 42.75224094220713, 1559) + femmesh.addNode(2.0322829846455495, 3.445261364587624, 41.80336078467319, 1560) + femmesh.addNode(2.2780938553263588, -3.2879003005450587, 7.673032727248169, 1561) + femmesh.addNode(2.2690529722031627, -3.2941461123234945, 8.569125355462196, 1562) + femmesh.addNode(2.2427635010893283, -3.312100825485471, 9.401097081081382, 1563) + femmesh.addNode(2.2311879184410874, -3.319909708501502, 10.286634703537121, 1564) + femmesh.addNode(1.5626079588514141, -3.682153767421211, 8.983202856006496, 1565) + femmesh.addNode(2.207968953539624, -3.3353969928938203, 11.181855798238786, 1566) + femmesh.addNode(2.184401142662732, -3.3508792350566368, 12.046897723254457, 1567) + femmesh.addNode(1.5074372755317031, -3.7050820315260977, 10.710395676327343, 1568) + femmesh.addNode(2.167439047846536, -3.3618756630592546, 12.952531130178066, 1569) + femmesh.addNode(2.153317454448559, -3.370938139504666, 13.866914980745833, 1570) + femmesh.addNode(1.4627525523436973, -3.7229497674037986, 12.511250177952613, 1571) + femmesh.addNode(2.1473463159889032, -3.374744997656695, 14.736609700181324, 1572) + femmesh.addNode(2.158611597235647, -3.36755044094068, 15.646464061668464, 1573) + femmesh.addNode(1.4373131395244538, -3.7328448854660916, 14.286578304311714, 1574) + femmesh.addNode(2.162167874873155, -3.3652682034076427, 16.570300425324618, 1575) + femmesh.addNode(2.1472500577997624, -3.3748062447018965, 17.4338576203334, 1576) + femmesh.addNode(1.4346476818985852, -3.733870114080432, 16.080109387403358, 1577) + femmesh.addNode(2.130275574776475, -3.3855466287603777, 18.29753061946549, 1578) + femmesh.addNode(2.1468475904262143, -3.3750622843854536, 19.219000016291147, 1579) + femmesh.addNode(1.4198302911780185, -3.7395296421145456, 17.867618750191603, 1580) + femmesh.addNode(2.159378391180769, -3.3670588001550485, 20.130659679859043, 1581) + femmesh.addNode(2.1597756424833756, -3.3668039999583463, 20.99572653784219, 1582) + femmesh.addNode(1.414950496621498, -3.741378768864571, 19.64295141289159, 1583) + femmesh.addNode(2.1487801532091457, -3.3738322206616145, 21.91206493294787, 1584) + femmesh.addNode(2.1303800798982366, -3.3854808691193017, 22.82983617072986, 1585) + femmesh.addNode(1.4166516256050814, -3.740734977470401, 21.470949471565167, 1586) + femmesh.addNode(2.1206936801024785, -3.3915569161040784, 23.701359960328443, 1587) + femmesh.addNode(2.136486877263929, -3.381630349887318, 24.61783705886583, 1588) + femmesh.addNode(1.393728050047158, -3.7493362242551345, 23.25881165626943, 1589) + femmesh.addNode(2.1547309886287844, -3.370034772319541, 25.53514403914065, 1590) + femmesh.addNode(2.1528071021088513, -3.371264092459932, 26.39912451845932, 1591) + femmesh.addNode(1.4032682997046753, -3.7457760316180075, 25.047642426142833, 1592) + femmesh.addNode(2.133145976764241, -3.3837387963338026, 27.315070835198348, 1593) + femmesh.addNode(2.1110093262994396, -3.3975932105354794, 28.231158056945052, 1594) + femmesh.addNode(1.401706670992493, -3.7463606885209466, 26.88089572315668, 1595) + femmesh.addNode(2.1107780575209163, -3.397736892681396, 29.109328167991354, 1596) + femmesh.addNode(2.113800118801839, -3.3958576321385046, 30.02690143299785, 1597) + femmesh.addNode(1.3796192185292635, -3.7545506804229856, 28.67501215094201, 1598) + femmesh.addNode(2.1336076198458596, -3.3834477274720363, 30.904521288448407, 1599) + femmesh.addNode(2.1528445260036047, -3.371240194180224, 31.78129202421686, 1600) + femmesh.addNode(1.4012802552313708, -3.7465202049767066, 30.430802117438873, 1601) + femmesh.addNode(2.1525243610565132, -3.3714446273160488, 32.70698806224598, 1602) + femmesh.addNode(2.135535902084473, -3.3822309813063116, 33.58451147792803, 1603) + femmesh.addNode(1.4227939902862596, -3.7384030362181795, 32.23411801091855, 1604) + femmesh.addNode(2.116131415072443, -3.394405372689523, 34.46366777145007, 1605) + femmesh.addNode(2.11544172461748, -3.3948352404420783, 35.390354122277486, 1606) + femmesh.addNode(1.4010056559719848, -3.7466228996170017, 34.03897034246971, 1607) + femmesh.addNode(2.1314480006928025, -3.384808623887421, 36.265198592509606, 1608) + femmesh.addNode(2.1499606381538943, -3.3730800841943998, 37.139237233384854, 1609) + femmesh.addNode(1.3972395616650983, -3.748029029679189, 35.79297110622386, 1610) + femmesh.addNode(2.1400117399094087, -3.3794007979299976, 38.04013238072452, 1611) + femmesh.addNode(2.1303794932413496, -3.385481238284556, 38.91367358309931, 1612) + femmesh.addNode(1.4038905509008959, -3.745542860666686, 37.56871072379565, 1613) + femmesh.addNode(2.0870723567726004, -3.412349480577226, 39.84735245762141, 1614) + femmesh.addNode(2.0654825901159364, -3.4254607967291, 40.76455115546983, 1615) + femmesh.addNode(1.344960047631262, -3.767105317120257, 39.403284745657416, 1616) + femmesh.addNode(2.0389126691670576, -3.441342053256268, 41.6708534397693, 1617) + femmesh.addNode(2.061372082269803, -3.42793598808943, 42.580681351232016, 1618) + femmesh.addNode(1.2675334347171552, -3.7938580616404365, 41.243265904478996, 1619) + femmesh.addNode(2.1392138533243323, -3.3799059291266174, 43.51461504969556, 1620) + femmesh.addNode(2.1942274947462117, -3.3444529748973544, 44.36261907190031, 1621) + femmesh.addNode(1.3247821447706514, -3.774248570099335, 43.08350188724202, 1622) + femmesh.addNode(-2.142218033607989, 3.3780026489753854, 46.09240721076742, 1623) + femmesh.addNode(-1.2952229022480488, 3.7844943695944564, 46.05803118680776, 1624) + femmesh.addNode(-2.934683814446287, 2.71801966682123, 3.702654107263721, 1625) + femmesh.addNode(-3.466079254929388, 1.9965707096289225, 3.727052074564163, 1626) + femmesh.addNode(-2.13515172836496, -3.382473517540104, 3.7929512118644433, 1627) + femmesh.addNode(-1.3365029418914336, -3.770114041553059, 3.8018034208481315, 1628) + femmesh.addNode(-0.5760853361144707, -3.9582983320505134, 3.7370517006030872, 1629) + femmesh.addNode(0.44528669195804904, -3.9751377035223645, 3.9334213046020867, 1630) + femmesh.addNode(-1.0508638283245408, -3.8594928700956412, 4.511099547632103, 1631) + femmesh.addNode(2.032517306825015, 3.445123132408592, 45.73776599930389, 1632) + femmesh.addNode(2.210930248317467, 3.3334347806841618, 22.88477274984077, 1633) + femmesh.addNode(2.2034299907191834, 3.338397261561191, 21.97039840256722, 1634) + femmesh.addNode(-3.814560392412824, 1.2037977457344402, 3.7763306433226296, 1635) + femmesh.addNode(-3.984183474091802, 0.35536185047607477, 3.7848158343327345, 1636) + femmesh.addNode(-3.6552691858251056, 1.624502132703269, 4.491466530214186, 1637) + femmesh.addNode(2.1047969932300012, 3.4014452247963582, 38.9140150511908, 1638) + femmesh.addNode(2.111920914875676, 3.3970266483074116, 37.977981032437, 1639) + femmesh.addNode(2.1758997568645815, 3.356405852705637, 13.950236217251792, 1640) + femmesh.addNode(2.185912783524438, 3.349893327081393, 13.075975647721247, 1641) + femmesh.addNode(2.4420577382448894, 3.1680205180961587, 32.24781859000886, 1642) + femmesh.addNode(2.3193820686728968, 3.258905770272997, 31.45970940529, 1643) + femmesh.addNode(-1.3623560096441103, -3.760849119944401, 46.01962522491442, 1644) + femmesh.addNode(-2.1291491927433412, -3.386255116650306, 45.98742578794106, 1645) + femmesh.addNode(2.0717898331539626, 3.4216497318164927, 40.801622827054786, 1646) + femmesh.addNode(2.070147471542212, 3.4226436341032334, 39.875971550289314, 1647) + femmesh.addNode(1.3368875601692147, 3.7699776725419483, 39.369517158248115, 1648) + femmesh.addNode(1.2549177488160652, 3.7980496894730615, 41.33321161496503, 1649) + femmesh.addNode(2.0713524124393623, 3.4219145494125995, 44.60970943165172, 1650) + femmesh.addNode(2.052877947131243, 3.4330295853927932, 43.684491485000734, 1651) + femmesh.addNode(2.1198088375346056, 3.3921100354071925, 36.99963465225804, 1652) + femmesh.addNode(2.1311898172647283, 3.3849711908356226, 36.064330762416084, 1653) + femmesh.addNode(1.3838265327921566, 3.7530020153392454, 37.42921427897065, 1654) + femmesh.addNode(-2.827125133049138, -2.8297285173814632, 46.01977552814404, 1655) + femmesh.addNode(-3.370116602176377, -2.1546030000292746, 46.03870054675749, 1656) + femmesh.addNode(-2.5044769805557445, -3.1189092731059653, 45.211051495454214, 1657) + femmesh.addNode(2.309626156095258, 3.265827156951305, 33.0397771042597, 1658) + femmesh.addNode(-3.9785697743785406, 0.4135003632422706, 46.08741142051183, 1659) + femmesh.addNode(-3.7923780359542194, 1.2719547289160946, 46.1128371709748, 1660) + femmesh.addNode(-3.7565896990450574, -1.3740574343995104, 46.05057803025673, 1661) + femmesh.addNode(-3.968783402520184, -0.49875675823021137, 46.05776382430905, 1662) + femmesh.addNode(-3.999935910031697, -0.022643225011047367, 45.29680379885845, 1663) + femmesh.addNode(-3.5975779897247158, -1.7485515742603284, 45.25527871915642, 1664) + femmesh.addNode(0.39711247275295375, -3.9802388978532477, 46.1589321183489, 1665) + femmesh.addNode(-0.44838345705912264, -3.9747895888255154, 46.09060644350081, 1666) + femmesh.addNode(1.9320135335654398, -3.5024739408195433, 4.30401262678872, 1667) + femmesh.addNode(2.1651731090765187, 3.3633354586974997, 35.08729074584584, 1668) + femmesh.addNode(2.210616435599049, 3.333642898490982, 34.169959954833345, 1669) + femmesh.addNode(1.4302384468330789, 3.73556126776158, 35.47382788222144, 1670) + femmesh.addNode(2.2142139065777005, 3.3312545348438802, 24.723760409577423, 1671) + femmesh.addNode(2.218997307832442, 3.3280701536825172, 23.800476235545908, 1672) + femmesh.addNode(0.22935917292253896, 3.9934188823358223, 3.777577428012293, 1673) + femmesh.addNode(-0.6744253683037331, 3.942733876714021, 3.6865085770470647, 1674) + femmesh.addNode(-0.4738478312745503, 3.9718343662338698, 46.02261355832988, 1675) + femmesh.addNode(0.5650336771077596, 3.959891026749863, 45.842041258586434, 1676) + femmesh.addNode(-0.9412143414491829, 3.887687688517479, 45.263936352175776, 1677) + femmesh.addNode(2.2551515747714306, 3.3036784611711134, 30.33357462428518, 1678) + femmesh.addNode(2.221981538750141, 3.3260784779456958, 29.402601631386354, 1679) + femmesh.addNode(1.9751920033141008, 3.4783065635512966, 4.1012929220374525, 1680) + femmesh.addNode(1.0496225692365946, 3.859830626096069, 3.9844357136045883, 1681) + femmesh.addNode(0.5147215693478794, 3.966744471988088, 4.624817522612141, 1682) + femmesh.addNode(2.085109611756586, 3.4135491657452803, 5.1724245073918365, 1683) + femmesh.addNode(1.2631933197056233, 3.7953053417414373, 45.327507225822806, 1684) + femmesh.addNode(1.2586844890583815, 3.796803044273411, 43.26720011537704, 1685) + femmesh.addNode(-2.4984796776946347, 3.1237156240840673, 45.326101525850746, 1686) + femmesh.addNode(2.3389860777990563, -3.2448642695592347, 45.231067816008064, 1687) + femmesh.addNode(2.3980939507902232, -3.2014286503346185, 46.110959184017744, 1688) + femmesh.addNode(1.8917520343782581, -3.5243828169518876, 46.467502882247715, 1689) + femmesh.addNode(1.5737508577077608, -3.677405095697792, 44.885884329813315, 1690) + femmesh.addNode(-0.8640043563312985, -3.9055724896922013, 45.24968297383762, 1691) + femmesh.addNode(-3.966568625310894, -0.5160749370965867, 3.827767208333497, 1692) + femmesh.addNode(-3.7562752725805386, -1.3749167526072268, 3.821570412216057, 1693) + femmesh.addNode(-3.9994187479217187, -0.06818855308827522, 4.583696472973416, 1694) + femmesh.addNode(2.203197113008138, 3.3385509553146866, 28.421114115701833, 1695) + femmesh.addNode(2.199383089064832, 3.3410648044501676, 27.509506971046573, 1696) + femmesh.addNode(1.5242525186470286, 3.6981960817942294, 29.002665086809742, 1697) + femmesh.addNode(-3.3577693833677404, -2.173795015202267, 3.8206709168637065, 1698) + femmesh.addNode(-2.8020908934962843, -2.854520384335203, 3.8174500060606085, 1699) + femmesh.addNode(-2.4997313934098706, -3.122714037628349, 4.600350062073312, 1700) + femmesh.addNode(-3.5859131614705424, -1.7723506420548782, 4.625748351621828, 1701) + femmesh.addNode(1.5066169601514956, 3.7054156764638253, 23.35242801024581, 1702) + femmesh.addNode(-1.4790857893824525, 3.716490983124658, 3.6264732352680635, 1703) + femmesh.addNode(-2.2743113462213995, 3.29051787724191, 3.630504403266783, 1704) + femmesh.addNode(2.2005642480865637, -3.3402869622299245, 5.887488885922846, 1705) + femmesh.addNode(2.3440284784571466, -3.2412236103332757, 6.8911408120971975, 1706) + femmesh.addNode(2.1928151931612927, 3.3453791307774075, 26.581784018921404, 1707) + femmesh.addNode(2.2021668727692782, 3.3392306096580957, 25.672560495039384, 1708) + femmesh.addNode(1.5022062814039088, 3.7072059948309644, 25.216931581412915, 1709) + femmesh.addNode(1.4960966340328892, 3.7096758432018637, 27.09345461900005, 1710) + femmesh.addNode(2.1633571921125263, 3.364503776091655, 19.263289260985317, 1711) + femmesh.addNode(2.1643680864137944, 3.363853561990101, 18.36527522014524, 1712) + femmesh.addNode(2.2040313973865144, 3.3380002395647677, 10.511837995322903, 1713) + femmesh.addNode(2.2049446626704383, 3.3373970447882204, 9.627374546632296, 1714) + femmesh.addNode(1.6169940964097405, 3.658596738119145, 31.110287383499077, 1715) + femmesh.addNode(1.5787514489264682, 3.675261060457145, 33.36660501507755, 1716) + femmesh.addNode(-2.6276983572452406, 3.015825151319397, 4.370038257458782, 1717) + femmesh.addNode(2.1513813500655248, 3.3721741186644323, 6.0832861257151345, 1718) + femmesh.addNode(1.3967855699950118, 3.748198243350225, 5.7425374265277345, 1719) + femmesh.addNode(2.1835968448627363, 3.351403410379822, 7.010438751876756, 1720) + femmesh.addNode(2.1799732532511866, 3.353761562053784, 21.06486849732309, 1721) + femmesh.addNode(2.1669701627295495, 3.3621779122824345, 20.16643104097859, 1722) + femmesh.addNode(1.4414829145931607, 3.731236659197056, 19.722522934059135, 1723) + femmesh.addNode(1.4716003174867007, 3.719461319273672, 21.531194619296542, 1724) + femmesh.addNode(1.6656471853355659, -3.636704477130869, 7.369339215236339, 1725) + femmesh.addNode(-3.6078904099087783, 1.7271730631550124, 45.33965023305453, 1726) + femmesh.addNode(1.0220180695167356, -3.8672314471183755, 4.417464470501676, 1727) + femmesh.addNode(1.8103426181434081, -3.5668837386342815, 5.300982315473281, 1728) + femmesh.addNode(2.1758914328395305, 3.356411249012185, 17.469585765438357, 1729) + femmesh.addNode(2.171417160621494, 3.3593075945138593, 16.579586035898565, 1730) + femmesh.addNode(1.2386720494046206, -3.803378965344337, 46.37576655909743, 1731) + femmesh.addNode(-1.1378753639319052, 3.8347411459128287, 4.357923895240845, 1732) + femmesh.addNode(0.609784786471139, 3.953247084889629, 44.71398469093427, 1733) + femmesh.addNode(2.1649355478524352, 3.363488378699245, 14.818924827346486, 1734) + femmesh.addNode(1.4576998071331209, 3.7249310426213347, 14.398453019020938, 1735) + femmesh.addNode(2.163520293344009, 3.3643988973200925, 15.699155728130332, 1736) + femmesh.addNode(2.1929503882449835, 3.345290509760875, 12.220250202741774, 1737) + femmesh.addNode(2.2006962341294027, 3.340200006749396, 11.369360717925572, 1738) + femmesh.addNode(1.489184695442745, 3.7124559179684677, 10.960790796364627, 1739) + femmesh.addNode(1.4776648233851488, 3.7170561832894236, 12.67403896394677, 1740) + femmesh.addNode(2.1982006406782237, 3.3418428962657485, 8.76820568333995, 1741) + femmesh.addNode(2.187276030841542, 3.349003368900376, 7.876204403039873, 1742) + femmesh.addNode(1.473809209368158, 3.718586615151193, 7.5191646960141485, 1743) + femmesh.addNode(1.4853950754762908, 3.713973811128827, 9.244099210469612, 1744) + femmesh.addNode(1.4502667477342666, 3.727831321347074, 17.92369169935898, 1745) + femmesh.addNode(0.9231861855432415, -3.8920081277949716, 45.53749863317255, 1746) + femmesh.addNode(-0.3023424205234274, -3.9885572655726076, 44.33176729324316, 1747) + femmesh.addNode(-1.223544732771406, -3.8082723493609736, 44.260786074656764, 1748) + femmesh.addNode(-1.3391888729576111, -3.769160803487498, 5.265243056102772, 1749) + femmesh.addNode(-0.5789055447102609, -3.9578868566829595, 5.200491335857729, 1750) + femmesh.addNode(0.7514619377166075, -3.928779066855656, 10.258228559675782, 1751) + femmesh.addNode(0.7240306113192243, -3.933926749937359, 11.153449654377445, 1752) + femmesh.addNode(0.6903107127540202, -3.9399836446179615, 12.012203381095256, 1753) + femmesh.addNode(0.6703905645013952, -3.9434219265794397, 12.917836788018864, 1754) + femmesh.addNode(-0.09586592357685114, -3.9988510505764974, 11.560036264443696, 1755) + femmesh.addNode(0.6519779656271676, -3.9465079161629286, 13.818203102116346, 1756) + femmesh.addNode(0.6449902158916355, -3.9476559654311396, 14.687897821551838, 1757) + femmesh.addNode(-0.14876988341361808, -3.9972324828297263, 13.31915630525899, 1758) + femmesh.addNode(0.6303685440263207, -3.95001715169721, 15.5895121650133, 1759) + femmesh.addNode(0.6345409925611817, -3.9493490259483868, 16.513348528669454, 1760) + femmesh.addNode(-0.18222165273002916, -3.9958472529960822, 15.121136962817932, 1761) + femmesh.addNode(0.6337073472006408, -3.949482877302284, 17.406726603640102, 1762) + femmesh.addNode(0.6138660703539415, -3.9526153933399857, 18.270399602772194, 1763) + femmesh.addNode(-0.19785938845547224, -3.9951034607879716, 16.916129381250045, 1764) + femmesh.addNode(0.5982238915846124, -3.9550130436621016, 19.163275048296107, 1765) + femmesh.addNode(0.6129211586016325, -3.952762028422459, 20.074934711864003, 1766) + femmesh.addNode(-0.21450641901299775, -3.994244233419161, 18.702382901744606, 1767) + femmesh.addNode(0.5980979415547516, -3.955032092449816, 20.99520218682386, 1768) + femmesh.addNode(0.5851917044180186, -3.9569623032169936, 21.911540581929543, 1769) + femmesh.addNode(-0.2452763168607501, -3.992472858816604, 20.515525822228376, 1770) + femmesh.addNode(0.5932198681931995, -3.9557667003984, 22.806541634598325, 1771) + femmesh.addNode(0.581909536554083, -3.9574463093347725, 23.67806542419691, 1772) + femmesh.addNode(-0.2521423402307921, -3.9920451200184273, 22.330794349857022, 1773) + femmesh.addNode(0.5823680529468869, -3.9573788611790572, 24.579955962726203, 1774) + femmesh.addNode(0.603746371469357, -3.9541737846151355, 25.497262943001022, 1775) + femmesh.addNode(-0.24357867442498235, -3.992576790666069, 24.1276859410551, 1776) + femmesh.addNode(0.6053863152316081, -3.9539230403904293, 26.400838398902536, 1777) + femmesh.addNode(0.5823596599998041, -3.9573800962764385, 27.316784715641568, 1778) + femmesh.addNode(-0.24146012621886662, -3.9927054746683193, 25.93315193548591, 1779) + femmesh.addNode(0.5900799636971947, -3.956236296841117, 28.217240809249024, 1780) + femmesh.addNode(0.5898106732976338, -3.956276452633738, 29.095410920295325, 1781) + femmesh.addNode(-0.2320131404792191, -3.9932655687601057, 27.73718348499488, 1782) + femmesh.addNode(0.5879918635186089, -3.956547177582483, 29.982030800860038, 1783) + femmesh.addNode(0.6111017872548867, -3.953043714103587, 30.8596506563106, 1784) + femmesh.addNode(-0.22605720168437105, -3.993607159144053, 29.524259459167055, 1785) + femmesh.addNode(0.6020852451628352, -3.9544270580650758, 31.76297801589294, 1786) + femmesh.addNode(0.6017097039315065, -3.9544842182255144, 32.68867405392206, 1787) + femmesh.addNode(-0.2369997143815126, -3.9929727190882587, 31.314206699314106, 1788) + femmesh.addNode(0.6075611145976616, -3.953589444040548, 33.58610630827422, 1789) + femmesh.addNode(0.5849096102303464, -3.957004011605268, 34.465262601796255, 1790) + femmesh.addNode(-0.2401966282914964, -3.9927816844597697, 33.1149663132486, 1791) + femmesh.addNode(0.5831220100947825, -3.957267835431792, 35.35685727174986, 1792) + femmesh.addNode(0.6018010834463294, -3.9544703129449363, 36.23170174198198, 1793) + femmesh.addNode(-0.2360914583751964, -3.993026524239762, 34.903993237554374, 1794) + femmesh.addNode(0.5900683353195457, -3.9562380312176897, 37.122165423750204, 1795) + femmesh.addNode(0.5784077992033453, -3.957959628119107, 38.02306057108987, 1796) + femmesh.addNode(-0.24973835279485843, -3.992196232043624, 36.686051589276204, 1797) + femmesh.addNode(0.5728780285997558, -3.958763792441734, 38.9234962152154, 1798) + femmesh.addNode(0.5223931540910064, -3.965741468194674, 39.8571750897375, 1799) + femmesh.addNode(-0.2671549801186756, -3.9910685557376473, 38.47695091516995, 1800) + femmesh.addNode(0.49491608734473774, -3.969264171919951, 40.79171052671096, 1801) + femmesh.addNode(0.4641849482396012, -3.9729752495866117, 41.698012811010436, 1802) + femmesh.addNode(-0.3003609668271754, -3.9887069696339745, 40.31192199626894, 1803) + femmesh.addNode(0.7513734650215064, -3.928795988093754, 44.669049889064794, 1804) + femmesh.addNode(0.3082310699016219, -3.9881065190823706, 4.930390993286648, 1805) + femmesh.addNode(-3.425649021606078, 2.0651703999353948, 5.250900962857116, 1806) + femmesh.addNode(-3.789841939363054, 1.2794913343375511, 5.3001795316155835, 1807) + femmesh.addNode(-0.41571398787471464, 3.9783390856342677, 44.33096050108246, 1808) + femmesh.addNode(0.3015095691016576, 3.988620310300309, 43.81642646831884, 1809) + femmesh.addNode(-3.7481979761876474, 1.3967862869110736, 44.54396756194862, 1810) + femmesh.addNode(-3.345237287136075, 2.1930315758680887, 44.55716639994193, 1811) + femmesh.addNode(0.2516366176916489, 3.992077029897683, 42.884175925525234, 1812) + femmesh.addNode(0.6409958537387676, 3.9483065123530756, 18.379295073226483, 1813) + femmesh.addNode(0.6545324942360368, 3.9460850490060593, 17.4836056185196, 1814) + femmesh.addNode(0.8315205638208455, 3.912617225329238, 31.686415061018742, 1815) + femmesh.addNode(0.7547800785426861, 3.928142949669105, 30.56028028001392, 1816) + femmesh.addNode(1.3219541916399853, -3.775240007629379, 6.000940729635802, 1817) + femmesh.addNode(0.6010227984561255, 3.954588675922689, 37.84691400841464, 1818) + femmesh.addNode(0.6102103994365452, 3.9531814110181553, 36.86856762823568, 1819) + femmesh.addNode(-2.1533772951150323, -3.3708999132105757, 44.415830808867156, 1820) + femmesh.addNode(-2.8473444349370713, -2.8093824354887835, 44.44818054907014, 1821) + femmesh.addNode(-1.6544268836618468, -3.641822577586249, 43.497915128272695, 1822) + femmesh.addNode(1.0174016226423166, -3.86844851823632, 6.85807182742111, 1823) + femmesh.addNode(0.9390707314482785, -3.888206033807519, 7.639963742572082, 1824) + femmesh.addNode(-0.809009050953047, 3.9173338325289624, 4.952265654128084, 1825) + femmesh.addNode(-1.6054523936156675, 3.6636761062945675, 4.892230312349083, 1826) + femmesh.addNode(0.8394962102971832, -3.910913718416282, 8.506986188604966, 1827) + femmesh.addNode(0.8083432571833221, -3.917471273483222, 9.338957914224151, 1828) + femmesh.addNode(-0.0036205267535256995, -3.999998361472918, 9.782011892274253, 1829) + femmesh.addNode(0.15646814380201254, -3.9969385434323548, 7.995718800789739, 1830) + femmesh.addNode(0.0063206899934599966, -3.9999950061066336, 5.684534501757318, 1831) + femmesh.addNode(-2.810535093029839, 2.846206684492142, 44.65698613107794, 1832) + femmesh.addNode(-2.1009247749467495, 3.4038382878766362, 44.63023858588086, 1833) + femmesh.addNode(1.4542937008050847, 3.7262621796914197, 16.147571936883864, 1834) + femmesh.addNode(0.6181719372431103, 3.9519442627654935, 35.89934735357571, 1835) + femmesh.addNode(0.6579421755778917, 3.945517975322864, 34.92230733700547, 1836) + femmesh.addNode(-1.2397408429056425, 3.803030718049962, 44.366378129560346, 1837) + femmesh.addNode(0.7214912165196401, 3.9343932727277036, 23.831122290441762, 1838) + femmesh.addNode(0.7119600409599932, 3.9361291772598426, 22.91541880473662, 1839) + femmesh.addNode(0.696174221489805, 3.9389518216567545, 33.87041794530168, 1840) + femmesh.addNode(0.8140239528243717, 3.916294805581953, 32.74023509472803, 1841) + femmesh.addNode(0.6958182049419094, 3.939014727780466, 5.447391181845061, 1842) + femmesh.addNode(-0.13317166517132634, 3.997782548813216, 5.240532896252766, 1843) + femmesh.addNode(-0.6287864533872232, 3.950269306773491, 5.774839313361004, 1844) + femmesh.addNode(0.7726177242550831, 3.9246734707701347, 6.3582528001683585, 1845) + femmesh.addNode(-2.2501159230324816, 3.3071102692404564, 5.050149713346801, 1846) + femmesh.addNode(-2.9146696075128364, 2.739470948749223, 5.12229941734374, 1847) + femmesh.addNode(-3.1555315235736128, 2.4581742826197646, 5.931012418745137, 1848) + femmesh.addNode(-1.9619403289312067, 3.4857983512695205, 5.644491472234041, 1849) + femmesh.addNode(0.3826693978218932, -3.981653441972396, 43.680152989883936, 1850) + femmesh.addNode(0.575221303348854, -3.9584239859031833, 6.271565256971545, 1851) + femmesh.addNode(-1.6294797966644061, 3.6530529139697014, 43.69726273478754, 1852) + femmesh.addNode(-3.9676331051325953, 0.507826292206185, 44.5342030713645, 1853) + femmesh.addNode(-3.864426575847607, 1.0325731159984457, 43.7517192382519, 1854) + femmesh.addNode(-3.979504456960181, -0.40440607937326334, 44.50455547516172, 1855) + femmesh.addNode(0.29152774233604717, -3.9893623018533235, 42.74621929142039, 1856) + femmesh.addNode(-3.981581401685784, 0.38341823346036596, 5.343115457317675, 1857) + femmesh.addNode(-3.9701055243616477, -0.48812101515211054, 5.386066831318438, 1858) + femmesh.addNode(-3.903320699012503, 0.8741209988671745, 6.102549889960605, 1859) + femmesh.addNode(0.7360803949831941, 3.9316899231909663, 29.520189688768113, 1860) + femmesh.addNode(0.713905742228903, 3.935776745600873, 28.538702173083596, 1861) + femmesh.addNode(-0.08669314222584254, 3.999060427036707, 30.096317366287778, 1862) + femmesh.addNode(-3.054369851134047, 2.582793993427153, 43.861303459972035, 1863) + femmesh.addNode(-2.1436152724414748, -3.3771161608324434, 5.351197752050809, 1864) + femmesh.addNode(-1.7217534787292696, -3.6104798792520167, 6.040589540276434, 1865) + femmesh.addNode(-2.809230269868932, -2.847494563796765, 5.375696546246974, 1866) + femmesh.addNode(-0.6600593602241062, 3.945164336371876, 42.365023094692766, 1867) + femmesh.addNode(0.31522537650602844, 3.987559775352168, 41.815796741750965, 1868) + femmesh.addNode(0.7122492656370393, 3.9360768518411193, 9.697783556939559, 1869) + femmesh.addNode(0.7042993156314589, 3.937507139549217, 8.838614693647212, 1870) + femmesh.addNode(0.6629281406698656, 3.9446832927762396, 20.203143371356056, 1871) + femmesh.addNode(0.6586902986451627, 3.945393147770035, 19.30000159136278, 1872) + femmesh.addNode(-0.16484194150157067, 3.9966019484459534, 18.8599155105234, 1873) + femmesh.addNode(0.5303501510230901, 3.9646851977565363, 38.831291806604696, 1874) + femmesh.addNode(-0.26831230667544165, 3.990990917815587, 38.27064515586973, 1875) + femmesh.addNode(0.4900622206594261, 3.9698663730511576, 39.79324830570321, 1876) + femmesh.addNode(-0.14218667757630588, 3.9974720697860806, 34.295937416655946, 1877) + femmesh.addNode(0.7017170022422732, 3.9379681624873655, 21.98706803630531, 1878) + femmesh.addNode(0.6740940942183704, 3.942790528564752, 21.08153813106118, 1879) + femmesh.addNode(-0.13560470638867417, 3.9977007596373744, 20.659016788364823, 1880) + femmesh.addNode(-0.11388324565674297, 3.9983784971358936, 22.465762316501262, 1881) + femmesh.addNode(-3.417614681842376, -2.078439291019931, 44.49499482787081, 1882) + femmesh.addNode(-3.786476001330255, -1.289418276336288, 44.50687231137005, 1883) + femmesh.addNode(-3.923993041312839, -0.7760661129880722, 43.74427158387611, 1884) + femmesh.addNode(-3.1734360406283173, -2.435016159297771, 43.69977414128377, 1885) + femmesh.addNode(-0.31194305534400296, -3.9878178908047754, 6.541665599542625, 1886) + femmesh.addNode(0.6554567470797453, 3.94593163305038, 16.578617715392795, 1887) + femmesh.addNode(0.6461861060681311, 3.947460388189412, 15.698187407624562, 1888) + femmesh.addNode(-0.18182176198135883, 3.9958654690654933, 17.0342210892603, 1889) + femmesh.addNode(-0.5004775700229471, -3.9685667692384774, 42.29466391365235, 1890) + femmesh.addNode(-0.18899528508776003, 3.995532603072411, 36.3170470830197, 1891) + femmesh.addNode(0.7211730699305183, 3.9344516013298465, 24.783678658990866, 1892) + femmesh.addNode(-0.1038036177531146, 3.9986528742742053, 24.34666945348168, 1893) + femmesh.addNode(-0.08553922497408924, 3.999085275533748, 32.19022799124287, 1894) + femmesh.addNode(0.3610856061938076, 3.9836688096526864, 40.81405878413256, 1895) + femmesh.addNode(0.665591283172446, 3.9442348109316283, 14.839568266872398, 1896) + femmesh.addNode(0.678458566897667, 3.9420418532789787, 13.970879656777706, 1897) + femmesh.addNode(-0.16123239028425185, 3.9967491935725996, 15.270614045381329, 1898) + femmesh.addNode(0.6897620541682005, 3.9400797337908866, 13.119594693317326, 1899) + femmesh.addNode(0.698043705945447, 3.9386209495951685, 12.263869248337851, 1900) + femmesh.addNode(-0.13010915140531157, 3.997883391085912, 13.560709941168787, 1901) + femmesh.addNode(0.706957010234155, 3.937030833722386, 25.732478744452834, 1902) + femmesh.addNode(0.7088926534300252, 3.9366827667355846, 26.661586406368407, 1903) + femmesh.addNode(-0.10216092288178366, 3.9986951804102224, 26.228333483946358, 1904) + femmesh.addNode(0.7166250518588058, 3.9352825229007844, 27.58930935849358, 1905) + femmesh.addNode(-0.9949131461929048, 3.874293204125436, 36.71970858954144, 1906) + femmesh.addNode(-0.9871072543296628, 3.876289368513367, 35.75048831488147, 1907) + femmesh.addNode(-0.9422003524319836, -3.887448841576831, 12.828323743025567, 1908) + femmesh.addNode(-0.9603341413077057, -3.883008928271836, 13.728690057123048, 1909) + femmesh.addNode(-0.9978690829087309, -3.8735329214264964, 14.59727012244483, 1910) + femmesh.addNode(-1.0122050321752953, -3.869811490607651, 15.49888446590629, 1911) + femmesh.addNode(-1.7496294840790503, -3.5970538873418723, 14.106437560211408, 1912) + femmesh.addNode(-1.0390886580103411, -3.8626797383156513, 16.41151344514021, 1913) + femmesh.addNode(-1.039903971875564, -3.86246032073825, 17.30489152011086, 1914) + femmesh.addNode(-1.8092094480458993, -3.5674586435026057, 15.88764660476711, 1915) + femmesh.addNode(-1.0496762757575315, -3.8598160210185926, 18.229479096469646, 1916) + femmesh.addNode(-1.0649383021684562, -3.855633075459148, 19.12235454199356, 1917) + femmesh.addNode(-1.8429625190298344, -3.550139314653892, 17.72486316035981, 1918) + femmesh.addNode(-1.0592129221740165, -3.8572098705540485, 20.0056450538556, 1919) + femmesh.addNode(-1.0736661630910542, -3.8532117733435487, 20.92591252881546, 1920) + femmesh.addNode(-1.8466760279393029, -3.5482090761163327, 19.532741248580635, 1921) + femmesh.addNode(-1.0675385648643194, -3.8549139306250964, 21.83930044237415, 1922) + femmesh.addNode(-1.0597140724806542, -3.857072216667257, 22.734301495042935, 1923) + femmesh.addNode(-1.8357582027828723, -3.5538699780542617, 21.32941967400137, 1924) + femmesh.addNode(-1.0848910120514599, -3.8500664269555087, 23.635875654977802, 1925) + femmesh.addNode(-1.0844449257909126, -3.850192099483653, 24.537766193507093, 1926) + femmesh.addNode(-1.8533041805914154, -3.544751558882848, 23.144381747494926, 1927) + femmesh.addNode(-1.087562007386711, -3.849312780236102, 25.445838017599428, 1928) + femmesh.addNode(-1.0859654093142823, -3.8497635160841845, 26.349413473500945, 1929) + femmesh.addNode(-1.8792833332615293, -3.5310471751769947, 24.954027731522128, 1930) + femmesh.addNode(-1.0863274313475588, -3.849661376264387, 27.25722247484778, 1931) + femmesh.addNode(-1.078814125902134, -3.85177362805163, 28.157678568455236, 1932) + femmesh.addNode(-1.8824736515658929, -3.5293473831800934, 26.769908556961298, 1933) + femmesh.addNode(-1.0587420669646803, -3.8573391393082557, 29.04257414974675, 1934) + femmesh.addNode(-1.0605152198826675, -3.8568520153613903, 29.929194030311464, 1935) + femmesh.addNode(-1.8644024786796398, -3.538926870888012, 28.562613139599648, 1936) + femmesh.addNode(-1.0632986946392267, -3.856085565178568, 30.844495000320922, 1937) + femmesh.addNode(-1.0720897687177657, -3.853650675374026, 31.74782235990326, 1938) + femmesh.addNode(-1.8485096376866077, -3.5472541661656734, 30.36280969090062, 1939) + femmesh.addNode(-1.0741313735280178, -3.8530821159693462, 32.668499268958016, 1940) + femmesh.addNode(-1.068428188404633, -3.854667457281159, 33.56593152331017, 1941) + femmesh.addNode(-1.85294790146031, -3.5449378096764734, 32.19878756996483, 1942) + femmesh.addNode(-1.0621265853475546, -3.85640857751068, 34.45871477411704, 1943) + femmesh.addNode(-1.0638685743585186, -3.8559283780293914, 35.350309444070646, 1944) + femmesh.addNode(-1.8490310160242345, -3.5469824219722863, 34.01224772982644, 1945) + femmesh.addNode(-1.0705209608726958, -3.854086775402469, 36.23726450875118, 1946) + femmesh.addNode(-1.0819485851610888, -3.8508943453525077, 37.127728190519406, 1947) + femmesh.addNode(-1.8493545607416912, -3.5468137403398994, 35.79198604531385, 1948) + femmesh.addNode(-1.0700567529299592, -3.854215684871436, 38.02841718114294, 1949) + femmesh.addNode(-1.0754399863635828, -3.85271707185076, 38.92885282526848, 1950) + femmesh.addNode(-1.844525320106803, -3.549327590331005, 37.57963010061792, 1951) + femmesh.addNode(-1.0510413333924324, -3.8594445345801587, 39.78552065312488, 1952) + femmesh.addNode(-1.0777445133184314, -3.8520730475955434, 40.720056090098325, 1953) + femmesh.addNode(-1.8110305873756223, -3.5665344820413427, 39.33698691909786, 1954) + femmesh.addNode(0.7247727746480974, 3.9337900840193414, 10.56870772399353, 1955) + femmesh.addNode(-0.08504999000717842, 3.999095710182463, 10.163223207171129, 1956) + femmesh.addNode(-3.766041066551296, -1.3479371962555144, 5.399764290239821, 1957) + femmesh.addNode(-3.3732758730972434, -2.1496534334585258, 5.398864794887471, 1958) + femmesh.addNode(-3.118237072584956, -2.505313864400388, 6.149712484864968, 1959) + femmesh.addNode(-3.8940609615595703, -0.9144885060282355, 6.15918327458408, 1960) + femmesh.addNode(-1.1905327785737148, -3.818721213068787, 41.586685693731255, 1961) + femmesh.addNode(-1.3549479813819605, -3.763524407752519, 42.63489217414121, 1962) + femmesh.addNode(-2.2690446174424994, -3.294151867181479, 42.7899369083516, 1963) + femmesh.addNode(-1.8928487264939435, -3.5237939353217373, 41.06028435058718, 1964) + femmesh.addNode(-1.6983516178864497, 3.6215468769605175, 42.80957289248279, 1965) + femmesh.addNode(-1.6404202592732315, 3.6481531454923797, 41.74119370870852, 1966) + femmesh.addNode(-2.5038607231272767, 3.1194040262813907, 43.0734333488033, 1967) + femmesh.addNode(-0.9942729337291517, 3.874457553420043, 19.33947004294621, 1968) + femmesh.addNode(-1.0116327517727952, 3.869961133595608, 18.418763524809915, 1969) + femmesh.addNode(-3.1027228593614686, 2.5245021010083937, 42.97361361766728, 1970) + femmesh.addNode(0.7375103426537551, 3.9314219430733637, 8.025665337745522, 1971) + femmesh.addNode(0.7331924203065722, 3.93222950434038, 7.159899686582406, 1972) + femmesh.addNode(0.009884054136456353, 3.9999877881655874, 6.864753441899733, 1973) + femmesh.addNode(-0.06402023343700126, 3.9994876434001734, 8.47934968421547, 1974) + femmesh.addNode(-1.0009591287502257, 3.8727355735412132, 34.75936562271855, 1975) + femmesh.addNode(-0.9633549045986811, 3.882260595038111, 33.70747623101475, 1976) + femmesh.addNode(-1.2230256847005467, -3.8084390732375857, 6.855011348973147, 1977) + femmesh.addNode(-0.668872258902565, -3.943679741215123, 7.442042104187374, 1978) + femmesh.addNode(-0.7693389344718035, -3.925317516317093, 8.309064550220258, 1979) + femmesh.addNode(-2.0390912054895707, -3.4412362685080327, 6.940966044921183, 1980) + femmesh.addNode(0.720843262030977, 3.9345120398322, 11.4262304465962, 1981) + femmesh.addNode(-0.9640831990060688, 3.8820798015231763, 32.69822316530161, 1982) + femmesh.addNode(-0.9467217575516653, 3.886350204726574, 31.644403131592327, 1983) + femmesh.addNode(-0.9387510581413928, 3.88828322667452, 24.84325207944703, 1984) + femmesh.addNode(-0.9384366394079571, 3.8883591235657105, 23.890695710897923, 1985) + femmesh.addNode(-0.4685456673818681, 3.9724633362156636, 40.275833432489144, 1986) + femmesh.addNode(-0.9235504135280098, 3.8919217147409637, 10.604703843995805, 1987) + femmesh.addNode(-0.9359323224698852, 3.8889626750273814, 9.733779676941833, 1988) + femmesh.addNode(-0.09548362865880941, 3.998860197188462, 11.871786175966754, 1989) + femmesh.addNode(-1.064411894978264, 3.8557784321494384, 37.67522794828942, 1990) + femmesh.addNode(-1.8166585174070933, 3.563671117139215, 37.10866918015118, 1991) + femmesh.addNode(-1.1330558417187522, 3.836167939434744, 38.65960574647947, 1992) + femmesh.addNode(-2.334148681771056, 3.2483457222694816, 41.101695842412, 1993) + femmesh.addNode(-1.3728835274096427, 3.757018874076527, 40.65714604462198, 1994) + femmesh.addNode(-1.7623010064810594, 3.5908627323466216, 31.14579292487386, 1995) + femmesh.addNode(-0.9282918263805561, 3.890793528970029, 30.637797750815118, 1996) + femmesh.addNode(-2.942934303976949, -2.709084288551338, 42.93763695883374, 1997) + femmesh.addNode(-3.487547508976773, -1.958829337290492, 42.98445123763442, 1998) + femmesh.addNode(-2.71456603442826, -2.937878698096372, 42.074614004702255, 1999) + femmesh.addNode(-3.74111607312591, 1.4156449157182638, 6.905389881575777, 2000) + femmesh.addNode(-3.965120189093414, 0.5270881198090216, 6.948325807277869, 2001) + femmesh.addNode(-0.9467947381738604, 3.8863324257925096, 29.59770715956931, 2002) + femmesh.addNode(-1.7651342935980994, 3.589470841999408, 35.16202712924027, 2003) + femmesh.addNode(-0.9563671827122417, 3.883987874830591, 20.24709206489311, 2004) + femmesh.addNode(-1.7610580087544996, 3.5914724960385866, 19.80594007917962, 2005) + femmesh.addNode(-0.9453665861521346, 3.8866800765932688, 21.125486824598234, 2006) + femmesh.addNode(-1.7786279510495588, 3.58280373614649, 33.16165137136421, 2007) + femmesh.addNode(-0.9204746690079479, 3.8926503032914104, 26.71833548992964, 2008) + femmesh.addNode(-0.9223884657223574, 3.892197260969998, 25.789227828014063, 2009) + femmesh.addNode(-1.250344095974751, 3.7995578218604704, 39.63633556619263, 2010) + femmesh.addNode(-3.6798658620437665, 1.567988277177124, 42.98139227341639, 2011) + femmesh.addNode(-3.3119403567379337, 2.2430004621958077, 42.193522162247646, 2012) + femmesh.addNode(-1.711688169640412, 3.6152625921104344, 9.346457490938235, 2013) + femmesh.addNode(-0.9137276014683173, 3.894239575361916, 8.904976854113558, 2014) + femmesh.addNode(-0.8808241494715382, 3.9018135293357807, 8.09202749821187, 2015) + femmesh.addNode(-0.9539932583247974, 3.8845716447339256, 22.96875119334289, 2016) + femmesh.addNode(-0.964096521486235, 3.88207649296844, 22.040400424911578, 2017) + femmesh.addNode(-1.7462085919393844, 3.5987158200442937, 23.465333819308242, 2018) + femmesh.addNode(-0.7416601329756802, -3.9306412005109923, 9.298008232301378, 2019) + femmesh.addNode(-0.7985694802806994, -3.91947532013715, 10.217278877753007, 2020) + femmesh.addNode(-1.0264022687396663, 3.8660701471553858, 17.523017628195248, 2021) + femmesh.addNode(-1.0254967112583564, 3.866310449924876, 16.61802972506844, 2022) + femmesh.addNode(-1.809701173373792, 3.567209226144371, 18.002572160618058, 2023) + femmesh.addNode(-0.10295782812057738, 3.9986747411647143, 28.10683396045195, 2024) + femmesh.addNode(-3.940023720240467, 0.6900819400205113, 42.97162778283227, 2025) + femmesh.addNode(-1.716608884957081, 3.61292872003952, 25.333254085430312, 2026) + femmesh.addNode(-1.5494098740113889, -3.687726812321652, 10.617166741662817, 2027) + femmesh.addNode(-0.8423232690563283, -3.910305807786171, 11.101170401635695, 2028) + femmesh.addNode(-0.8757834069150686, -3.9029480427200456, 11.959924128353506, 2029) + femmesh.addNode(-0.9797461518572391, 3.878156453512536, 15.714179411391019, 2030) + femmesh.addNode(-0.9606621387838036, 3.8829277942175704, 14.855560270638854, 2031) + femmesh.addNode(-0.7291792943622425, 3.9329756618460507, 6.493857966958588, 2032) + femmesh.addNode(-1.3854018916878172, 3.7524207651205397, 6.205590724833906, 2033) + femmesh.addNode(-2.0500726965480705, 3.4347055097734542, 6.363510125831626, 2034) + femmesh.addNode(-0.7686122885288608, 3.9254598647702954, 7.295504853372636, 2035) + femmesh.addNode(-0.9440069863284732, 3.887010523495278, 13.99475051795524, 2036) + femmesh.addNode(-0.9328546625772097, 3.8897020680905574, 13.14346555449486, 2037) + femmesh.addNode(-1.7232196834625446, 3.609780314995256, 14.438315883964929, 2038) + femmesh.addNode(-1.6528711987056022, -3.642528901805654, 12.369457880217565, 2039) + femmesh.addNode(-0.9048904648310964, 3.8963025096439523, 11.456461748597775, 2040) + femmesh.addNode(-1.7149916710224333, 3.6136966624667988, 11.027018218368479, 2041) + femmesh.addNode(-0.9274414564903957, 3.8909963177550004, 12.294100550339426, 2042) + femmesh.addNode(-3.307252802131451, 2.249906420897026, 6.749993376495028, 2043) + femmesh.addNode(-3.492487513006399, 1.9500079413926448, 7.595769293812292, 2044) + femmesh.addNode(-2.7600673607258, 2.8951732528911145, 6.621391830981651, 2045) + femmesh.addNode(-3.0358161990650956, 2.604576742101095, 41.36371921966778, 2046) + femmesh.addNode(-2.8399486267369016, 2.8168584979539153, 40.279671555581245, 2047) + femmesh.addNode(-3.63771321026025, 1.6634429956863772, 41.371497875416885, 2048) + femmesh.addNode(-2.506570864416177, 3.117226732475509, 35.60073990431104, 2049) + femmesh.addNode(-2.5176992916239365, 3.1082455303525056, 34.60961721214811, 2050) + femmesh.addNode(-2.525154581371634, -3.1021918606330345, 15.336088807934903, 2051) + femmesh.addNode(-2.546664115639613, -3.0845586203075324, 16.24871778716882, 2052) + femmesh.addNode(-2.5687688794842174, -3.0661745618593534, 17.149190849004984, 2053) + femmesh.addNode(-2.5765209395, -3.059663355390269, 18.07377842536377, 2054) + femmesh.addNode(-3.161015633724863, -2.4511181455301174, 16.597633052172778, 2055) + femmesh.addNode(-2.568791353218445, -3.066155733753612, 19.017128163722575, 2056) + femmesh.addNode(-2.5642364012672796, -3.069966071215744, 19.900418675584614, 2057) + femmesh.addNode(-3.172413337675371, -2.4363484182151396, 18.441455852367746, 2058) + femmesh.addNode(-2.5613849289556656, -3.0723455609222703, 20.830549563638918, 2059) + femmesh.addNode(-2.55649695360922, -3.076414036859599, 21.74393747719761, 2060) + femmesh.addNode(-3.163983990862787, -2.4472852930469697, 20.31493647878085, 2061) + femmesh.addNode(-2.554544803116913, -3.078035225410582, 22.62546118183367, 2062) + femmesh.addNode(-2.574600127310633, -3.0612798278582884, 23.527035341768535, 2063) + femmesh.addNode(-3.160155375257518, -2.4522271518419774, 22.126591071471218, 2064) + femmesh.addNode(-2.57189565549469, -3.06355230692207, 24.443429248623605, 2065) + femmesh.addNode(-2.5743753202416864, -3.0614688811958413, 25.35150107271594, 2066) + femmesh.addNode(-3.1564304742815814, -2.4570198739584, 23.924508682962347, 2067) + femmesh.addNode(-2.5796388316130905, -3.0570350829576443, 26.271420098392095, 2068) + femmesh.addNode(-2.5799262998743826, -3.0567924835056233, 27.17922909973893, 2069) + femmesh.addNode(-3.158486887876727, -2.4543758023397286, 25.760821615493573, 2070) + femmesh.addNode(-2.5804366072439655, -3.056361712231596, 28.072703069275562, 2071) + femmesh.addNode(-2.5644861563376384, -3.069757442201681, 28.95759865056708, 2072) + femmesh.addNode(-3.1631138338546436, -2.448409866439314, 27.574214610706363, 2073) + femmesh.addNode(-2.5721997958225944, -3.0632969510594634, 29.879509583655835, 2074) + femmesh.addNode(-2.574410114454817, -3.0614396225620286, 30.794810553665293, 2075) + femmesh.addNode(-3.1696700222464154, -2.439916381778771, 29.389599513331753, 2076) + femmesh.addNode(-2.5557371475699058, -3.0770452763213023, 31.722301013676827, 2077) + femmesh.addNode(-2.5573670802296746, -3.0756907544416014, 32.642977922731575, 2078) + femmesh.addNode(-3.160943135614501, -2.451211637825581, 31.239000906432047, 2079) + femmesh.addNode(-2.5555500476444815, -3.0772006684622126, 33.56247916737975, 2080) + femmesh.addNode(-2.55051717167076, -3.0813734205728114, 34.45526241818662, 2081) + femmesh.addNode(-3.1445122138470145, -2.4722546262403773, 33.085992611091754, 2082) + femmesh.addNode(-2.546866642174562, -3.0843913997705403, 35.36713643814443, 2083) + femmesh.addNode(-2.5521854202768703, -3.079991815009607, 36.25409150282496, 2084) + femmesh.addNode(-3.1401196158061047, -2.477831470949895, 34.917367875697735, 2085) + femmesh.addNode(-2.5472551892863247, -3.0840705245914677, 37.16554689557594, 2086) + femmesh.addNode(-2.5377233558200545, -3.0919185256609527, 38.06623588619948, 2087) + femmesh.addNode(-3.13320967615068, -2.4865633161606304, 36.740697288406515, 2088) + femmesh.addNode(-2.488772352884615, -3.1314552807787592, 38.935807477223015, 2089) + femmesh.addNode(-2.4689090165331047, -3.147139696308624, 39.792475305079414, 2090) + femmesh.addNode(-3.0896474679222297, -2.5404878515674416, 38.52172427218103, 2091) + femmesh.addNode(-3.830466102331015, -1.1521846375008828, 42.96289431724726, 2092) + femmesh.addNode(-3.991489287834987, -0.2607935296332096, 42.960577481038925, 2093) + femmesh.addNode(-3.712065524720753, -1.4901575554885604, 42.200757134797236, 2094) + femmesh.addNode(-2.3704255560401757, -3.2219687588913124, 40.52941090623699, 2095) + femmesh.addNode(-2.4641294042614996, -3.150883412481945, 41.39604050986992, 2096) + femmesh.addNode(-3.1013989667071273, -2.5261283517089868, 41.54374056035206, 2097) + femmesh.addNode(-2.967804953501169, -2.681815384767178, 40.128231464362145, 2098) + femmesh.addNode(-2.557268531527133, 3.075772692781614, 9.792861566036729, 2099) + femmesh.addNode(-2.5396772849538496, 3.090313784761904, 8.964058743208454, 2100) + femmesh.addNode(-0.9048858779021535, 3.896303574924989, 27.671658423928378, 2101) + femmesh.addNode(-1.6868934087839167, 3.626898210234384, 27.232552767996083, 2102) + femmesh.addNode(-1.9879848327441794, 3.471010847689632, 39.040918358612316, 2103) + femmesh.addNode(-2.417893681655697, 3.186501238695736, 25.82702153762103, 2104) + femmesh.addNode(-2.431274857439591, 3.1763032864608656, 24.881045789053996, 2105) + femmesh.addNode(-1.5864236904980216, 3.6719558649617015, 7.721132023270725, 2106) + femmesh.addNode(-1.5341679209681793, -3.694093771180176, 8.744331535699013, 2107) + femmesh.addNode(-2.4692210492182407, 3.1468948838652953, 31.64709827193197, 2108) + femmesh.addNode(-2.454278655548365, 3.1585623756575885, 30.640492891154764, 2109) + femmesh.addNode(-0.9075778674021822, 3.8956774012489417, 28.621051238518397, 2110) + femmesh.addNode(-3.9883143830214367, 0.30552967480154347, 42.19025051620341, 2111) + femmesh.addNode(-2.241055714490959, -3.313256598053857, 10.131167904310658, 2112) + femmesh.addNode(-2.277944377305112, -3.288003864642502, 11.015059428193345, 2113) + femmesh.addNode(-1.7811183292223858, 3.581566346908578, 16.202975950325964, 2114) + femmesh.addNode(-2.486760744544939, 3.133052983814717, 33.64112924036083, 2115) + femmesh.addNode(-2.487348460937308, 3.1325864128340983, 32.631876174647694, 2116) + femmesh.addNode(-2.2985134896307793, -3.2736578529200844, 11.873031521684794, 2117) + femmesh.addNode(-2.3539943970884276, -3.233992946571821, 12.741431136356855, 2118) + femmesh.addNode(-2.894655005844085, -2.7606108739084867, 11.387032684332635, 2119) + femmesh.addNode(-2.5180610286515805, 3.1079524861210706, 36.5357404787225, 2120) + femmesh.addNode(-3.1449924413717545, 2.471643692710285, 35.98333056163033, 2121) + femmesh.addNode(-2.573534793147026, 3.0621754796976766, 37.49125983747048, 2122) + femmesh.addNode(-3.089651480115521, 2.540482972078335, 8.425417803519245, 2123) + femmesh.addNode(-2.3605012279429074, 3.2292466540789393, 7.9790137284207505, 2124) + femmesh.addNode(-3.931506535904936, 0.7370592636530454, 41.4384180294165, 2125) + femmesh.addNode(-3.8223807144735322, 1.1787305347791797, 40.608615086836636, 2126) + femmesh.addNode(-3.9943176904080917, -0.21313420207223405, 41.427367727623164, 2127) + femmesh.addNode(-1.708899094682701, 3.6165817955899526, 29.162531623045737, 2128) + femmesh.addNode(-2.496863799106199, 3.125007386985343, 18.480503917248313, 2129) + femmesh.addNode(-2.5087779897434013, 3.115450689415427, 17.584758020633643, 2130) + femmesh.addNode(-3.3885800619415445, -2.1254470503431127, 6.890623727474443, 2131) + femmesh.addNode(-2.8295451747703306, -2.82730863259283, 6.867455478833946, 2132) + femmesh.addNode(-1.743260334677134, 3.600144914519604, 21.62847570143986, 2133) + femmesh.addNode(-2.3409404179060216, 3.2434546335372074, 10.613760087154692, 2134) + femmesh.addNode(-3.059588554988362, 2.5766097636592593, 10.231361339424911, 2135) + femmesh.addNode(-2.325371526877763, 3.2546347355711336, 11.46551799175666, 2136) + femmesh.addNode(-2.4703567004481832, 3.146003460352637, 29.671420859341282, 2137) + femmesh.addNode(-2.4385239255433455, 3.170741406130855, 28.694764938290362, 2138) + femmesh.addNode(-2.4348235170269037, 3.1735838481018175, 27.758950413211238, 2139) + femmesh.addNode(-2.4475071645697497, 3.163812364755493, 26.805627479212497, 2140) + femmesh.addNode(-3.0526370919776635, 2.5848417330045863, 26.353419182836184, 2141) + femmesh.addNode(-3.079591487816675, 2.5526684602915197, 28.26783964950678, 2142) + femmesh.addNode(-2.679083305969006, 2.9702714757540565, 39.38033340020102, 2143) + femmesh.addNode(-2.5865914353307753, 3.051154657940741, 38.40360358048787, 2144) + femmesh.addNode(-3.164574304595206, 2.4465219129809097, 37.83067487905918, 2145) + femmesh.addNode(-3.3052482425419374, 2.2528502069985556, 39.6423567774568, 2146) + femmesh.addNode(-2.266961169080341, 3.2955859961290486, 7.1824910835815166, 2147) + femmesh.addNode(-2.448307212381597, 3.1631932906163436, 23.964920920990643, 2148) + femmesh.addNode(-2.4609490767622146, 3.1533679838520596, 23.04297640343561, 2149) + femmesh.addNode(-2.4256718936047266, -3.1805842017742685, 7.681877287530657, 2150) + femmesh.addNode(-3.07125133719176, 2.56269686537402, 32.12657614092859, 2151) + femmesh.addNode(-3.0695257206282145, 2.5647635076945865, 30.17272620639939, 2152) + femmesh.addNode(-3.9984492351499603, 0.11137196204026807, 7.752361214965365, 2153) + femmesh.addNode(-3.9742200708131104, -0.45340360469038676, 6.949521223350193, 2154) + femmesh.addNode(-3.0423949818873783, 2.596889056965372, 24.458688373181364, 2155) + femmesh.addNode(-3.777678210246136, -1.3149704710872985, 6.963218682271577, 2156) + femmesh.addNode(-2.097419383985436, -3.4059994021846443, 9.346364281760966, 2157) + femmesh.addNode(-2.75591675437473, -2.8991244959395335, 9.744256968291491, 2158) + femmesh.addNode(-2.528388896313774, 3.0995563535766237, 16.680472886011895, 2159) + femmesh.addNode(-2.4915923499796713, 3.1292119713312454, 15.776622572334471, 2160) + femmesh.addNode(-2.412134912347571, -3.190862761798755, 13.601403949695065, 2161) + femmesh.addNode(-2.4429032427315893, -3.167368583959165, 14.469984015016845, 2162) + femmesh.addNode(-3.111074286800109, 2.5142030112962623, 34.079842015431595, 2163) + femmesh.addNode(-2.4749515373076183, 3.142389996161943, 14.890714544318605, 2164) + femmesh.addNode(-2.461457195516652, 3.1529713723152164, 14.02990479163499, 2165) + femmesh.addNode(-3.1080486839137653, 2.5179422905265145, 15.368211480004536, 2166) + femmesh.addNode(-1.7026938278184955, 3.619507387574834, 12.72814112712588, 2167) + femmesh.addNode(-2.9610584305825465, -2.6892625328658464, 13.104977591162294, 2168) + femmesh.addNode(-3.077338019057732, -2.555384651370872, 14.831055197418559, 2169) + femmesh.addNode(-2.515706387273535, 3.109858738436706, 19.39732565402753, 2170) + femmesh.addNode(-3.104846742538258, 2.5218895109321435, 18.979511514043118, 2171) + femmesh.addNode(-2.4851990878059778, 3.1342918648345974, 20.304947675974425, 2172) + femmesh.addNode(-3.949018116220382, 0.6365971392986518, 8.626050268934343, 2173) + femmesh.addNode(-3.9852437171455826, -0.3432674102673573, 8.627245685006667, 2174) + femmesh.addNode(-3.5973638335918108, 1.7489921237002841, 8.580814308599994, 2175) + femmesh.addNode(-3.6262478768005155, -1.6882909512284174, 17.892996788629606, 2176) + femmesh.addNode(-3.62197575019311, -1.697436792641499, 18.83634652698841, 2177) + femmesh.addNode(-3.6278605364267458, -1.6848228180545999, 19.764095294941164, 2178) + femmesh.addNode(-3.6262946676615897, -1.6881904463919708, 20.694226182995468, 2179) + femmesh.addNode(-3.9073964909874936, -0.8557176299566468, 19.215636231203028, 2180) + femmesh.addNode(-3.6288226473144585, -1.6827495934742294, 21.60725902518113, 2181) + femmesh.addNode(-3.6277544031948046, -1.6850513315922175, 22.48878272981719, 2182) + femmesh.addNode(-3.9116092089386107, -0.8362496018215224, 21.056417841341442, 2183) + femmesh.addNode(-3.6242264638684185, -1.692625929907674, 23.40084421854845, 2184) + femmesh.addNode(-3.622730264097906, -1.6958258853989447, 24.31723812540352, 2185) + femmesh.addNode(-3.9111158898455844, -0.8385538123444323, 22.881512172258365, 2186) + femmesh.addNode(-3.6175657142607482, -1.706815251573855, 25.239694675517615, 2187) + femmesh.addNode(-3.6204969715041906, -1.7005886273079047, 26.15961370119377, 2188) + femmesh.addNode(-3.9067673146216726, -0.8585855515927138, 24.71603021110372, 2189) + femmesh.addNode(-3.623470682134917, -1.6942432575367439, 27.080988391719522, 2190) + femmesh.addNode(-3.6237534920986993, -1.6936382814823483, 27.97446236125616, 2191) + femmesh.addNode(-3.9056619244926636, -0.8635999835388276, 26.559861451743565, 2192) + femmesh.addNode(-3.6226620580040256, -1.6959715839300016, 28.896656746937104, 2193) + femmesh.addNode(-3.6269166908197086, -1.6868536741085207, 29.81856768002586, 2194) + femmesh.addNode(-3.906616323516731, -0.8592723088943461, 28.403430527950267, 2195) + femmesh.addNode(-3.6221779071280578, -1.6970053650809134, 30.75546025036617, 2196) + femmesh.addNode(-3.6117865554493966, -1.7190107265153942, 31.682950710377703, 2197) + femmesh.addNode(-3.9036331268055586, -0.8727247053374038, 30.26251748397152, 2198) + femmesh.addNode(-3.613453235066803, -1.7155045082963947, 32.623407081340005, 2199) + femmesh.addNode(-3.612439381233123, -1.7176384127388549, 33.54290832598818, 2200) + femmesh.addNode(-3.902029269888614, -0.8798679315286656, 32.13986642527413, 2201) + femmesh.addNode(-3.6087968582064582, -1.7252783068824569, 34.47679933216361, 2202) + femmesh.addNode(-3.6067513773329707, -1.7295503757065647, 35.388673352121415, 2203) + femmesh.addNode(-3.9010189062928085, -0.8843367530223207, 34.01421380241186, 2204) + femmesh.addNode(-3.6068509799742188, -1.7293426520672581, 36.32413947592087, 2205) + femmesh.addNode(-3.6040799903410488, -1.7351102049216545, 37.23559486867185, 2206) + femmesh.addNode(-3.899190361183765, -0.8923645708182398, 35.88357093238675, 2207) + femmesh.addNode(-3.604920251451214, -1.733363776209978, 38.24696861236613, 2208) + femmesh.addNode(-3.577207768142891, -1.7898560231309542, 39.11654020338966, 2209) + femmesh.addNode(-3.8996735440700876, -0.8902506667674236, 37.83041079988049, 2210) + femmesh.addNode(-3.5294390256895336, -1.882301825940706, 41.43262774068198, 2211) + femmesh.addNode(-3.854683553535551, -1.0683701147554336, 41.411070820294825, 2212) + femmesh.addNode(-3.9479437941923448, -0.6432260861455728, 40.659238333507915, 2213) + femmesh.addNode(-3.3629370462516675, -2.16579186972066, 40.754054245849645, 2214) + femmesh.addNode(-3.613638700860757, -1.7151137978692201, 7.680961676240555, 2215) + femmesh.addNode(-3.77266018270992, 1.3292987421174938, 9.455698778641295, 2216) + femmesh.addNode(-3.5704091506300237, 1.803379742898703, 32.62727115839478, 2217) + femmesh.addNode(-3.5599378490009332, 1.8239634073222548, 31.64249325567905, 2218) + femmesh.addNode(-2.495843614108286, 3.1258222364547366, 22.14256998654268, 2219) + femmesh.addNode(-2.4807424043760853, 3.137820441505594, 21.227656386229334, 2220) + femmesh.addNode(-3.1164725559514563, 2.507508486127494, 20.819041961077243, 2221) + femmesh.addNode(-3.084796059544201, 2.5463764982854697, 22.642157088225083, 2222) + femmesh.addNode(-3.571615636232238, -1.8009891024160543, 14.187771093308505, 2223) + femmesh.addNode(-3.617633190818084, -1.7066722288393188, 15.053875886226564, 2224) + femmesh.addNode(-3.1055188598944463, 2.5210618022650495, 17.158404642642154, 2225) + femmesh.addNode(-3.442277198261034, -2.0373334754850925, 10.860048115924105, 2226) + femmesh.addNode(-3.4549824486144396, -2.015712350452358, 11.718020209415554, 2227) + femmesh.addNode(-3.529199588764775, 1.8827507170792803, 24.982209700273685, 2228) + femmesh.addNode(-3.5392653561033107, 1.8637598394339616, 24.066084832210333, 2229) + femmesh.addNode(-3.558083265479837, 1.8275785826914093, 30.67266262003448, 2230) + femmesh.addNode(-3.5673583878245876, 1.809407121909704, 29.703590588220997, 2231) + femmesh.addNode(-3.9235552329972605, -0.77827651488389, 9.384518957888805, 2232) + femmesh.addNode(-3.787011186628434, -1.2878455933655624, 8.510829903919829, 2233) + femmesh.addNode(-2.121367644380204, -3.3911354023950127, 8.357420599679847, 2234) + femmesh.addNode(-2.4152833791909254, 3.18848023330929, 13.123493778330428, 2235) + femmesh.addNode(-2.410844449016053, 3.1918378785033057, 12.274128774174994, 2236) + femmesh.addNode(-2.9489107387311666, 2.7025775576282736, 11.860870642961208, 2237) + femmesh.addNode(-3.0574095406197426, 2.579195010255598, 13.575892438684106, 2238) + femmesh.addNode(-3.5915123422136817, 1.7609767448001112, 34.54097041681895, 2239) + femmesh.addNode(-3.5738777041425007, 1.796496077321943, 33.572482445031675, 2240) + femmesh.addNode(-3.6098741244428063, -1.723023158775959, 16.050027560916043, 2241) + femmesh.addNode(-3.6221652639127693, -1.697032351165922, 16.950500622752205, 2242) + femmesh.addNode(-3.90413479260935, -0.8704777545331904, 15.406743456805991, 2243) + femmesh.addNode(-3.341627687631461, -2.198527779504915, 12.576421412611577, 2244) + femmesh.addNode(-3.3808675040916203, -2.137693832095068, 13.436394225949783, 2245) + femmesh.addNode(-3.807336091191649, -1.2264550088403132, 13.659214914757788, 2246) + femmesh.addNode(-3.751095256520947, -1.3889868165342858, 12.049436844203044, 2247) + femmesh.addNode(-3.4037352574235054, -2.101091691805035, 8.438234949122695, 2248) + femmesh.addNode(-3.5750719187306386, 1.7941183840269934, 17.651858771368424, 2249) + femmesh.addNode(-3.5863229800618965, 1.771521234047156, 16.747573636746672, 2250) + femmesh.addNode(-3.902287036952591, -0.8787240074288211, 17.34539129737287, 2251) + femmesh.addNode(-3.6058968609174347, 1.7313312301306731, 36.417131895907715, 2252) + femmesh.addNode(-3.599481082201547, 1.744630602412207, 35.482131321496254, 2253) + femmesh.addNode(-3.576485875400081, 1.7912980720873108, 18.57503506961651, 2254) + femmesh.addNode(-3.8841657340342866, 0.9556445733398435, 18.164204063721034, 2255) + femmesh.addNode(-3.5531371116991335, 1.837176275011829, 23.13174320293082, 2256) + femmesh.addNode(-3.57333603835772, 1.797573241059723, 22.231336786037893, 2257) + femmesh.addNode(-3.88162013055643, 0.9659322761245134, 33.08839955978213, 2258) + femmesh.addNode(-3.428291177916885, -2.0607813080036554, 40.01711864469207, 2259) + femmesh.addNode(-3.531916354160271, 1.8776492929232598, 25.93586985239329, 2260) + femmesh.addNode(-3.858519892977614, 1.0544307637280053, 25.543266311422258, 2261) + femmesh.addNode(-3.5492744859275294, 1.844627502653008, 26.914475793984757, 2262) + femmesh.addNode(-3.8877915431036865, 0.9407852663448008, 34.97477175109633, 2263) + femmesh.addNode(-3.1950038832253265, -2.406647083844053, 9.113778261271884, 2264) + femmesh.addNode(-3.2949311138338375, -2.2679129072981854, 9.898581883821578, 2265) + femmesh.addNode(-3.5771402635790497, 1.7899909314523372, 10.384910462094393, 2266) + femmesh.addNode(-3.941484759337506, 0.6816875324590896, 10.43014642242874, 2267) + femmesh.addNode(-3.8787607611090973, 0.9773509902181379, 31.173357637500658, 2268) + femmesh.addNode(-2.896808521642621, -2.75835102714261, 8.28391003359261, 2269) + femmesh.addNode(-3.999990343807768, -0.00878916632067292, 11.275196873444429, 2270) + femmesh.addNode(-3.967584738986508, -0.5082040328070639, 10.345985189991332, 2271) + femmesh.addNode(-3.7303596022015633, -1.4437510998307823, 10.229569408904496, 2272) + femmesh.addNode(-3.5800860120809666, 1.7840919668285604, 15.811886321581465, 2273) + femmesh.addNode(-3.5705679956176644, 1.8030652203042614, 14.9259782935656, 2274) + femmesh.addNode(-3.8800235213055436, 0.9723258065667753, 16.305340450307735, 2275) + femmesh.addNode(-3.8648299680991696, 1.0310622278420316, 23.655264530023143, 2276) + femmesh.addNode(-3.876989998198093, 0.9843518445515058, 29.273268651632343, 2277) + femmesh.addNode(-3.5659286567558284, 1.8122231691840756, 28.77333223799725, 2278) + femmesh.addNode(-3.5638122267567063, 1.8163816813707978, 27.83751771291812, 2279) + femmesh.addNode(-3.5872475253035527, 1.7696483244428924, 19.49185680639573, 2280) + femmesh.addNode(-3.8198467292107727, -1.1869165789295222, 39.74236298487716, 2281) + femmesh.addNode(-3.6166461654912005, 1.708762860562517, 37.29867261586588, 2282) + femmesh.addNode(-3.8977212088798607, 0.8987599111265018, 36.7974733757318, 2283) + femmesh.addNode(-3.623912172689128, 1.693298722799838, 38.21101635888327, 2284) + femmesh.addNode(-3.9858291568361777, -0.3364014454704455, 39.75865989220551, 2285) + femmesh.addNode(-3.999736477913069, 0.045914129105925086, 17.764457614361607, 2286) + femmesh.addNode(-3.9997714475053376, 0.042759416753007005, 18.687633912609698, 2287) + femmesh.addNode(-3.9551555742024673, 0.5972808249518414, 39.98421313331127, 2288) + femmesh.addNode(-3.6943737831840275, 1.5334935116010555, 39.917292979311654, 2289) + femmesh.addNode(-3.999484849453275, 0.06419454021732456, 20.532650125218563, 2290) + femmesh.addNode(-3.999384067665276, 0.07019315711057639, 21.445682967404224, 2291) + femmesh.addNode(-3.9990277943576484, 0.08818559947633291, 22.345186792135365, 2292) + femmesh.addNode(-3.999203286055837, 0.07983155266056573, 23.257248280866627, 2293) + femmesh.addNode(-3.9989443466754313, 0.09189185052336502, 26.067706612379837, 2294) + femmesh.addNode(-3.9987772243382853, 0.0988974727351479, 26.989081302905593, 2295) + femmesh.addNode(-3.999436540860871, 0.0671368425443845, 27.912123221838954, 2296) + femmesh.addNode(-3.999478946855304, 0.06456123961936454, 28.8343176075199, 2297) + femmesh.addNode(-3.999528674625147, 0.06140342703151333, 29.764575957743652, 2298) + femmesh.addNode(-3.9996849667401375, 0.05020126326044644, 30.701468528083957, 2299) + femmesh.addNode(-3.9997338967582494, 0.04613843433701359, 31.671299163728527, 2300) + femmesh.addNode(-3.999687233441258, 0.05002034233205566, 32.61175553469083, 2301) + femmesh.addNode(-3.999776198200877, 0.04231269674386637, 33.556966821327734, 2302) + femmesh.addNode(-3.9998567757367005, 0.03384927758765458, 34.49085782750316, 2303) + femmesh.addNode(-3.9999693276383743, 0.015664544430398924, 35.43201873218046, 2304) + femmesh.addNode(-3.9999684188490194, 0.015894911464879733, 36.367484855979924, 2305) + femmesh.addNode(-3.999989642692208, -0.009102656483680643, 37.24902557593809, 2306) + femmesh.addNode(-3.581387122308803, 1.7814786779977674, 21.33183296130675, 2307) + femmesh.addNode(-3.583915183307295, 1.7763873335676084, 20.40912425105184, 2308) + femmesh.addNode(-3.883121056759838, 0.9598806480747268, 20.004647806625236, 2309) + femmesh.addNode(-3.876919536281716, 0.9846293257856817, 21.82141907601249, 2310) + femmesh.addNode(-3.4463546346455707, 2.030428460265713, 11.205808983212355, 2311) + femmesh.addNode(-3.603481606189344, 1.7363525891520606, 39.017954823931426, 2312) + femmesh.addNode(-3.9998355860625057, 0.036266850814627404, 16.821961448484206, 2313) + femmesh.addNode(-3.868247512085303, 1.0181655981449504, 27.419968382475226, 2314) + femmesh.addNode(-3.9984924826781763, 0.109808314649284, 24.191589910146142, 2315) + femmesh.addNode(-3.999415214632306, 0.06839547475984889, 14.89012245862952, 2316) + femmesh.addNode(-3.9996837393491713, 0.050298958098838456, 15.886274133318999, 2317) + femmesh.addNode(-3.9997950602245895, 0.040490445823345086, 39.06733778468052, 2318) + femmesh.addNode(-3.9995984374217666, 0.05667750323861054, 19.615382680562455, 2319) + femmesh.addNode(-3.4989760237941385, 1.9383412457340325, 12.01441976563069, 2320) + femmesh.addNode(-3.998807394496159, 0.09766996325810764, 25.114046460260234, 2321) + femmesh.addNode(-3.892567648509794, 0.9208241426976881, 38.48595256073813, 2322) + femmesh.addNode(-3.51076855931246, 1.9168996121192976, 13.116239727047683, 2323) + femmesh.addNode(-3.8325884643797257, 1.145105088061116, 12.46117806729883, 2324) + femmesh.addNode(-3.9697962383419068, 0.4906300297030826, 12.007573421129681, 2325) + femmesh.addNode(-3.9384275081920044, -0.6991342951940785, 11.923412188692275, 2326) + femmesh.addNode(-3.5383097634152945, 1.865573375163787, 14.022650740352246, 2327) + femmesh.addNode(-3.8586519047272674, 1.0539475689732543, 14.466325581929176, 2328) + femmesh.addNode(-3.8951492119395024, -0.9098420834007808, 12.781813391888296, 2329) + femmesh.addNode(-4.996718791864096, 0.18111133325170614, 30.68393946522783, 2330) + femmesh.addNode(-4.975604404847249, -0.4933161323782732, 29.791665550832356, 2331) + femmesh.addNode(-4.948263036286244, -0.7174210226381976, 30.608298640645415, 2332) + femmesh.addNode(-3.9727234345404967, 0.466335193452906, 13.109393382546674, 2333) + femmesh.addNode(-3.997594116339187, 0.13871294463861616, 13.986794905416167, 2334) + femmesh.addNode(-4.991232298596126, 0.2959732106979115, 29.059722761396134, 2335) + femmesh.addNode(-4.963452948522945, -0.6034358522650813, 28.984081936813723, 2336) + femmesh.addNode(-3.9999935835459697, -0.007164606833069707, 38.26039931963237, 2337) + femmesh.addNode(-3.9648405726820086, -0.5291873328175978, 13.533190259247018, 2338) + femmesh.addNode(-4.928863220275538, 0.8404209396576539, 31.182780467631098, 2339) + femmesh.addNode(-4.885900561387838, 1.062062005831117, 30.366147377818038, 2340) + femmesh.addNode(-4.999801229357236, -0.044583258268916376, 36.399752381792155, 2341) + femmesh.addNode(-4.946274098537561, -0.731007894715534, 36.45718906038336, 2342) + femmesh.addNode(-4.9906254711245674, -0.3060349766982331, 37.27429722933592, 2343) + femmesh.addNode(4.1287091334570345, 1.7832234730736127, 0.0, 2344) + femmesh.addNode(3.64805071213184, 2.5512441116644786, 0.0, 2345) + femmesh.addNode(3.0795020195761036, 3.2609088845757985, 0.0, 2346) + femmesh.addNode(2.3846688777343887, 3.7929179863070988, 0.0, 2347) + femmesh.addNode(1.5606748690934826, 4.177502930684805, 0.0, 2348) + femmesh.addNode(0.709468117776937, 4.439368320075479, 0.0, 2349) + femmesh.addNode(-0.1752550938102746, 4.425469977253883, 0.0, 2350) + femmesh.addNode(-1.109924808255904, 4.360767185235435, 0.0, 2351) + femmesh.addNode(-2.7380436816945566, 3.5657331488158563, 0.0, 2352) + femmesh.addNode(-3.379308007171816, 2.9039996985939722, 0.0, 2353) + femmesh.addNode(-3.92070533540089, 2.173410457840637, 0.0, 2354) + femmesh.addNode(-4.268255528823278, 1.3702693479610373, 0.0, 2355) + femmesh.addNode(-4.431325222736495, 0.5005932013516076, 0.0, 2356) + femmesh.addNode(-4.476848022954945, -0.4042912630705751, 0.0, 2357) + femmesh.addNode(-4.242851530543674, -1.270318762061371, 0.0, 2358) + femmesh.addNode(-3.9477385898947075, -2.1595331786439944, 0.0, 2359) + femmesh.addNode(-2.785088998615962, -3.534136551213229, 0.0, 2360) + femmesh.addNode(-1.958464549331799, -3.975142159162277, 0.0, 2361) + femmesh.addNode(0.6421747604140963, -4.435320014050891, 0.0, 2362) + femmesh.addNode(1.5354127826203288, -4.208964254333004, 0.0, 2363) + femmesh.addNode(2.3055970436109146, -3.825635664486841, 0.0, 2364) + femmesh.addNode(3.0670155480490164, -3.279709124102419, 0.0, 2365) + femmesh.addNode(3.6049148990380884, -2.6083009830461745, 0.0, 2366) + femmesh.addNode(4.129104429712001, -1.7765461588609317, 0.0, 2367) + femmesh.addNode(4.335822356141529, -0.8910296967831287, 0.0, 2368) + femmesh.addNode(4.5, -1.102182119232618e-15, 0.0, 2369) + femmesh.addNode(4.324441214720629, 0.9203113817116942, 0.0, 2370) + femmesh.addNode(-1.9169297526031173, 3.984111592622308, 0.0, 2371) + femmesh.addNode(-0.29156522307548094, -4.444120566643833, 0.0, 2372) + femmesh.addNode(-1.1911454758413504, -4.336215107439761, 0.0, 2373) + femmesh.addNode(-3.3338108560966573, -2.8875636182482234, 0.0, 2374) + femmesh.addNode(3.64805071213184, 2.5512441116644786, 50.0, 2375) + femmesh.addNode(4.1287091334570345, 1.7832234730736127, 50.0, 2376) + femmesh.addNode(2.3846688777343887, 3.7929179863070988, 50.0, 2377) + femmesh.addNode(3.0795020195761036, 3.2609088845757985, 50.0, 2378) + femmesh.addNode(0.709468117776937, 4.439368320075479, 50.0, 2379) + femmesh.addNode(1.5606748690934826, 4.177502930684805, 50.0, 2380) + femmesh.addNode(-1.109924808255904, 4.360767185235435, 50.0, 2381) + femmesh.addNode(-0.1752550938102746, 4.425469977253883, 50.0, 2382) + femmesh.addNode(-3.379308007171816, 2.9039996985939722, 50.0, 2383) + femmesh.addNode(-2.7380436816945566, 3.5657331488158563, 50.0, 2384) + femmesh.addNode(-4.268255528823278, 1.3702693479610373, 50.0, 2385) + femmesh.addNode(-3.92070533540089, 2.173410457840637, 50.0, 2386) + femmesh.addNode(-4.476848022954945, -0.4042912630705751, 50.0, 2387) + femmesh.addNode(-4.431325222736495, 0.5005932013516076, 50.0, 2388) + femmesh.addNode(-3.9477385898947075, -2.1595331786439944, 50.0, 2389) + femmesh.addNode(-4.242851530543674, -1.270318762061371, 50.0, 2390) + femmesh.addNode(-1.958464549331799, -3.975142159162277, 50.0, 2391) + femmesh.addNode(-2.785088998615962, -3.534136551213229, 50.0, 2392) + femmesh.addNode(1.5354127826203288, -4.208964254333004, 50.0, 2393) + femmesh.addNode(0.6421747604140963, -4.435320014050891, 50.0, 2394) + femmesh.addNode(3.0670155480490164, -3.279709124102419, 50.0, 2395) + femmesh.addNode(2.3055970436109146, -3.825635664486841, 50.0, 2396) + femmesh.addNode(4.129104429712001, -1.7765461588609317, 50.0, 2397) + femmesh.addNode(3.6049148990380884, -2.6083009830461745, 50.0, 2398) + femmesh.addNode(4.5, -1.102182119232618e-15, 50.0, 2399) + femmesh.addNode(4.335822356141529, -0.8910296967831287, 50.0, 2400) + femmesh.addNode(4.324441214720629, 0.9203113817116942, 50.0, 2401) + femmesh.addNode(-1.9169297526031173, 3.984111592622308, 50.0, 2402) + femmesh.addNode(-0.29156522307548094, -4.444120566643833, 50.0, 2403) + femmesh.addNode(-1.1911454758413504, -4.336215107439761, 50.0, 2404) + femmesh.addNode(-3.3338108560966573, -2.8875636182482234, 50.0, 2405) + femmesh.addNode(4.911436253643443, 0.9369065729286224, 49.075, 2406) + femmesh.addNode(4.506205873141898, 2.166589169376941, 49.24776567845932, 2407) + femmesh.addNode(4.039008113759961, 2.9472722061223315, 49.24776567845932, 2408) + femmesh.addNode(3.398438835907757, 3.6675078021176626, 49.244336436473255, 2409) + femmesh.addNode(2.7040832365713885, 4.205702539373607, 49.244336436473255, 2410) + femmesh.addNode(3.7838885567460805, 3.268361575793912, 48.492102114932564, 2411) + femmesh.addNode(1.9066564654146625, 4.622192242096002, 49.23617954692109, 2412) + femmesh.addNode(1.0528852019200914, 4.8878863276039555, 49.23617954692109, 2413) + femmesh.addNode(2.331579590945391, 4.423091295811893, 48.480515983394355, 2414) + femmesh.addNode(0.12302096173809722, 4.998486355185241, 49.227696180106534, 2415) + femmesh.addNode(-0.8157810218856999, 4.933001249171859, 49.227696180106534, 2416) + femmesh.addNode(0.5856095775164953, 4.965587721782886, 48.46387572702763, 2417) + femmesh.addNode(-1.7161975336121107, 4.696239562205458, 49.21352798575263, 2418) + femmesh.addNode(-2.5252269653655706, 4.315463911723812, 49.21352798575263, 2419) + femmesh.addNode(-1.2691701593825389, 4.836238942249741, 48.44122416585916, 2420) + femmesh.addNode(-3.2531164814345086, 3.797003181223208, 49.20867852789347, 2421) + femmesh.addNode(-3.897160710870704, 3.132433302345917, 49.20867852789347, 2422) + femmesh.addNode(-2.91366359298123, 4.063319390219739, 48.4222065136461, 2423) + femmesh.addNode(-4.396372470807105, 2.381577019105078, 49.19655092331452, 2424) + femmesh.addNode(-4.745342431131706, 1.5753492347098872, 49.19655092331452, 2425) + femmesh.addNode(-4.1570368641267805, 2.7783168484337755, 48.40522945120799, 2426) + femmesh.addNode(-4.950979809491395, 0.6984260347442302, 49.223687364143856, 2427) + femmesh.addNode(-4.995576176635906, -0.21028234216831362, 49.223687364143856, 2428) + femmesh.addNode(-4.87038053406967, 1.1311027598566084, 48.420238287458375, 2429) + femmesh.addNode(-4.8633449026624715, -1.160980774064306, 49.229849128779094, 2430) + femmesh.addNode(-4.559655590128747, -2.051716573849241, 49.229849128779094, 2431) + femmesh.addNode(-4.947921150238093, -0.7197751669976853, 48.45353649292295, 2432) + femmesh.addNode(-4.105907558582384, -2.853335437759823, 49.23189555874811, 2433) + femmesh.addNode(-3.4872793676495344, -3.5831386537456043, 49.23189555874811, 2434) + femmesh.addNode(-4.3360854338226575, -2.4896512025966566, 48.4617446875272, 2435) + femmesh.addNode(-2.7628606418176926, -4.167325410127547, 49.21316003518332, 2436) + femmesh.addNode(-1.9330438703414003, -4.611219079086954, 49.21316003518332, 2437) + femmesh.addNode(-3.1389251447763526, -3.891933829793455, 48.44505559393143, 2438) + femmesh.addNode(-1.05386545532037, -4.887675071246286, 49.195429404537194, 2439) + femmesh.addNode(-0.15074403509853035, -4.997727106983955, 49.195429404537194, 2440) + femmesh.addNode(-1.514453850182288, -4.7651263924126965, 48.408589439720515, 2441) + femmesh.addNode(0.8136170155375617, -4.933358627955984, 49.17552198514372, 2442) + femmesh.addNode(1.7088712411477087, -4.6989104142533185, 49.17552198514372, 2443) + femmesh.addNode(0.3520334596927851, -4.987591848102321, 48.37095138968091, 2444) + femmesh.addNode(2.5511475471897906, -4.3001914134684185, 49.18697700609821, 2445) + femmesh.addNode(3.311735230358307, -3.74598582004839, 49.18697700609821, 2446) + femmesh.addNode(2.1780508452301017, -4.500677117456044, 48.362498991241935, 2447) + femmesh.addNode(3.936088847825974, -3.0833755175164757, 49.25144808578063, 2448) + femmesh.addNode(4.4655333086706515, -2.249224815164759, 49.25144808578063, 2449) + femmesh.addNode(3.654707475675659, -3.41220064873689, 48.43842509187884, 2450) + femmesh.addNode(4.762192895351413, -1.5236531191398273, 49.385675657168306, 2451) + femmesh.addNode(4.959450495152774, -0.6354925539523676, 49.385675657168306, 2452) + femmesh.addNode(4.959450495152774, -0.6354925539523676, 48.4606756571683, 2453) + femmesh.addNode(4.581964014209019, -2.0014009524564473, 48.63712374294893, 2454) + femmesh.addNode(4.917226024976648, -0.906028818135689, 0.9249999999999999, 2455) + femmesh.addNode(4.933865081915182, -0.8105401615330943, 2.9917009070252654, 2456) + femmesh.addNode(4.933865081915182, -0.8105401615330943, 2.1417009070252653, 2457) + femmesh.addNode(4.938484624352219, -0.7819012821556991, 6.717847884339298, 2458) + femmesh.addNode(4.938484624352219, -0.7819012821556991, 5.792847884339297, 2459) + femmesh.addNode(4.940136236938112, -0.7713974076252486, 10.208518082923591, 2460) + femmesh.addNode(4.940136236938112, -0.7713974076252486, 9.333518082923591, 2461) + femmesh.addNode(4.943192800902646, -0.7515616628755445, 13.80654087539902, 2462) + femmesh.addNode(4.943192800902646, -0.7515616628755445, 12.931540875399023, 2463) + femmesh.addNode(4.9444091881118215, -0.7435171689446054, 17.233557220192793, 2464) + femmesh.addNode(4.9444091881118215, -0.7435171689446054, 16.408557220192797, 2465) + femmesh.addNode(4.938401130828418, -0.7824284446724845, 20.85881666562627, 2466) + femmesh.addNode(4.938401130828418, -0.7824284446724845, 19.933816665626274, 2467) + femmesh.addNode(4.936101611005987, -0.796806680333507, 24.358502626307683, 2468) + femmesh.addNode(4.936101611005987, -0.796806680333507, 23.458502626307684, 2469) + femmesh.addNode(4.948857834672973, -0.713306478448033, 27.905536682267343, 2470) + femmesh.addNode(4.948857834672973, -0.713306478448033, 27.030536682267346, 2471) + femmesh.addNode(4.932078536683461, -0.8213411641859498, 31.468778684984116, 2472) + femmesh.addNode(4.932078536683461, -0.8213411641859498, 30.543778684984115, 2473) + femmesh.addNode(4.935049662335002, -0.803296228229152, 35.0216668711298, 2474) + femmesh.addNode(4.935049662335002, -0.803296228229152, 34.1716668711298, 2475) + femmesh.addNode(4.936239713913319, -0.7959506811260074, 38.6541248170659, 2476) + femmesh.addNode(4.936239713913319, -0.7959506811260074, 37.7541248170659, 2477) + femmesh.addNode(4.940912558088332, -0.7664092205375773, 42.221420500044225, 2478) + femmesh.addNode(4.940912558088332, -0.7664092205375773, 41.27142050004423, 2479) + femmesh.addNode(4.937469985524286, -0.788283034224897, 45.75577451487335, 2480) + femmesh.addNode(4.937469985524286, -0.788283034224897, 44.90577451487335, 2481) + femmesh.addNode(4.938719503124901, -0.7804163436613389, 47.6445459643286, 2482) + femmesh.addNode(4.938719503124901, -0.7804163436613389, 46.6195459643286, 2483) + femmesh.addNode(4.753918070052342, -1.549278213630402, 46.27532047920195, 2484) + femmesh.addNode(4.799477221962714, -1.4017911384586015, 47.955221621496904, 2485) + femmesh.addNode(4.946157225581686, 0.7317982644322641, 0.7502042087578784, 2486) + femmesh.addNode(4.721421861987732, 1.6456535483340025, 0.7502042087578784, 2487) + femmesh.addNode(3.9054291623827546, 3.1221183606023546, 0.750214179976684, 2488) + femmesh.addNode(4.406521424861505, 2.3627460575010035, 0.750214179976684, 2489) + femmesh.addNode(1.0088735343584079, 4.897159808671877, 0.7808424953057017, 2490) + femmesh.addNode(1.8650003096652124, 4.639156587672878, 0.7808424953057017, 2491) + femmesh.addNode(-2.491541957608293, 4.334999270297221, 0.8492774474556068, 2492) + femmesh.addNode(-1.6795716156760918, 4.709462728148, 0.8492774474556068, 2493) + femmesh.addNode(-4.741861908088356, 1.5857949566765113, 0.8254035545018291, 2494) + femmesh.addNode(-4.391117429741308, 2.3912523326119492, 0.8254035545018291, 2495) + femmesh.addNode(-4.5719883188323855, -2.024085673201659, 0.8189200619063758, 2496) + femmesh.addNode(-4.870281670348203, -1.1315283697151894, 0.8189200619063758, 2497) + femmesh.addNode(-1.9352426770564712, -4.610296712891623, 0.8056329969234278, 2498) + femmesh.addNode(-2.7648476674305087, -4.166007366280582, 0.8056329969234278, 2499) + femmesh.addNode(1.6795072302316327, -4.709485689924078, 0.8475195573743507, 2500) + femmesh.addNode(0.7828070138721287, -4.938341136356682, 0.8475195573743507, 2501) + femmesh.addNode(4.413099868517315, -2.350436034120576, 0.7615618808234962, 2502) + femmesh.addNode(3.864777800753062, -3.1723008291784573, 0.7615618808234962, 2503) + femmesh.addNode(4.971171809587403, 0.536144420434924, 2.3762698271976106, 2504) + femmesh.addNode(4.971171809587403, 0.536144420434924, 3.2262698271976107, 2505) + femmesh.addNode(4.952091747930265, 0.6904978784044014, 3.9617697785423447, 2506) + femmesh.addNode(4.952091747930265, 0.6904978784044014, 4.861769778542344, 2507) + femmesh.addNode(4.849498462194536, 1.2175239895676937, 3.6380396057399556, 2508) + femmesh.addNode(4.939307689016495, 0.7766849768229972, 5.747333728780049, 2509) + femmesh.addNode(4.939307689016495, 0.7766849768229972, 6.67233372878005, 2510) + femmesh.addNode(4.784721103716399, 1.4513593489039598, 5.259103507322394, 2511) + femmesh.addNode(4.938108797338085, 0.7842713214520941, 7.586572751017011, 2512) + femmesh.addNode(4.938108797338085, 0.7842713214520941, 8.436572751017012, 2513) + femmesh.addNode(4.756341399753276, 1.5418224570270889, 7.058906479797061, 2514) + femmesh.addNode(4.937248816023977, 0.7896670999033943, 9.330358483714146, 2515) + femmesh.addNode(4.937248816023977, 0.7896670999033943, 10.205358483714146, 2516) + femmesh.addNode(4.752271710621152, 1.5543209412569556, 8.866931234731156, 2517) + femmesh.addNode(4.940469742212221, 0.7692585561990912, 11.09880499239052, 2518) + femmesh.addNode(4.940469742212221, 0.7692585561990912, 12.02380499239052, 2519) + femmesh.addNode(4.756974042437862, 1.539869461861099, 10.654163476104664, 2520) + femmesh.addNode(4.94242052251383, 0.7566236704162282, 12.915784116665362, 2521) + femmesh.addNode(4.94242052251383, 0.7566236704162282, 13.79078411666536, 2522) + femmesh.addNode(4.767167962495498, 1.508015125042358, 12.43958910905588, 2523) + femmesh.addNode(4.9434199372921634, 0.7500662127988063, 14.67493500229366, 2524) + femmesh.addNode(4.9434199372921634, 0.7500662127988063, 15.549935002293662, 2525) + femmesh.addNode(4.772988459698711, 1.4894902361489089, 14.215719118959022, 2526) + femmesh.addNode(4.944674278113359, 0.7417521711219552, 16.421918007957288, 2527) + femmesh.addNode(4.944674278113359, 0.7417521711219552, 17.24691800795729, 2528) + femmesh.addNode(4.777447633602483, 1.4751251161125394, 15.97185301025095, 2529) + femmesh.addNode(4.944010541182982, 0.7461633659404328, 18.1235376297125, 2530) + femmesh.addNode(4.944010541182982, 0.7461633659404328, 19.0235376297125, 2531) + femmesh.addNode(4.778610691402135, 1.4713530711617828, 17.720455637669794, 2532) + femmesh.addNode(4.944205238243774, 0.7448721783788288, 19.916346857144582, 2533) + femmesh.addNode(4.944205238243774, 0.7448721783788288, 20.84134685714458, 2534) + femmesh.addNode(4.77768129676693, 1.4743681448415316, 19.489884486857083, 2535) + femmesh.addNode(4.944663787823754, 0.7418220982044422, 21.728686836162822, 2536) + femmesh.addNode(4.944663787823754, 0.7418220982044422, 22.578686836162824, 2537) + femmesh.addNode(4.7789739917706555, 1.4701726381550053, 21.270033693307404, 2538) + femmesh.addNode(4.944799213712127, 0.7409188458069658, 23.461756459504613, 2539) + femmesh.addNode(4.944799213712127, 0.7409188458069658, 24.361756459504612, 2540) + femmesh.addNode(4.780147927461175, 1.4663511828987756, 23.040443295667433, 2541) + femmesh.addNode(4.941576958969901, 0.7621136126443238, 25.25349352914023, 2542) + femmesh.addNode(4.941576958969901, 0.7621136126443238, 26.153493529140228, 2543) + femmesh.addNode(4.77408830459158, 1.4859612578939918, 24.81524998864484, 2544) + femmesh.addNode(4.942423128367052, 0.7566066482541962, 27.04197595293674, 2545) + femmesh.addNode(4.942423128367052, 0.7566066482541962, 27.91697595293674, 2546) + femmesh.addNode(4.769348805313308, 1.5011035851188015, 26.595469482076968, 2547) + femmesh.addNode(4.942349541661234, 0.7570871865518446, 28.800882730679962, 2548) + femmesh.addNode(4.942349541661234, 0.7570871865518446, 29.675882730679962, 2549) + femmesh.addNode(4.770873096905464, 1.4962519484444006, 28.367858683616703, 2550) + femmesh.addNode(4.941339702900436, 0.7636504046616048, 30.56869805022019, 2551) + femmesh.addNode(4.941339702900436, 0.7636504046616048, 31.49369805022019, 2552) + femmesh.addNode(4.768735615889536, 1.5030504401871028, 30.144580780900153, 2553) + femmesh.addNode(4.942169546430863, 0.7582612836821884, 32.38588023747705, 2554) + femmesh.addNode(4.942169546430863, 0.7582612836821884, 33.26088023747705, 2555) + femmesh.addNode(4.768378412424162, 1.5041832720540507, 31.929578287697247, 2556) + femmesh.addNode(4.942063827198787, 0.7589500167292161, 34.14135525882127, 2557) + femmesh.addNode(4.942063827198787, 0.7589500167292161, 34.99135525882127, 2558) + femmesh.addNode(4.76980698587268, 1.499647064318862, 33.70223549629833, 2559) + femmesh.addNode(4.941828453443279, 0.7604811218816733, 35.88085639342863, 2560) + femmesh.addNode(4.941828453443279, 0.7604811218816733, 36.80585639342863, 2561) + femmesh.addNode(4.76913289596182, 1.5017894062267256, 35.4722116522499, 2562) + femmesh.addNode(4.943278871265843, 0.7509953401298103, 37.70357855003975, 2563) + femmesh.addNode(4.943278871265843, 0.7509953401298103, 38.60357855003975, 2564) + femmesh.addNode(4.771543680107287, 1.494112080410372, 37.25943494346838, 2565) + femmesh.addNode(4.943621263032082, 0.7487381436103606, 39.49227191160974, 2566) + femmesh.addNode(4.943621263032082, 0.7487381436103606, 40.34227191160974, 2567) + femmesh.addNode(4.775079936051606, 1.4827715954648548, 39.045850461649486, 2568) + femmesh.addNode(4.942068356443763, 0.7589205230043787, 41.23697190094807, 2569) + femmesh.addNode(4.942068356443763, 0.7589205230043787, 42.186971900948066, 2570) + femmesh.addNode(4.772696293346212, 1.4904261442551698, 40.829243812557806, 2571) + femmesh.addNode(4.939483909044262, 0.7755634805048612, 43.04319112004585, 2572) + femmesh.addNode(4.939483909044262, 0.7755634805048612, 43.91819112004585, 2573) + femmesh.addNode(4.764535216360505, 1.5163126894082741, 42.58016302099392, 2574) + femmesh.addNode(4.941063194000753, 0.7654374650427532, 44.76804374614544, 2575) + femmesh.addNode(4.941063194000753, 0.7654374650427532, 45.61804374614543, 2576) + femmesh.addNode(4.762531359167945, 1.5225948420186919, 44.286234866191286, 2577) + femmesh.addNode(4.705311407982139, -1.6911666251180395, 1.2167009070252655, 2578) + femmesh.addNode(4.832366905071032, 1.28383413834273, 48.32276567845931, 2579) + femmesh.addNode(4.946157225581686, 0.7317982644322643, 1.6752042087578785, 2580) + femmesh.addNode(4.930855857335705, -0.8286498139613453, 4.857773779785184, 2581) + femmesh.addNode(4.930855857335705, -0.8286498139613453, 3.9577737797851844, 2582) + femmesh.addNode(4.936956817583369, -0.7914906072197518, 8.42017973180848, 2583) + femmesh.addNode(4.936956817583369, -0.7914906072197518, 7.57017973180848, 2584) + femmesh.addNode(4.940710534608176, -0.7677105009128117, 12.005550829894975, 2585) + femmesh.addNode(4.940710534608176, -0.7677105009128117, 11.080550829894975, 2586) + femmesh.addNode(4.944439772856038, -0.7433137511168022, 15.542392812034155, 2587) + femmesh.addNode(4.944439772856038, -0.7433137511168022, 14.667392812034155, 2588) + femmesh.addNode(4.939041590775143, -0.7783753365782746, 18.999799684076194, 2589) + femmesh.addNode(4.939041590775143, -0.7783753365782746, 18.099799684076192, 2590) + femmesh.addNode(4.937825078399223, -0.7860556565102189, 22.589015955269826, 2591) + femmesh.addNode(4.937825078399223, -0.7860556565102189, 21.739015955269828, 2592) + femmesh.addNode(4.941662294446064, -0.7615600880101702, 26.178819724386926, 2593) + femmesh.addNode(4.941662294446064, -0.7615600880101702, 25.278819724386924, 2594) + femmesh.addNode(4.942455369253196, -0.7563960093365497, 29.637060267900285, 2595) + femmesh.addNode(4.942455369253196, -0.7563960093365497, 28.762060267900285, 2596) + femmesh.addNode(4.934910781355297, -0.804148978773988, 33.219529420347676, 2597) + femmesh.addNode(4.934910781355297, -0.804148978773988, 32.344529420347676, 2598) + femmesh.addNode(4.935823445136402, -0.7985279697304399, 36.827623526868244, 2599) + femmesh.addNode(4.935823445136402, -0.7985279697304399, 35.90262352686824, 2600) + femmesh.addNode(4.9392394839129645, -0.7771186013442182, 40.3590329024325, 2601) + femmesh.addNode(4.9392394839129645, -0.7771186013442182, 39.50903290243251, 2602) + femmesh.addNode(4.94382408425802, -0.7473977682000048, 43.969226341858615, 2603) + femmesh.addNode(4.94382408425802, -0.7473977682000048, 43.094226341858615, 2604) + femmesh.addNode(-3.2357359683449163, 3.811825382039291, 0.8390822069888111, 2605) + femmesh.addNode(-2.8632340790383974, 4.099010930533503, 1.688359654444418, 2606) + femmesh.addNode(-3.882809556557759, 3.150204746917847, 0.8390822069888111, 2607) + femmesh.addNode(4.7524435628253645, -1.5537954119380573, 7.0880276161477775, 2608) + femmesh.addNode(3.3377681185195507, 3.722808615413161, 0.7512180966793525, 2609) + femmesh.addNode(3.579599123099646, 3.4909125050485357, 1.5014322766560366, 2610) + femmesh.addNode(2.6346700945737354, 4.249530973267382, 0.7512180966793525, 2611) + femmesh.addNode(2.218429232152727, 4.4809119319542825, 1.5320605919850543, 2612) + femmesh.addNode(-0.8097381350902277, 4.933996772656078, 0.8198715731429493, 2613) + femmesh.addNode(0.12914335489406367, 4.998331921139963, 0.8198715731429493, 2614) + femmesh.addNode(-4.138130942522354, 2.806398457550006, 1.6644857614906403, 2615) + femmesh.addNode(-4.995504466153305, -0.21197907595418747, 0.8213157312960941, 2616) + femmesh.addNode(-4.951216744102475, 0.6967443956855948, 0.8213157312960941, 2617) + femmesh.addNode(-4.951951775359563, -0.6915009866321687, 1.64023579320247, 2618) + femmesh.addNode(-3.4952629994508397, -3.575351250530487, 0.8034533791544559, 2619) + femmesh.addNode(-4.112261801732553, -2.8441699798027775, 0.8034533791544559, 2620) + femmesh.addNode(-0.14127926070990296, -4.9980036184954155, 0.8220537632622735, 2621) + femmesh.addNode(-1.044607473811093, -4.889662076837008, 0.8220537632622735, 2622) + femmesh.addNode(3.2749720211553877, -3.778168638460887, 0.8405636532711116, 2623) + femmesh.addNode(2.5090050566727378, -4.3249154472186655, 0.8405636532711116, 2624) + femmesh.addNode(4.457832893144075, -2.264448254388412, 1.9782627878487618, 2625) + femmesh.addNode(4.755737094434504, -1.5436854241132365, 8.85369781473207, 2626) + femmesh.addNode(4.926516446833042, 0.8540700785553477, 46.46469379169953, 2627) + femmesh.addNode(4.926516446833042, 0.8540700785553477, 47.48969379169954, 2628) + femmesh.addNode(4.740606696871182, -1.589543376438687, 5.300621664124482, 2629) + femmesh.addNode(4.776534594170182, -1.4780789122017455, 14.223933687433178, 2630) + femmesh.addNode(4.768381439053249, -1.5041736773698937, 17.68335690426899, 2631) + femmesh.addNode(4.753985729250043, -1.5490705878322455, 21.2978326208961, 2632) + femmesh.addNode(4.757146209412274, -1.539337501094037, 24.837322350694606, 2633) + femmesh.addNode(4.783993360583803, -1.4537563502492714, 28.31759695016763, 2634) + femmesh.addNode(4.735777377352902, -1.6038742569642013, 31.86330810533179, 2635) + femmesh.addNode(4.7434158640090445, -1.581140708813522, 35.524290397998044, 2636) + femmesh.addNode(4.752544403392841, -1.5534869467682644, 39.1131577194984, 2637) + femmesh.addNode(4.770837992386498, -1.4963638763354217, 42.66564684190284, 2638) + femmesh.addNode(0.5470058414350542, 4.969988391277783, 1.6007140684486512, 2639) + femmesh.addNode(-4.86826550614216, 1.140171461538313, 1.6467192857979231, 2640) + femmesh.addNode(-4.356556265156806, -2.4536539096871386, 1.6223734410608317, 2641) + femmesh.addNode(-1.507700736000289, -4.7672674028906945, 1.6276867601857012, 2642) + femmesh.addNode(2.105700632589654, -4.534977932240854, 1.6880832106454622, 2643) + femmesh.addNode(4.769180593069222, -1.5016379292931803, 12.437091705293998, 2644) + femmesh.addNode(4.778933381421366, -1.4703046405206457, 15.950950032226952, 2645) + femmesh.addNode(4.756389114624541, -1.5416752544816843, 19.483616349702466, 2646) + femmesh.addNode(4.749454385226143, -1.5629085202455608, 23.047518581577506, 2647) + femmesh.addNode(4.782471683534709, -1.4587544674100195, 26.609356406654268, 2648) + femmesh.addNode(4.751063773263095, -1.5580093139603002, 30.080838952884402, 2649) + femmesh.addNode(4.741611988719208, -1.5865420726959254, 33.69119629147748, 2650) + femmesh.addNode(4.745763765868422, -1.574079501985326, 37.33174834393414, 2651) + femmesh.addNode(4.761751906389959, -1.5250307478839853, 40.88045340247673, 2652) + femmesh.addNode(4.764164409849191, -1.517477339509987, 44.47500085673197, 2653) + femmesh.addNode(4.731304716880567, -1.617020617068223, 3.39947468681045, 2654) + femmesh.addNode(4.763114651605785, -1.520769152652136, 10.639068912818566, 2655) + femmesh.addNode(3.5416541095536953, -3.529403089515481, 1.6021255340946077, 2656) + femmesh.addNode(0.33034263752085236, -4.989075439581542, 1.6695733206366241, 2657) + femmesh.addNode(-1.2255308913316325, 4.847481205161285, 1.6691490205985562, 2658) + femmesh.addNode(-3.149450728716637, -3.8834211859372454, 1.6090863760778837, 2659) + femmesh.addNode(4.7376983708378075, 1.5981908981597848, 45.98273753784497, 2660) + femmesh.addNode(4.839169561847981, 1.2579499003076486, 2.2014740359554894, 2661) + femmesh.addNode(2.730205379925612, 4.188792019595296, 47.69398680806365, 2662) + femmesh.addNode(1.9353861078597676, 4.610236502990212, 47.68582991851149, 2663) + femmesh.addNode(1.0337166656331962, 4.891976068542465, 47.632467391885505, 2664) + femmesh.addNode(0.10342601918310637, 4.998930191406551, 47.62398402507094, 2665) + femmesh.addNode(1.4812066382589129, 4.775565609933313, 46.8459382165548, 2666) + femmesh.addNode(-0.8015007238865847, 4.935341587935863, 47.61665159924915, 2667) + femmesh.addNode(-1.7025986901530952, 4.701186839542645, 47.602483404895246, 2668) + femmesh.addNode(-0.3504168745794626, 4.987705686386273, 46.785243264107024, 2669) + femmesh.addNode(-2.5285910145335966, 4.313493651463968, 47.62467805904133, 2670) + femmesh.addNode(-3.2560760595563307, 3.794465534747169, 47.61982860118218, 2671) + femmesh.addNode(-2.1050881141777213, 4.5352622891678145, 46.80010549243133, 2672) + femmesh.addNode(-3.8881411140192625, 3.1436219043442626, 47.633934698625126, 2673) + femmesh.addNode(-4.389508985002528, 2.3942035983980308, 47.62180709404617, 2674) + femmesh.addNode(-3.583335409857748, 3.4870771916405294, 46.83640624402035, 2675) + femmesh.addNode(-4.751322853178033, 1.5572190420323517, 47.612588108261775, 2676) + femmesh.addNode(-4.953610456481677, 0.6795170678028611, 47.63972454909111, 2677) + femmesh.addNode(-4.590645486301782, 1.9814070806114195, 46.8412933556789, 2678) + femmesh.addNode(-4.993082996231678, -0.2629109977579761, 47.611247788734815, 2679) + femmesh.addNode(-4.850841184331223, -1.2121632746441615, 47.61740955337005, 2680) + femmesh.addNode(-4.996776583624381, 0.17950981405776015, 46.80359760953821, 2681) + femmesh.addNode(-4.546353192409449, -2.08102682584065, 47.632544575759184, 2682) + femmesh.addNode(-4.087454144562509, -2.87970807827786, 47.634591005728204, 2683) + femmesh.addNode(-4.7180636311541315, -1.6552569505610573, 46.79025587157105, 2684) + femmesh.addNode(-3.493467326707005, -3.5771058185676607, 47.62446781434467, 2685) + femmesh.addNode(-2.770059402954719, -4.1625438020640875, 47.605732290779876, 2686) + femmesh.addNode(-3.807136484329781, -3.2412515776602517, 46.79526770257665, 2687) + femmesh.addNode(-1.9427089160990363, -4.607155528882144, 47.59921008021503, 2688) + femmesh.addNode(-1.0641121363472847, -4.885454468243299, 47.5814794495689, 2689) + femmesh.addNode(-2.37037767038139, -4.402420890800571, 46.77862230062827, 2690) + femmesh.addNode(-0.11657322838640126, -4.998640883522597, 47.5419784585665, 2691) + femmesh.addNode(0.8473252262758644, -4.927680992202778, 47.52207103917303, 2692) + femmesh.addNode(-0.5719493233540782, -4.9671796798097425, 46.73259909906102, 2693) + femmesh.addNode(1.7381713081171037, -4.6881510751722235, 47.509416931739466, 2694) + femmesh.addNode(2.577942163594302, -4.284181859020778, 47.52087195269396, 2695) + femmesh.addNode(1.2915144675185002, -4.830319904539492, 46.68044400062506, 2696) + femmesh.addNode(3.438778189888993, -3.6297113605276903, 47.447920962920534, 2697) + femmesh.addNode(4.039941905553285, -2.9459920909185247, 47.512392042602954, 2698) + femmesh.addNode(3.076331147253674, -3.9415969698127302, 46.59483890341807, 2699) + femmesh.addNode(4.521405583585195, -2.1346876934869465, 47.820994050109235, 2700) + femmesh.addNode(3.933571751853257, -3.0865860222942274, 2.5023962446096357, 2701) + femmesh.addNode(3.3572255313568773, -3.7052714787995678, 2.5813980170572512, 2702) + femmesh.addNode(4.4692490699780905, -2.241832453708344, 11.054483592785608, 2703) + femmesh.addNode(4.467574805697635, -2.2451671108173086, 10.182450845814223, 2704) + femmesh.addNode(4.501347473753503, -2.1766650914950043, 14.633643138007452, 2705) + femmesh.addNode(4.497709818583154, -2.1841717853274956, 13.772791201372318, 2706) + femmesh.addNode(3.258267188429538, 3.7925842019398157, 2.2797298794987593, 2707) + femmesh.addNode(3.838508478142175, 3.2040369322513493, 2.278725962796091, 2708) + femmesh.addNode(4.542050142315903, 2.0904019959539095, 47.66245947015885, 2709) + femmesh.addNode(4.476080253124342, -2.228161925801247, 18.132863238447385, 2710) + femmesh.addNode(4.491685811508642, -2.1965333074396924, 17.266620774563986, 2711) + femmesh.addNode(4.461169336596584, -2.2578680542074174, 19.940016318615097, 2712) + femmesh.addNode(4.463020820306079, -2.254206103601544, 19.005999337065017, 2713) + femmesh.addNode(4.453217283236812, -2.2735117831849796, 21.760567850344444, 2714) + femmesh.addNode(4.454886053309671, -2.2702401309172093, 20.88036856070089, 2715) + femmesh.addNode(4.4673317726527895, -2.2456506480409826, 25.326468355263074, 2716) + femmesh.addNode(4.451192012040292, -2.277474406431101, 24.406151257183833, 2717) + femmesh.addNode(4.52613253797134, -2.124646852706849, 27.086480741036087, 2718) + femmesh.addNode(4.505186228205678, -2.168708613250268, 26.234763783155667, 2719) + femmesh.addNode(4.362660234216105, -2.4427844114431134, 30.384306312466094, 2720) + femmesh.addNode(4.394413983064826, -2.3851888280478617, 29.477587895382264, 2721) + femmesh.addNode(4.422791434783251, -2.332148349571251, 32.311995209873636, 2722) + femmesh.addNode(4.414637561169553, -2.347546635002368, 31.436244474510076, 2723) + femmesh.addNode(4.4384703716761615, -2.3021687079258286, 35.967148392043626, 2724) + femmesh.addNode(4.436244113417031, -2.306455758555265, 35.08619173630518, 2725) + femmesh.addNode(4.459806016852752, -2.2605597298111797, 39.589732480420665, 2726) + femmesh.addNode(4.451152047754501, -2.2775525126264173, 38.73482439505405, 2727) + femmesh.addNode(4.509942273394365, -2.158800752883524, 43.09985446510508, 2728) + femmesh.addNode(4.501604835041454, -2.176132787568673, 42.2270486232907, 2729) + femmesh.addNode(0.13311196279222132, 4.99822780646917, 2.4052259407604777, 2730) + femmesh.addNode(1.01276153484138, 4.896357224870927, 2.36619686292323, 2731) + femmesh.addNode(-3.187818455390989, 3.851988252249559, 2.4807649726303094, 2732) + femmesh.addNode(-2.4371406599400864, 4.365815548516314, 2.4909602130971047, 2733) + femmesh.addNode(-4.950648665383283, 0.7007694285131996, 2.466314059461207, 2734) + femmesh.addNode(-4.740571114119214, 1.5896494934351157, 2.470401882666942, 2735) + femmesh.addNode(1.8163580580930738, 4.658416405260521, 2.303653237493318, 2736) + femmesh.addNode(2.5900624198519955, 4.276865284442617, 2.2740288388669687, 2737) + femmesh.addNode(2.9126256450617944, 4.064063465514333, 3.051322525007023, 2738) + femmesh.addNode(1.4239241808125631, 4.792957325837282, 3.1081651098051446, 2739) + femmesh.addNode(-2.766674890997281, -4.164794118263853, 2.4346378054025766, 2740) + femmesh.addNode(-3.4968310514471184, -3.5738176503055157, 2.4324581876336047, 2741) + femmesh.addNode(-4.367772762953951, 2.4336312562090443, 2.4707173394316224, 2742) + femmesh.addNode(-3.8521446451239822, 3.187629469220447, 2.4843959919186043, 2743) + femmesh.addNode(-3.5125728783114774, 3.55834677547743, 3.2869965505712915, 2744) + femmesh.addNode(-4.567691264909735, 2.033764123114407, 3.2903121130949065, 2745) + femmesh.addNode(-4.869250956950074, -1.1359555969494537, 2.461374429579306, 2746) + femmesh.addNode(-4.995309686261728, -0.21652052637050218, 2.4637700989690243, 2747) + femmesh.addNode(4.438527755615843, -2.302058071080699, 7.467011149534166, 2748) + femmesh.addNode(4.442990104599515, -2.293433873132337, 6.6146793020649834, 2749) + femmesh.addNode(-1.054785925169409, -4.887476511663714, 2.4119865289902784, 2750) + femmesh.addNode(-1.9448375341389275, -4.606257370773415, 2.3955657626514326, 2751) + femmesh.addNode(4.521855118128361, 2.1337352906713485, 45.4506367150932, 2752) + femmesh.addNode(4.482797331458979, 2.2146169160972864, 46.297286760647296, 2753) + femmesh.addNode(2.523249541488783, -4.3166204085345115, 2.5670909632211067, 2754) + femmesh.addNode(1.6950240506477756, -4.70392319959899, 2.574046867324346, 2755) + femmesh.addNode(-1.6280028087659297, 4.727537081255973, 2.479036945093669, 2756) + femmesh.addNode(-0.7557674004609217, 4.942551530980789, 2.4496310707810114, 2757) + femmesh.addNode(-2.00792880682891, 4.579107108018618, 3.2714422632795603, 2758) + femmesh.addNode(4.486288467901501, -2.2075361339679143, 12.901221743578738, 2759) + femmesh.addNode(4.479050959259445, -2.222184174265725, 11.97523169807469, 2760) + femmesh.addNode(4.105142928671542, -2.854435414434531, 13.31093119415301, 2761) + femmesh.addNode(0.7947452715344454, -4.936433930822294, 2.4679451918872344, 2762) + femmesh.addNode(-0.12919404227155876, -4.998330611258276, 2.4424793977751573, 2763) + femmesh.addNode(-0.5938185306177344, -4.964612729377286, 3.2103584002408887, 2764) + femmesh.addNode(1.2559065235474751, -4.839700280400729, 3.3469529444628794, 2765) + femmesh.addNode(4.33666567747348, -2.4886403520443614, 2.9575352708114053, 2766) + femmesh.addNode(4.500989000925163, 2.1774062582693903, 1.5004183887345626, 2767) + femmesh.addNode(4.503378548980824, 2.1724598142611002, 4.641145737044406, 2768) + femmesh.addNode(4.464838912062228, 2.250602916850278, 5.526709687282111, 2769) + femmesh.addNode(4.441903109412114, 2.2955384480759617, 6.549555289343535, 2770) + femmesh.addNode(4.438371696699818, 2.3023589385528007, 7.4637943115804966, 2771) + femmesh.addNode(4.034374702579969, 2.9536114773583186, 5.931597519065546, 2772) + femmesh.addNode(4.42861953592819, 2.321062042685457, 8.39948572489098, 2773) + femmesh.addNode(4.426080490819816, 2.3259001459186126, 9.293271457588112, 2774) + femmesh.addNode(3.9917007315666564, 3.011033920368587, 7.890134534437452, 2775) + femmesh.addNode(4.443215533611386, 2.2929971046371787, 10.20646845007889, 2776) + femmesh.addNode(4.452652769063609, 2.2746171805713105, 11.099914958755265, 2777) + femmesh.addNode(4.001318343852013, 2.99824140308171, 9.739022940238714, 2778) + femmesh.addNode(4.4746808888426095, 2.2309708521239604, 11.976941797280166, 2779) + femmesh.addNode(4.480370668808359, 2.2195221715679567, 12.86892092155501, 2780) + femmesh.addNode(4.052286544946394, 2.9289885212554885, 11.529246771254392, 2781) + femmesh.addNode(4.494494153970837, 2.1907812076795725, 13.769277703418014, 2782) + femmesh.addNode(4.497396567589497, 2.18481672316792, 14.653428589046314, 2783) + femmesh.addNode(4.099153114651219, 2.8630305172395936, 13.3066303916423, 2784) + femmesh.addNode(4.494878034263838, 2.189993483344746, 15.539395349423666, 2785) + femmesh.addNode(4.498554427741532, 2.1824316852188193, 16.411378355087294, 2786) + femmesh.addNode(4.114137031272525, 2.841456754538434, 15.092953933882658, 2787) + femmesh.addNode(4.498906177543277, 2.1817064893479468, 17.290215779743225, 2788) + femmesh.addNode(4.496957933985103, 2.1857194101641757, 18.16683540149844, 2789) + femmesh.addNode(4.1113214634353135, 2.8455290939113786, 16.85775811891594, 2790) + femmesh.addNode(4.50272381284849, 2.1738165205939426, 19.051192920168344, 2791) + femmesh.addNode(4.503291366328832, 2.1726405293900326, 19.944002147600422, 2792) + femmesh.addNode(4.119290895273691, 2.833979978778127, 18.620953062241774, 2793) + femmesh.addNode(4.497381926847708, 2.1848468605519247, 20.831391210756607, 2794) + femmesh.addNode(4.498728840537051, 2.1820721388900406, 21.71873118977485, 2795) + femmesh.addNode(4.11910062703491, 2.8342565205641868, 20.392699644067868, 2796) + femmesh.addNode(4.49383911865039, 2.1921245347122684, 22.60440980078902, 2797) + femmesh.addNode(4.494239478303928, 2.1913036101039114, 23.48747942413081, 2798) + femmesh.addNode(4.105026289849721, 2.854603152741662, 22.165767318238224, 2799) + femmesh.addNode(4.499379646764795, 2.1807298765043566, 24.37447464849612, 2800) + femmesh.addNode(4.489988077933581, 2.200001604548121, 25.266211718131736, 2801) + femmesh.addNode(4.105356464539291, 2.8541282905758547, 23.938441153617703, 2802) + femmesh.addNode(4.4885220426673476, 2.202991119475823, 26.156535728026924, 2803) + femmesh.addNode(4.4909740899831245, 2.19798810804341, 27.045018151823434, 2804) + femmesh.addNode(4.110161144131435, 2.8472048344423984, 25.715760387878206, 2805) + femmesh.addNode(4.485349427851835, 2.209443484244215, 27.932517027995758, 2806) + femmesh.addNode(4.485134586898917, 2.209879575316963, 28.816423805738978, 2807) + femmesh.addNode(4.100976775310844, 2.8604177122163588, 27.493583273945713, 2808) + femmesh.addNode(4.490236068979506, 2.199495406868466, 29.704739311554818, 2809) + femmesh.addNode(4.487310980778713, 2.205456905446757, 30.597554631095043, 2810) + femmesh.addNode(4.100294654879396, 2.8613954188765063, 29.269397655933872, 2811) + femmesh.addNode(4.486983970911475, 2.2061221282566144, 31.48946439866142, 2812) + femmesh.addNode(4.4893871397138305, 2.201227636972621, 32.38164658591829, 2813) + femmesh.addNode(4.106481882839195, 2.852508816097412, 31.049622929316087, 2814) + femmesh.addNode(4.483275163742128, 2.2136494316338773, 33.2717117543941, 2815) + femmesh.addNode(4.482966626173367, 2.2142741990584147, 34.152186775738315, 2816) + femmesh.addNode(4.0981434892815685, 2.8644755089298783, 32.831597865358276, 2817) + femmesh.addNode(4.489144236765668, 2.201722966568136, 35.039469467951335, 2818) + femmesh.addNode(4.4884618873539, 2.203113679720469, 35.92897060255869, 2819) + femmesh.addNode(4.098226624637264, 2.86435656528901, 34.60894572604711, 2820) + femmesh.addNode(4.493599646548351, 2.1926153827200365, 36.81958173350951, 2821) + femmesh.addNode(4.497799448899061, 2.1839872063460684, 37.71730389012063, 2822) + femmesh.addNode(4.112882261800052, 2.8432726743262746, 36.38683954921095, 2823) + femmesh.addNode(4.489493593492994, 2.201010512011555, 38.60804873008702, 2824) + femmesh.addNode(4.490498114506699, 2.1989603642657554, 39.49674209165701, 2825) + femmesh.addNode(4.108753234319975, 2.849236188782029, 38.16819552012815, 2826) + femmesh.addNode(4.482474319016153, 2.2152706334352645, 40.38537901989046, 2827) + femmesh.addNode(4.4779013018548, 2.2244999282641236, 41.280079009228785, 2828) + femmesh.addNode(4.087488281489561, 2.879659623755126, 39.94757728832799, 2829) + femmesh.addNode(4.466948529723255, 2.2464128811959854, 42.1647117579283, 2830) + femmesh.addNode(4.459356188169473, 2.26144696754857, 43.02093097702608, 2831) + femmesh.addNode(4.062761875318675, 2.9144409317152196, 41.72084696526095, 2832) + femmesh.addNode(4.463503244822627, 2.2532507147359087, 43.85697482206081, 2833) + femmesh.addNode(4.468112323055436, 2.2440972056843163, 44.706827448160396, 2834) + femmesh.addNode(4.129631935406939, 2.8188898662535826, 45.021376670962724, 2835) + femmesh.addNode(4.053817585867023, 2.926869143046074, 43.44152355899519, 2836) + femmesh.addNode(4.480510586645943, -2.2192397083131037, 5.755385992550781, 2837) + femmesh.addNode(4.459286069413346, -2.261585229686486, 4.8203118879966675, 2838) + femmesh.addNode(4.062537880529582, -2.914753157518182, 6.134369525937169, 2839) + femmesh.addNode(4.062925996409471, 2.914212131554617, 47.773257234503205, 2840) + femmesh.addNode(3.428255818321417, 3.6396513629941745, 47.76982799251715, 2841) + femmesh.addNode(3.096441235439932, 3.925818599409202, 46.97514192763428, 2842) + femmesh.addNode(4.303374226437096, 2.5457749836222603, 46.94018534774342, 2843) + femmesh.addNode(4.445734182998276, -2.2881100441457463, 9.254085421139797, 2844) + femmesh.addNode(4.436387913879514, -2.3061791512334358, 8.340747070024685, 2845) + femmesh.addNode(4.010739303327659, -2.9856272775989243, 7.867398755941892, 2846) + femmesh.addNode(4.0365825386062575, -2.95059339947392, 9.669500101106838, 2847) + femmesh.addNode(-4.104123457079679, -2.8559010222779673, 2.448691545850929, 2848) + femmesh.addNode(-4.56618986548535, -2.037132816568151, 2.464158228602849, 2849) + femmesh.addNode(-4.73951804565985, -1.592786456140508, 3.2876925343694037, 2850) + femmesh.addNode(-3.8145562824806123, -3.2325161047994317, 3.274242975175622, 2851) + femmesh.addNode(4.272446616845259, 2.597344780002744, 2.27531467408734, 2852) + femmesh.addNode(4.625625963334383, 1.898310945900818, 2.2753047028685343, 2853) + femmesh.addNode(4.696899100858689, 1.7143916811373185, 2.9763703213082664, 2854) + femmesh.addNode(4.027114172277912, 2.963503238304015, 3.0536122769300627, 2855) + femmesh.addNode(4.382120311094592, -2.4077004753690256, 46.83048992115093, 2856) + femmesh.addNode(4.077572389815006, -2.893683363089048, 11.518613631070348, 2857) + femmesh.addNode(4.0781865138642015, -2.8928177886165156, 18.589263207360013, 2858) + femmesh.addNode(4.102193230255971, -2.8586728916827955, 25.803592689644894, 2859) + femmesh.addNode(4.506069271054357, -2.166873259897694, 16.35945973504981, 2860) + femmesh.addNode(4.506158414249494, -2.1666878745422653, 15.493295326891168, 2861) + femmesh.addNode(4.053151215588959, -2.9277918682122444, 20.402751548063442, 2862) + femmesh.addNode(4.043161103947404, -2.9415724175220994, 24.00607566794696, 2863) + femmesh.addNode(4.443871778023956, -2.2917250316044027, 23.51692966337849, 2864) + femmesh.addNode(4.448851831436501, -2.2820423707556543, 22.647442992340636, 2865) + femmesh.addNode(4.126200106092751, -2.8239108846562724, 15.042152840830308, 2866) + femmesh.addNode(4.551275335603843, -2.070239797589672, 28.70524215050569, 2867) + femmesh.addNode(4.569139426869534, -2.0305085318280103, 27.848718564872748, 2868) + femmesh.addNode(3.9217840568054303, -3.101549582351819, 30.83299341700794, 2869) + femmesh.addNode(4.42282445836894, -2.3320857210774864, 34.183494693017664, 2870) + femmesh.addNode(4.422421414562695, -2.332849937740807, 33.23135724223553, 2871) + femmesh.addNode(4.042754463598514, -2.94213125931769, 38.31780269443482, 2872) + femmesh.addNode(4.444389934760002, -2.2907199976871855, 37.841227933512556, 2873) + femmesh.addNode(4.443193257539562, -2.293040269196112, 36.91472664331491, 2874) + femmesh.addNode(4.104878279470189, -2.8548159854417694, 41.81519752930317, 2875) + femmesh.addNode(4.468736159866224, -2.242854683991826, 41.38098990610092, 2876) + femmesh.addNode(4.463863475614135, -2.252536985507253, 40.46860230848921, 2877) + femmesh.addNode(4.641306011426972, 1.8596447263635718, 3.711870272653001, 2878) + femmesh.addNode(4.464238407567812, -2.2517938272400535, 44.957774846191114, 2879) + femmesh.addNode(4.482719472236664, -2.2147745106963463, 44.021226673176386, 2880) + femmesh.addNode(4.327499187075079, -2.5045460239062334, 3.9236081435713244, 2881) + femmesh.addNode(-4.993708912499937, 0.25074149480829744, 3.2874526958380432, 2882) + femmesh.addNode(4.3782791370796295, -2.4146784046355436, 45.96671847169567, 2883) + femmesh.addNode(4.039370119185508, -2.946776041749908, 22.22997893214543, 2884) + femmesh.addNode(-2.3646323860687315, -4.405509468694273, 3.2189375742071533, 2885) + femmesh.addNode(3.981181692205979, 3.0249284840544473, 46.40808452499165, 2886) + femmesh.addNode(4.207429898889238, -2.70139475936652, 27.474125941374147, 2887) + femmesh.addNode(-0.2868029134915177, 4.991767631692483, 3.2151138652555904, 2888) + femmesh.addNode(4.11379913655415, -2.8419459291278444, 16.808966069228205, 2889) + femmesh.addNode(4.2535135681272225, 2.6282355917530724, 3.979476452612717, 2890) + femmesh.addNode(3.9468498310755873, -3.0695889644932284, 4.378372471997623, 2891) + femmesh.addNode(3.0152297714648557, -3.9885322394675455, 3.467361673736135, 2892) + femmesh.addNode(4.1117954896253766, -2.844844082106506, 43.58262845456424, 2893) + femmesh.addNode(3.9666493108573397, -3.043960125342478, 45.51294428814009, 2894) + femmesh.addNode(4.056708910770368, -2.9228603821045396, 40.090268984044855, 2895) + femmesh.addNode(4.027945833174598, -2.9623727592947176, 36.476627981622045, 2896) + femmesh.addNode(3.987680863768327, -3.0163556369791493, 32.80429361141382, 2897) + femmesh.addNode(4.0680748600980685, -2.907020284180708, 29.008709510087385, 2898) + femmesh.addNode(4.004592172999106, -2.9938673196977676, 34.62635268706324, 2899) + femmesh.addNode(-0.6552418254880115, 4.956879880542914, 4.022628382080962, 2900) + femmesh.addNode(0.2345848716470449, 4.9944939621541575, 3.9782232520604275, 2901) + femmesh.addNode(0.1251451634405989, 4.998433623453194, 46.03656614138305, 2902) + femmesh.addNode(-0.780049327245097, 4.938777485073049, 46.02923371556126, 2903) + femmesh.addNode(-1.6746205216331007, 4.711225542098922, 46.03012993158138, 2904) + femmesh.addNode(-2.502903046761377, 4.328449646064121, 46.05232458572746, 2905) + femmesh.addNode(-3.249849097232324, 3.7998001059553443, 46.07088124667064, 2906) + femmesh.addNode(-3.8829806271165346, 3.149993880857181, 46.08498734411358, 2907) + femmesh.addNode(-2.8827604278516468, 4.08530198585277, 45.30090568582069, 2908) + femmesh.addNode(-4.3868125631864165, 2.399140582681602, 46.07578609944404, 2909) + femmesh.addNode(-4.749567867573461, 1.5625636215251157, 46.066567113659644, 2910) + femmesh.addNode(-4.149338992055088, 2.789800338556734, 45.310261102094316, 2911) + femmesh.addNode(-4.960052373504583, 0.6307776566204246, 46.05592442441833, 2912) + femmesh.addNode(-4.99025654538363, -0.3119929666768664, 46.02744766406203, 2913) + femmesh.addNode(-4.855063439337394, -1.1951397407873905, 46.00512123189117, 2914) + femmesh.addNode(-4.553625173244159, -2.06506604775661, 46.02025625428031, 2915) + femmesh.addNode(-4.080084995587493, -2.890139517182831, 46.01209185223933, 2916) + femmesh.addNode(-3.484318709928274, -3.5860177255060757, 46.001968660855795, 2917) + femmesh.addNode(-2.7910772840133635, -4.1484801547873635, 45.98450927093721, 2918) + femmesh.addNode(-1.9659861365854927, -4.597270767613503, 45.97798706037237, 2919) + femmesh.addNode(-3.1486585884802993, -3.884063476977333, 45.201333420599894, 2920) + femmesh.addNode(-1.064907402779707, -4.885281181621481, 45.94526862939084, 2921) + femmesh.addNode(-0.11738693246615758, -4.998621840876361, 45.90576763838844, 2922) + femmesh.addNode(0.808547560707583, -4.934192015119985, 45.88938266488056, 2923) + femmesh.addNode(1.7012497678702045, -4.7016751511904324, 45.876728557446995, 2924) + femmesh.addNode(2.5043284754499395, -4.327625086239632, 45.8429118318277, 2925) + femmesh.addNode(3.376226715843506, -3.687965992688188, 45.769960842054275, 2926) + femmesh.addNode(3.5097593455899494, -3.5611219209743448, 44.76101721654972, 2927) + femmesh.addNode(2.0650485782081667, -4.553633095632589, 45.0518504960832, 2928) + femmesh.addNode(3.5244337711135594, -3.546599299756635, 22.681926207368228, 2929) + femmesh.addNode(3.5312244928875436, -3.5398380726851206, 21.795051065372036, 2930) + femmesh.addNode(3.5342940374122693, -3.5367733397988736, 20.889708863085232, 2931) + femmesh.addNode(3.5440957870129064, -3.5269512404451198, 19.94935662099944, 2932) + femmesh.addNode(2.9326797130815097, -4.0496159941999625, 21.341656138308032, 2933) + femmesh.addNode(3.6291891151488986, -3.439329348359176, 26.36501015657234, 2934) + femmesh.addNode(3.569673178425838, -3.5010617531296386, 25.456714728679742, 2935) + femmesh.addNode(3.535344326872054, -3.5357234748285373, 24.509113790860066, 2936) + femmesh.addNode(3.5239971671629418, -3.5470331216141133, 23.619892197054725, 2937) + femmesh.addNode(2.928666662206205, -4.052519164875345, 23.184964330281332, 2938) + femmesh.addNode(2.9675712945496353, -4.0241173705254925, 25.070531257787508, 2939) + femmesh.addNode(-1.9363006657822888, -4.609852463115394, 3.9748199461861526, 2940) + femmesh.addNode(-2.7589544650823488, -4.169912500233329, 4.013891988937297, 2941) + femmesh.addNode(3.551768061607108, -3.5192248630270395, 38.79461844004375, 2942) + femmesh.addNode(3.541333966284246, -3.529724314906405, 37.90102197850226, 2943) + femmesh.addNode(3.5052422293822048, -3.56556824550529, 35.09414497563489, 2944) + femmesh.addNode(3.4845528026199983, -3.585790256798788, 34.19144793234737, 2945) + femmesh.addNode(3.4023874102976115, -3.663844962638063, 31.441421388226473, 2946) + femmesh.addNode(3.3220868656053915, -3.736808646073832, 30.38948322618249, 2947) + femmesh.addNode(3.4788841717936947, -3.5912901469031016, 33.2899104038114, 2948) + femmesh.addNode(3.4794538388238205, -3.5907382226353093, 32.3705483714495, 2949) + femmesh.addNode(2.80136326169292, -4.141541244034303, 31.927038180624052, 2950) + femmesh.addNode(2.8951565334701144, -4.076526541886524, 33.75770269238305, 2951) + femmesh.addNode(3.6369935170401035, -3.4310753645188647, 42.32405461529709, 2952) + femmesh.addNode(3.585552872328031, -3.484797067225035, 41.477995898107324, 2953) + femmesh.addNode(3.5229514010459075, -3.5480717898414453, 36.959280019616806, 2954) + femmesh.addNode(3.515650657485762, -3.5553059579338497, 36.01170176834553, 2955) + femmesh.addNode(2.913483728294568, -4.063448358840406, 35.57679701362966, 2956) + femmesh.addNode(2.9463735294674547, -4.039663726704673, 37.436095765225744, 2957) + femmesh.addNode(3.553226442200418, -3.517752386176116, 40.599186830254425, 2958) + femmesh.addNode(3.5468954964537676, -3.524135686552943, 39.72031700218588, 2959) + femmesh.addNode(2.961746567778692, -4.028406293840176, 39.30353628625332, 2960) + femmesh.addNode(2.9932743887731257, -4.005035384801846, 41.10804391624835, 2961) + femmesh.addNode(3.31755292445626, -3.7408344782189595, 4.505262243060112, 2962) + femmesh.addNode(2.4771099728481154, -4.343262159070807, 4.490955189223968, 2963) + femmesh.addNode(3.5191992179414564, -3.5517934715352246, 5.401965987485456, 2964) + femmesh.addNode(3.5797557747940143, -3.490751866407709, 19.02574742466826, 2965) + femmesh.addNode(3.6000355233179917, -3.4698334586617485, 18.152611326050625, 2966) + femmesh.addNode(3.6553672279487506, -3.411493870555576, 15.469520021378774, 2967) + femmesh.addNode(3.6478007451203154, -3.419583267578035, 14.609867832495055, 2968) + femmesh.addNode(3.4452298879151195, 3.623588141527176, 46.2471998012675, 2969) + femmesh.addNode(2.7497537253652506, 4.175985446555091, 46.171358616814004, 2970) + femmesh.addNode(3.7082197724558337, 3.3539687117156602, 45.60430121417137, 2971) + femmesh.addNode(-4.996530849964352, -0.18622423406879457, 4.10607174324899, 2972) + femmesh.addNode(-4.9463080656822624, 0.7307780233193875, 4.108615703741173, 2973) + femmesh.addNode(3.6319204359994077, -3.4364449575935114, 13.731748219606954, 2974) + femmesh.addNode(3.61399736064012, -3.455289145250546, 12.860178761813373, 2975) + femmesh.addNode(3.0747121144588374, -3.9428600549854753, 14.159115400155418, 2976) + femmesh.addNode(3.495598564647855, 3.5750231712300633, 5.445445279904247, 2977) + femmesh.addNode(3.459348738340544, 3.6101116750789974, 6.468290881965672, 2978) + femmesh.addNode(3.425298052392889, 3.6424350717992877, 7.401049149167646, 2979) + femmesh.addNode(3.4099016983779027, 3.6568525274338715, 8.336740562478127, 2980) + femmesh.addNode(2.7818404815487927, 4.154679715118409, 6.914896910006346, 2981) + femmesh.addNode(3.4349822064099236, 3.633303901636528, 9.291772916658573, 2982) + femmesh.addNode(3.4618447274738995, 3.607718265449945, 10.204969909149352, 2983) + femmesh.addNode(2.771406387544382, 4.161647106024032, 8.802687531388765, 2984) + femmesh.addNode(3.516573551700586, 3.554393120559391, 11.078521259965868, 2985) + femmesh.addNode(3.5511599409525156, 3.5198385010926456, 11.95554809849077, 2986) + femmesh.addNode(2.8629536136050353, 4.0992068264904455, 10.631271236385725, 2987) + femmesh.addNode(3.599996393459466, 3.4698740563713315, 12.872139528405068, 2988) + femmesh.addNode(3.6221460670970362, 3.4467459826064166, 13.772496310268073, 2989) + femmesh.addNode(2.9816384029173193, 4.013705573936466, 12.421414017116543, 2990) + femmesh.addNode(3.635436280892316, 3.432725309076135, 14.654271104508744, 2991) + femmesh.addNode(3.6314815030574765, 3.4369087990447773, 15.540237864886096, 2992) + femmesh.addNode(3.0527539863909436, 3.9598854905886105, 14.219780241271511, 2993) + femmesh.addNode(3.622097715605737, 3.4467967939238453, 16.419784754722716, 2994) + femmesh.addNode(3.62265329260273, 3.4462128665528766, 17.298622179378647, 2995) + femmesh.addNode(3.057255791813395, 3.956410876466631, 15.981101925348803, 2996) + femmesh.addNode(3.630186808338511, 3.4382762740310815, 18.181234532178287, 2997) + femmesh.addNode(3.6392689522912667, 3.4286617641419266, 19.065592050848196, 2998) + femmesh.addNode(3.055127479450107, 3.95805458329074, 17.743261167985064, 2999) + femmesh.addNode(3.639770578742409, 3.4281292469977194, 19.948219091083192, 3000) + femmesh.addNode(3.6304590407896775, 3.4379888238835936, 20.83560815423938, 3001) + femmesh.addNode(3.064360654048043, 3.950910500368523, 19.508500561019705, 3002) + femmesh.addNode(3.6231522982091544, 3.4456882366200405, 21.723452038473113, 3003) + femmesh.addNode(3.615439686484883, 3.4537799399194635, 22.609130649487284, 3004) + femmesh.addNode(3.056545293602431, 3.9569598011802984, 21.278971485488437, 3005) + femmesh.addNode(3.624309873440504, 3.444470632953876, 23.499218402595382, 3006) + femmesh.addNode(3.63239912174071, 3.4359389721555473, 24.386213626960693, 3007) + femmesh.addNode(3.058320875718195, 3.955587620208443, 23.05690312283027, 3008) + femmesh.addNode(3.640355672181421, 3.427507925595002, 25.27302970246307, 3009) + femmesh.addNode(3.6380723961272956, 3.429931375485026, 26.16335371235826, 3010) + femmesh.addNode(3.077628031202779, 3.940584436546806, 24.83380695144075, 3011) + femmesh.addNode(3.6296563585564785, 3.438836244834948, 27.05080607933197, 3012) + femmesh.addNode(3.6208674237961844, 3.4480891953793162, 27.938304955504293, 3013) + femmesh.addNode(3.077107870543418, 3.9409906309251426, 26.608075393916838, 3014) + femmesh.addNode(3.6206643377803243, 3.4483024451352535, 28.829015722683863, 3015) + femmesh.addNode(3.628633748280452, 3.4399152781485998, 29.717331228499702, 3016) + femmesh.addNode(3.067208598003655, 3.9486999653471333, 28.38623852807012, 3017) + femmesh.addNode(3.636088679613038, 3.432034253032728, 30.606538011079625, 3018) + femmesh.addNode(3.635579838135426, 3.432573268051709, 31.498447778646, 3019) + femmesh.addNode(3.0755365676412905, 3.9422169931526128, 30.166156077829612, 3020) + femmesh.addNode(3.627242016904146, 3.4413827672616053, 32.39033205342863, 3021) + femmesh.addNode(3.617699599391206, 3.4514126975145567, 33.28039722190444, 3022) + femmesh.addNode(3.074526289183179, 3.943004957785561, 31.947247135192168, 3023) + femmesh.addNode(3.6135975487548633, 3.4557072728506455, 34.181272426953484, 3024) + femmesh.addNode(3.6232518772198077, 3.4455835259391323, 35.068555119166504, 3025) + femmesh.addNode(3.060257449536114, 3.954089571893727, 33.740006615023844, 3026) + femmesh.addNode(3.6294547131379367, 3.439049067006869, 35.940156575970654, 3027) + femmesh.addNode(3.637483955411139, 3.4305554177314397, 36.83076770692147, 3028) + femmesh.addNode(3.0626853228563706, 3.9522093331654595, 35.512483276877035, 3029) + femmesh.addNode(3.6263793217118385, 3.442291825958512, 37.72179089777457, 3030) + femmesh.addNode(3.6133128941083816, 3.4560049087450837, 38.61253573774096, 3031) + femmesh.addNode(3.0570324657104258, 3.9565834382194485, 37.27510792453428, 3032) + femmesh.addNode(3.593060877339288, 3.4770552960420154, 39.494240497376026, 3033) + femmesh.addNode(3.5803966135784253, 3.4900945674116257, 40.38287742560947, 3034) + femmesh.addNode(3.021006702933691, 3.984158443238636, 39.04783587502244, 3035) + femmesh.addNode(3.562430378792127, 3.5084312443396954, 41.28657496726418, 3036) + femmesh.addNode(3.545197923009052, 3.5258434007613415, 42.17120771596369, 3037) + femmesh.addNode(2.97709379280552, 4.017077612996648, 40.833238176312214, 3038) + femmesh.addNode(1.9542361612266492, 4.602277808450303, 46.086865716558336, 3039) + femmesh.addNode(1.0537272188294036, 4.8877048753272785, 46.033503189932354, 3040) + femmesh.addNode(0.627484056759942, 4.96047011466777, 45.277493641386584, 3041) + femmesh.addNode(2.3702633151367265, 4.402482460716573, 45.35892359019155, 3042) + femmesh.addNode(3.8179209921787334, -3.2285413575608657, 28.064393321330897, 3043) + femmesh.addNode(3.750277821188716, -3.3068740925381506, 27.30215549749424, 3044) + femmesh.addNode(3.148122199297259, -3.8844982453711814, 26.95527753652909, 3045) + femmesh.addNode(3.58141620524482, -3.489048289263104, 28.836739066207475, 3046) + femmesh.addNode(3.6980639218096596, -3.365163180324211, 44.012293351696925, 3047) + femmesh.addNode(3.739667881512801, -3.3188678997485814, 43.09092114362562, 3048) + femmesh.addNode(3.1496900924996982, -3.883227049917277, 42.753719512429775, 3049) + femmesh.addNode(3.055829728626824, -3.957512434552861, 44.26930990561111, 3050) + femmesh.addNode(3.459654217707133, -3.609818928132164, 6.2612592969996586, 3051) + femmesh.addNode(3.573494102186107, -3.4971616922357356, 11.955988465691318, 3052) + femmesh.addNode(3.5581018939377285, -3.512820933716484, 11.035240360402236, 3053) + femmesh.addNode(3.0101022685678247, -3.992403327917012, 12.376805491145262, 3054) + femmesh.addNode(3.613383752633897, -3.4559308234108754, 17.256773930781655, 3055) + femmesh.addNode(3.636089122567039, -3.4320337837424706, 16.34961289126748, 3056) + femmesh.addNode(3.070761992939817, -3.9459372502253864, 15.917327882932227, 3057) + femmesh.addNode(3.0331828742269673, -3.9748964328012666, 17.693258148089903, 3058) + femmesh.addNode(3.5237558644936877, -3.5472728408520178, 10.113628993941258, 3059) + femmesh.addNode(3.4894126622575583, -3.581061193623563, 9.18526356926683, 3060) + femmesh.addNode(2.9240595144154953, -4.0558446661769745, 10.551003828562227, 3061) + femmesh.addNode(-1.2193394240156343, 4.849042314626798, 45.281452808857395, 3062) + femmesh.addNode(-4.880044989263248, 1.0886509554336796, 45.29041716818347, 3063) + femmesh.addNode(-4.943269759563618, -0.7510553136646159, 45.25744804677129, 3064) + femmesh.addNode(-4.338457355317819, -2.4855155956237174, 45.226957212559455, 3065) + femmesh.addNode(0.3119876316747884, -4.990256878927372, 45.102052195210376, 3066) + femmesh.addNode(-1.5393099490064701, -4.757155124745219, 45.151155599699784, 3067) + femmesh.addNode(3.4746346598957207, -3.595401782868133, 7.364398497677307, 3068) + femmesh.addNode(2.825960404922798, -4.124796696785015, 6.631994959225592, 3069) + femmesh.addNode(-4.5635625315537185, -2.0430117524378124, 4.0771593618144815, 3070) + femmesh.addNode(-4.867783964148642, -1.142225581212982, 4.074375562790938, 3071) + femmesh.addNode(-0.16370886653170003, -4.997319222044846, 3.999788594771533, 3072) + femmesh.addNode(-1.0885131319849648, -4.88007573317221, 3.9692957259866546, 3073) + femmesh.addNode(2.9771688686195703, -4.017021972521742, 19.51270473969005, 3074) + femmesh.addNode(3.4712941019788053, -3.598627135112383, 8.238134418167826, 3075) + femmesh.addNode(3.8151906093989973, 3.2317674133442376, 3.982887741321468, 3076) + femmesh.addNode(3.130895739841809, -3.8983960632855674, 29.482139990815128, 3077) + femmesh.addNode(2.8031475262313617, -4.140333796468951, 28.537823802058647, 3078) + femmesh.addNode(2.499132531179364, -4.330627736437412, 30.09056796203366, 3079) + femmesh.addNode(-1.5348805415076014, 4.758586105483574, 4.047190345943915, 3080) + femmesh.addNode(-1.0309897500930363, 4.892551495406369, 4.810299732748752, 3081) + femmesh.addNode(-2.350963586052832, 4.412818851601957, 4.059113613947351, 3082) + femmesh.addNode(3.624767226791361, 3.4439893367400645, 44.86049194723857, 3083) + femmesh.addNode(-4.717326149512422, 1.6573575350920224, 4.164750127923607, 3084) + femmesh.addNode(-4.332482682859627, 2.495915423791729, 4.165065584688287, 3085) + femmesh.addNode(-4.844017317527398, 1.2391514142729583, 4.983369175334554, 3086) + femmesh.addNode(-3.796216123945558, 3.25403490151777, 4.1513407957243045, 3087) + femmesh.addNode(-3.120454616747611, 3.906758628942735, 4.14770977643601, 3088) + femmesh.addNode(-4.047157683983917, 2.9360713003893366, 5.025778810553005, 3089) + femmesh.addNode(-3.4817528934810884, -3.5885089924279234, 4.039131234826787, 3090) + femmesh.addNode(-4.0920626246102065, -2.8731556651647376, 4.055364593044111, 3091) + femmesh.addNode(-4.342999643639151, -2.477570199883388, 4.842047621465646, 3092) + femmesh.addNode(-3.125847811570362, -3.902444805362503, 4.795013606805785, 3093) + femmesh.addNode(-4.955198111203222, -0.6678410579831267, 4.895538570694068, 3094) + femmesh.addNode(-2.709658567998767, 4.202112616871528, 4.923457859100363, 3095) + femmesh.addNode(1.6322941339406263, -4.726057115641221, 4.207245626607223, 3096) + femmesh.addNode(0.729001759537531, -4.94657016877262, 4.101143951170112, 3097) + femmesh.addNode(0.2294523096395965, -4.9947323889875275, 4.860081276915878, 3098) + femmesh.addNode(1.9964485878343143, -4.584124020588271, 5.2451461959312, 3099) + femmesh.addNode(3.4398796971743737, 3.6286674784233863, 43.132909477998865, 3100) + femmesh.addNode(3.4465402420272473, 3.6223418336880857, 43.968953323033595, 3101) + femmesh.addNode(2.836459044295583, 4.117584254151187, 42.69863748000209, 3102) + femmesh.addNode(1.0916004946068312, 4.879386063858251, 3.9732535733323626, 3103) + femmesh.addNode(1.8912548739119668, 4.6285154209426835, 3.9107099479024505, 3104) + femmesh.addNode(0.7276982320641735, 4.946762100915171, 4.780768090157734, 3105) + femmesh.addNode(-1.5317720309281126, -4.759587633951744, 4.764250140716797, 3106) + femmesh.addNode(3.242568608355989, 3.806014821319579, 3.7378272485584123, 3107) + femmesh.addNode(3.5396478819415127, 3.53141513728802, 4.663691424241067, 3108) + femmesh.addNode(2.871690233397689, 4.093091155032871, 5.200384787141192, 3109) + femmesh.addNode(2.5723685190405607, 4.287530781492894, 3.7321262079266218, 3110) + femmesh.addNode(-3.882080224577513, 3.1511034781397145, 44.56675255642902, 3111) + femmesh.addNode(-4.386126728154841, 2.4003942019105335, 44.55755131175948, 3112) + femmesh.addNode(-4.9908869621203715, -0.30174050330853247, 44.466585798871456, 3113) + femmesh.addNode(-4.857508446582487, -1.1851631496885968, 44.44425936670059, 3114) + femmesh.addNode(-4.872554873764293, -1.1216991584894047, 5.738348775617789, 3115) + femmesh.addNode(-4.997271351585913, -0.1651636722124502, 5.770044956075841, 3116) + femmesh.addNode(-2.974733222794283, 4.018825979462651, 5.793666932040849, 3117) + femmesh.addNode(-2.1871595113313274, 4.496257696350701, 5.70507076955219, 3118) + femmesh.addNode(2.2518716219158392, -4.464199166525854, 21.831409650747602, 3119) + femmesh.addNode(2.2557435477549053, -4.4622439474733016, 20.9260674484608, 3120) + femmesh.addNode(2.2876905544308985, -4.445950059005122, 19.972624966908175, 3121) + femmesh.addNode(2.332754844314401, -4.422471575525126, 19.049015770577, 3122) + femmesh.addNode(-0.7621750942150196, 4.941567476596705, 44.49108056907827, 3123) + femmesh.addNode(-1.6575637452076941, 4.717253695803634, 44.49197678509839, 3124) + femmesh.addNode(-1.4269327071940814, 4.792062504719629, 5.517679625720637, 3125) + femmesh.addNode(-0.5430367849558901, 4.97042362884541, 5.493117661857684, 3126) + femmesh.addNode(-1.7326767941574874, 4.690184551484956, 6.387888698661122, 3127) + femmesh.addNode(-1.064517664023157, -4.885366121692691, 5.535776623798094, 3128) + femmesh.addNode(-1.913622927928134, -4.619312426076824, 5.541300843997593, 3129) + femmesh.addNode(2.8638104310828467, -4.098608277796389, 8.682263311002245, 3130) + femmesh.addNode(2.577145982723707, -4.284660848157186, 27.562748433804536, 3131) + femmesh.addNode(2.4217233317119984, -4.374386368925559, 26.625603092882635, 3132) + femmesh.addNode(2.037387161238869, -4.566076385171302, 28.208149358412193, 3133) + femmesh.addNode(1.9490387406307654, 4.604481294078676, 6.309953320550827, 3134) + femmesh.addNode(1.905717717593782, 4.622579364472735, 7.242711587752801, 3135) + femmesh.addNode(2.4614445250416983, -4.352159331888281, 14.597071178686381, 3136) + femmesh.addNode(2.441256800921883, -4.363515237964989, 13.71895156579828, 3137) + femmesh.addNode(1.911852568903369, 4.62004542778289, 8.318243316386766, 3138) + femmesh.addNode(1.9435958527969053, 4.606781431866577, 9.273275670567209, 3139) + femmesh.addNode(1.0069398138184011, 4.897557780296967, 7.713299726931247, 3140) + femmesh.addNode(2.0451765747616637, 4.5625927692537, 10.228005772093905, 3141) + femmesh.addNode(2.1146632072593863, 4.530805614883897, 11.101557122910421, 3142) + femmesh.addNode(1.1216615931191196, 4.872563521445511, 9.743561557091905, 3143) + femmesh.addNode(2.275481291274915, 4.452211236347377, 11.993083317014218, 3144) + femmesh.addNode(2.337470448976053, 4.4199809841405076, 12.909674746928518, 3145) + femmesh.addNode(1.4020179741226557, 4.799410963882652, 11.589817852722398, 3146) + femmesh.addNode(2.4122713535314464, 4.379605794695633, 13.7887697388363, 3147) + femmesh.addNode(2.4291749041228154, 4.370252771314253, 14.670544533076972, 3148) + femmesh.addNode(1.6533632567297627, 4.718727576507883, 13.360439038733979, 3149) + femmesh.addNode(2.426189291850033, 4.371910968914193, 15.530813298414014, 3150) + femmesh.addNode(2.4142608204940137, 4.378509414244483, 16.410360188250635, 3151) + femmesh.addNode(1.7301378368210643, 4.6911217278599935, 15.099802795978803, 3152) + femmesh.addNode(2.4102449733056246, 4.380721306891705, 17.29048675832415, 3153) + femmesh.addNode(2.419826606256651, 4.375435886360629, 18.173099111123793, 3154) + femmesh.addNode(1.7226299344510456, 4.693883904500961, 16.840198131389364, 3155) + femmesh.addNode(2.412563131646929, 4.379445071674945, 19.058073361000538, 3156) + femmesh.addNode(2.4132038852992452, 4.3790920300875875, 19.94070040123553, 3157) + femmesh.addNode(1.7105316723024107, 4.69830622650869, 18.60529895133962, 3158) + femmesh.addNode(2.425111212507976, 4.372509074543825, 20.828586062460694, 3159) + femmesh.addNode(2.415823277981031, 4.377647529160495, 21.716429946694426, 3160) + femmesh.addNode(1.7155197368283301, 4.696487201361509, 20.378158862441524, 3161) + femmesh.addNode(2.4252580583943613, 4.372427626638686, 22.608983221103465, 3162) + femmesh.addNode(2.4364946825054052, 4.3661760915156504, 23.499070974211566, 3163) + femmesh.addNode(1.7384071863235653, 4.688063614600232, 22.15859779807572, 3164) + femmesh.addNode(2.4269744077309636, 4.371475177124873, 24.386651922537403, 3165) + femmesh.addNode(2.4371032630291856, 4.365836424481854, 25.273467998039777, 3166) + femmesh.addNode(1.7383010694659353, 4.688102963021779, 23.938732020810598, 3167) + femmesh.addNode(2.438952751495256, 4.36480348652419, 26.158728986473246, 3168) + femmesh.addNode(2.4282493918568644, 4.3707670826694445, 27.046181353446958, 3169) + femmesh.addNode(1.7300686195142847, 4.691147255392004, 25.711573957569897, 3170) + femmesh.addNode(2.4380258821370733, 4.365321270883707, 27.936584658149812, 3171) + femmesh.addNode(2.4377687765865375, 4.36546485404473, 28.827295425329382, 3172) + femmesh.addNode(1.742549660054669, 4.686525438130403, 27.48723825070622, 3173) + femmesh.addNode(2.42816386007068, 4.370814600122802, 29.718993877613187, 3174) + femmesh.addNode(2.437641358931541, 4.3655360043443, 30.60820066019311, 3175) + femmesh.addNode(1.742733967389397, 4.686456904624987, 29.269340007692875, 3176) + femmesh.addNode(2.4376035495341397, 4.365557116256591, 31.498045167303808, 3177) + femmesh.addNode(2.4270059159260207, 4.37145768412095, 32.38992944208644, 3178) + femmesh.addNode(1.7323842942921297, 4.690292598217083, 31.050882967087382, 3179) + femmesh.addNode(2.4368080609974028, 4.366001199479689, 33.28474735098749, 3180) + femmesh.addNode(2.4316205188089373, 4.368892497247713, 34.185622556036535, 3181) + femmesh.addNode(1.7428629704765837, 4.6864089307423376, 32.83554538309913, 3182) + femmesh.addNode(2.419229705468958, 4.37576594805716, 35.076232478530414, 3183) + femmesh.addNode(2.4271106245440075, 4.371399548911721, 35.94783393533456, 3184) + femmesh.addNode(1.7400967072242322, 4.687436767520964, 34.62097321449406, 3185) + femmesh.addNode(2.412180108651018, 4.3796560508136215, 36.8284845203922, 3186) + femmesh.addNode(2.3980149084656164, 4.387428004967903, 37.7195077112453, 3187) + femmesh.addNode(1.710784339776018, 4.698214229127609, 36.39223372204558, 3188) + femmesh.addNode(2.384202811691906, 4.394949027317656, 38.60535315936548, 3189) + femmesh.addNode(2.3584863568631107, 4.408802797187755, 39.487057919000534, 3190) + femmesh.addNode(1.6799383731371162, 4.709331912539338, 38.1587297552234, 3191) + femmesh.addNode(2.318269118500959, 4.430082199486233, 40.369123895404186, 3192) + femmesh.addNode(2.295493380608862, 4.441926399613224, 41.272821437058894, 3193) + femmesh.addNode(1.622146129002451, 4.729549866124932, 39.92664117974722, 3194) + femmesh.addNode(-1.9884168542871286, -4.587613585905736, 44.36381395918086, 3195) + femmesh.addNode(-1.0887555801344309, -4.880021648182121, 44.331095528199334, 3196) + femmesh.addNode(2.9222736542910837, 4.057131583944035, 44.55187786624224, 3197) + femmesh.addNode(2.393044208578445, -4.390141161259985, 12.84825095413546, 3198) + femmesh.addNode(2.341731760697572, -4.417724794613201, 11.944060658013406, 3199) + femmesh.addNode(-0.16644587350289508, -4.997228809169524, 44.26201373928424, 3200) + femmesh.addNode(0.7600764323180669, -4.941890712777311, 44.24562876577636, 3201) + femmesh.addNode(-0.644902640527239, -4.958235632182177, 43.47467209876531, 3202) + femmesh.addNode(-4.559692907117585, -2.051633640000472, 44.446020740537506, 3203) + femmesh.addNode(-4.088586985444681, -2.8780994531899644, 44.43785633849653, 3204) + femmesh.addNode(-4.726284539230012, -1.6316355151305548, 43.655158492637675, 3205) + femmesh.addNode(-2.501614817660199, 4.32919430195307, 44.55048811092533, 3206) + femmesh.addNode(-3.2487181576970237, 3.8007670715067055, 44.5690447718685, 3207) + femmesh.addNode(-2.087313163030505, 4.543470453237216, 43.7601158711462, 3208) + femmesh.addNode(-4.758283535046129, 1.5358182835573069, 44.50273665538458, 3209) + femmesh.addNode(-4.963522572206515, 0.6028628991706313, 44.492093966143266, 3210) + femmesh.addNode(-4.997385843991179, 0.16166238361651264, 43.67890528607257, 3211) + femmesh.addNode(-4.6011609727960865, 1.9568642524248245, 43.75922810971928, 3212) + femmesh.addNode(-3.5813004890572953, 3.4891670649422872, 43.81633498153366, 3213) + femmesh.addNode(2.310455059888861, 4.434162538319266, 42.07509591000496, 3214) + femmesh.addNode(2.178935747957004, 4.500248771598638, 43.03679767204014, 3215) + femmesh.addNode(1.5950251150974033, 4.7387651220764795, 41.61098162909694, 3216) + femmesh.addNode(1.552095665510333, -4.752998952777502, 20.46237847934775, 3217) + femmesh.addNode(2.1665099232146217, -4.506243973933566, 7.262136123130341, 3218) + femmesh.addNode(2.1477533254565, -4.515213799255861, 6.158996922452694, 3219) + femmesh.addNode(-2.276936858532302, -4.451467010127903, 6.3806396040552205, 3220) + femmesh.addNode(-2.696571082458, -4.210523055067065, 5.609113120973923, 3221) + femmesh.addNode(1.2768446966376266, -4.834218408457397, 5.87528735983595, 3222) + femmesh.addNode(2.450774404670014, -4.358176776751298, 15.464212064665666, 3223) + femmesh.addNode(1.7615555643672884, -4.6794147063117455, 15.024048230308527, 3224) + femmesh.addNode(2.426181878802773, -4.37191508277197, 16.344304934554373, 3225) + femmesh.addNode(1.892901339241746, -4.627842317959505, 30.73841170458272, 3226) + femmesh.addNode(1.6589050888463226, -4.716782155898211, 29.83106846921536, 3227) + femmesh.addNode(0.027258052777176574, 4.99992569930382, 6.419132776563426, 3228) + femmesh.addNode(0.4353159023845915, 4.981013959539873, 5.71175288359154, 3229) + femmesh.addNode(2.2948153138062417, -4.4422767445894635, 39.81559632288658, 3230) + femmesh.addNode(2.3009594085046645, -4.43909740830429, 38.88989776074445, 3231) + femmesh.addNode(0.5877067452925413, -4.965339946220968, 5.519326809173801, 3232) + femmesh.addNode(-0.3060877132273648, -4.990622236937118, 5.417971452775223, 3233) + femmesh.addNode(-0.7107767849520609, -4.949221793572522, 6.195022156056018, 3234) + femmesh.addNode(0.7524645764150693, -4.943055437807722, 6.433177535695295, 3235) + femmesh.addNode(2.1379079328217845, -4.519883811645792, 9.150978587913496, 3236) + femmesh.addNode(2.1150682176326314, -4.53061656231912, 8.20384943681449, 3237) + femmesh.addNode(1.6764122456826058, -4.710588284123905, 26.21283245998427, 3238) + femmesh.addNode(2.3153963887921583, -4.431584317461221, 25.605361562708822, 3239) + femmesh.addNode(2.305569273113174, -4.436704895175742, 37.90502199659983, 3240) + femmesh.addNode(2.2824921623830545, -4.448621081712841, 36.963280037714384, 3241) + femmesh.addNode(2.225373604983761, -4.47746717667942, 36.001654111748024, 3242) + femmesh.addNode(2.2122748896983833, -4.4839535916878095, 35.08409731903738, 3243) + femmesh.addNode(-4.932663153467547, 0.8178228502699079, 5.792495212712076, 3244) + femmesh.addNode(-4.687389645111617, 1.7402236393350103, 5.848629636894509, 3245) + femmesh.addNode(-4.987043493618361, 0.3597182129928548, 6.635305417635796, 3246) + femmesh.addNode(2.2362127378356003, -4.472063571902999, 11.009098851611352, 3247) + femmesh.addNode(2.192596426153928, -4.493608896201028, 10.087487485150373, 3248) + femmesh.addNode(1.3858506909272488, -4.804104272646096, 9.60907361096262, 3249) + femmesh.addNode(1.557259374143716, -4.751309634368352, 11.480544314601552, 3250) + femmesh.addNode(2.2720266718510396, 4.453975168587886, 4.597214671453839, 3251) + femmesh.addNode(1.7214107647258345, -4.694331153538917, 13.286206732666423, 3252) + femmesh.addNode(-4.251518768975457, 2.6314612208902894, 5.8722416230241485, 3253) + femmesh.addNode(-3.6915833446295894, 3.3722711055983345, 5.858516834060166, 3254) + femmesh.addNode(-3.26136015740851, 3.7899247912944576, 6.6401297445119924, 3255) + femmesh.addNode(-4.462142744764196, 2.2559437327531566, 6.68136766040167, 3256) + femmesh.addNode(-3.427944787112148, -3.6399443040396444, 5.634352366863412, 3257) + femmesh.addNode(0.2008665473013886, 4.9959636337923055, 44.520028851277715, 3258) + femmesh.addNode(-0.2567383532304422, 4.99340419132885, 43.73055282751871, 3259) + femmesh.addNode(2.23573859883958, -4.472300629168261, 22.76786242495416, 3260) + femmesh.addNode(1.5007545738763803, -4.76945863898505, 22.352273735106927, 3261) + femmesh.addNode(2.2351880532009707, -4.472575808952561, 23.705828414640656, 3262) + femmesh.addNode(2.188594746676805, -4.495559257180211, 34.179107613878614, 3263) + femmesh.addNode(2.1814906187384278, -4.499010855772214, 33.277570085342646, 3264) + femmesh.addNode(1.4406562065658908, -4.787954646243339, 34.60396471199698, 3265) + femmesh.addNode(1.1276642540928135, 4.871177817534615, 44.51696589982702, 3266) + femmesh.addNode(2.272048373662071, -4.453964098164638, 24.657760624889143, 3267) + femmesh.addNode(1.6060392268816825, -4.735043611384935, 44.21798093921698, 3268) + femmesh.addNode(2.416501541966488, -4.377273157763128, 44.18416421359768, 3269) + femmesh.addNode(-2.799935929710922, -4.142506341517636, 44.39904435481796, 3270) + femmesh.addNode(-2.401229229893878, -4.385669639348506, 43.57898428331751, 3271) + femmesh.addNode(-3.4919738290409024, -3.578563786953283, 44.416503744736545, 3272) + femmesh.addNode(2.145311935512299, 4.516374286897452, 44.46738496598658, 3273) + femmesh.addNode(-4.071302513116727, -2.9024982078701482, 5.678624608030308, 3274) + femmesh.addNode(-4.548757927366383, -2.075765236779315, 5.700419376800678, 3275) + femmesh.addNode(-4.734760008189252, -1.6068751242245676, 6.574925762182451, 3276) + femmesh.addNode(1.146075465596801, -4.866878982177087, 43.37794248329084, 3277) + femmesh.addNode(2.371863671957441, -4.401620465425042, 18.123727594615293, 3278) + femmesh.addNode(2.388812733267534, -4.39244507368947, 17.227890199346323, 3279) + femmesh.addNode(1.7100823642928025, -4.6984697835928175, 16.774774381079762, 3280) + femmesh.addNode(1.628114354803651, -4.727498667126443, 18.583647821833416, 3281) + femmesh.addNode(-3.823568294158451, -3.2218512535351835, 43.635567272714596, 3282) + femmesh.addNode(1.5828253471609863, -4.742853984721088, 38.41708203323309, 3283) + femmesh.addNode(1.3822476168817055, -4.805142196191997, 7.730851400041592, 3284) + femmesh.addNode(0.5624800633461393, -4.968260880664191, 8.171539151770368, 3285) + femmesh.addNode(0.6190047438626927, -4.961535359853388, 7.229825838086217, 3286) + femmesh.addNode(2.65076559610208, -4.239509612504916, 43.43544034874489, 3287) + femmesh.addNode(1.5269450639178213, -4.761138390319799, 36.47058034312211, 3288) + femmesh.addNode(-1.1248896349509157, -4.87181930177834, 42.69344364849121, 3289) + femmesh.addNode(-0.2034738308801597, -4.995858124501431, 42.62436185957612, 3290) + femmesh.addNode(-1.7486947464728329, -4.684235976512959, 7.147773295385523, 3291) + femmesh.addNode(-2.545639985423028, -4.3034540853383625, 7.215585572361853, 3292) + femmesh.addNode(0.25227847527102903, 4.993631501313941, 42.860997880628794, 3293) + femmesh.addNode(-0.7112720415253155, 4.949150642579433, 42.83204959842935, 3294) + femmesh.addNode(-4.110548951738766, -2.846644922599117, 42.841889360188716, 3295) + femmesh.addNode(-3.519327691459294, -3.551666172393993, 42.82053676642873, 3296) + femmesh.addNode(2.2166382059154657, 4.481798195376033, 5.378968527117021, 3297) + femmesh.addNode(0.01275486390781735, 4.999983731318202, 7.256399255685281, 3298) + femmesh.addNode(0.01939239209472191, 4.999962393371459, 8.331930984319245, 3299) + femmesh.addNode(-0.9612018196929255, 4.90673935132273, 7.037764033951424, 3300) + femmesh.addNode(2.17656442463097, -4.501396150688234, 31.533725879428978, 3301) + femmesh.addNode(1.3104064306257963, -4.82522900871809, 31.274226386610678, 3302) + femmesh.addNode(1.2870071607103029, 4.8315228001408, 5.706783204863475, 3303) + femmesh.addNode(0.7951087576462078, -4.936375397345131, 36.954957101460735, 3304) + femmesh.addNode(0.7318699250336442, -4.946146622658011, 35.993331175494376, 3305) + femmesh.addNode(0.9614428063381262, -4.906692137289711, 26.823647823471354, 3306) + femmesh.addNode(0.8426889068079569, -4.9284759719758, 25.803406293297538, 3307) + femmesh.addNode(2.271700326223441, -4.454141626378343, 32.462852862652014, 3308) + femmesh.addNode(-1.7462741260070227, 4.685138917560333, 7.225155177782978, 3309) + femmesh.addNode(-3.7422702834982986, -3.3159332208664223, 6.492724122198446, 3310) + femmesh.addNode(1.4080732222580805, -4.7976379397324, 28.833629226492718, 3311) + femmesh.addNode(1.1488388154284852, -4.866227427501192, 27.858553858238615, 3312) + femmesh.addNode(-3.276117149956028, 3.777175720000857, 43.0881104021303, 3313) + femmesh.addNode(-3.9047648402803743, 3.12294917379553, 43.085818186690815, 3314) + femmesh.addNode(1.5229065210256478, -4.7624317032601695, 24.240658719561967, 3315) + femmesh.addNode(0.7604799967432462, -4.9418286265868625, 20.943229031620618, 3316) + femmesh.addNode(0.7959052410814781, -4.936247040740469, 19.989786550067993, 3317) + femmesh.addNode(0.748871043985761, -4.943601132724977, 29.481472969041782, 3318) + femmesh.addNode(2.2348945816375085, -4.4727224605342215, 41.72866107187829, 3319) + femmesh.addNode(2.19350463402429, -4.493165634662711, 40.8498520040254, 3320) + femmesh.addNode(-2.8227262026606055, -4.127010635413148, 42.818571125154946, 3321) + femmesh.addNode(-2.0136728113969644, -4.576584076430875, 42.783340729517846, 3322) + femmesh.addNode(-1.60065425010028, -4.736866682907163, 41.93303049032865, 3323) + femmesh.addNode(-3.1995927568386184, -3.842213709619215, 42.02489321262907, 3324) + femmesh.addNode(-0.04642032564252607, 4.99978451069316, 9.361344494554762, 3325) + femmesh.addNode(0.0643553102216997, 4.999585822250306, 10.316074596081457, 3326) + femmesh.addNode(-1.0398930877570254, 4.890666863121548, 8.904444023308796, 3327) + femmesh.addNode(0.9795831563478252, 4.90310277679345, 12.956696326332636, 3328) + femmesh.addNode(1.0627932466363696, 4.88574155220107, 13.83579131824042, 3329) + femmesh.addNode(0.9855505329240061, 4.901906786858886, 14.621623119276983, 3330) + femmesh.addNode(0.9822021178862854, 4.902578811158439, 15.481891884614024, 3331) + femmesh.addNode(0.29275843983452077, 4.9914218911954995, 14.21788040687564, 3332) + femmesh.addNode(0.9787862114600281, 4.903261929803029, 16.36351646675258, 3333) + femmesh.addNode(0.9742898009391577, 4.904157357159937, 17.243643036826093, 3334) + femmesh.addNode(0.21046330992060544, 4.99556855574791, 15.885336790050756, 3335) + femmesh.addNode(0.9708355446950081, 4.904842336421911, 18.139373727244532, 3336) + femmesh.addNode(0.9626956227924893, 4.906446487821525, 19.024347977121273, 3337) + femmesh.addNode(0.2034642544856174, 4.995858514524467, 17.662692062607746, 3338) + femmesh.addNode(0.9663855190212303, 4.90572105083708, 19.916258140255046, 3339) + femmesh.addNode(0.979731250975448, 4.90307318687597, 20.804143801480205, 3340) + femmesh.addNode(0.20370307012585767, 4.995848782661591, 19.450332916159958, 3341) + femmesh.addNode(0.9902353407581197, 4.900962555449047, 21.699175853295237, 3342) + femmesh.addNode(1.0008019649815787, 4.898815716771658, 22.591729127704276, 3343) + femmesh.addNode(0.21816475267648097, 4.995238146544128, 21.23727513110876, 3344) + femmesh.addNode(0.9807240683382639, 4.90287469774438, 23.482617206757965, 3345) + femmesh.addNode(0.9700377109876624, 4.905000187488459, 24.370198155083802, 3346) + femmesh.addNode(0.2084036021509159, 4.9956549058767585, 23.023195261977484, 3347) + femmesh.addNode(0.9682287193920375, 4.905357596235412, 25.254228355619432, 3348) + femmesh.addNode(0.9703069227393204, 4.904946939130347, 26.139489344052897, 3349) + femmesh.addNode(0.18609295332401274, 4.996535741163386, 24.798113541566803, 3350) + femmesh.addNode(0.9832117829250154, 4.902376422707401, 27.02870749307578, 3351) + femmesh.addNode(0.9941817311164585, 4.900163536609189, 27.919110797778636, 3352) + femmesh.addNode(0.197399051199223, 4.9961018418949035, 26.571361891125314, 3353) + femmesh.addNode(0.9948097335521398, 4.900036080890621, 28.81341351752686, 3354) + femmesh.addNode(0.9840328608708686, 4.9022116772663225, 29.705111969810666, 3355) + femmesh.addNode(0.21118671346269965, 4.995538026284739, 28.35488275989642, 3356) + femmesh.addNode(0.9731753626560429, 4.904378626647751, 30.598460829272113, 3357) + femmesh.addNode(0.9731328864718412, 4.904387055001571, 31.488305336382815, 3358) + femmesh.addNode(0.20076474580723563, 4.995967725760541, 30.1425343391061, 3359) + femmesh.addNode(0.98271111036562, 4.902476810099562, 32.38244674044287, 3360) + femmesh.addNode(0.9937083402531853, 4.900259557871528, 33.27726464934393, 3361) + femmesh.addNode(0.1994610154875227, 4.996019946247281, 31.93002460262761, 3362) + femmesh.addNode(0.9921721237031809, 4.900570831744637, 34.16948660142447, 3363) + femmesh.addNode(0.9782803618486322, 4.903362880067242, 35.06009652391834, 3364) + femmesh.addNode(0.20765363580503648, 4.995686135811271, 33.71638795876821, 3365) + femmesh.addNode(0.96492236216961, 4.906009053699862, 35.93962316071571, 3366) + femmesh.addNode(0.9481761280719893, 4.909273065348312, 36.82027374577336, 3367) + femmesh.addNode(0.1924807869013964, 4.996293741031828, 35.48813654764612, 3368) + femmesh.addNode(0.9595121163381409, 4.907070052342874, 37.696560919998696, 3369) + femmesh.addNode(0.944072651288218, 4.910063831467941, 38.58240636811887, 3370) + femmesh.addNode(0.19041279527821098, 4.996372981212906, 37.243950358668826, 3371) + femmesh.addNode(0.8886151375680083, 4.9204027413703635, 39.48107001610529, 3372) + femmesh.addNode(0.8438032597215024, 4.928285306157037, 40.363135992508944, 3373) + femmesh.addNode(0.14557302851652684, 4.997880400066465, 39.01890118088059, 3374) + femmesh.addNode(-4.532968185648569, -2.1100235609817055, 7.369106843342033, 3375) + femmesh.addNode(-4.863953720602484, -1.15842747025321, 7.407036242159142, 3376) + femmesh.addNode(0.8276494018670217, -4.931023876193377, 42.43802973475279, 3377) + femmesh.addNode(1.6707016379547448, -4.712616686824352, 42.41038190819341, 3378) + femmesh.addNode(1.0407919874693663, -4.890475645458176, 13.719252817092702, 3379) + femmesh.addNode(0.986859845248213, -4.901643361754981, 12.848552205429883, 3380) + femmesh.addNode(-1.6867473785440248, 4.706897415599246, 42.97817861093388, 3381) + femmesh.addNode(-2.5283788903093143, 4.313617992710787, 43.03668993676082, 3382) + femmesh.addNode(-2.9373424349152213, 4.046235215610472, 42.306173141917974, 3383) + femmesh.addNode(-1.1994498416492723, 4.854000420000758, 42.10862366404397, 3384) + femmesh.addNode(1.4699192028013104, -4.7790519496272434, 40.436213478516535, 3385) + femmesh.addNode(2.5205934632904317, -4.318171904037349, 42.668573820416356, 3386) + femmesh.addNode(0.677669461270659, -4.953863552951487, 40.81126051286493, 3387) + femmesh.addNode(0.7898153263908783, -4.937225106291799, 39.77700483172611, 3388) + femmesh.addNode(0.70053650725423, -4.950681630038842, 32.15359191510018, 3389) + femmesh.addNode(0.3918273730217977, -4.984623487260682, 31.358277740253925, 3390) + femmesh.addNode(-3.3609860874906423, -3.701860683452897, 7.29127579196354, 3391) + femmesh.addNode(-4.017686982955132, -2.976271376570505, 7.335548033130435, 3392) + femmesh.addNode(1.511722488648875, -4.765993612806595, 32.88425778414757, 3393) + femmesh.addNode(0.3433084198881689, -4.988200008904403, 41.65680128447869, 3394) + femmesh.addNode(0.36915349228234534, -4.986353948441261, 9.156155237350928, 3395) + femmesh.addNode(-0.40994107514344985, -4.983166494801296, 8.655129675395553, 3396) + femmesh.addNode(-0.08147728846302403, -4.999336101070292, 6.87386528742407, 3397) + femmesh.addNode(-2.9119176166401166, -4.064570800699742, 8.058409483293843, 3398) + femmesh.addNode(0.42963252478518565, -4.981507391708528, 10.092664134587807, 3399) + femmesh.addNode(1.1639625220785268, 4.86263213159258, 43.08637860588058, 3400) + femmesh.addNode(0.7154346377492145, 4.948550624082636, 42.187875376791226, 3401) + femmesh.addNode(-4.277680703709978, -2.58871547241239, 8.167658513107128, 3402) + femmesh.addNode(-0.6538448011675353, 4.957064350599676, 10.908703410204339, 3403) + femmesh.addNode(0.5210397212870514, 4.9727776552789, 11.290920472741483, 3404) + femmesh.addNode(0.2962268322309594, -4.991217252721666, 27.44912769155188, 3405) + femmesh.addNode(0.6006407705750625, -4.9637919642872825, 32.96830913779081, 3406) + femmesh.addNode(-4.9598757489600445, 0.6321649744157252, 42.87138532061884, 3407) + femmesh.addNode(-4.992581889217659, -0.27226105019968533, 42.84587715334703, 3408) + femmesh.addNode(-2.6790358661242335, 4.22170188763015, 7.498059895401479, 3409) + femmesh.addNode(-1.970245233700321, 4.595447064114781, 8.14793523069178, 3410) + femmesh.addNode(0.773189407197799, -4.939856085008663, 24.789953246040888, 3411) + femmesh.addNode(0.7323674854940941, -4.946072974208029, 23.8380210357924, 3412) + femmesh.addNode(0.034247714673780315, -4.999882708028221, 25.400768609527972, 3413) + femmesh.addNode(-0.35494609433637714, -4.98738541423413, 40.997592637688264, 3414) + femmesh.addNode(1.7511190825233316, 4.683330220988335, 43.70992017587771, 3415) + femmesh.addNode(0.858411585472333, -4.9257618243198555, 11.985637959665024, 3416) + femmesh.addNode(0.7412516881623414, -4.94474932982416, 11.05067615326297, 3417) + femmesh.addNode(0.15374943314874973, -4.997635552119266, 12.4186840440913, 3418) + femmesh.addNode(1.0045860152209354, -4.898041132740978, 14.589112461048117, 3419) + femmesh.addNode(0.24738129560025884, -4.993876499733162, 14.151457933811576, 3420) + femmesh.addNode(0.9925828639842642, -4.900487655134415, 15.456253347027403, 3421) + femmesh.addNode(0.7424919389814129, -4.944563248715464, 21.910983090498156, 3422) + femmesh.addNode(-0.03361572275848151, -4.999886997041376, 21.438391161218405, 3423) + femmesh.addNode(0.7246343616856668, -4.947211845258337, 22.847435864704714, 3424) + femmesh.addNode(0.6523458890170509, -4.95726182898206, 35.00865209615387, 3425) + femmesh.addNode(0.6261911093810684, -4.9606334972997255, 34.1036623909951, 3426) + femmesh.addNode(0.05210251150432047, -4.999728525459652, 30.205207667962057, 3427) + femmesh.addNode(-0.21140582808312075, -4.995528758385091, 29.207768425239415, 3428) + femmesh.addNode(-0.5696989231528194, -4.967438287181686, 31.084573196451558, 3429) + femmesh.addNode(0.012178130632216101, -4.999985169291436, 19.5161545240801, 3430) + femmesh.addNode(0.8231404428520464, -4.931778564710843, 19.03530397180723, 3431) + femmesh.addNode(0.8776280290360222, -4.922374329797598, 38.85566620106195, 3432) + femmesh.addNode(0.8827406647302104, -4.921460039341137, 37.87079043691733, 3433) + femmesh.addNode(0.6986986861372686, 4.950941339380831, 12.18244666684528, 3434) + femmesh.addNode(0.08687082362534333, 4.9992452890414025, 12.65779894635172, 3435) + femmesh.addNode(-0.057636647094466684, 4.999667790654866, 40.94002974020323, 3436) + femmesh.addNode(0.6987479054622138, 4.950934393083004, 41.38560090384516, 3437) + femmesh.addNode(-0.09901866312113976, -4.999019434284458, 35.49302885449249, 3438) + femmesh.addNode(0.8668230368951658, -4.924288560056959, 18.110015795845527, 3439) + femmesh.addNode(-3.4403836920303843, 3.62818963831983, 7.5629097974207955, 3440) + femmesh.addNode(0.06999640883842834, -4.999510026267546, 39.23071323541035, 3441) + femmesh.addNode(0.07016384472489595, -4.99950767925137, 37.3935412692896, 3442) + femmesh.addNode(-4.860432039642365, -1.1731156754634011, 42.827997974974394, 3443) + femmesh.addNode(-4.5647657648014315, -2.0403219139382895, 42.82975934881131, 3444) + femmesh.addNode(-4.363466398160087, -2.4413440953965986, 42.01472884252544, 3445) + femmesh.addNode(-4.949393555044437, -0.709579761044937, 42.02047800952067, 3446) + femmesh.addNode(-4.99832062421479, -0.1295798500889537, 7.452130448405548, 3447) + femmesh.addNode(-4.926715383776745, 0.8529217591652593, 7.474580705041783, 3448) + femmesh.addNode(-4.954914137021728, -0.6699446952862836, 8.24631152956513, 3449) + femmesh.addNode(-4.403916520093035, 2.36759778764292, 42.9938245621378, 3450) + femmesh.addNode(-4.769611439764205, 1.5002688804579076, 42.9390099057629, 3451) + femmesh.addNode(-4.881733565371057, 1.0810538361846675, 42.10598177303737, 3452) + femmesh.addNode(-4.189881143329294, 2.7285336730144287, 42.26559998273444, 3453) + femmesh.addNode(-2.0305612405064655, 4.569116002965218, 9.177348740927298, 3454) + femmesh.addNode(-3.970925433585275, -3.0383796999232326, 8.935104071573996, 3455) + femmesh.addNode(-4.499613007042573, -2.180248331464398, 8.968662881785594, 3456) + femmesh.addNode(-1.5582333291920745, 4.7509903064303325, 10.7980836614299, 3457) + femmesh.addNode(-1.1174786469330922, 4.873524543248816, 11.772929538089922, 3458) + femmesh.addNode(-0.4179685418981184, -4.982499603410276, 28.124671961417185, 3459) + femmesh.addNode(-0.6086702072672717, -4.962813776355628, 27.089765926649925, 3460) + femmesh.addNode(-0.2905903384941527, -4.991548582872239, 10.597757779651278, 3461) + femmesh.addNode(-1.233026384829035, -4.8455800410596295, 41.14568258696623, 3462) + femmesh.addNode(-0.9046856263168628, -4.917473326570838, 40.300141815352475, 3463) + femmesh.addNode(-2.1150194274854677, -4.5306393391395705, 41.23557966799286, 3464) + femmesh.addNode(-2.4088538781244315, -4.381486390923163, 8.814224437597531, 3465) + femmesh.addNode(-3.242740833442499, -3.805868085880624, 8.889914657199217, 3466) + femmesh.addNode(-0.8438715195708523, -4.928273618464906, 6.991670458446942, 3467) + femmesh.addNode(-1.1445123748775823, -4.867246801195936, 7.826616426753574, 3468) + femmesh.addNode(-1.33262971859906, -4.819138723164814, 8.811232512334136, 3469) + femmesh.addNode(-0.20501043504477426, -4.995795304205603, 33.37299652194771, 3470) + femmesh.addNode(-4.632166863058181, 1.8822938539945697, 7.5702543144209375, 3471) + femmesh.addNode(-4.169332231065926, 2.7598312895890613, 7.593866300550577, 3472) + femmesh.addNode(-4.794003755514976, 1.4203971247888072, 8.387079345190688, 3473) + femmesh.addNode(-0.04399361679278624, -4.999806452422082, 23.396730391183638, 3474) + femmesh.addNode(-0.839754733601437, -4.928976768802423, 21.912769925511828, 3475) + femmesh.addNode(-0.821812918115724, -4.931999952110514, 20.945015866634286, 3476) + femmesh.addNode(-0.7960893367908738, -4.936217354194188, 19.989337174236404, 3477) + femmesh.addNode(-0.7688300456917175, -4.940536444642593, 19.034854595975645, 3478) + femmesh.addNode(-1.5819704903125167, -4.7431391891636885, 20.463715938529827, 3479) + femmesh.addNode(-0.6628264717733965, -4.955871373261863, 37.91481167596484, 3480) + femmesh.addNode(-0.7508258785247729, -4.943304613326747, 36.998978340508245, 3481) + femmesh.addNode(-0.8192633105451662, 4.932424112745636, 12.728531526664483, 3482) + femmesh.addNode(-0.5369689282293718, 4.971082816662403, 13.50278118615184, 3483) + femmesh.addNode(-1.7162539666528454, 4.696218938885662, 12.617911777890043, 3484) + femmesh.addNode(0.9189486021370695, -4.914827918313145, 17.18310210615264, 3485) + femmesh.addNode(0.9608257412116555, -4.906813007953846, 16.299516841360692, 3486) + femmesh.addNode(0.17807563309313001, -4.996827900668431, 15.864581072100279, 3487) + femmesh.addNode(0.09274959295123343, -4.999139677285221, 17.634758256126453, 3488) + femmesh.addNode(-0.6153593016058853, 4.96198880792038, 14.288612987188403, 3489) + femmesh.addNode(-0.8877900705737996, -4.920551675431381, 36.05227313542529, 3490) + femmesh.addNode(-0.9666942209191669, -4.905660229086548, 35.067594056084786, 3491) + femmesh.addNode(-1.5988862277198825, -4.7374637550917145, 36.57354354210053, 3492) + femmesh.addNode(-0.6164326009014868, 4.961855585216667, 15.344286092801084, 3493) + femmesh.addNode(-0.6198894179645232, 4.9614249071708825, 16.22591067493964, 3494) + femmesh.addNode(-0.591710447424951, 4.964864423769109, 17.189031056251437, 3495) + femmesh.addNode(-0.595207071459347, 4.964446448707528, 18.084761746669876, 3496) + femmesh.addNode(-1.4025536782562926, 4.799254439973957, 16.647980359001767, 3497) + femmesh.addNode(-0.5834619340629278, 4.965840530212338, 18.978007109205706, 3498) + femmesh.addNode(-0.5797269299077865, 4.966277951015196, 19.869917272339475, 3499) + femmesh.addNode(-1.3639076221005246, 4.8103800263987555, 18.504346102849397, 3500) + femmesh.addNode(-0.58420472466707, 4.965753199634138, 20.752628293553315, 3501) + femmesh.addNode(-0.5735627332152374, 4.966993637107528, 21.64766034536835, 3502) + femmesh.addNode(-1.3568645868463636, 4.812371400147982, 20.280302486599062, 3503) + femmesh.addNode(-0.5765066501170408, 4.966652804693602, 22.571681976560704, 3504) + femmesh.addNode(-0.596849225466875, 4.964249288871338, 23.462570055614393, 3505) + femmesh.addNode(-1.364054695192992, 4.810338323706759, 22.08703513900526, 3506) + femmesh.addNode(-0.5932440043243846, 4.964681414887885, 24.337175180192595, 3507) + femmesh.addNode(-0.5950748995798467, 4.964462293530895, 25.22120538072823, 3508) + femmesh.addNode(-1.3634125555950105, 4.810520367199985, 23.885661894775815, 3509) + femmesh.addNode(-0.5932398648825438, 4.964681909519898, 26.090267629423575, 3510) + femmesh.addNode(-0.5801723873989366, 4.966225931318451, 26.979485778446456, 3511) + femmesh.addNode(-1.358140219545578, 4.812011548620045, 25.629329268049368, 3512) + femmesh.addNode(-0.5812760749286027, 4.966096870250881, 27.889645392375602, 3513) + femmesh.addNode(-0.5806396094622917, 4.966171326477116, 28.78394811212383, 3514) + femmesh.addNode(-1.3574309894794578, 4.812211665004026, 27.408551130673864, 3515) + femmesh.addNode(-0.5769144103570559, 4.966605456760419, 29.698720676268316, 3516) + femmesh.addNode(-0.587910670425996, 4.965315805021797, 30.592069535729763, 3517) + femmesh.addNode(-1.3548907202592981, 4.812927501651696, 29.233483308747495, 3518) + femmesh.addNode(-0.5931364281275809, 4.964694268293673, 31.458465655695456, 3519) + femmesh.addNode(-0.5834374137852296, 4.9658434111634655, 32.35260705975551, 3520) + femmesh.addNode(-1.3563462604804317, 4.812517513908988, 31.01465199285767, 3521) + femmesh.addNode(-0.5933345371866942, 4.964670596019584, 33.2615662911565, 3522) + femmesh.addNode(-0.5948908677779432, 4.964484349399684, 34.15378824323703, 3523) + femmesh.addNode(-1.3709978762618489, 4.808364048539326, 32.79000734422434, 3524) + femmesh.addNode(-0.5927301538288317, 4.964742789384164, 35.05051429390054, 3525) + femmesh.addNode(-0.6062494959622887, 4.963110068157412, 35.93004093069791, 3526) + femmesh.addNode(-1.3784878880324725, 4.80622212788254, 34.59569262628884, 3527) + femmesh.addNode(-0.5990733756234617, 4.963981374926694, 36.76626433505204, 3528) + femmesh.addNode(-0.5876069056164663, 4.965351762410378, 37.64255150927738, 3529) + femmesh.addNode(-1.3694450102264106, 4.808806542580601, 36.32864208130647, 3530) + femmesh.addNode(-0.5817600386910258, 4.9660401989293455, 38.50375075973047, 3531) + femmesh.addNode(-0.6377519844755981, 4.959160453776167, 39.4024144077169, 3532) + femmesh.addNode(-1.3568257737475675, 4.812382343465066, 38.02606473611368, 3533) + femmesh.addNode(-0.7621521838916044, 4.941571010173714, 40.278059632769676, 3534) + femmesh.addNode(-0.9069053022796538, 4.917064446669074, 41.30052454410588, 3535) + femmesh.addNode(-1.8720105683872954, 4.636332217588196, 41.446653556610414, 3536) + femmesh.addNode(-1.4716856463075856, 4.778508277533086, 39.76290921161956, 3537) + femmesh.addNode(-0.5860359358020331, -4.9655374212615335, 39.60915004736293, 3538) + femmesh.addNode(-0.49750070185501327, -4.975187740342445, 38.68781141669878, 3539) + femmesh.addNode(-1.3068131158752763, -4.826203422999941, 38.293248487917424, 3540) + femmesh.addNode(-1.4565886012308258, -4.783131782291225, 39.7572399966409, 3541) + femmesh.addNode(-3.7264220847161758, 3.333733409638442, 8.451796451440064, 3542) + femmesh.addNode(-1.0992382843449402, -4.877671083030342, 34.04196581274124, 3543) + femmesh.addNode(-1.1243385819480571, -4.871946505570749, 32.90661255953695, 3544) + femmesh.addNode(-1.8562633998241493, -4.642659387729547, 34.60121009367403, 3545) + femmesh.addNode(-1.7323463470846145, -4.690306614043755, 9.64273768623951, 3546) + femmesh.addNode(-3.5821860954959313, -3.488257842711117, 9.690919025877683, 3547) + femmesh.addNode(-0.7198025105249252, -4.94791717249208, 25.99230836332635, 3548) + femmesh.addNode(-0.7894208434605378, -4.93728819615688, 24.978855316069705, 3549) + femmesh.addNode(-1.4287429055376357, 4.7915231096046975, 14.629186872077288, 3550) + femmesh.addNode(-4.571043750214795, -2.026217913656443, 41.17905178319806, 3551) + femmesh.addNode(-4.119318723544339, -2.8339395289697054, 41.19118179457547, 3552) + femmesh.addNode(-1.4174617098299107, -4.794872501033376, 26.667852633191654, 3553) + femmesh.addNode(-3.5494439533261386, -3.521568914872533, 41.2047328848124, 3554) + femmesh.addNode(-2.8577670096952064, -4.102824358694596, 41.20276724353862, 3555) + femmesh.addNode(-2.5350222261887065, -4.309717196374868, 40.41541934017619, 3556) + femmesh.addNode(-3.860693633038153, -3.1772700029771888, 40.36905582548502, 3557) + femmesh.addNode(-2.3900793935800424, 4.391755969129439, 10.196412477578036, 3558) + femmesh.addNode(-2.792802384770021, 4.147318994196477, 11.060638605463621, 3559) + femmesh.addNode(-3.197775628235207, 3.84372619101113, 9.43990368496102, 3560) + femmesh.addNode(-1.2966947587489615, -4.828931838681612, 31.821627164955267, 3561) + femmesh.addNode(-1.6219315760267388, -4.729623448297699, 30.6685570926634, 3562) + femmesh.addNode(-2.1431794601875245, -4.5173866119063035, 32.49059645574879, 3563) + femmesh.addNode(-4.737154877957504, 1.599801132092181, 41.20400080606791, 3564) + femmesh.addNode(-4.94555292842356, 0.735871070338512, 41.13637622092385, 3565) + femmesh.addNode(-0.4067298446309394, -4.983429625617933, 12.937191920435872, 3566) + femmesh.addNode(-0.5368396314631492, -4.971096781404533, 12.074277674671013, 3567) + femmesh.addNode(-0.8418542897394808, -4.928618605131384, 23.963598993647995, 3568) + femmesh.addNode(-0.8495582033728866, -4.92729650610574, 22.973013822560304, 3569) + femmesh.addNode(-1.5751522935243965, -4.745407806733246, 24.55513874744637, 3570) + femmesh.addNode(-1.6160925349703592, -4.731621806359113, 22.479638527976185, 3571) + femmesh.addNode(-1.1087587640448666, -4.875515767911503, 28.84840666033746, 3572) + femmesh.addNode(-1.232737044739412, -4.845653658540521, 10.415518127454042, 3573) + femmesh.addNode(-2.3177772339579135, -4.430339568672633, 10.418510052717437, 3574) + femmesh.addNode(-4.99294248349777, -0.26556610567450084, 41.20028198392197, 3575) + femmesh.addNode(-4.862000735167696, -1.1665971246444906, 41.18240280554932, 3576) + femmesh.addNode(-4.7334639610618225, -1.6106889610750188, 40.35885575759936, 3577) + femmesh.addNode(-4.9925441694813575, 0.27295185615360884, 40.29830101695251, 3578) + femmesh.addNode(-0.7390510049243205, -4.945078726584679, 18.07541613317361, 3579) + femmesh.addNode(-0.6866150217992815, -4.952631604696595, 17.148502443480726, 3580) + femmesh.addNode(-1.5285677866978036, -4.760617661760896, 18.548598783329915, 3581) + femmesh.addNode(-3.981519419654755, 3.0244839412554443, 9.470860188090803, 3582) + femmesh.addNode(-4.851987004247794, -1.207568677388791, 9.044244003687474, 3583) + femmesh.addNode(-4.996754161755529, -0.18013285924228403, 9.089338209933878, 3584) + femmesh.addNode(-2.653277414745739, 4.237938055281148, 41.56958473676433, 3585) + femmesh.addNode(-3.3850302133957215, 3.679887288273666, 41.6210052021338, 3586) + femmesh.addNode(-2.394985429626952, 4.389082454440176, 40.76148561682625, 3587) + femmesh.addNode(-0.5050714823018626, -4.974424871054482, 13.681773046502519, 3588) + femmesh.addNode(-1.1861667538884493, -4.85726347154133, 13.33736667708223, 3589) + femmesh.addNode(-0.541856174190688, -4.970552472964291, 14.551632690457934, 3590) + femmesh.addNode(-0.9263658498755712, -4.913435286251801, 11.373530146129205, 3591) + femmesh.addNode(-4.69196583505433, -1.72784738987068, 9.811689562154342, 3592) + femmesh.addNode(-2.252170752226256, 4.46404826394346, 14.11454279467792, 3593) + femmesh.addNode(-2.2531363051264215, 4.463560998857443, 15.170215900290604, 3594) + femmesh.addNode(-2.1531899263768164, -4.512623753532904, 27.320271585500443, 3595) + femmesh.addNode(-2.253838876559003, -4.463206282316699, 26.22281402217687, 3596) + femmesh.addNode(-0.6388344227269471, -4.959021131265638, 16.23531511077183, 3597) + femmesh.addNode(-0.6067056464881787, -4.963054327580886, 15.392051616438541, 3598) + femmesh.addNode(-1.3448537013204356, -4.815741741626592, 14.922366729129484, 3599) + femmesh.addNode(-1.4538037809184654, -4.7839789471304295, 16.675972987818987, 3600) + femmesh.addNode(-4.462978306854802, -2.254290272467911, 10.585817744138165, 3601) + femmesh.addNode(-4.831374154874638, -1.2875650568454335, 10.661398866040045, 3602) + femmesh.addNode(-3.1567581551944306, -3.8774834557498057, 10.517904446194784, 3603) + femmesh.addNode(-3.9019358246793336, -3.1264831392611105, 10.563093860569563, 3604) + femmesh.addNode(-4.173761566540289, -2.7531281092007225, 11.412803164455266, 3605) + femmesh.addNode(-2.7342883510380345, -4.186127949953, 11.290684887409316, 3606) + femmesh.addNode(-2.3270905393537706, -4.425454736142963, 25.13104551272717, 3607) + femmesh.addNode(-2.373996888161111, -4.400470290207782, 24.11578919030546, 3608) + femmesh.addNode(-1.470628002966021, -4.778833882537891, 11.892038022473775, 3609) + femmesh.addNode(-2.6791347045868013, 4.221639164433478, 12.172198865273613, 3610) + femmesh.addNode(-2.4176465966922254, 4.376640827564275, 13.127800853848173, 3611) + femmesh.addNode(-3.153141845583467, 3.8804247836584196, 13.66882988206149, 3612) + femmesh.addNode(-3.3970407791873174, 3.668802794446497, 11.570527681421751, 3613) + femmesh.addNode(-1.8230076327572253, -4.655818206385307, 29.536908980087897, 3614) + femmesh.addNode(-2.0141304083596676, -4.576382708878369, 28.453812516265664, 3615) + femmesh.addNode(-2.4902767593240704, -4.335726197763231, 30.273962948591603, 3616) + femmesh.addNode(-2.1804976789925745, 4.499492179336241, 16.1375461018719, 3617) + femmesh.addNode(-2.154916223679101, 4.511799648579777, 17.1006664831837, 3618) + femmesh.addNode(-2.9405654692734378, 4.043893510086126, 15.622902024472536, 3619) + femmesh.addNode(-4.919448503140762, 0.8938827803163664, 9.18832192759743, 3620) + femmesh.addNode(-4.616345745021939, 1.9207685863783377, 9.283995536976587, 3621) + femmesh.addNode(-4.987681274914177, 0.3507641656020375, 9.986254401719776, 3622) + femmesh.addNode(-2.3593962665574666, -4.408315920774586, 20.943369684082953, 3623) + femmesh.addNode(-2.3363819561231187, -4.420556453106589, 19.98769099168507, 3624) + femmesh.addNode(-4.285113083440003, 2.5763939648530676, 10.272102770497543, 3625) + femmesh.addNode(-2.403307834562868, -4.384530927286149, 23.0502913925068, 3626) + femmesh.addNode(-2.3945810050221645, -4.389303112156535, 21.99004749545832, 3627) + femmesh.addNode(-3.08018384729162, -3.9385869886145453, 21.514022548613564, 3628) + femmesh.addNode(-3.085402624546179, -3.9345000501262613, 23.626198157787595, 3629) + femmesh.addNode(-2.277124482583435, -4.451371034953065, 37.26072464633605, 3630) + femmesh.addNode(-2.3998414133902783, -4.38642920729116, 36.314019441253095, 3631) + femmesh.addNode(-2.1016421942672956, 4.5368601573417875, 18.029235997321656, 3632) + femmesh.addNode(-2.0909043038625894, 4.54181892991001, 18.922481359857482, 3633) + femmesh.addNode(-2.8262688410751373, 4.124585365581345, 17.51880174019179, 3634) + femmesh.addNode(-2.095541824483135, 4.539681096932019, 19.81952727556078, 3635) + femmesh.addNode(-2.0996343460097084, 4.537789727726086, 20.702238296774617, 3636) + femmesh.addNode(-2.7817522979828446, 4.154738758654648, 19.34441717003304, 3637) + femmesh.addNode(-2.1339749469030123, 4.521742023378853, 21.599065012258187, 3638) + femmesh.addNode(-2.136654681858964, 4.5204763875602945, 22.52308664345054, 3639) + femmesh.addNode(-2.817389546862919, 4.1306556551263816, 21.138289801219905, 3640) + femmesh.addNode(-2.107872308143993, 4.5339689381997, 23.42034380458677, 3641) + femmesh.addNode(-2.104579160402199, 4.535498490530095, 24.294948929164974, 3642) + femmesh.addNode(-2.8224411322068974, 4.127205598855798, 22.9323736778397, 3643) + femmesh.addNode(-2.0911501676043067, 4.541705734251007, 25.188651253270884, 3644) + femmesh.addNode(-2.0894712924990513, 4.542478367347757, 26.057713501966234, 3645) + femmesh.addNode(-2.783868345386005, 4.153321205440025, 24.72333316308184, 3646) + femmesh.addNode(-2.110573688860244, 4.532712069378648, 26.93229888452796, 3647) + femmesh.addNode(-2.111580993793534, 4.532242900226102, 27.842458498457106, 3648) + femmesh.addNode(-2.790890627767549, 4.148605730102495, 26.491620869749475, 3649) + femmesh.addNode(-2.1056926816735224, 4.534981624036262, 28.75158876364084, 3650) + femmesh.addNode(-2.1022904811913894, 4.536559790490155, 29.666361327785324, 3651) + femmesh.addNode(-2.804780004354231, 4.1392280834927035, 28.27533651749494, 3652) + femmesh.addNode(-2.0830887439824486, 4.54540881381352, 30.56757308748233, 3653) + femmesh.addNode(-2.0878717139204093, 4.543213808111066, 31.433969207448015, 3654) + femmesh.addNode(-2.781858326896046, 4.1546677663898866, 30.085678542375675, 3655) + femmesh.addNode(-2.131895957900825, 4.522722589844101, 32.32920170011008, 3656) + femmesh.addNode(-2.1409067443351675, 4.518464154119206, 33.23816093151107, 3657) + femmesh.addNode(-2.804598103265627, 4.139351335554744, 31.88212279473474, 3658) + femmesh.addNode(-2.1512064376967057, 4.513569636375653, 34.130745206665736, 3659) + femmesh.addNode(-2.1492418247888474, 4.514505463345715, 35.02747125732924, 3660) + femmesh.addNode(-2.8540369754426775, 4.105419947192493, 33.66993956255148, 3661) + femmesh.addNode(-2.113118903803222, 4.53152606727463, 35.90640714165194, 3662) + femmesh.addNode(-2.1065651772958613, 4.5345764029073825, 36.74263054600607, 3663) + femmesh.addNode(-2.107451584617694, 4.534164511626411, 37.59376780514862, 3664) + femmesh.addNode(-2.1021113661058513, 4.536642790047349, 38.45496705560171, 3665) + femmesh.addNode(-2.798369246933921, 4.143564836926591, 37.1715328654941, 3666) + femmesh.addNode(-2.5730353714327503, -4.2871306228474, 35.3080068259528, 3667) + femmesh.addNode(-2.688233327000181, -4.215851228353004, 34.282378582609255, 3668) + femmesh.addNode(-3.6976644741522446, 3.365602091244954, 40.921888919081866, 3669) + femmesh.addNode(-3.9195216855118264, 3.1044081169850286, 41.658477324235506, 3670) + femmesh.addNode(-4.415087897163221, 2.3466995675464832, 41.5664836996825, 3671) + femmesh.addNode(-3.5655776990031107, 3.505232613161598, 40.073516985438815, 3672) + femmesh.addNode(-4.0704916269972085, 2.9036352929639113, 40.110989107540526, 3673) + femmesh.addNode(-1.8662310260910013, -4.638661634270743, 12.731275967962244, 3674) + femmesh.addNode(-2.2254743025860964, -4.477417126930316, 12.030528439420436, 3675) + femmesh.addNode(-3.075731329594664, -3.9420650410856792, 12.129922832897783, 3676) + femmesh.addNode(-1.9574789523383587, -4.600899493702543, 13.47585709402889, 3677) + femmesh.addNode(-4.568859178818914, 2.03113904106099, 40.59687814756898, 3678) + femmesh.addNode(-4.4874179007412245, 2.205239348485153, 39.748506213925936, 3679) + femmesh.addNode(-2.9934819262012935, -4.004880267561839, 25.783464465035955, 3680) + femmesh.addNode(-2.2923924747141755, -4.443527511096766, 18.99224277762477, 3681) + femmesh.addNode(-2.265580097017371, -4.457257769525873, 18.03280431482274, 3682) + femmesh.addNode(-4.120644689655614, -2.8320111831723036, 39.49982644717603, 3683) + femmesh.addNode(-3.5510918248317473, -3.519907222017809, 39.51337753741296, 3684) + femmesh.addNode(-3.0090980136744805, -3.9931602953175194, 19.471896523177897, 3685) + femmesh.addNode(-2.845125549818742, -4.111600735208685, 33.19069752203484, 3686) + femmesh.addNode(-2.9893859664106346, -4.007938565375866, 32.105712127453145, 3687) + femmesh.addNode(-3.4645291211702505, -3.6051404922087698, 33.8974942543136, 3688) + femmesh.addNode(-4.536159363924272, -2.1031543512263067, 39.54771816990316, 3689) + femmesh.addNode(-4.322774808655353, -2.5126913765233234, 38.6920398818311, 3690) + femmesh.addNode(-4.841597709869425, -1.2485718304475495, 39.55106919225443, 3691) + femmesh.addNode(-4.393432659848708, 2.3869959076996143, 38.76573449806959, 3692) + femmesh.addNode(-4.781981008810666, 1.4603621576082149, 39.251623538098045, 3693) + femmesh.addNode(-4.049495679463709, 2.9328458435459503, 11.228984163602437, 3694) + femmesh.addNode(-3.9683484409290566, 3.0417446722852866, 12.340544423412428, 3695) + femmesh.addNode(-4.993295474677225, -0.25884416657121656, 10.71726981386147, 3696) + femmesh.addNode(-4.932922638178023, 0.816256237802061, 10.816253531525021, 3697) + femmesh.addNode(-4.930711061198039, -0.8295109589265883, 11.491397995845292, 3698) + femmesh.addNode(-2.8305662542394376, 4.1216373785621805, 35.44145972202884, 3699) + femmesh.addNode(-4.658972053457506, 1.8149323417422343, 11.04211951248822, 3700) + femmesh.addNode(-4.9605062005394025, 0.627198720032287, 39.496163033949, 3701) + femmesh.addNode(-4.98591488026824, -0.375037073793706, 39.56006879694712, 3702) + femmesh.addNode(-4.918112158477906, -0.9012063008167391, 38.74893120925093, 3703) + femmesh.addNode(-4.93069050378865, 0.8296331453410134, 38.51339131809266, 3704) + femmesh.addNode(-2.8016898908739045, -4.141320291329199, 28.008773905250884, 3705) + femmesh.addNode(-3.17459768098467, -3.8628913476678006, 35.99518793018832, 3706) + femmesh.addNode(-2.032241126422863, 4.5683690748532495, 39.21047925569286, 3707) + femmesh.addNode(-2.1463822507017447, 4.515865723631794, 40.08612448074564, 3708) + femmesh.addNode(-2.9023807773836996, 4.0713862286785805, 40.20905566089955, 3709) + femmesh.addNode(-2.735267733290887, 4.185488075149388, 38.778182324727794, 3710) + femmesh.addNode(-3.364462445520166, 3.698701454927724, 39.39815584935821, 3711) + femmesh.addNode(-2.8931035919608417, -4.07798376727805, 39.603335484805825, 3712) + femmesh.addNode(-2.1540795059630757, -4.512199184653739, 39.63614790926006, 3713) + femmesh.addNode(-3.234450216239813, -3.8129164426546547, 38.734106106496824, 3714) + femmesh.addNode(-3.615867087234367, -3.4533324785568005, 19.947501298425895, 3715) + femmesh.addNode(-3.5814143661190005, -3.489050177076339, 18.952053084365595, 3716) + femmesh.addNode(-3.843376313597825, -3.198196134084837, 12.390051242507376, 3717) + femmesh.addNode(-4.420472302533694, -2.3365411664536246, 12.412775126075976, 3718) + femmesh.addNode(-3.9817838228531826, 3.0241358415363377, 38.269371839797536, 3719) + femmesh.addNode(-4.41360187069238, 2.349493248983857, 37.772489163969645, 3720) + femmesh.addNode(-4.370956425805526, 2.427908549288747, 12.951703326281338, 3721) + femmesh.addNode(-3.8111249216064484, 3.2365609575458705, 13.293246844100652, 3722) + femmesh.addNode(-1.85894157411091, -4.641587683545583, 38.94515614127053, 3723) + femmesh.addNode(-3.4510540284266793, 3.618041748360567, 36.798261056024565, 3724) + femmesh.addNode(-3.4517612400883397, 3.61736704543841, 37.64939831516712, 3725) + femmesh.addNode(-3.549361466562245, 3.5216520526143844, 15.177200364007954, 3726) + femmesh.addNode(-3.4918184703211406, 3.578715379898788, 16.144530565589253, 3727) + femmesh.addNode(-2.012408916358769, -4.5771399752858475, 38.17215640053659, 3728) + femmesh.addNode(-2.7791059563231855, -4.156509362858333, 37.91263229968915, 3729) + femmesh.addNode(-3.4522909947088154, -3.616861469264812, 37.82267435229629, 3730) + femmesh.addNode(-4.103396849293705, -2.8569449237264797, 37.61774774738315, 3731) + femmesh.addNode(-3.7512836469516584, -3.305733050340433, 36.796273940575475, 3732) + femmesh.addNode(-4.5233233567782225, -2.1306209916417784, 37.66563947011028, 3733) + femmesh.addNode(-3.4178583126789923, -3.6494170156959473, 28.70955228608594, 3734) + femmesh.addNode(-3.527902761866311, -3.5431486142717827, 27.576011355320716, 3735) + femmesh.addNode(-3.4328480757590665, 3.6353203557262015, 17.0575396804418, 3736) + femmesh.addNode(-3.3898056508715113, 3.675488763323807, 17.986109194579754, 3737) + femmesh.addNode(-3.9699773477956857, 3.0396183737418636, 16.611838019977217, 3738) + femmesh.addNode(-3.880258774939771, -3.1533461337923097, 35.790261325275175, 3739) + femmesh.addNode(-3.407228748215511, 3.659343145611486, 18.87001261526975, 3740) + femmesh.addNode(-3.41096429980921, 3.655861395817279, 19.767058530973046, 3741) + femmesh.addNode(-3.9344586991035864, 3.085455354570556, 18.40875055551976, 3742) + femmesh.addNode(-3.420377330193892, 3.64705619905914, 20.66459029788764, 3743) + femmesh.addNode(-3.4479273365493306, 3.6210215522523255, 21.561417013371205, 3744) + femmesh.addNode(-3.9569650759590003, 3.056538464937221, 20.190185743124353, 3745) + femmesh.addNode(-3.456110125521812, 3.613212255080734, 22.45380295619696, 3746) + femmesh.addNode(-3.4330690710875382, 3.6351116562138976, 23.351060117333184, 3747) + femmesh.addNode(-3.9717126830471723, 3.0373505499566944, 21.980103452864693, 3748) + femmesh.addNode(-3.426446672154353, 3.6413545835145413, 24.247392846978155, 3749) + femmesh.addNode(-3.4156575151199697, 3.6514769257664046, 25.141095171084068, 3750) + femmesh.addNode(-3.9730548534434456, 3.035594691576838, 23.76882212533541, 3751) + femmesh.addNode(-3.3958127061191496, 3.6699395178885084, 26.039069115003606, 3752) + femmesh.addNode(-3.412843196370008, 3.6541074583256234, 26.913654497565332, 3753) + femmesh.addNode(-3.950969411280756, 3.0642846981185996, 25.563128798899925, 3754) + femmesh.addNode(-3.3995255582023693, 3.6665005085406537, 27.803036056563194, 3755) + femmesh.addNode(-3.3947605962931275, 3.6709127603166394, 28.712166321746928, 3756) + femmesh.addNode(-3.9230470486129287, 3.0999519116220804, 27.35048430181732, 3757) + femmesh.addNode(-3.4056591061861448, 3.660804017214168, 29.61271222306199, 3758) + femmesh.addNode(-3.3901488689797246, 3.6751721927217904, 30.51392398275899, 3759) + femmesh.addNode(-3.9209834142708475, 3.102561693989811, 29.140411762130242, 3760) + femmesh.addNode(-3.4159834472258273, 3.6511720157066216, 31.415208527051355, 3761) + femmesh.addNode(-3.4512817400334077, 3.617824532908136, 32.31044101971342, 3762) + femmesh.addNode(-3.9518904554567893, 3.0630967709279986, 30.94224220773767, 3763) + femmesh.addNode(-3.473857759552516, 3.596152425356408, 33.20802621972838, 3764) + femmesh.addNode(-3.4820504697677364, 3.5882202449111573, 34.10061049488305, 3765) + femmesh.addNode(-3.992313335506275, 3.010221624920457, 32.741111952045, 3766) + femmesh.addNode(-4.845218918644483, 1.2344446647823395, 11.773134924629915, 3767) + femmesh.addNode(-3.4208292290087883, 3.6466323349028675, 38.64264364926707, 3768) + femmesh.addNode(-3.489568436813848, 3.580909399132091, 34.997021918440566, 3769) + femmesh.addNode(-3.4608587872957957, 3.608664081678631, 35.87595780276327, 3770) + femmesh.addNode(-4.015492930785543, 2.9792308609457123, 36.353823252436285, 3771) + femmesh.addNode(-4.017327857332212, 2.9767561013127324, 34.53510857561747, 3772) + femmesh.addNode(-3.575531249934399, -3.4950788661691963, 26.4313140143908, 3773) + femmesh.addNode(-3.632647763236782, -3.435676094781172, 25.339545504941096, 3774) + femmesh.addNode(-3.151922992874026, -3.8814148769478436, 30.98945791986746, 3775) + femmesh.addNode(-3.315267374297063, -3.7428601679626583, 29.857809807291957, 3776) + femmesh.addNode(-3.9577424524828397, -3.05553181620076, 29.425047257361797, 3777) + femmesh.addNode(-3.7378171582617803, -3.3209521061592904, 31.6895589861535, 3778) + femmesh.addNode(-3.687337026729269, 3.3769136280502288, 14.2799887849304, 3779) + femmesh.addNode(-4.134851957835864, 2.8112273630535336, 14.801617326047117, 3780) + femmesh.addNode(-3.6848608498853825, -3.3796154392152338, 20.984326943418402, 3781) + femmesh.addNode(-4.156001270835233, -2.779865722803158, 20.4644835046061, 3782) + femmesh.addNode(-3.711775057549886, -3.3500337195542587, 22.03100475479377, 3783) + femmesh.addNode(-2.1389283092654554, -4.519401031975677, 15.245275744058278, 3784) + femmesh.addNode(-2.07974058868231, -4.546941728655356, 14.40485681807767, 3785) + femmesh.addNode(-4.800805943332619, -1.3972338009303256, 12.201561167775102, 3786) + femmesh.addNode(-4.986107587571295, -0.3724662738610838, 12.257432115596528, 3787) + femmesh.addNode(-4.616648898096526, -1.9200398307598034, 13.178809245827212, 3788) + femmesh.addNode(-4.431659484535177, 2.315252516061565, 36.79548938972588, 3789) + femmesh.addNode(-4.730895929319797, 1.618216211124265, 37.291852047997935, 3790) + femmesh.addNode(-3.998790146892168, -3.0016124601817133, 34.6148884513573, 3791) + femmesh.addNode(-4.109015146243386, -2.848858460496493, 33.523207390782886, 3792) + femmesh.addNode(-2.2093914966459023, -4.485375036108885, 17.088392087243292, 3793) + femmesh.addNode(-2.1660449798115673, -4.506467479682185, 16.175204754534395, 3794) + femmesh.addNode(-2.8426221142862467, -4.113331923802258, 15.657694843482581, 3795) + femmesh.addNode(-2.9185321898909677, -4.059823870141441, 17.53203608153815, 3796) + femmesh.addNode(-2.706464044028526, -4.2041708312556425, 13.798766108957684, 3797) + femmesh.addNode(-3.5282853264761735, -3.542767654669569, 18.007034998946583, 3798) + femmesh.addNode(-3.48348847550344, -3.5868242277862903, 17.062622771367135, 3799) + femmesh.addNode(-3.442581987371443, -3.626103867820899, 13.129894794518496, 3800) + femmesh.addNode(-4.427195542992502, -2.323777016864425, 35.415974461744455, 3801) + femmesh.addNode(-4.080491918011998, -2.889564968475144, 27.132092395225857, 3802) + femmesh.addNode(-4.188234843327451, -2.7310600317711593, 24.867512309740874, 3803) + femmesh.addNode(-3.716725732070006, -3.344540302129529, 24.21966276038603, 3804) + femmesh.addNode(-4.893318533880879, 1.0273430420156109, 37.74285618649321, 3805) + femmesh.addNode(-4.996702410006474, 0.18156273250724836, 37.98739568234417, 3806) + femmesh.addNode(-4.90112561995152, 0.9894279445491867, 36.76585641224945, 3807) + femmesh.addNode(-3.7389606922435203, -3.319664582733903, 23.154164962587373, 3808) + femmesh.addNode(-4.972824016292105, 0.5205970639452979, 12.464787893173192, 3809) + femmesh.addNode(-4.758923483333516, 1.5338341761014462, 12.690653874136391, 3810) + femmesh.addNode(-4.676184924577766, 1.770111451618694, 13.643356294824615, 3811) + femmesh.addNode(-4.999625669035711, -0.06118144750838151, 13.174951065103002, 3812) + femmesh.addNode(-4.055290116386836, -2.9248285542806176, 18.48263977419458, 3813) + femmesh.addNode(-4.80693526263324, -1.3759990482747804, 38.035832756242684, 3814) + femmesh.addNode(-4.678668700064408, -1.7635359919881475, 36.961540621794725, 3815) + femmesh.addNode(-4.484475716626086, -2.211216304885379, 18.910281410155363, 3816) + femmesh.addNode(-4.4505518750617075, -2.278725083766078, 17.96526332473635, 3817) + femmesh.addNode(-4.437925548028932, 2.303218797715949, 35.87318613646458, 3818) + femmesh.addNode(-4.233118407894094, -2.660960079510434, 22.624469357392208, 3819) + femmesh.addNode(-4.595535538820853, -1.9700388603869046, 33.157378753599325, 3820) + femmesh.addNode(-4.219274970554397, -2.682856448424549, 32.43998455655562, 3821) + femmesh.addNode(-3.50488851412714, -3.565915941737781, 16.065417338732082, 3822) + femmesh.addNode(-3.4833990748809573, -3.5869110506281716, 15.135488328255963, 3823) + femmesh.addNode(-4.028426556603123, -2.9617190072751165, 16.540416256140517, 3824) + femmesh.addNode(-3.5382613733339485, -3.532804332817338, 14.058894518567275, 3825) + femmesh.addNode(-4.544890416819217, -2.084219541964052, 25.54354703741972, 3826) + femmesh.addNode(-4.595175594982164, -1.970878294385605, 24.423664292864657, 3827) + femmesh.addNode(-4.0908651131302705, -2.8748604533391973, 14.466617013816773, 3828) + femmesh.addNode(-4.764505521089629, -1.5164059942859776, 36.08699577425095, 3829) + femmesh.addNode(-4.819356686830623, -1.331841253716435, 34.911622900333086, 3830) + femmesh.addNode(-4.843920181580979, -1.2395310703941615, 33.8443169991086, 3831) + femmesh.addNode(-4.985833649304424, -0.3761154363539637, 34.515338311615096, 3832) + femmesh.addNode(-4.363521663171544, 2.441245316438445, 17.92120013704956, 3833) + femmesh.addNode(-4.375070182530768, 2.4204877396777267, 18.805103557739557, 3834) + femmesh.addNode(-4.373010394823225, 2.4242071047598275, 19.717138340667866, 3835) + femmesh.addNode(-4.37924517427253, 2.4129259631432456, 20.614670107582455, 3836) + femmesh.addNode(-4.69476229335335, 1.7202345796162775, 19.229587922197666, 3837) + femmesh.addNode(-4.413169181061645, 2.350305890586945, 21.51374451337506, 3838) + femmesh.addNode(-4.41847483913877, 2.3403162384382203, 22.406130456200806, 3839) + femmesh.addNode(-4.71738056073352, 1.657202656651713, 21.040697110918572, 3840) + femmesh.addNode(-4.413310048337444, 2.350041365006953, 23.272989013580666, 3841) + femmesh.addNode(-4.409025139269589, 2.3580706777551805, 24.169321743225638, 3842) + femmesh.addNode(-4.736993398479009, 1.6002792077529144, 22.806630074091032, 3843) + femmesh.addNode(-4.378621415656853, 2.4140576833106495, 25.119929657267527, 3844) + femmesh.addNode(-4.365470494699567, 2.437758675486054, 26.01790360118707, 3845) + femmesh.addNode(-4.712550225796983, 1.6708890954640887, 24.62409654551278, 3846) + femmesh.addNode(-4.3658518431865625, 2.4370756416952872, 26.89427724455891, 3847) + femmesh.addNode(-4.3569559270769895, 2.4529441594762593, 27.78365880355677, 3848) + femmesh.addNode(-4.691148453454018, 1.7300653709198308, 26.451078102926516, 3849) + femmesh.addNode(-4.35017805635591, 2.4649443965330167, 28.640713112001023, 3850) + femmesh.addNode(-4.357487036616928, 2.4520005558146645, 29.541259013316086, 3851) + femmesh.addNode(-4.686634507041305, 1.7422562949835199, 28.184506054742613, 3852) + femmesh.addNode(-4.372091387695433, 2.4258641548197666, 30.4529730218333, 3853) + femmesh.addNode(-4.389090891514207, 2.3949699676670324, 31.354257566125668, 3854) + femmesh.addNode(-4.692240264301582, 1.727101995270405, 29.953274371704083, 3855) + femmesh.addNode(-4.435688757313226, 2.307523618133744, 32.267311621261385, 3856) + femmesh.addNode(-4.450044446099552, 2.2797158655715255, 33.16489682127634, 3857) + femmesh.addNode(-4.735242131450463, 1.6054538163822936, 31.778042435357015, 3858) + femmesh.addNode(-4.58672990589799, 1.9904544130275934, 14.55962341551737, 3859) + femmesh.addNode(-4.503472973865059, 2.172264066283609, 15.456834994594924, 3860) + femmesh.addNode(-4.885733248934024, 1.062831416669923, 14.298573963372423, 3861) + femmesh.addNode(-4.326192689042702, -2.5068021097153794, 31.32373034896994, 3862) + femmesh.addNode(-4.4825911184035565, 2.215034280820402, 34.95263448120161, 3863) + femmesh.addNode(-4.773621325151466, 1.4874607369806987, 35.3943006184912, 3864) + femmesh.addNode(-4.413207033241498, -2.350234814172357, 17.08258678384937, 3865) + femmesh.addNode(-4.42719107481301, -2.323785529496221, 16.085381351214316, 3866) + femmesh.addNode(-4.556753360979732, -2.0581542233758663, 20.902807247621496, 3867) + femmesh.addNode(-4.514265273609542, -2.149746273280399, 19.86598160262899, 3868) + femmesh.addNode(-4.784477417543468, 1.452162470599134, 33.58242272686048, 3869) + femmesh.addNode(-4.477935636647804, 2.224430811250291, 34.0562230576441, 3870) + femmesh.addNode(-4.517548738735108, -2.142837696409327, 26.63800061463461, 3871) + femmesh.addNode(-4.818531458297382, -1.334823803128526, 26.194152597758396, 3872) + femmesh.addNode(-4.4881346798132675, -2.203780183198283, 27.78269795556453, 3873) + femmesh.addNode(-4.5929186151108095, -1.976132231144618, 15.199445028350405, 3874) + femmesh.addNode(-4.622826319166974, -1.9051185849749972, 14.122851218661719, 3875) + femmesh.addNode(-4.912014386749767, -0.9338707963970728, 13.911637260360845, 3876) + femmesh.addNode(-4.8297661067804665, -1.2935839183426232, 15.741615556059259, 3877) + femmesh.addNode(-4.4926902611505595, -2.1944781195908334, 28.99640723120286, 3878) + femmesh.addNode(-4.80374476937799, -1.387096316292997, 28.50231545061161, 3879) + femmesh.addNode(-4.4300612401773805, -2.3183091701233574, 30.14466475240888, 3880) + femmesh.addNode(-4.787185985470704, -1.4432083496546442, 19.34860515317076, 3881) + femmesh.addNode(-4.358649236660496, 2.4499340464099997, 16.218767644777664, 3882) + femmesh.addNode(-4.318015986465505, 2.5208605555699295, 17.13177675963021, 3883) + femmesh.addNode(-4.719019286595212, -1.6525304755865833, 23.27603561163656, 3884) + femmesh.addNode(-4.70539131129674, -1.6909442946392819, 22.152875403842955, 3885) + femmesh.addNode(-4.742064584972143, -1.5851887811718144, 17.510228419810147, 3886) + femmesh.addNode(-4.977950826611335, 0.46904751128166955, 35.02819658803391, 3887) + femmesh.addNode(-4.967705272492488, 0.5673661301578874, 35.948748243296876, 3888) + femmesh.addNode(-4.974271447511082, -0.5065802665678952, 38.044832360935374, 3889) + femmesh.addNode(-4.910986671246919, -0.9392603019584645, 23.952070339315405, 3890) + femmesh.addNode(-4.663958095094448, 1.8020807105129792, 17.528129761850007, 3891) + femmesh.addNode(-4.7391935053131435, 1.5937518373943043, 15.976773734247917, 3892) + femmesh.addNode(-4.900437179311768, -0.9928320359551852, 21.554373501865847, 3893) + femmesh.addNode(-4.946945022819914, 0.7264536745018744, 16.13011718158335, 3894) + femmesh.addNode(-4.891763467133482, 1.0347222726984342, 16.892049831766087, 3895) + femmesh.addNode(-4.9099172666907585, 0.9448346068238362, 17.68147320918544, 3896) + femmesh.addNode(-4.963848532120395, -0.6001731001687773, 26.83967070787375, 3897) + femmesh.addNode(-4.971197010260783, -0.5359107063441159, 25.74521713065886, 3898) + femmesh.addNode(-4.999797199427282, -0.04503292794289509, 14.118993037937509, 3899) + femmesh.addNode(-4.910355939817767, 0.942552144072875, 18.719654178251325, 3900) + femmesh.addNode(-4.909552687081024, 0.9467272113843037, 19.63168896117963, 3901) + femmesh.addNode(-4.742892114515182, -1.5827110886291609, 30.895090322811, 3902) + femmesh.addNode(-4.9973277270399805, -0.1634490396344322, 21.852497446179427, 3903) + femmesh.addNode(-4.9687025117526655, -0.5585654390514682, 20.602429289957968, 3904) + femmesh.addNode(-4.896661159830258, 1.0112909995692585, 20.521087969698762, 3905) + femmesh.addNode(-4.910568644391248, 0.9414433539632105, 21.420162375491362, 3906) + femmesh.addNode(-4.904806599849966, 0.9710160750822926, 24.166656792682716, 3907) + femmesh.addNode(-4.892036048814033, 1.0334327733839208, 25.117264706724605, 3908) + femmesh.addNode(-4.902307951569567, 0.9835531241258892, 25.982719850164443, 3909) + femmesh.addNode(-4.902461774334736, 0.9827861167042964, 26.859093493536285, 3910) + femmesh.addNode(-4.905125410125417, 0.9694043072639797, 27.78979544683793, 3911) + femmesh.addNode(-4.902434700592141, 0.9829211598241447, 28.646849755282183, 3912) + femmesh.addNode(-4.9445494996528145, 0.7425834939473829, 32.09583452276681, 3913) + femmesh.addNode(-4.996283349994827, 0.19275032182715168, 15.035260158630264, 3914) + femmesh.addNode(-4.960916923625037, -0.6239417255567239, 19.71303028143884, 3915) + femmesh.addNode(-4.951930129525345, -0.6916559782862441, 18.75733008896521, 3916) + femmesh.addNode(-4.985030419097224, -0.3866157274030084, 15.950536256148435, 3917) + femmesh.addNode(-4.962192259335746, -0.6137165317867878, 27.77037266117539, 3918) + femmesh.addNode(-4.9930546330753955, 0.2634491053777341, 25.525280097334377, 3919) + femmesh.addNode(-4.997841907991324, 0.14688860652087518, 18.083574248167405, 3920) + femmesh.addNode(-4.889466559375679, -1.0455222449794928, 32.761094164881335, 3921) + femmesh.addNode(-4.976397477766932, -0.4852505984281871, 24.879761987219023, 3922) + femmesh.addNode(-4.996040412064312, 0.19894773439337365, 27.321437194075855, 3923) + femmesh.addNode(-4.9404842822349995, -0.7691651688609662, 16.836472579012344, 3924) + femmesh.addNode(-4.995572817976366, 0.2103621170640535, 20.01115422575242, 3925) + femmesh.addNode(-4.997350143512175, -0.16276222884575947, 32.47430248271575, 3926) + femmesh.addNode(-4.9128060805323965, -0.9296969479803135, 31.787364237206475, 3927) + femmesh.addNode(-4.960715490682371, 0.6255412220661115, 33.06956445044167, 3928) + femmesh.addNode(-4.968081893788034, 0.5640587705332643, 33.96089068680942, 3929) + femmesh.addNode(-4.974281100100531, 0.5064854757864737, 22.372106587399237, 3930) + femmesh.addNode(-4.973153604783022, 0.517439100990288, 23.238965144779097, 3931) + femmesh.addNode(-4.8794533863134415, 1.0912995238678929, 29.45443336930082, 3932) + femmesh.addNode(-4.952251108768838, -0.6893540133326365, 17.719149119899328, 3933) + femmesh.addNode(-4.997916141221955, -0.14434072645321122, 23.73213330599092, 3934) + femmesh.addNode(2.9783634860619257, 3.359813526041671, 47.68210237174975, 3935) + femmesh.addNode(2.477318363917041, 3.7353046231382594, 48.415382110441115, 3936) + femmesh.addNode(3.1834788225985458, 3.1112023982196773, 48.49829800563652, 3937) + femmesh.addNode(4.3732925026430545, -0.7858006724979736, 37.954124817065896, 3938) + femmesh.addNode(4.3732925026430545, -0.7858006724979736, 38.829124817065896, 3939) + femmesh.addNode(4.21724590601934, -1.560291373653911, 38.37586584157704, 3940) + femmesh.addNode(2.8327047444407043, -3.481770996737642, 34.33422456391371, 3941) + femmesh.addNode(2.162015677644642, -3.9052431336776356, 33.90952713493335, 3942) + femmesh.addNode(2.1405593988941116, -3.9132664572655735, 34.788683428455386, 3943) + femmesh.addNode(1.5943385584829999, -4.208034459147276, 16.44756743367366, 3944) + femmesh.addNode(1.5542729732914684, -4.222616962346587, 17.331152698465612, 3945) + femmesh.addNode(2.2435367484133013, -3.8477637644196756, 16.900683251940222, 3946) + femmesh.addNode(4.5, -1.102182119232618e-15, 44.6, 3947) + femmesh.addNode(4.382821097421747, 0.7564149771665171, 44.96804374614544, 3948) + femmesh.addNode(4.5, -1.102182119232618e-15, 45.45, 3949) + femmesh.addNode(2.2536392828069856, 3.8459026769665137, 13.433884927978543, 3950) + femmesh.addNode(1.6015944428520117, 4.205046664433678, 13.884649219784004, 3951) + femmesh.addNode(1.5213771333235901, 4.23315346864681, 13.005554227876221, 3952) + femmesh.addNode(4.213331348054394, 1.5621644558066232, 44.5410632194714, 3953) + femmesh.addNode(4.330510250632647, 0.805749478640105, 44.173019473325965, 3954) + femmesh.addNode(4.210210508174029, 1.5719261451195023, 43.691210593371814, 3955) + femmesh.addNode(4.5, -1.102182119232618e-15, 46.275000000000006, 3956) + femmesh.addNode(4.378190066109169, -0.7708514833997977, 46.794545964328606, 3957) + femmesh.addNode(4.5, -1.102182119232618e-15, 47.3, 3958) + femmesh.addNode(2.179006751981373, -3.894125976149778, 21.40080470852716, 3959) + femmesh.addNode(2.1825198668152472, -3.8915818236627806, 20.495462506240358, 3960) + femmesh.addNode(2.864671574664265, -3.4542779235288266, 21.841920169909866, 3961) + femmesh.addNode(2.8681846894981393, -3.451733771041829, 20.93657796762306, 3962) + femmesh.addNode(-0.7746949806053056, -4.409128531919851, 27.301018793951325, 3963) + femmesh.addNode(0.12377402991920741, -4.48449868990491, 27.660380558853284, 3964) + femmesh.addNode(-0.0675690807224722, -4.495854830233944, 26.625474524086023, 3965) + femmesh.addNode(0.13156545979460527, -4.484951380587031, 28.56083665246074, 3966) + femmesh.addNode(-0.7669035507299078, -4.4095812226019735, 28.20147488755878, 3967) + femmesh.addNode(-0.5723918641491519, 4.4509382572980005, 46.04863249289957, 3968) + femmesh.addNode(-1.0417185016211208, 4.376811020562863, 46.79730961562355, 3969) + femmesh.addNode(-0.14052210175983182, 4.440125587555686, 46.80464204144534, 3970) + femmesh.addNode(-4.4498109480804295, -0.3289302462804232, 26.014611000996013, 3971) + femmesh.addNode(-4.427759178055201, 0.6307174327478938, 26.44383085215804, 3972) + femmesh.addNode(-4.451323891618406, -0.32208790482278915, 26.93598569152177, 3973) + femmesh.addNode(0.8350126654376144, 4.359274898921022, 16.897481808420704, 3974) + femmesh.addNode(1.5906838626094795, 4.209148651607039, 17.374163473057486, 3975) + femmesh.addNode(1.5949878744841661, 4.2075691025929585, 16.49403690298397, 3976) + femmesh.addNode(-4.359524292530523, 1.1153087706529385, 39.76364313987034, 3977) + femmesh.addNode(-3.918602888874123, 2.012535006411322, 39.277754099841886, 3978) + femmesh.addNode(-4.299773423628981, 1.3109640188107496, 38.780871424013995, 3979) + femmesh.addNode(4.224329805531898, 1.5367006158620402, 45.40312773590556, 3980) + femmesh.addNode(4.341508708110152, 0.780285638695522, 45.885083989760126, 3981) + femmesh.addNode(4.195621568293739, 1.6218036964448803, 46.249777781459656, 3982) + femmesh.addNode(2.2547501547843907, 3.843783605412894, 16.944325529918757, 3983) + femmesh.addNode(-4.4283020793139425, 0.6170839192187906, 27.37453280545968, 3984) + femmesh.addNode(-4.451866792877148, -0.33572141835189245, 27.866687644823408, 3985) + femmesh.addNode(-4.354014958012994, -1.126900394924269, 27.384921158621303, 3986) + femmesh.addNode(4.379217335888903, -0.7676749758886978, 39.684032902432506, 3987) + femmesh.addNode(4.223170739265187, -1.5421656770446353, 39.23077392694364, 3988) + femmesh.addNode(-2.976637144689339, 3.301517413320262, 37.470500630339224, 3989) + femmesh.addNode(-2.9870874932830223, 3.2879998950596803, 38.38284437335661, 3990) + femmesh.addNode(-2.3398093323861744, 3.836724668120766, 38.04342933176791, 3991) + femmesh.addNode(-1.7033832525408792, -4.145703152811556, 25.716247312741274, 3992) + femmesh.addNode(-1.700524221854689, -4.147224777545322, 24.808175488648935, 3993) + femmesh.addNode(-0.8838704196657081, -4.377243449089203, 25.299985774726238, 3994) + femmesh.addNode(4.219598732473137, 1.5460813786046799, 41.93048487779909, 3995) + femmesh.addNode(4.214491062061996, 1.562130624724845, 42.78670409689687, 3996) + femmesh.addNode(4.384807927952522, 0.7501274203592312, 42.33697190094807, 3997) + femmesh.addNode(4.379700257541382, 0.7661766664793962, 43.19319112004585, 3998) + femmesh.addNode(4.229509009637099, 1.5208729078998788, 37.43127145223514, 3999) + femmesh.addNode(4.233686108145168, 1.5109116173877597, 38.3384968169507, 4000) + femmesh.addNode(4.387201199820641, 0.742475879456625, 37.90357855003975, 4001) + femmesh.addNode(-1.8480569792039665, 4.102560702140723, 11.770542956142965, 4002) + femmesh.addNode(-2.4373392920033368, 3.681530257003602, 11.357284824929177, 4003) + femmesh.addNode(-2.4969010598045434, 3.6907915701769465, 12.280432032101094, 4004) + femmesh.addNode(-3.086183372603913, 3.269761125039825, 11.867173900887309, 4005) + femmesh.addNode(1.4818262851447013, 4.248975907391675, 39.688024430345095, 4006) + femmesh.addNode(1.4387879388838352, 4.263737245946486, 40.57009040674875, 4007) + femmesh.addNode(0.6938554069930465, 4.391281911003969, 40.12451924310682, 4008) + femmesh.addNode(-4.4911294739732535, 0.2756664873553909, 8.896170237393587, 4009) + femmesh.addNode(-4.188718393627933, 1.296338684998369, 8.991843846772744, 4010) + femmesh.addNode(-4.396337581810038, 0.7973499141769285, 9.793086429179485, 4011) + femmesh.addNode(1.418911193397188, -4.267012265706782, 33.42939452789294, 4012) + femmesh.addNode(1.3974549146466577, -4.27503558929472, 34.30855082141497, 4013) + femmesh.addNode(-0.8492807908915737, -4.38240099173435, 17.69933388837429, 4014) + femmesh.addNode(-1.6669151772616004, -4.162266368897405, 17.194717952264455, 4015) + femmesh.addNode(-0.8484375017904314, -4.3824427560259345, 16.80595581340364, 4016) + femmesh.addNode(4.5, -1.102182119232618e-15, 16.025, 4017) + femmesh.addNode(4.389960743327161, 0.7335445762563342, 16.44691800795729, 4018) + femmesh.addNode(4.5, -1.102182119232618e-15, 16.85, 4019) + femmesh.addNode(-2.6987683641415856, 3.590755083645939, 3.123242892177359, 4020) + femmesh.addNode(-3.0024328362994765, 3.2628843098091718, 3.862776746369358, 4021) + femmesh.addNode(-2.3474320694844972, 3.8335886287254417, 3.79062704237242, 4022) + femmesh.addNode(2.2145620494216036, 3.842715565117266, 44.82143357430893, 4023) + femmesh.addNode(2.010034236978008, 3.990033004916114, 43.92989495010396, 4024) + femmesh.addNode(1.4231244702189034, 4.268819581872288, 44.736940674053265, 4025) + femmesh.addNode(-3.6018584950538246, -2.6967310189773555, 27.478765188662752, 4026) + femmesh.addNode(-3.602267266548835, -2.696202924891282, 28.372239158199385, 4027) + femmesh.addNode(-3.974090423148965, -1.9006402141836054, 27.87901293921255, 4028) + femmesh.addNode(-4.47176138934116, -0.2230705570263673, 42.10877870115169, 4029) + femmesh.addNode(-4.447074672531013, -0.6872086925251868, 41.27070349718035, 4030) + femmesh.addNode(-4.343084215923462, -1.120607391866574, 42.090899522779054, 4031) + femmesh.addNode(3.766846118823044, -2.3766418428585245, 30.591965581023143, 4032) + femmesh.addNode(4.205144794888454, -1.593867810151123, 31.19521663852528, 4033) + femmesh.addNode(3.834144715796107, -2.291545487747477, 31.643903743067124, 4034) + femmesh.addNode(-4.4405919354918035, 0.5539598216444545, 17.143210522287234, 4035) + femmesh.addNode(-4.289817070810867, 1.3374748475902662, 17.77929045237115, 4036) + femmesh.addNode(-4.440660216230586, 0.5516365894627522, 18.181391491353118, 4037) + femmesh.addNode(-3.588443659971931, -2.715058685706191, 18.46121363975106, 4038) + femmesh.addNode(-3.6326383378400515, -2.6537825332653275, 19.406231725170073, 4039) + femmesh.addNode(-3.966639013577513, -1.976409670026039, 18.88885527571184, 4040) + femmesh.addNode(-3.5945920411282932, -2.707052767406606, 17.517863901392253, 4041) + femmesh.addNode(-3.972787394733875, -1.9684037517264539, 17.945505537353036, 4042) + femmesh.addNode(2.9308938023136646, 3.4053694020391063, 15.616362431328607, 4043) + femmesh.addNode(2.93209767318113, 3.404193526071082, 14.73613153054476, 4044) + femmesh.addNode(2.2567839632469733, 3.838864466469533, 15.184348332313906, 4045) + femmesh.addNode(2.2753113996474648, -3.7767170011439717, 14.236926860472343, 4046) + femmesh.addNode(2.917010950043213, -3.417705216809602, 13.79897108194138, 4047) + femmesh.addNode(1.6084670686261624, -4.202689676394305, 13.786895464602733, 4048) + femmesh.addNode(2.2501666190219103, -3.843677892059935, 13.34893968607177, 4049) + femmesh.addNode(2.776031811511964, 3.5139933221414923, 7.607566818055401, 4050) + femmesh.addNode(2.1102991742868715, 3.948791642702811, 8.116292762192792, 4051) + femmesh.addNode(2.7852999743063425, 3.5047889660003007, 8.499568098355478, 4052) + femmesh.addNode(2.7290998046578716, 3.5547684251588176, 44.34015372358503, 4053) + femmesh.addNode(3.401678602175246, 2.914831611349703, 44.64876780458137, 4054) + femmesh.addNode(2.7133338602448296, 3.5694749377869366, 43.414935776934044, 4055) + femmesh.addNode(3.385912657762204, 2.9295381239778218, 43.72354985793038, 4056) + femmesh.addNode(0.058446110258028997, -4.494202213921731, 13.750560454606315, 4057) + femmesh.addNode(0.07710255941853901, -4.4948965737765665, 12.850194140508833, 4058) + femmesh.addNode(-0.6287154407072069, -4.438118526209203, 13.406154085186026, 4059) + femmesh.addNode(-0.6100589915466968, -4.438812886064039, 12.505787771088546, 4060) + femmesh.addNode(-2.913548446094011, -3.382786644990314, 14.346358118753482, 4061) + femmesh.addNode(-2.9805858855419265, -3.3020563874133657, 15.21246291167154, 4062) + femmesh.addNode(-3.5276589389918644, -2.786398306210495, 14.754080614002982, 4063) + femmesh.addNode(-3.59469637843978, -2.7056680486335463, 15.620185406921038, 4064) + femmesh.addNode(-2.4016443936253222, -3.788810765617741, 17.638361946559314, 4065) + femmesh.addNode(-1.675900347725127, -4.157601951272152, 18.11930552862324, 4066) + femmesh.addNode(-2.4106295640888487, -3.784146347992489, 18.562949522918096, 4067) + femmesh.addNode(-1.2322056030882202, -4.325671423653647, 46.81632439232051, 4068) + femmesh.addNode(-1.9940663460992967, -3.9520767146860143, 46.78412495534715, 4069) + femmesh.addNode(-1.6278096570876395, -4.182365073620214, 45.97540092265733, 4070) + femmesh.addNode(-4.451084103764487, -0.360048763287013, 17.666640371175895, 4071) + femmesh.addNode(-4.335709146395151, -1.1888910554995533, 18.3403962119737, 4072) + femmesh.addNode(-4.310133305263573, -1.265400738069518, 17.45771967108672, 4073) + femmesh.addNode(-2.3113110538099297, 3.8475279077329496, 33.47412986223708, 4074) + femmesh.addNode(-2.3206742852970743, 3.8410187054545775, 34.36671413739174, 4075) + femmesh.addNode(-1.579267661086623, 4.194379533234686, 33.93493550635134, 4076) + femmesh.addNode(-3.361130205686843, -2.987995362859577, 41.44601295971128, 4077) + femmesh.addNode(-2.917211746256327, -3.33515912164661, 41.97688640406148, 4078) + femmesh.addNode(-3.5685834133425676, -2.733299213541505, 42.124586454543625, 4079) + femmesh.addNode(-4.430607687043027, 0.6938890433447966, 30.03541668863543, 4080) + femmesh.addNode(-4.442311433653519, -0.23858349488455563, 30.5333582148633, 4081) + femmesh.addNode(-4.438783380200756, 0.4683281195511445, 30.85204977844849, 4082) + femmesh.addNode(-4.4504871268112485, -0.46414441867820777, 31.349991304676358, 4083) + femmesh.addNode(4.2322773385713415, -1.5255774882958966, 1.9433110350519343, 4084) + femmesh.addNode(4.1994947654046495, -1.6167880249829492, 0.7266101280266689, 4085) + femmesh.addNode(3.906536794659061, -2.166836085602545, 1.488172008850165, 4086) + femmesh.addNode(-2.7199815589545455, -3.4826120918062067, 1.5752989828746387, 4087) + femmesh.addNode(-3.446335078965568, -2.8935401077554515, 1.5731193651056667, 4088) + femmesh.addNode(-2.416551028222766, -3.7768522049968594, 2.3106585748492976, 4089) + femmesh.addNode(-3.1429045482337887, -3.187780220946104, 2.3084789570803257, 4090) + femmesh.addNode(4.220499805781257, -1.5496913464139546, 20.498012427929577, 4091) + femmesh.addNode(3.8735691116626088, -2.2351683261880995, 20.02039541529213, 4092) + femmesh.addNode(3.865443815384191, -2.246416753661873, 20.960747657377922, 4093) + femmesh.addNode(3.3755097012888466, -2.954291027691756, 33.866432275342056, 4094) + femmesh.addNode(3.3928325302836626, -2.9311200391344387, 34.76912931862958, 4095) + femmesh.addNode(2.9167977973238095, 3.4159885027505164, 13.85435673630409, 4096) + femmesh.addNode(3.456785084288702, 2.8485220176562738, 14.288847599541322, 4097) + femmesh.addNode(3.424139333282292, -2.8946847561622846, 25.000317966807977, 4098) + femmesh.addNode(3.868547586423226, -2.2428000554789342, 25.43356752662421, 4099) + femmesh.addNode(3.867166474764263, -2.2460603107498835, 24.556861871513036, 4100) + femmesh.addNode(-4.287303981423689, 1.3457016072008807, 20.531768978203658, 4101) + femmesh.addNode(-3.9230707197279036, 2.0067524549912954, 21.004816380660145, 4102) + femmesh.addNode(-4.310908166318798, 1.2785101128298026, 21.430843383996258, 4103) + femmesh.addNode(2.261453599449018, 3.842796202312556, 12.57815948299907, 4104) + femmesh.addNode(2.205369584074853, 3.8844590126380805, 11.661568053084771, 4105) + femmesh.addNode(2.9253141855514504, 3.407613271028719, 12.980096166773546, 4106) + femmesh.addNode(2.8692301701772855, 3.4492760813542436, 12.063504736859247, 4107) + femmesh.addNode(2.2877810254413147, 3.8230230546924657, 25.943177346909003, 4108) + femmesh.addNode(2.9485859259641947, 3.389881407980166, 26.359229698955524, 4109) + femmesh.addNode(2.956527817405635, 3.3819957032795775, 25.45000617507351, 4110) + femmesh.addNode(3.4731636842850975, -2.8243348531053396, 25.908613394700566, 4111) + femmesh.addNode(3.9175719374260316, -2.1724501524219892, 26.3418629545168, 4112) + femmesh.addNode(2.716192915695501, -3.5779508676805976, 5.358193115154134, 4113) + femmesh.addNode(3.1973989564809786, -3.1511940792770594, 4.334599599666301, 4114) + femmesh.addNode(2.3769509053035405, -3.7714321120480316, 4.320292545830157, 4115) + femmesh.addNode(3.892784566568004, 2.1986325801120286, 12.936536798898661, 4116) + femmesh.addNode(4.237922600195766, 1.5019302257203344, 13.399184110674376, 4117) + femmesh.addNode(3.911121424999591, 2.172378724311277, 13.836893580761666, 4118) + femmesh.addNode(-4.399542053749296, 0.7196641055287416, 42.11982900294503, 4119) + femmesh.addNode(-4.344728136200131, 1.1497262433573625, 42.95285713567057, 4120) + femmesh.addNode(-4.497000816985879, 0.16322317202741468, 42.890155967780544, 4121) + femmesh.addNode(-4.442186899436714, 0.5932853098560356, 43.72318410050608, 4122) + femmesh.addNode(-3.1858247806606603, 3.1775005306637025, 10.755613641077318, 4123) + femmesh.addNode(0.317529397947072, 4.461622731125175, 3.9614666939452694, 4124) + femmesh.addNode(0.6869556032980686, 4.444271263764918, 3.1539521771198986, 4125) + femmesh.addNode(1.1698291871439497, 4.336244344791869, 3.956497015217204, 4126) + femmesh.addNode(4.373019822835224, -0.7866237476907761, 24.50850262630768, 4127) + femmesh.addNode(4.2139034937393625, -1.5683828603325818, 24.067715866944567, 4128) + femmesh.addNode(4.384005246470041, -0.7526745543748115, 25.428819724386926, 4129) + femmesh.addNode(4.224888917374178, -1.5344336670166172, 24.988032965023812, 4130) + femmesh.addNode(-0.714537173697559, 4.405257466875627, 31.50872803517847, 4131) + femmesh.addNode(-0.732411966428185, 4.404875130463321, 32.56254806888776, 4132) + femmesh.addNode(0.07077806527279187, 4.497524228852354, 31.980286982110627, 4133) + femmesh.addNode(0.052903272542165834, 4.497141892440048, 33.03410701581991, 4134) + femmesh.addNode(4.387031013379128, -0.7430228402722303, 13.881540875399022, 4135) + femmesh.addNode(4.5, -1.102182119232618e-15, 14.325, 4136) + femmesh.addNode(4.387031013379128, -0.7430228402722303, 12.956540875399021, 4137) + femmesh.addNode(4.5, -1.102182119232618e-15, 13.399999999999999, 4138) + femmesh.addNode(4.3899399949230995, 0.7336121731998289, 21.80368683616282, 4139) + femmesh.addNode(4.3899399949230995, 0.7336121731998289, 22.728686836162822, 4140) + femmesh.addNode(4.5, -1.102182119232618e-15, 22.225, 4141) + femmesh.addNode(4.5, -1.102182119232618e-15, 23.15, 4142) + femmesh.addNode(-3.8990871401681093, -2.102703533891948, 48.405766238936515, 4143) + femmesh.addNode(-3.7067731976806413, -2.5228456942504796, 47.57861255713752, 4144) + femmesh.addNode(-3.4423787227670255, -2.8981268904373487, 48.407812668905535, 4145) + femmesh.addNode(-1.5143618535130055, 4.22306731954095, 27.342133609369768, 4146) + femmesh.addNode(-1.515431326997784, 4.222765641944093, 28.252293223298913, 4147) + femmesh.addNode(-2.241257970981752, 3.884601562929455, 27.776040977153013, 4148) + femmesh.addNode(-3.1584079050191787, -3.181198146360326, 44.43587633650078, 4149) + femmesh.addNode(-3.43841967164518, -2.783417429113185, 43.654939864478834, 4150) + femmesh.addNode(-2.8480448954548043, -3.4840513498863976, 43.63358727071885, 4151) + femmesh.addNode(-2.138073151841296, -3.9343474742645057, 9.689502414641517, 4152) + femmesh.addNode(-2.8226687711536327, -3.4712934126876243, 10.087395101172046, 4153) + femmesh.addNode(-2.698777256809963, -3.5890650711944545, 9.302591478622352, 4154) + femmesh.addNode(-2.9980025515746407, 3.2962173302051756, 16.42217586703712, 4155) + femmesh.addNode(-3.063543516608763, 3.2485584346082703, 15.454845665455819, 4156) + femmesh.addNode(-2.3066587199719955, 3.846690426246255, 15.944678931351188, 4157) + femmesh.addNode(-2.3721996850061178, 3.7990315306493496, 14.97734872976989, 4158) + femmesh.addNode(-3.5702522215788424, 2.7378627936639983, 15.976474206572536, 4159) + femmesh.addNode(-1.5677174765577038, 4.2044833626040425, 13.57550994887296, 4160) + femmesh.addNode(-2.3567243587482887, 3.8064190679752965, 14.116538977086275, 4161) + femmesh.addNode(-1.5831928028155327, 4.197095825278096, 14.436319701556574, 4162) + femmesh.addNode(4.385504124273148, 0.7479104712970658, 12.940784116665363, 4163) + femmesh.addNode(4.5, -1.102182119232618e-15, 12.525, 4164) + femmesh.addNode(-1.570355411342005, 4.196778636248801, 32.01672320923721, 4165) + femmesh.addNode(-2.3119831871182823, 3.847194237463209, 32.46487679652394, 4166) + femmesh.addNode(-1.5799397943949756, 4.194045862964946, 32.9256824406382, 4167) + femmesh.addNode(-4.43638815254853, 0.5863630495201664, 28.297574724393044, 4168) + femmesh.addNode(-4.279012962315734, 1.3712902900193784, 28.69228533229773, 4169) + femmesh.addNode(-4.283815334458038, 1.3583720052282255, 27.835231023853474, 4170) + femmesh.addNode(3.4708782315401785, 2.8134551784621182, 45.39257707151417, 4171) + femmesh.addNode(3.9403022358915036, 2.138617603917246, 45.717676958707884, 4172) + femmesh.addNode(3.871102606526571, 2.2399940368048306, 44.973867691775084, 4173) + femmesh.addNode(3.81060804713813, 2.3851544866571257, 48.50172724762258, 4174) + femmesh.addNode(3.48403685948833, 2.832694986614266, 49.253961569163266, 4175) + femmesh.addNode(4.213378922965003, -1.5699797128418957, 36.59340777760885, 4176) + femmesh.addNode(4.2142008092963765, -1.5675017704214689, 37.51990906780651, 4177) + femmesh.addNode(4.340908306653322, -0.7817010979234965, 37.01578425074061, 4178) + femmesh.addNode(-3.94786305523024, 1.980121999634501, 15.5342410201336, 4179) + femmesh.addNode(-4.060270644965993, 1.8147889680188534, 14.637029441056045, 4180) + femmesh.addNode(-4.353129875182306, 1.1399349343570724, 15.292247109603853, 4181) + femmesh.addNode(4.385509275963484, 0.7478940394816471, 27.16697595293674, 4182) + femmesh.addNode(4.385509275963484, 0.7478940394816471, 28.066975952936737, 4183) + femmesh.addNode(4.236182727852373, 1.5061867102055968, 27.653587766872736, 4184) + femmesh.addNode(-4.429830491093933, 0.6969501245404671, 29.10515833841168, 4185) + femmesh.addNode(3.8587694824068803, 2.251329601836964, 11.20082017127277, 4186) + femmesh.addNode(4.228691001600438, 1.5271936501515375, 11.648515197298543, 4187) + femmesh.addNode(3.8592619527037875, 2.2501427337749176, 10.31064507109808, 4188) + femmesh.addNode(4.229183471897345, 1.5260067820894911, 10.758340097123853, 4189) + femmesh.addNode(-3.690588894630297, 2.561848659296679, 39.90215605336725, 4190) + femmesh.addNode(-4.131510298286697, 1.6646224235382958, 40.388045093395704, 4191) + femmesh.addNode(-1.0941930240299653, 4.347602673162836, 40.96759917379542, 4192) + femmesh.addNode(-0.25396344958236, 4.4771936076688785, 40.60710436989275, 4193) + femmesh.addNode(-0.4007508049775685, 4.475501429037199, 41.62956928122897, 4194) + femmesh.addNode(3.53334398165127, 2.7714776278787054, 1.5055273699056504, 4195) + femmesh.addNode(3.324248722582696, 3.0330329656862167, 0.7553131899289663, 4196) + femmesh.addNode(2.958284818789583, 3.361146166443371, 1.5065312866083187, 4197) + femmesh.addNode(-0.0692250574513966, -4.495754684517583, 25.721899068184506, 4198) + femmesh.addNode(-0.1396467072140602, -4.496237051946734, 24.70844602092786, 4199) + femmesh.addNode(3.8874088375029707, 2.2117067516722657, 12.077847009797672, 4200) + femmesh.addNode(3.4248992916921166, 2.8994894787329164, 10.78631392480667, 4201) + femmesh.addNode(3.453538646788207, 2.8598666285682177, 11.66334076333157, 4202) + femmesh.addNode(3.461907037909273, 2.845899090748751, 29.48938191101408, 4203) + femmesh.addNode(3.9036850851502263, 2.185317412643715, 29.89421708110846, 4204) + femmesh.addNode(3.455285991627547, 2.855386853432501, 28.60106640519824, 4205) + femmesh.addNode(3.8970640388685003, 2.194805175327465, 29.005901575292622, 4206) + femmesh.addNode(-2.345649936445644, 3.826038404512056, 0.7459794219473314, 4207) + femmesh.addNode(-4.385132571907404, 0.9754789583564305, 13.472652435697746, 4208) + femmesh.addNode(-4.041737417399293, 1.8826417492731018, 13.733701887842692, 4209) + femmesh.addNode(-4.1632622722146895, 1.6638609203139352, 12.78099946715447, 4210) + femmesh.addNode(-3.3271967841587786, 3.0034848288832237, 4.727120991522371, 4211) + femmesh.addNode(-3.6681044201854087, 2.6057757987628842, 3.8664077656576534, 4212) + femmesh.addNode(0.05241286698957018, 4.497083848828019, 28.258403407595083, 4213) + femmesh.addNode(0.05305310089452027, 4.497056782895678, 29.152706127343308, 4214) + femmesh.addNode(-0.7321105866428966, 4.405256257515974, 28.68746875982249, 4215) + femmesh.addNode(-4.082012568888309, -1.7365430592042383, 23.770601613087717, 4216) + femmesh.addNode(-3.7044644521091583, -2.5430851697989683, 24.29426607750161, 4217) + femmesh.addNode(-4.372375576664726, -1.059550973584105, 24.446636340766567, 4218) + femmesh.addNode(-3.9948274598855753, -1.8660930841788352, 24.970300805180464, 4219) + femmesh.addNode(3.473909594326318, -2.8401164111168553, 44.605901610365294, 4220) + femmesh.addNode(3.069048963237298, -3.285028117611626, 44.114194299426686, 4221) + femmesh.addNode(3.4275898584809643, -2.8863506851532197, 43.757897588160546, 4222) + femmesh.addNode(3.0227292273919444, -3.3312623916479893, 43.26619027722193, 4223) + femmesh.addNode(3.0710042929281274, 3.2530876229495957, 32.54917321274431, 4224) + femmesh.addNode(3.5836266697575385, 2.7157674211000065, 32.99043902467395, 4225) + femmesh.addNode(2.960715707439787, 3.3752727763013524, 33.341131726995144, 4226) + femmesh.addNode(3.473338084269198, 2.837952574451763, 33.78239753892478, 4227) + femmesh.addNode(4.346484908324526, 0.7684357379311335, 38.78491826691096, 4228) + femmesh.addNode(4.23436314678509, 1.5087312993702628, 39.227190178520694, 4229) + femmesh.addNode(4.378190066109169, -0.7708514833997977, 47.7195459643286, 4230) + femmesh.addNode(4.235471488035798, -1.5128122099656975, 47.31771229267736, 4231) + femmesh.addNode(-4.094321436261342, 1.8658939318288295, 4.025709893594797, 4232) + femmesh.addNode(-4.265978811220197, 1.3773066436277102, 3.150956422001416, 4233) + femmesh.addNode(-3.8922889488825767, 2.2165878073503897, 3.1512718787660963, 4234) + femmesh.addNode(0.8249801657661527, 4.340574829195283, 33.48720565847617, 4235) + femmesh.addNode(0.05133718982735135, 4.497206989157668, 33.926328967900446, 4236) + femmesh.addNode(1.509317172706195, -4.211792504523602, 4.433744389543113, 4237) + femmesh.addNode(1.6423958123464448, -4.176622958495942, 3.436774700858553, 4238) + femmesh.addNode(1.0018748010878993, -4.387053866423814, 5.187935396250347, 4239) + femmesh.addNode(1.1349534407281492, -4.351884320396154, 4.190965707565786, 4240) + femmesh.addNode(-3.5296951499488225, 2.7900362443410014, 32.47744039783718, 4241) + femmesh.addNode(-2.9653310874503576, 3.328420393686801, 32.944354665520564, 4242) + femmesh.addNode(-3.5485358412887864, 2.7650487342307843, 33.375025597852144, 4243) + femmesh.addNode(4.5, -1.102182119232618e-15, 30.299999999999997, 4244) + femmesh.addNode(4.5, -1.102182119232618e-15, 29.375, 4245) + femmesh.addNode(4.338396573620802, -0.7875900190449961, 29.83585189084773, 4246) + femmesh.addNode(4.4192298427742225, -0.6303387722729832, 48.5356756571683, 4247) + femmesh.addNode(4.276511264700852, -1.372299498838883, 48.133841985517066, 4248) + femmesh.addNode(-1.7163277250063291, -4.159233185271087, 11.346174379738736, 4249) + femmesh.addNode(-2.0918330042121225, -3.9725904567364596, 12.185412325227205, 4250) + femmesh.addNode(-2.55327999180301, -3.61255404386959, 11.445568773216085, 4251) + femmesh.addNode(1.422707657022793, -4.267437246635911, 35.213540526573745, 4252) + femmesh.addNode(-4.290131969398685, 1.3401322795508754, 30.534257691038697, 4253) + femmesh.addNode(-4.291124743726945, 1.3361923090104724, 31.504088326683267, 4254) + femmesh.addNode(-3.8794511991544063, 2.1396800472371673, 31.00339330921709, 4255) + femmesh.addNode(-4.4500329613882945, -0.4539914958772769, 38.79985767875919, 4256) + femmesh.addNode(-4.496894836613982, 0.10124817723852815, 39.716733027389935, 4257) + femmesh.addNode(-4.423370256613352, -0.8084577227514494, 39.601995661762686, 4258) + femmesh.addNode(-4.470232131839039, -0.2532180496356444, 40.51887101039344, 4259) + femmesh.addNode(1.5201096540034509, 4.235400081741195, 38.72606793124659, 4260) + femmesh.addNode(2.2096665153845865, 3.8613244331939174, 38.2868458872685, 4261) + femmesh.addNode(1.534922406175868, 4.230115996599531, 37.84022248312642, 4262) + femmesh.addNode(-3.9081804454641214, -2.1278722967857817, 32.12032364290782, 4263) + femmesh.addNode(-4.2857812618602695, -1.3345011264078726, 31.636782986841943, 4264) + femmesh.addNode(-4.28663521503965, -1.3307140236147694, 32.577239357804245, 4265) + femmesh.addNode(3.8896953227393714, -2.2108835300763134, 12.031428320598884, 4266) + femmesh.addNode(3.465935819279233, -2.8454550884198366, 11.598728280903998, 4267) + femmesh.addNode(3.445949560132915, -2.865346822844833, 12.463770205919669, 4268) + femmesh.addNode(-3.7193792528960854, -2.498757399755016, 0.7696659859512108, 4269) + femmesh.addNode(-3.105451519098035, -3.2267878393592446, 0.7696659859512108, 4270) + femmesh.addNode(-1.9383041410976054, 4.060160506289331, 1.595256869402938, 4271) + femmesh.addNode(-2.6809777286282395, 3.541389426764178, 1.5850616289361423, 4272) + femmesh.addNode(-4.434883517598487, 0.22590319646313545, 35.74928843430661, 4273) + femmesh.addNode(-4.438689953693467, 0.6527769738879249, 36.56639660325918, 4274) + femmesh.addNode(-4.3176554352192, 1.2523207634692477, 36.1153924647639, 4275) + femmesh.addNode(-4.440641254663325, 0.4737558133893049, 39.02541091986495, 4276) + femmesh.addNode(-4.415777874481179, 0.7428011345021617, 40.45496524739532, 4277) + femmesh.addNode(4.379352089355434, 0.767257215593263, 5.79733372878005, 4278) + femmesh.addNode(4.206401068620572, 1.5808246850549057, 5.300876171437075, 4279) + femmesh.addNode(4.225544686289754, 1.5363949763519678, 6.240778587693287, 4280) + femmesh.addNode(-4.494918848649186, 0.2109200858631751, 41.35694621436478, 4281) + femmesh.addNode(4.238897732822493, -1.5041774539164954, 46.35950735733848, 4282) + femmesh.addNode(3.8483763350594025, 2.266221685856917, 6.645666419476722, 4283) + femmesh.addNode(4.223176295803802, 1.543701183151441, 7.155017609930249, 4284) + femmesh.addNode(4.5, -1.102182119232618e-15, 10.75, 4285) + femmesh.addNode(4.381648254742854, 0.7600997241680318, 11.198804992390519, 4286) + femmesh.addNode(4.5, -1.102182119232618e-15, 11.675, 4287) + femmesh.addNode(3.4469646140847554, 2.866400641735229, 12.514230248147772, 4288) + femmesh.addNode(-4.291078402015607, -1.3214469834696145, 38.7908580740665, 4289) + femmesh.addNode(-4.400686424374031, -0.9385407100948128, 38.08675922575094, 4290) + femmesh.addNode(-2.4231153533288143, -3.771158721672114, 47.611234945498765, 4291) + femmesh.addNode(-2.8174042017913994, -3.5087702438325676, 46.790647165912, 4292) + femmesh.addNode(0.5905479026911233, -4.394309581555206, 33.85568678721948, 4293) + femmesh.addNode(-3.6367419303525694, -2.6469414827321556, 25.414148822056678, 4294) + femmesh.addNode(-4.015248207299307, -1.7401462665785081, 37.49194329454231, 4295) + femmesh.addNode(-3.905640184940884, -2.12305253995331, 38.19604214285786, 4296) + femmesh.addNode(-0.21194781378125577, 4.414651186592353, 3.0628833261546697, 4297) + femmesh.addNode(-0.6827962811952666, 4.427190743831822, 2.2974005316800907, 4298) + femmesh.addNode(-1.0975693308495407, 4.363767641906925, 3.107288456175204, 4299) + femmesh.addNode(3.8801055235169026, 2.22729843538103, 40.596519198142225, 4300) + femmesh.addNode(4.22641718722832, 1.5301757112679744, 41.04038399080957, 4301) + femmesh.addNode(4.229487497736361, 1.5203438523478714, 40.145684001471245, 4302) + femmesh.addNode(-3.5807445833761893, 2.725066471097597, 37.09722882086969, 4303) + femmesh.addNode(-2.9758271345215483, 3.3020644561764634, 36.61936337119667, 4304) + femmesh.addNode(-3.588828650204807, 2.714170533616603, 36.17492556760839, 4305) + femmesh.addNode(-4.447127683500606, -0.2780753131317716, 25.149155857556174, 4306) + femmesh.addNode(-4.369769249710396, -1.0714103776207822, 25.36909289088066, 4307) + femmesh.addNode(-2.999619861822106, 3.2910683297920773, 34.80542691246251, 4308) + femmesh.addNode(-2.9667030613947336, 3.3136741963275163, 35.68436279678521, 4309) + femmesh.addNode(-3.5797045770779925, 2.725780273767656, 35.23992499319693, 4310) + femmesh.addNode(-0.7846407430474842, 4.3946629113335, 13.992754335546884, 4311) + femmesh.addNode(-0.785677183788181, 4.39435386401777, 15.048427441159568, 4312) + femmesh.addNode(0.03618432945141874, 4.496457244796638, 14.707853556270685, 4313) + femmesh.addNode(-2.03967920038966, -3.9266454107838555, 43.59835687508175, 4314) + femmesh.addNode(-1.1118792901065093, -4.348131378737957, 43.443312140871356, 4315) + femmesh.addNode(-1.6510617757118373, -4.1748995744591735, 44.36122782146582, 4316) + femmesh.addNode(-4.452614445504789, -0.2771296860683824, 21.435001958899328, 4317) + femmesh.addNode(-4.438257917505067, -0.7160694045121163, 22.386946170807207, 4318) + femmesh.addNode(-4.432410145716414, 0.6390919748229007, 21.810738067507593, 4319) + femmesh.addNode(-4.418053617716692, 0.2001522563791669, 22.76268227941547, 4320) + femmesh.addNode(-3.9039779469298814, 2.0360907373257704, 30.1222423326507, 4321) + femmesh.addNode(-3.493297176685603, 2.8356385050120627, 30.591377950829088, 4322) + femmesh.addNode(1.3801987206157547, 4.283106579955339, 45.86499724170543, 4323) + femmesh.addNode(0.7170664963058395, 4.377728385600856, 45.25147470681689, 4324) + femmesh.addNode(2.1481072617806403, 3.8925493069015302, 40.13050714600207, 4325) + femmesh.addNode(-0.7874737583214604, -4.422615328443756, 45.98949293164793, 4326) + femmesh.addNode(-0.28852069443380035, -4.43433267203943, 46.77682340131811, 4327) + femmesh.addNode(-0.27289001330029844, -4.4806638951371145, 45.21955068057114, 4328) + femmesh.addNode(0.2260630505873616, -4.492381238732788, 46.00688115024131, 4329) + femmesh.addNode(-0.7427443667661835, 4.40460732544409, 21.350212527941427, 4330) + femmesh.addNode(0.0522913195667194, 4.496413934144091, 21.834859365496875, 4331) + femmesh.addNode(-0.7455955322740351, 4.403798828112708, 22.274234159133783, 4332) + femmesh.addNode(-2.3975183127463606, -3.7910888379986885, 49.21316003518332, 4333) + femmesh.addNode(-4.273934999817756, 1.3954021378081518, 25.082155309428664, 4334) + femmesh.addNode(-4.423552331138812, 0.6871476705599247, 24.624715556598595, 4335) + femmesh.addNode(-4.295224950303011, 1.3353562848315206, 24.13154739538677, 4336) + femmesh.addNode(-0.7419963494811556, 4.402142357179465, 33.47150730028874, 4337) + femmesh.addNode(-4.407216001442615, -0.8813080665750705, 47.584679492323296, 4338) + femmesh.addNode(-4.433572022153074, -0.3807668188527842, 48.4208064318762, 4339) + femmesh.addNode(-4.296034724694492, -1.326233867791598, 48.42696819651144, 4340) + femmesh.addNode(-4.27572926122345, 1.3890928749268499, 26.91218910492011, 4341) + femmesh.addNode(4.5, -1.102182119232618e-15, 21.375, 4342) + femmesh.addNode(4.38903308757542, 0.7365601852325792, 20.916346857144582, 4343) + femmesh.addNode(-4.275458582154321, 1.3898268331447725, 26.035815461548268, 4344) + femmesh.addNode(-3.897169673600785, 2.067256098547032, 26.479014603180666, 4345) + femmesh.addNode(-3.859637364871811, 2.171999395009429, 25.474758850399695, 4346) + femmesh.addNode(-3.4813484563182753, 2.8494286604116885, 25.91795799203209, 4347) + femmesh.addNode(4.379352089355434, 0.767257215593263, 6.647333728780049, 4348) + femmesh.addNode(-3.1088392861367478, -3.204616193285955, 23.849905365846766, 4349) + femmesh.addNode(-3.106669450438862, -3.207403690283265, 24.766299272701836, 4350) + femmesh.addNode(-2.467751589847543, -3.743784305087912, 24.368825931508024, 4351) + femmesh.addNode(-0.728278172856842, 4.4056290752657725, 26.827916331303328, 4352) + femmesh.addNode(-1.5288795237867139, 4.216315058827784, 26.388810675371033, 4353) + femmesh.addNode(-4.449734010454936, -0.2662159090950946, 24.226699307442082, 4354) + femmesh.addNode(-3.1350937244584163, -3.1840276783865686, 22.784407568048106, 4355) + femmesh.addNode(-3.6849425459734197, -2.5748054102014972, 22.254711962852944, 4356) + femmesh.addNode(-3.706634287807044, -2.5402976728016586, 23.37787217064654, 4357) + femmesh.addNode(-4.431281425537763, 0.6581759607516324, 23.690373927319087, 4358) + femmesh.addNode(-4.124188557362544, -1.7673975928630967, 49.229849128779094, 4359) + femmesh.addNode(-0.7246446715014436, -4.414692153528186, 14.150735211252673, 4360) + femmesh.addNode(-0.7807631774804388, 4.40076345411844, 34.52339669199253, 4361) + femmesh.addNode(0.6288614606996735, -4.377767108944809, 21.4258071290443, 4362) + femmesh.addNode(-0.15602608633588275, -4.495628413850288, 21.920969258642092, 4363) + femmesh.addNode(1.461202732002864, -4.254672884161526, 21.901554413785608, 4364) + femmesh.addNode(0.6763151849673077, -4.3725341890670055, 22.3967165433834, 4365) + femmesh.addNode(-4.302954044701961, 1.3063845750232281, 23.19720576610726, 4366) + femmesh.addNode(-3.576974405514273, -2.7297728560758285, 16.617390839556094, 4367) + femmesh.addNode(-3.9472115536022976, -2.0449134342964186, 17.062828996466052, 4368) + femmesh.addNode(-3.929593917988278, -2.0676335229656413, 16.162355934629893, 4369) + femmesh.addNode(-3.6409647356202264, -2.6415072395102186, 26.334067847732832, 4370) + femmesh.addNode(-3.0448881149331695, -3.2513048052391524, 26.777986807827695, 4371) + femmesh.addNode(4.5, -1.102182119232618e-15, 43.675, 4372) + femmesh.addNode(4.5, -1.102182119232618e-15, 42.8, 4373) + femmesh.addNode(-4.451313431850618, -0.33823723225240393, 28.788882030504354, 4374) + femmesh.addNode(-4.356335017725768, -1.1194650758828766, 29.52082481994058, 4375) + femmesh.addNode(-4.353461596986463, -1.1294162088247806, 28.30711554430225, 4376) + femmesh.addNode(-1.8275625152972301, 4.008719607752308, 43.83136386821366, 4377) + femmesh.addNode(-2.2951914869048315, 3.8411417167670034, 43.10793793382828, 4378) + femmesh.addNode(-2.668074784545521, 3.6225803467298823, 43.8898751940406, 4379) + femmesh.addNode(-4.495722347232398, 0.044096955066512816, 49.223687364143856, 4380) + femmesh.addNode(4.500612417036983, 1.22476755889616, 49.62146853699903, 4381) + femmesh.addNode(4.176171202316354, 0.3044561771844647, 49.62146853699903, 4382) + femmesh.addNode(3.9804391210527603, 1.167368268546383, 49.62146853699903, 4383) + femmesh.addNode(-2.313198513807479, 3.841617882058687, 44.5589905888134, 4384) + femmesh.addNode(-1.4726862445591884, 4.227757143081113, 44.50047926298646, 4385) + femmesh.addNode(4.392894260034899, 0.7239178546575816, 1.6502042087578783, 4386) + femmesh.addNode(4.212818076959721, -0.15626899236670846, 1.3458685054044097, 4387) + femmesh.addNode(4.392894260034899, 0.7239178546575816, 0.7502042087578784, 4388) + femmesh.addNode(4.605712336994619, 0.5676488622908741, 1.1960727141622882, 4389) + femmesh.addNode(4.212818076959721, -0.15626899236670846, 0.4458685054044098, 4390) + femmesh.addNode(-4.207373188137105, 1.47208055666245, 43.7329485910902, 4391) + femmesh.addNode(-4.393705688689042, 0.9720676999991418, 44.5154324242028, 4392) + femmesh.addNode(-3.8862989588325725, -2.0239202919900836, 30.88635741643982, 4393) + femmesh.addNode(-4.353890680983268, -1.130398413535329, 30.457717390280884, 4394) + femmesh.addNode(4.238964817025643, 1.4993609764163183, 26.75203190883377, 4395) + femmesh.addNode(4.23729210934657, 1.5046755506068774, 25.86354948503726, 4396) + femmesh.addNode(4.38383656828441, 0.7532086136722062, 26.278493529140228, 4397) + femmesh.addNode(4.389436443896907, -0.7352506243297636, 16.433557220192796, 4398) + femmesh.addNode(4.5, -1.102182119232618e-15, 17.775, 4399) + femmesh.addNode(4.389436443896907, -0.7352506243297636, 17.358557220192793, 4400) + femmesh.addNode(4.22731720742962, -1.5240435623283286, 16.895309210836125, 4401) + femmesh.addNode(0.6655157017631957, 4.397330207802949, 1.5375695365422706, 4402) + femmesh.addNode(1.5299473165066457, 4.220882964544912, 1.5794762572225718, 4403) + femmesh.addNode(1.0928626178234504, 4.360313539245662, 2.3494403048080716, 4404) + femmesh.addNode(-3.523610933118661, -2.798060775546644, 30.44240761249416, 4405) + femmesh.addNode(-3.9912026552693565, -1.904538897091889, 30.013767586335227, 4406) + femmesh.addNode(0.143639371732553, 4.475476245055121, 3.7943339861274517, 4407) + femmesh.addNode(-0.7419821453357318, 4.4245927003696925, 3.8387391161479854, 4408) + femmesh.addNode(-0.7293476463416204, 4.405327397668915, 27.738075945232474, 4409) + femmesh.addNode(1.9713057127675393, 4.043451241742732, 0.7986337619168702, 4410) + femmesh.addNode(2.300174950816141, 3.839555340768585, 1.5498518585962227, 4411) + femmesh.addNode(2.778943982686319, 3.53941629618121, 49.244336436473255, 4412) + femmesh.addNode(-0.9668109846798152, 4.3926662031398305, 43.56750341189315, 4413) + femmesh.addNode(1.4462146757206833, 4.261085490758671, 4.803737109817052, 4414) + femmesh.addNode(1.7638939825318902, 4.131278742221296, 3.9386486462898347, 4415) + femmesh.addNode(1.4875084939551566, 4.206437596254493, 3.0914085516899865, 4416) + femmesh.addNode(-4.3204010795812895, 1.2515451541677283, 41.21784803597557, 4417) + femmesh.addNode(-4.208153755275806, 1.583919565714746, 42.18745358808909, 4418) + femmesh.addNode(3.8547270971331864, 2.2729052843892474, 43.275759330306194, 4419) + femmesh.addNode(3.3805356058463234, 2.9369855316176556, 42.88750601289564, 4420) + femmesh.addNode(3.8601041490490666, 2.2654578767494136, 44.111803175340924, 4421) + femmesh.addNode(2.7430792716883383, -3.5660933311843594, 49.18697700609821, 4422) + femmesh.addNode(2.270431046215961, -3.849637882107365, 48.423423480249596, 4423) + femmesh.addNode(1.832948818138537, -4.109180215409847, 49.23644647415138, 4424) + femmesh.addNode(-3.764613605446499, -2.3057973255623905, 10.982293819432526, 4425) + femmesh.addNode(-3.196661947803717, -3.1668160309397657, 10.959569935863925, 4426) + femmesh.addNode(-3.781921037501152, -2.2876495143989946, 11.840265912923975, 4427) + femmesh.addNode(-3.21396937985837, -3.14866821977637, 11.817542029355375, 4428) + femmesh.addNode(-0.65842551526199, 4.4248907447223385, 44.46506163450857, 4429) + femmesh.addNode(-0.20663513124874322, 4.494573771440381, 45.25453765826758, 4430) + femmesh.addNode(-1.0208958605459415, 4.297440169799154, 45.28995528674547, 4431) + femmesh.addNode(-4.391425840774661, 0.9797936295189222, 3.9153708776514398, 4432) + femmesh.addNode(-4.455231158310995, 0.5479241059529046, 4.733989925062387, 4433) + femmesh.addNode(-4.4312602429734715, 0.5331852872666413, 3.159441613011521, 4434) + femmesh.addNode(-4.495065560509805, 0.1013157637006237, 3.978060660422468, 4435) + femmesh.addNode(-4.1239877139181935, 1.8007452048399886, 2.331361648338132, 4436) + femmesh.addNode(-4.2541526081572485, 1.3793716252988775, 1.579666605336286, 4437) + femmesh.addNode(-4.396143705459251, 0.955933064086599, 2.3992613789995696, 4438) + femmesh.addNode(-4.461561145485881, 0.4937856743983917, 1.575578782130551, 4439) + femmesh.addNode(-4.477120635392355, -0.3801595523228984, 3.156897652519338, 4440) + femmesh.addNode(2.956019142158346, 3.3789076709157606, 34.24200693204419, 4441) + femmesh.addNode(3.4813520589912006, 2.82648644451079, 34.66968023113781, 4442) + femmesh.addNode(-2.444994229597242, -3.7570224304349416, 20.441688248840435, 4443) + femmesh.addNode(-3.10741855754074, -3.203722317210728, 19.92607516398237, 4444) + femmesh.addNode(-3.1051463300258155, -3.206659976952012, 20.856206052036676, 4445) + femmesh.addNode(4.384807927952522, 0.7501274203592312, 41.48697190094807, 4446) + femmesh.addNode(4.5, -1.102182119232618e-15, 41.95, 4447) + femmesh.addNode(-4.116449430461654, 1.7446464563755848, 8.116959376731444, 4448) + femmesh.addNode(-3.6612120985838486, 2.5599819549079847, 7.961562871650694, 4449) + femmesh.addNode(-3.890050099471346, 2.0866724459171935, 7.2280727227121755, 4450) + femmesh.addNode(-3.4348127675935407, 2.9020079444495934, 7.072676217631425, 4451) + femmesh.addNode(-3.6674801399614605, -2.5628209494084975, 49.23189555874811, 4452) + femmesh.addNode(-1.5196052676376222, 4.212184400711788, 49.222710191496134, 4453) + femmesh.addNode(-2.3266102119848355, 3.835528808098661, 49.222710191496134, 4454) + femmesh.addNode(-4.3229390886200765, 1.2423567686883459, 32.41714238181898, 4455) + femmesh.addNode(-4.439776154529016, 0.4643881490107416, 31.82188041409306, 4456) + femmesh.addNode(-4.435930239931844, 0.3463055815722712, 32.79561034176792, 4457) + femmesh.addNode(3.857921646787257, -2.2587444912338444, 37.102887367187265, 4458) + femmesh.addNode(3.8609667435102195, -2.2515340944662863, 37.958844140957794, 4459) + femmesh.addNode(3.414099682348442, -2.908179219288333, 37.51743256160353, 4460) + femmesh.addNode(-3.157837008127516, 3.1915764399534465, 12.675784683305643, 4461) + femmesh.addNode(-2.501937402036874, 3.6884223668806064, 13.129797036256528, 4462) + femmesh.addNode(-3.1953946433719747, 3.1470551564278, 13.582195696610206, 4463) + femmesh.addNode(-2.910155373667161, 3.399507502604776, 7.9306063685209125, 4464) + femmesh.addNode(4.37470852373649, -0.7815109898736312, 8.47017973180848, 4465) + femmesh.addNode(4.380989207901762, -0.76216165729807, 9.38351808292359, 4466) + femmesh.addNode(4.5, -1.102182119232618e-15, 8.95, 4467) + femmesh.addNode(-3.631740259544764, 2.6335444684882168, 13.286943586174552, 4468) + femmesh.addNode(-3.6692978947892225, 2.5890231849625702, 14.193354599479115, 4469) + femmesh.addNode(2.8728381033231205, -3.4396778378913897, 9.308206021319165, 4470) + femmesh.addNode(3.4345904083244063, -2.8923022137010883, 8.864077128484746, 4471) + femmesh.addNode(2.852151854893293, -3.4541318891248887, 8.361076870220161, 4472) + femmesh.addNode(0.5252315675812406, 4.4492886776057645, 6.350437276891484, 4473) + femmesh.addNode(1.2350809685357798, 4.309546548021216, 6.6455835215741565, 4474) + femmesh.addNode(0.4850893476494108, 4.449387869877336, 7.152084163305531, 4475) + femmesh.addNode(-0.8523133345434007, -4.386475367062851, 36.65791832734573, 4476) + femmesh.addNode(-0.9838517098043178, -4.342081381695619, 35.71121312226278, 4477) + femmesh.addNode(-1.661101888268401, -4.161824198022601, 37.099594928588935, 4478) + femmesh.addNode(-1.792640263529318, -4.1174302126553695, 36.15288972350598, 4479) + femmesh.addNode(-4.364913748873219, 0.20290224481982222, 15.808868107780324, 4480) + femmesh.addNode(-4.407580654903535, -0.9030671261955221, 15.62928718234541, 4481) + femmesh.addNode(-4.368852326119663, 0.22056695409141774, 14.812716433090845, 4482) + femmesh.addNode(-4.4115192321499785, -0.8854024169239265, 14.633135507655929, 4483) + femmesh.addNode(0.012112558228111317, 4.495768373590171, 17.353085182288208, 4484) + femmesh.addNode(0.008593958193878232, 4.49591167415217, 18.248815872706643, 4485) + femmesh.addNode(0.7677837553999763, 4.345642126276188, 17.82976684692499, 4486) + femmesh.addNode(-4.495802931947644, 0.04240061961799943, 0.8213157312960941, 4487) + femmesh.addNode(-4.4328647658824405, -0.38550300429290474, 1.5773506450214194, 4488) + femmesh.addNode(-4.413909856889742, -0.8321948869814793, 0.7560349137253253, 4489) + femmesh.addNode(-4.359657196201603, -1.1040281760335247, 21.136878014585747, 4490) + femmesh.addNode(-3.9840828604735163, -1.9139482381316095, 20.77468635623977, 4491) + femmesh.addNode(-4.062072541925887, -1.7628805876486335, 21.735379916562856, 4492) + femmesh.addNode(-3.6864982061977996, -2.5728006497467186, 21.37318825821688, 4493) + femmesh.addNode(2.8262652709210414, -3.4863443224945083, 33.43268703537774, 4494) + femmesh.addNode(2.155576204124979, -3.909816459434502, 33.00798960639737, 4495) + femmesh.addNode(4.36367240926312, -0.7257583281998216, 1.6516101280266688, 4496) + femmesh.addNode(4.398072841837433, -0.630332838331601, 2.3669154243527926, 4497) + femmesh.addNode(4.266677771145655, -1.430151998427676, 2.6586163313780578, 4498) + femmesh.addNode(-4.462819668862629, 0.31366026019937876, 13.019047789528596, 4499) + femmesh.addNode(-4.378127268438327, 0.9989252302706727, 12.370832474280753, 4500) + femmesh.addNode(-4.442727956713336, -0.25295390429433606, 38.02932254715974, 4501) + femmesh.addNode(-0.007998553953721843, 4.441964019837483, 43.59645169409259, 4502) + femmesh.addNode(-0.46362388547255956, 4.4649822309129945, 42.697948465003236, 4503) + femmesh.addNode(0.9589928006514146, 4.381010678509823, 43.04722534115079, 4504) + femmesh.addNode(0.5033674691325769, 4.404028889585335, 42.148722112061435, 4505) + femmesh.addNode(-1.5331123033814116, -4.206421081421272, 14.528482714341033, 4506) + femmesh.addNode(-1.5959867472356233, -4.188862638076003, 15.36890164032164, 4507) + femmesh.addNode(-0.7875191153556554, -4.397133710182916, 14.99115413723328, 4508) + femmesh.addNode(-4.334596647615607, 1.2077877156113208, 14.388919556390501, 4509) + femmesh.addNode(-2.4623951481422006, -3.7351132113463645, 3.9169304424177223, 4510) + femmesh.addNode(-1.6439979833217173, -4.174383278600347, 3.8778583996665787, 4511) + femmesh.addNode(-2.8037278125407683, -3.5196504665358397, 3.1340303864050183, 4512) + femmesh.addNode(-1.9853306477202852, -3.9589205337898212, 3.0949583436538743, 4513) + femmesh.addNode(3.460167236356845, 2.8494557244231773, 22.277759104923085, 4514) + femmesh.addNode(3.4665492987619344, 2.8402780795616867, 21.392080493908914, 4515) + femmesh.addNode(3.8971617327884025, 2.1970468049421323, 22.723364945404498, 4516) + femmesh.addNode(3.903543795193492, 2.1878691600806413, 21.837686334390327, 4517) + femmesh.addNode(2.2065043036124354, 3.8106625660129247, 39.23252232328778, 4518) + femmesh.addNode(2.896061164993571, 3.4365869174656467, 38.79330027930969, 4519) + femmesh.addNode(2.872785280248374, 3.4542359655227797, 39.675005038944754, 4520) + femmesh.addNode(1.199592817934494, -4.336183753470483, 2.557766948282908, 4521) + femmesh.addNode(0.6664385985906776, -4.420811939254997, 1.6574466679452824, 4522) + femmesh.addNode(0.7462859070494524, -4.409164275245594, 3.3306730254214414, 4523) + femmesh.addNode(0.21313168770563612, -4.493792461030108, 2.4303527450838156, 4524) + femmesh.addNode(-4.155829294276518, -1.6966919632366104, 2.3271665506353436, 4525) + femmesh.addNode(-3.6965110016450966, -2.5122291413056033, 2.3116998678834237, 4526) + femmesh.addNode(-3.9056533715969897, -2.078002929686459, 1.5885860478575866, 4527) + femmesh.addNode(4.5, -1.102182119232618e-15, 26.725, 4528) + femmesh.addNode(4.5, -1.102182119232618e-15, 27.6, 4529) + femmesh.addNode(-0.026495498187666666, -4.496468983617882, 17.258676011327132, 4530) + femmesh.addNode(-0.07946278818978422, -4.497451691624572, 18.185589701020017, 4531) + femmesh.addNode(3.9041036718310282, -2.1961745114260625, 16.437654505500344, 4532) + femmesh.addNode(3.4646143279591888, -2.837242209090583, 16.01923006465187, 4533) + femmesh.addNode(3.885367590514117, -2.223295532397622, 17.34481554501452, 4534) + femmesh.addNode(3.4458782466422786, -2.864363230062142, 16.92639110416605, 4535) + femmesh.addNode(1.6230755086994222, 4.196678828584041, 22.743937798512714, 4536) + femmesh.addNode(0.8632530728667104, 4.351906506207171, 22.28451585373223, 4537) + femmesh.addNode(1.6129656985420888, 4.200427704041947, 21.851384524103675, 4538) + femmesh.addNode(1.43326441530398, -4.264075572040602, 23.709530977590745, 4539) + femmesh.addNode(0.6197415098885388, -4.38369734321906, 23.257260955919644, 4540) + femmesh.addNode(1.443982223465994, -4.260091477529741, 22.83800718799216, 4541) + femmesh.addNode(-4.471328266644942, -0.3075467371762317, 43.69767593323427, 4542) + femmesh.addNode(-4.498006033204775, 0.13371227791132878, 44.51086461330497, 4543) + femmesh.addNode(3.9000028888326446, 2.1961132731444866, 15.606754211171758, 4544) + femmesh.addNode(3.9032744827168093, 2.1913763418050842, 14.720787450794406, 4545) + femmesh.addNode(3.4535134904045366, 2.853258948995676, 15.174814359918674, 4546) + femmesh.addNode(-3.055597881980357, 3.29276190092395, 47.65140874833406, 4547) + femmesh.addNode(-3.389191218175973, 2.947880672247419, 48.430550690424816, 4548) + femmesh.addNode(-2.677909917332839, 3.5345496393052045, 48.4313887193896, 4549) + femmesh.addNode(4.3874801352835116, 0.7415784541278319, 14.749935002293661, 4550) + femmesh.addNode(4.239898611206129, 1.4955982085511006, 14.283334996302674, 4551) + femmesh.addNode(4.232051668923348, 1.514595826044908, 15.167228866335414, 4552) + femmesh.addNode(-4.451360183628705, -0.2829965735314345, 20.521969116713667, 4553) + femmesh.addNode(-4.438644044016464, 0.6143515666679769, 19.99396679812034, 4554) + femmesh.addNode(-4.45413009802271, -0.34877509510145166, 19.632570108194535, 4555) + femmesh.addNode(-4.441413958410469, 0.5485730450979596, 19.104567789601205, 4556) + femmesh.addNode(-4.040561443010608, -1.959071376480769, 40.49922308071383, 4557) + femmesh.addNode(-4.227713098397798, -1.5368668352346575, 41.3227701286638, 4558) + femmesh.addNode(-3.8313640708902357, -2.351330130660287, 41.288909395216244, 4559) + femmesh.addNode(-4.018515726277425, -1.9291255894141754, 42.11245644316621, 4560) + femmesh.addNode(1.3607067962215202, 4.2893297994855075, 47.46396144365858, 4561) + femmesh.addNode(1.6847070171570966, 4.153120199635051, 48.407225220888954, 4562) + femmesh.addNode(0.7806524044653294, 4.384429410380205, 48.40557009296437, 4563) + femmesh.addNode(2.8619404220901776, -3.456823380804956, 24.614134495915742, 4564) + femmesh.addNode(2.8485388064418125, -3.4697986110385313, 23.69765739737835, 4565) + femmesh.addNode(3.4107377176339266, -2.90765998639586, 24.083840868270585, 4566) + femmesh.addNode(2.152438283010235, -3.9047493229189967, 35.70624022116601, 4567) + femmesh.addNode(4.38383656828441, 0.7532086136722062, 25.403493529140228, 4568) + femmesh.addNode(-4.29057081299075, 1.3344113032254736, 18.70246675061924, 4569) + femmesh.addNode(-4.436839974301064, 0.6216497876642936, 20.911234242776448, 4570) + femmesh.addNode(0.12972955096854166, -4.484847459396181, 29.447456533025452, 4571) + femmesh.addNode(-0.5651265440432107, -4.455468065183645, 29.284571351381015, 4572) + femmesh.addNode(-0.5669624528692744, -4.455364143992794, 30.171191231945727, 4573) + femmesh.addNode(1.9625821482522552, 4.005763925734515, 42.99764440731035, 4574) + femmesh.addNode(1.4110627895150194, 4.272799218100352, 42.37410283731322, 4575) + femmesh.addNode(4.377561145793531, -0.7727891031924252, 20.058816665626274, 4576) + femmesh.addNode(4.377561145793531, -0.7727891031924252, 20.933816665626274, 4577) + femmesh.addNode(2.177861713085284, -3.8113173806579965, 39.37984954622051, 4578) + femmesh.addNode(1.4853726021411264, -4.247079535995106, 38.93578183425652, 4579) + femmesh.addNode(1.4373761368733138, -4.264215592138627, 39.86946070877862, 4580) + femmesh.addNode(-3.0677860979884093, -3.2335878739367616, 18.930626949922072, 4581) + femmesh.addNode(-3.0739344791447714, -3.2255819556371765, 17.987277211563267, 4582) + femmesh.addNode(3.8590076510211535, 2.26310976399459, 42.37125283383125, 4583) + femmesh.addNode(4.5, -1.102182119232618e-15, 1.8249999999999997, 4584) + femmesh.addNode(4.712818076959721, -0.15626899236670858, 1.3708685054044096, 4585) + femmesh.addNode(4.0764904862228395, -0.8820273205665289, 1.1724786334310786, 4586) + femmesh.addNode(1.5894392474346788, 4.209803430616132, 14.753337829878696, 4587) + femmesh.addNode(1.5862350363522775, 4.210985179279335, 15.613606595215739, 4588) + femmesh.addNode(0.8297402820902919, 4.36254434404268, 15.135426918513916, 4589) + femmesh.addNode(-3.5193098734243113, 2.803669334159217, 18.67767187673683, 4590) + femmesh.addNode(-3.5046516273096895, 2.822360988165438, 17.793768456046834, 4591) + femmesh.addNode(-3.8928852797715967, 2.1284258307757113, 18.19012145826663, 4592) + femmesh.addNode(3.8828122440296653, -2.220422756057677, 44.1876169896111, 4593) + femmesh.addNode(3.898739405716526, -2.1812301906968816, 45.04196172432765, 4594) + femmesh.addNode(4.218339006423388, -1.5547973306523188, 19.62205309928862, 4595) + femmesh.addNode(-2.450262023641179, -3.7542807912664546, 19.558397736978392, 4596) + femmesh.addNode(-1.7045814846190812, -4.14839283912393, 19.07874399142527, 4597) + femmesh.addNode(-1.8653731235011537, 4.094342789565951, 10.918785051540997, 4598) + femmesh.addNode(-2.6138586121584773, 3.590313063226052, 10.317113867689134, 4599) + femmesh.addNode(-1.41823179373278, 4.240996534988544, 10.054558923655412, 4600) + femmesh.addNode(2.8487126642667833, -3.4727459014690147, 40.71068676957779, 4601) + femmesh.addNode(2.051220029263708, -3.862071364341865, 41.33130392520775, 4602) + femmesh.addNode(2.885689407764065, -3.4451103056111965, 41.58949583743069, 4603) + femmesh.addNode(-4.414697697875621, -0.8291550369898721, 49.197119067732345, 4604) + femmesh.addNode(2.127482551415691, 3.9078344726666243, 41.034204687656775, 4605) + femmesh.addNode(2.87417965035478, 3.4529165242723137, 40.600656315710225, 4606) + femmesh.addNode(2.853554939989831, 3.468201690037408, 41.50435385736493, 4607) + femmesh.addNode(0.061018991906607804, 4.497913849931688, 31.086145578050566, 4608) + femmesh.addNode(3.899109590060328, -2.198044730466836, 4.8846092640251335, 4609) + femmesh.addNode(3.7294866882749345, -2.4161443291434805, 3.9879055195997895, 4610) + femmesh.addNode(4.20655642446722, -1.5918357016141043, 4.429844935598835, 4611) + femmesh.addNode(4.389496933480121, -0.7350540149465887, 15.567392812034157, 4612) + femmesh.addNode(4.233385402572489, -1.5097519076077388, 16.037178350311894, 4613) + femmesh.addNode(4.2334458921557045, -1.509555298224564, 15.171013942153253, 4614) + femmesh.addNode(3.455026916979083, -2.8465561373606656, 15.109375703164734, 4615) + femmesh.addNode(3.9101718669738976, -2.1818828567054727, 15.57952364497611, 4616) + femmesh.addNode(3.4487710816048414, -2.8556969458490458, 14.249723514281017, 4617) + femmesh.addNode(3.903916031599656, -2.191023665193853, 14.719871456092394, 4618) + femmesh.addNode(-4.114625018320447, 1.8217996704204817, 46.10014140215657, 4619) + femmesh.addNode(-4.259727327128207, 1.3807467405235112, 46.865648658391436, 4620) + femmesh.addNode(-3.8998873718095384, 2.2144460256625003, 46.874867644175836, 4621) + femmesh.addNode(3.9021859925133238, -2.1951297619909775, 13.811736035437828, 4622) + femmesh.addNode(3.9018214260773147, 2.185695356699287, 23.632556901194953, 4623) + femmesh.addNode(3.908532573184882, 2.1760420936509863, 24.519552125560264, 4624) + femmesh.addNode(4.242712294783174, 1.4865475102452013, 24.06859039607337, 4625) + femmesh.addNode(-2.278372255315103, 3.868381687811331, 23.186510070364566, 4626) + femmesh.addNode(-2.2639674888178405, 3.8753713275273367, 24.108454587919603, 4627) + femmesh.addNode(-1.5637524952899797, 4.200613166134525, 22.77722303597541, 4628) + femmesh.addNode(-1.5493477287927173, 4.207602805850531, 23.699167553530444, 4629) + femmesh.addNode(0.1770940231533355, -4.495651799207564, 44.363127251137115, 4630) + femmesh.addNode(-0.19391129026191783, -4.467528686759556, 43.37423035195626, 4631) + femmesh.addNode(-0.6438953267155518, -4.452540782689106, 44.23065378139028, 4632) + femmesh.addNode(2.9336276171014672, 3.4074509853599695, 45.231692347790016, 4633) + femmesh.addNode(-4.206260364671991, -1.5220948516946475, 34.59435319820694, 4634) + femmesh.addNode(-4.116791569639434, -1.692548319359764, 35.76972607212481, 4635) + femmesh.addNode(-3.825282555953957, -2.3165743046374887, 35.03492174174106, 4636) + femmesh.addNode(-3.7358137609214017, -2.487027772302605, 36.21029461565893, 4637) + femmesh.addNode(-3.9989838452559923, -2.0528618864615504, 43.701754143279516, 4638) + femmesh.addNode(-4.29671475597267, -1.190438270940277, 43.6999927694426, 4639) + femmesh.addNode(-4.19371013289591, -1.6172051965768373, 42.874593625616235, 4640) + femmesh.addNode(-3.136047169353013, -3.199163951101445, 46.007471315574676, 4641) + femmesh.addNode(-2.445340369252457, -3.7590929819090775, 45.9900119256561, 4642) + femmesh.addNode(-0.0687720953272851, 4.490743315011966, 38.687630243476974, 4643) + femmesh.addNode(-0.8453273249704882, 4.399771679192185, 39.07114347031329, 4644) + femmesh.addNode(-0.12516030397844125, 4.492385731726432, 39.5862938914634, 4645) + femmesh.addNode(4.22161460429543, -1.5469266357814764, 5.364919040152948, 4646) + femmesh.addNode(4.362667897164497, -0.8171905577699083, 4.907773779785185, 4647) + femmesh.addNode(4.377726076992707, -0.7722814919372805, 5.842847884339298, 4648) + femmesh.addNode(-3.0229188955782593, -3.2622561138241797, 17.04286498398382, 4649) + femmesh.addNode(-3.0053012599642397, -3.284976202493402, 16.14239192214766, 4650) + femmesh.addNode(4.5, -1.102182119232618e-15, 5.4, 4651) + femmesh.addNode(-2.301107700651045, -3.8551451480709633, 14.851391729269826, 4652) + femmesh.addNode(-2.325823075073358, -3.838064963151, 15.781320739745944, 4653) + femmesh.addNode(1.6105808575816516, 4.201726989772717, 34.11357557882569, 4654) + femmesh.addNode(1.5972970826281876, 4.20665826761228, 35.00418550131957, 4655) + femmesh.addNode(0.8369378816428501, 4.358359149735103, 34.55269888824997, 4656) + femmesh.addNode(-0.2257868336184436, 4.492827712415377, 4.601848502952823, 4657) + femmesh.addNode(0.8187097580461765, 4.364391776411462, 18.688901953546022, 4658) + femmesh.addNode(1.5778995552522748, 4.21412222853548, 18.26985292776437, 4659) + femmesh.addNode(2.0830432589651102, 3.9888063132641483, 49.17104567396785, 4660) + femmesh.addNode(-4.448964669713642, -0.3694608653262937, 16.724144205298494, 4661) + femmesh.addNode(-4.308013871212729, -1.2748128401087988, 16.51522350520932, 4662) + femmesh.addNode(-2.590873350990139, -3.638349412611866, 35.83405821244121, 4663) + femmesh.addNode(-2.4366661271208914, -3.765079846172198, 36.8400708277415, 4664) + femmesh.addNode(-3.2317288454926087, -3.107314868427973, 35.40920860527178, 4665) + femmesh.addNode(-3.0775216216233616, -3.2340453019883055, 36.41522122057208, 4666) + femmesh.addNode(2.9352761900664883, -3.40346165909011, 14.67709069482948, 4667) + femmesh.addNode(-2.5847528031417473, -3.6415407454267026, 34.94710314776067, 4668) + femmesh.addNode(-3.2346629157869433, -3.103596564018085, 34.49733458531398, 4669) + femmesh.addNode(-4.449524822457104, 0.512494668054435, 45.303112937001686, 4670) + femmesh.addNode(-4.242486224057834, 1.440576960786549, 45.313755626243, 4671) + femmesh.addNode(-3.073543944889016, -3.2390573984636513, 37.32667661332306, 4672) + femmesh.addNode(4.2205024766170185, -1.550943300194435, 44.64139117316668, 4673) + femmesh.addNode(4.233059820244378, -1.511519153267122, 43.70484300015195, 4674) + femmesh.addNode(-0.14015320817138843, -4.495701400895587, 37.02711160243871, 4675) + femmesh.addNode(-0.12831120166778687, -4.496442196945204, 36.13664792067049, 4676) + femmesh.addNode(0.69809720599188, -4.3706773192900155, 36.57276175514449, 4677) + femmesh.addNode(0.30831246369430126, 4.4842389069472475, 47.56567839100768, 4678) + femmesh.addNode(-0.14523502252792297, 4.493622636908335, 48.39708672614981, 4679) + femmesh.addNode(3.463003276469532, -2.8351659002739757, 42.83652538008924, 4680) + femmesh.addNode(2.904619897405225, -3.4270610100931496, 42.499323748893396, 4681) + femmesh.addNode(-3.5734613841733904, 2.7342058726144325, 34.34351356963941, 4682) + femmesh.addNode(-3.8656773806300846, -2.171653826148697, 39.065613733881406, 4683) + femmesh.addNode(-3.7068271232330883, -2.5142678060180303, 39.87340029922633, 4684) + femmesh.addNode(-4.199411700407604, -1.6164573966114353, 39.691436515368906, 4685) + femmesh.addNode(1.5143631575904983, -4.2293475980501585, 7.470184608372376, 4686) + femmesh.addNode(0.8476618614426182, -4.390367787923883, 6.958917220557148, 4687) + femmesh.addNode(1.5878064836883756, -4.195709816876055, 6.688292693221404, 4688) + femmesh.addNode(4.2145852262236865, -1.5667755694810532, 23.128387812358504, 4689) + femmesh.addNode(4.373019822835224, -0.7866237476907761, 23.608502626307683, 4690) + femmesh.addNode(-3.9577953166701434, 1.9457122968349811, 35.67372632747431, 4691) + femmesh.addNode(2.2909192627731962, -3.857667575524311, 7.161290729994304, 4692) + femmesh.addNode(2.2737675296534112, -3.869418486474684, 6.058151529316656, 4693) + femmesh.addNode(3.918225662018233, -2.1692379711784335, 43.266244781539804, 4694) + femmesh.addNode(2.2511962590860564, 3.7790217677845694, 19.59873528456057, 4695) + femmesh.addNode(2.931720812207911, 3.404132159587197, 19.16653544434474, 4696) + femmesh.addNode(2.932298890553672, 3.4036837969787443, 20.049162484579735, 4697) + femmesh.addNode(0.7885269845029523, 4.3760636686390235, 38.26389909602189, 4698) + femmesh.addNode(-3.9008267627269158, 2.1885431034099883, 1.5789441987643058, 4699) + femmesh.addNode(-3.669127997691299, 2.60438570592039, 2.39885442919227, 4700) + femmesh.addNode(-0.44846961359524096, 4.454596996125191, 6.131802055157628, 4701) + femmesh.addNode(-0.4886118335270707, 4.4546961883967615, 6.933448941571674, 4702) + femmesh.addNode(-1.213737995122254, 4.3127151472612235, 6.56255346663053, 4703) + femmesh.addNode(4.33914252647224, -0.7858465291145001, 35.177145842177126, 4704) + femmesh.addNode(4.210085560414674, -1.5787078850903398, 34.79881271330693, 4705) + femmesh.addNode(4.5, -1.102182119232618e-15, 34.725, 4706) + femmesh.addNode(4.370943033942433, -0.7928613559758408, 34.346666871129806, 4707) + femmesh.addNode(-2.074123232979942, -3.9934954749795466, 30.426559891029132, 4708) + femmesh.addNode(-2.2598173713532184, -3.886839801618014, 29.29491177845363, 4709) + femmesh.addNode(-1.375990341014566, -4.2329064543353905, 29.689505922525427, 4710) + femmesh.addNode(3.439784065396864, 2.864419889815954, 37.412926042943084, 4711) + femmesh.addNode(3.4289903271028144, 2.879985046295676, 38.30367088290947, 4712) + femmesh.addNode(3.9062436532397067, 2.1852610315878502, 37.89864360699184, 4713) + femmesh.addNode(3.895449914945657, 2.2008261880675724, 38.78938844695823, 4714) + femmesh.addNode(4.211613142783921, -1.5741251440328994, 35.67976936904537, 4715) + femmesh.addNode(3.080569679123144, 3.24562909027271, 31.657288937961678, 4716) + femmesh.addNode(2.3766227349086044, 3.7883492626298017, 32.53777678723935, 4717) + femmesh.addNode(2.386188121103621, 3.7808907299529153, 31.64589251245672, 4718) + femmesh.addNode(-4.41938825041146, -0.011741803163472564, 13.89644931239809, 4719) + femmesh.addNode(3.7832079886040404, -2.335951585939366, 47.00911028517109, 4720) + femmesh.addNode(3.9637068115568717, -2.088427242273247, 47.9996144141294, 4721) + femmesh.addNode(4.40464253598381, 0.6838817691219368, 4.911769778542345, 4722) + femmesh.addNode(-1.9122642392319391, 4.073296816342954, 45.29085150276559, 4723) + femmesh.addNode(-2.3144121144891145, 3.8407569407445363, 46.060827063615534, 4724) + femmesh.addNode(-1.4902224980179106, 4.223312933064017, 46.03863240946944, 4725) + femmesh.addNode(-1.8659081180923247, 3.9942550282433826, 46.81950426976964, 4726) + femmesh.addNode(-3.545739846210515, 2.7701463120772423, 22.307120033511296, 4727) + femmesh.addNode(-3.5388686370544926, 2.779131270548115, 21.41473409068555, 4728) + femmesh.addNode(-2.980764503211947, 3.3105565802152226, 21.888433594017812, 4729) + femmesh.addNode(4.222820391420437, 1.5456636487319493, 9.864893588447478, 4730) + femmesh.addNode(3.8590345736329352, 2.2699446679516995, 4.682918401159086, 4731) + femmesh.addNode(4.231691515248947, 1.4974492385835796, 4.41531222119937, 4732) + femmesh.addNode(2.902140837189049, 3.4308152984005873, 37.85726626055589, 4733) + femmesh.addNode(2.914926308341145, 3.4209366743271485, 36.966243069702784, 4734) + femmesh.addNode(2.22739672798033, 3.7996068618062018, 37.410642856413816, 4735) + femmesh.addNode(2.231172785971146, 3.8482302303397464, 36.41747631623643, 4736) + femmesh.addNode(1.5436432056103309, 4.2269004178188, 36.861876102947456, 4737) + femmesh.addNode(-2.9746943189375017, 3.321911191408429, 33.836938940675225, 4738) + femmesh.addNode(3.7836710028096445, -2.271832023630884, 3.182749788138932, 4739) + femmesh.addNode(4.26074073900193, -1.4475233961015084, 3.624689204137977, 4740) + femmesh.addNode(3.3559609992610007, -2.9972399878789426, 3.2041042452830473, 4741) + femmesh.addNode(-0.8779619277855278, -4.373191879586128, 18.658772351176317, 4742) + femmesh.addNode(-0.8937639949594706, -4.372343247243086, 19.55164779670023, 4743) + femmesh.addNode(-0.095264855363727, -4.496603059281531, 19.07846514654393, 4744) + femmesh.addNode(3.9746218997816403, 2.103703611707339, 49.24776567845932, 4745) + femmesh.addNode(2.264752957368836, 3.775132490217681, 14.30512102810955, 4746) + femmesh.addNode(4.36507973840275, -0.8101838254351774, 30.743778684984115, 4747) + femmesh.addNode(4.5, -1.102182119232618e-15, 31.225, 4748) + femmesh.addNode(3.9409372272333743, -2.0714105957343247, 2.2034773051762886, 4749) + femmesh.addNode(1.439250155194675, -4.222610330728116, 46.83249496873264, 4750) + femmesh.addNode(0.9752818933997843, -4.390492175452714, 46.04143363298814, 4751) + femmesh.addNode(0.5518691785263947, -4.459875230821126, 46.845149076166194, 4752) + femmesh.addNode(-4.4177163389462475, -0.8351078103279602, 44.46027666072821, 4753) + femmesh.addNode(-4.44439410550608, -0.39384879524039973, 45.27346534079891, 4754) + femmesh.addNode(4.2287980736379245, 1.5201049824907096, 16.923190443475903, 4755) + femmesh.addNode(4.389960743327161, 0.7335445762563342, 17.37191800795729, 4756) + femmesh.addNode(4.2274853765764355, 1.5243683155652419, 17.799810065231114, 4757) + femmesh.addNode(4.388648046265672, 0.7378079093308665, 18.2485376297125, 4758) + femmesh.addNode(4.378826367081384, -0.7688856321185791, 19.124799684076194, 4759) + femmesh.addNode(4.378826367081384, -0.7688856321185791, 18.224799684076192, 4760) + femmesh.addNode(4.21960422771124, -1.5508938595784727, 18.68803611773854, 4761) + femmesh.addNode(-3.8701369075641736, 2.255081923241324, 4.740845780486354, 4762) + femmesh.addNode(-4.219768465815806, 1.4683809177200415, 4.79012434924482, 4763) + femmesh.addNode(4.5, -1.102182119232618e-15, 18.674999999999997, 4764) + femmesh.addNode(0.4915909153751217, 4.4480511449852695, 8.227615891939495, 4765) + femmesh.addNode(-0.5028446060036535, 4.451908070703068, 7.77071542069353, 4766) + femmesh.addNode(0.45783162619697354, 4.447510756373889, 9.040565247841183, 4767) + femmesh.addNode(-0.5366038951818016, 4.451367682091687, 8.583664776595219, 4768) + femmesh.addNode(1.829563443837839, -4.102369378844838, 28.490033383281002, 4769) + femmesh.addNode(2.517032470076658, -3.675227741808407, 28.92434940033035, 4770) + femmesh.addNode(2.3326856130706215, -3.761738469984348, 27.84463245867335, 4771) + femmesh.addNode(3.0201546393094407, -3.334596832947917, 28.278948475722693, 4772) + femmesh.addNode(2.2506282275028275, 3.8420708987518513, 18.722627337425287, 4773) + femmesh.addNode(1.5701036743809729, 4.216960506949224, 19.154827177641113, 4774) + femmesh.addNode(0.7779052771912057, 4.349219417351103, 19.63544761493803, 4775) + femmesh.addNode(0.02651136085640922, 4.496650686813339, 19.169522390842943, 4776) + femmesh.addNode(4.5, -1.102182119232618e-15, 37.45, 4777) + femmesh.addNode(-0.754063086177703, 4.404223386846686, 20.4718177682363, 4778) + femmesh.addNode(-0.749723831350824, 4.405446854596434, 19.589106747022463, 4779) + femmesh.addNode(0.030268769380706786, 4.496497480484363, 20.061432553976715, 4780) + femmesh.addNode(4.5, -1.102182119232618e-15, 48.224999999999994, 4781) + femmesh.addNode(3.907587642663632, 2.176437571428701, 26.31309815478373, 4782) + femmesh.addNode(3.909483672249471, 2.1737005055746508, 25.422774144888542, 4783) + femmesh.addNode(1.8293078829348142, -4.102463285350124, 29.368203494327304, 4784) + femmesh.addNode(2.5196105132645457, -3.6727745468734287, 29.841922665336845, 4785) + femmesh.addNode(2.2603448754189692, 3.777490114848909, 16.04562069423044, 4786) + femmesh.addNode(2.9201071557191938, 3.413704617668844, 16.49590932116523, 4787) + femmesh.addNode(3.8518322899297965, -2.267024205359544, 36.15530911591599, 4788) + femmesh.addNode(3.8500665097487143, -2.271169636550548, 35.241670707352505, 4789) + femmesh.addNode(4.372470616311681, -0.7882786149184002, 36.15262352686824, 4790) + femmesh.addNode(4.5, -1.102182119232618e-15, 36.575, 4791) + femmesh.addNode(-2.359709681007036, -3.713495172341263, 10.860175542386576, 4792) + femmesh.addNode(0.613996831771511, -4.386604586734423, 35.652271162331864, 4793) + femmesh.addNode(1.4404052394311777, -4.260839709079234, 36.088384996805864, 4794) + femmesh.addNode(3.8696768107764528, -2.2395656742242283, 38.85244060249929, 4795) + femmesh.addNode(3.422809749614675, -2.8962107990462753, 38.41102902314502, 4796) + femmesh.addNode(-1.4982998705682202, -4.223354066238881, 13.659902649019251, 4797) + femmesh.addNode(3.4653014725163427, 2.840146785934477, 13.414587030010777, 4798) + femmesh.addNode(3.4428303594052228, 2.8647315362418047, 35.58701102215031, 4799) + femmesh.addNode(3.8954200894178257, 2.2048366406771787, 36.10080711132546, 4800) + femmesh.addNode(3.8951197775660353, 2.205547035791131, 35.19620008134568, 4801) + femmesh.addNode(-2.2749247114992657, 3.869935131221503, 36.23677271387737, 4802) + femmesh.addNode(-2.338999322218384, 3.8372717109769674, 37.19229207262535, 4803) + femmesh.addNode(4.384333692652287, 0.751633449284363, 36.13085639342863, 4804) + femmesh.addNode(4.226641502468745, 1.530030477727617, 36.53354929562403, 4805) + femmesh.addNode(4.342307809816457, 0.7783970284432528, 36.97769290219539, 4806) + femmesh.addNode(-0.6806315167584415, -4.447705299748917, 42.59300190168216, 4807) + femmesh.addNode(2.83211714060681, -3.4823324065130508, 35.260910914741125, 4808) + femmesh.addNode(3.3922449264497683, -2.931681448909848, 35.69581566945699, 4809) + femmesh.addNode(2.843996024722933, -3.473815272166474, 36.17846770745176, 4810) + femmesh.addNode(3.9160183062763454, -2.1744881602671216, 42.36843991901222, 4811) + femmesh.addNode(4.23085246450249, -1.51676934235581, 42.80703813762436, 4812) + femmesh.addNode(-2.8586866508255393, -3.356386700351564, 30.010406749729487, 4813) + femmesh.addNode(4.216707130614098, -1.5576785701171438, 17.761551674719524, 4814) + femmesh.addNode(-4.397083436274732, 0.9519782561319998, 0.7542630508344568, 4815) + femmesh.addNode(4.375721971590555, -0.7784247643169415, 45.10577451487335, 4816) + femmesh.addNode(4.375721971590555, -0.7784247643169415, 45.93077451487335, 4817) + femmesh.addNode(4.236429638303879, -1.5117507348336392, 45.49573590788323, 4818) + femmesh.addNode(-4.0611291665609945, 1.938269109544581, 5.54955878188775, 4819) + femmesh.addNode(-4.210841892165058, 1.5350095146995755, 6.358684819265273, 4820) + femmesh.addNode(-4.296591859056184, 1.017812297777444, 5.493424357705317, 4821) + femmesh.addNode(3.8327436807538984, -2.2943406251078646, 34.33897366406498, 4822) + femmesh.addNode(-2.416256123775391, -3.7750291933777302, 5.448159298570383, 4823) + femmesh.addNode(-2.753005907706894, -3.5593624656345115, 6.28749805862801, 4824) + femmesh.addNode(-3.137126968137313, -3.197613582482341, 5.473398544459873, 4825) + femmesh.addNode(4.5, -1.102182119232618e-15, 6.324999999999999, 4826) + femmesh.addNode(1.516950907643631, -4.210064083517004, 1.6451169286371594, 4827) + femmesh.addNode(1.119316472832589, 4.3549346534869855, 0.7808424953057017, 4828) + femmesh.addNode(4.224471169172433, -1.5366007668407304, 41.03111867903767, 4829) + femmesh.addNode(4.341947787837383, -0.7792485783631378, 40.509698178993446, 4830) + femmesh.addNode(4.221165123726285, -1.5469235542518345, 40.11873108142595, 4831) + femmesh.addNode(-3.08934338704256, 3.2647539800224, 49.20867852789347, 4832) + femmesh.addNode(-0.02565220908652438, -4.496510747909467, 16.36529793635648, 4833) + femmesh.addNode(-4.352502014475018, -1.133742736381903, 26.463546468095547, 4834) + femmesh.addNode(4.389496933480121, -0.7350540149465887, 14.742392812034154, 4835) + femmesh.addNode(4.231715853069373, -1.5136613950216886, 14.262878521498688, 4836) + femmesh.addNode(4.229249932968379, -1.5216302203473302, 13.402026584863552, 4837) + femmesh.addNode(-0.6482720112949951, 4.437111700762241, 49.227696180106534, 4838) + femmesh.addNode(0.3277818949567976, 4.481980913399976, 49.169390546043275, 4839) + femmesh.addNode(4.2345322769669975, 1.5065619481734103, 16.039211871999044, 4840) + femmesh.addNode(3.8942686855035715, 2.209656307461786, 16.490732782648617, 4841) + femmesh.addNode(3.8871058028440326, 2.217013165732104, 34.30891738913265, 4842) + femmesh.addNode(4.5, -1.102182119232618e-15, 41.0, 4843) + femmesh.addNode(4.341609259275797, 0.7800482909087421, 40.55341208986151, 4844) + femmesh.addNode(4.5, -1.102182119232618e-15, 24.950000000000003, 4845) + femmesh.addNode(0.15585847325285426, -4.495678673064949, 6.602956669895001, 4846) + femmesh.addNode(0.0211553939264027, -4.493483333237969, 7.399604972285923, 4847) + femmesh.addNode(-4.116865824829332, 1.8166398951731728, 47.6461623967587, 4848) + femmesh.addNode(-2.918604220529152, -3.336486952411246, 28.805001708129552, 4849) + femmesh.addNode(-3.0452968864281793, -3.2507767111530788, 27.671460777364327, 4850) + femmesh.addNode(0.9336134823984661, -4.36532443402692, 28.140437883107424, 4851) + femmesh.addNode(0.9333579214954413, -4.365418340532207, 29.018607994153726, 4852) + femmesh.addNode(0.20106778203113682, -4.49458074728088, 0.8099271105709318, 4853) + femmesh.addNode(-0.746211343320776, -4.431269021775963, 0.8220537632622735, 4854) + femmesh.addNode(-0.25357833821415815, -4.4817292024130095, 1.6319808738332053, 4855) + femmesh.addNode(-0.8023148067499065, -4.396458985858276, 15.892768480694741, 4856) + femmesh.addNode(-1.6207924822210757, -4.176282598729747, 16.28153061955556, 4857) + femmesh.addNode(4.376983698869483, 0.774563422392736, 8.486572751017011, 4858) + femmesh.addNode(4.3752851742659455, 0.77975659081049, 9.380358483714145, 4859) + femmesh.addNode(4.5, -1.102182119232618e-15, 19.575, 4860) + femmesh.addNode(-4.256357521941451, 1.3805524401049012, 48.40180083865947, 4861) + femmesh.addNode(-4.399219024240326, 0.9446592854552398, 47.6212871002922, 4862) + femmesh.addNode(-1.9014691149100627, 4.071178863491648, 4.566375125036775, 4863) + femmesh.addNode(-1.5389242453690548, 4.1881176039802686, 3.778703774368984, 4864) + femmesh.addNode(-3.9169954066434656, 2.009654806608979, 19.190017169089444, 4865) + femmesh.addNode(-3.534552699975116, 2.7849029924308484, 19.594493613516047, 4866) + femmesh.addNode(4.215586017165433, -1.5611229464186644, 6.228379615567896, 4867) + femmesh.addNode(-2.305926858944711, 3.8464958938057903, 9.298050131038396, 4868) + femmesh.addNode(-2.770790068640399, -3.433942700166024, 45.21363763316925, 4869) + femmesh.addNode(-2.0790836802408, -3.989381340843277, 45.18128789296627, 4870) + femmesh.addNode(2.278123550547333, 3.8305635679260304, 26.830629713882715, 4871) + femmesh.addNode(2.9389284510702134, 3.3974219212137307, 27.246682065929235, 4872) + femmesh.addNode(-1.0112579462168503, -4.273392230198217, 34.706690377892656, 4873) + femmesh.addNode(-1.9122936457658821, -4.070333655799515, 34.240306415481896, 4874) + femmesh.addNode(-0.20678612704449367, -4.494958718585605, 34.26037417137638, 4875) + femmesh.addNode(-1.1078218265935256, -4.2919001441869025, 33.793990208965624, 4876) + femmesh.addNode(0.05517580729084636, 4.49715498898096, 27.309010593005063, 4877) + femmesh.addNode(0.04202769710155598, 4.497674478887004, 26.419792443982182, 4878) + femmesh.addNode(-2.1821822939277156, -3.9335999670099078, 38.65219157256558, 4879) + femmesh.addNode(-1.4895036361689673, -4.2110156364308065, 38.773283659946415, 4880) + femmesh.addNode(-1.6501460660845773, -4.167517752902039, 38.00028391921248, 4881) + femmesh.addNode(-1.5482713111976163, 4.206558613874162, 30.14372170849432, 4882) + femmesh.addNode(-1.5518814015263107, 4.2055423347209935, 29.228949144349833, 4883) + femmesh.addNode(-2.2723319667449107, 3.871021137402842, 29.661827163387663, 4884) + femmesh.addNode(-3.3902708641273476, 2.9413753165967167, 1.5926228512512879, 4885) + femmesh.addNode(4.241170594763737, 1.4905436537274084, 21.37262830945727, 4886) + femmesh.addNode(4.240263687416059, 1.4934916657601587, 20.485288330439026, 4887) + femmesh.addNode(0.7759400060275801, -4.3735668547859206, 38.38949023794075, 4888) + femmesh.addNode(0.6525838411362476, -4.367593516787583, 39.389672178336596, 4889) + femmesh.addNode(-0.0568487549772988, -4.494080835578396, 38.84338058202084, 4890) + femmesh.addNode(-0.9653898784260465, 4.36279479722039, 39.94678869536607, 4891) + femmesh.addNode(1.107545576973637, -4.361551206025008, 0.8475195573743507, 4892) + femmesh.addNode(3.4532282379444217, -2.863361706487697, 10.677980175614916, 4893) + femmesh.addNode(2.863045594718663, -3.4496316787993084, 10.193743643774907, 4894) + femmesh.addNode(2.9025065050330516, -3.421182352025399, 11.115355010235884, 4895) + femmesh.addNode(3.444072786828372, -2.853215195792022, 41.92669746862654, 4896) + femmesh.addNode(3.902066554731638, 2.1952223220999696, 36.991418242276275, 4897) + femmesh.addNode(4.5, -1.102182119232618e-15, 39.225, 4898) + femmesh.addNode(4.5, -1.102182119232618e-15, 38.35, 4899) + femmesh.addNode(-3.4327263051558576, -2.8353529907411716, 9.34778089299713, 4900) + femmesh.addNode(-3.929433644143606, -2.1759368729623816, 9.502105808527215, 4901) + femmesh.addNode(-3.1505444965371954, -3.2041426192287688, 8.546776524318664, 4902) + femmesh.addNode(-3.647251835524944, -2.544726501449979, 8.701101439848749, 4903) + femmesh.addNode(-3.716112381855869, 2.339488350744206, 42.2794472126421, 4904) + femmesh.addNode(-4.070798807212779, 1.9062738790198335, 42.96754504350872, 4905) + femmesh.addNode(-3.578757433792843, 2.6618426640492934, 43.059538668061734, 4906) + femmesh.addNode(3.389986730474876, -2.940313680507956, 32.98890885966, 4907) + femmesh.addNode(2.8407423001070704, -3.4723669753107083, 32.55516361969568, 4908) + femmesh.addNode(1.4902992348178543, -4.245435378468436, 37.9509060701119, 4909) + femmesh.addNode(-1.505601384315778, 4.215830619284684, 47.61166561063875, 4910) + femmesh.addNode(-2.329791000786982, 3.8332746269652027, 47.63386026478484, 4911) + femmesh.addNode(-1.9545721096092932, 4.053229770841016, 48.43623817724876, 4912) + femmesh.addNode(-3.8282166262482917, -2.3128560002276, 34.12304772178326, 4913) + femmesh.addNode(-3.3704590290666157, -2.973096909423233, 33.405653524739556, 4914) + femmesh.addNode(-1.5643431094624538, 4.201290042054539, 35.82278424917777, 4915) + femmesh.addNode(-1.57717588283289, 4.194979482823053, 34.83166155701484, 4916) + femmesh.addNode(-2.307841511926638, 3.8473292646860635, 35.35783682955467, 4917) + femmesh.addNode(3.5339322573376273, 2.751306059355422, 46.320358904224264, 4918) + femmesh.addNode(-3.90666534447074, 2.1136515720264337, 20.018977977974153, 4919) + femmesh.addNode(-4.28910805113909, 1.338403386204564, 19.614501533547546, 4920) + femmesh.addNode(-3.565440274707571, 2.745459293848041, 39.00281789798703, 4921) + femmesh.addNode(-2.9228538955189465, 3.329977338120724, 39.13835657344775, 4922) + femmesh.addNode(-0.13783179270553977, -4.495750739481013, 20.95321519976455, 4923) + femmesh.addNode(-0.9334595898925477, -4.363176285285982, 21.427593964057973, 4924) + femmesh.addNode(3.4555285872421724, 2.8511619360709144, 20.49364303756441, 4925) + femmesh.addNode(3.9069296463254712, 2.179640667354369, 20.933985826906476, 4926) + femmesh.addNode(3.4632159699375746, 2.839989657679337, 19.606253974408226, 4927) + femmesh.addNode(3.9146170290208735, 2.1684683889627916, 20.046596763750287, 4928) + femmesh.addNode(0.785708099703168, 4.373287869582491, 36.409265541617586, 4929) + femmesh.addNode(1.5596747705403884, 4.22106276357681, 35.98122551788981, 4930) + femmesh.addNode(-1.615798974387637, 4.172204112538719, 38.47572626273297, 4931) + femmesh.addNode(-1.7224064622543582, 4.111145798913144, 39.45245608244612, 4932) + femmesh.addNode(-2.2755757346220986, 3.87870211118181, 38.79894153185905, 4933) + femmesh.addNode(-2.3821832224888198, 3.817643797556235, 39.7756713515722, 4934) + femmesh.addNode(-4.49876054361278, 0.038764124086540196, 46.06407296245229, 4935) + femmesh.addNode(-4.470537947569682, -0.4126498809529906, 46.81174614757217, 4936) + femmesh.addNode(-4.416171509462981, -0.8452628002799305, 46.021138525918786, 4937) + femmesh.addNode(-3.9770549089106746, -1.8951826565051084, 14.976901302810987, 4938) + femmesh.addNode(-4.021357828098507, -1.8321405473464458, 13.900307493122298, 4939) + femmesh.addNode(3.412441912527311, 2.900616359696585, 40.12834182989672, 4940) + femmesh.addNode(3.4229106549073363, 2.885756665360736, 39.23970490166327, 4941) + femmesh.addNode(0.12221816011719283, -4.4947647662098165, 49.21934799139072, 4942) + femmesh.addNode(-0.3418272565234666, -4.480767987859185, 48.41477739592791, 4943) + femmesh.addNode(-0.7556106397161404, -4.430123788293201, 49.195429404537194, 4944) + femmesh.addNode(-2.9262251240525403, 3.362784837915704, 23.68609717204697, 4945) + femmesh.addNode(-2.91227107696057, 3.379132753409345, 24.60222204011032, 4946) + femmesh.addNode(-1.0579524706767134, 4.288528916238594, 48.45040637160267, 4947) + femmesh.addNode(-0.5940695879820561, 4.449509317516775, 47.63605037658746, 4948) + femmesh.addNode(-4.331703555005349, -1.1034681358932703, 40.50257410306509, 4949) + femmesh.addNode(0.30038691546410334, 4.474188561419991, 44.49400991670802, 4950) + femmesh.addNode(-3.8051550526086615, 2.3849232885666263, 8.946607886438397, 4951) + femmesh.addNode(-3.3620300809057406, 2.968266005683679, 9.934715119959353, 4952) + femmesh.addNode(-4.012774240790767, 1.8859345177451856, 9.747850468845137, 4953) + femmesh.addNode(-3.8021881829530546, 2.4054020250387866, 40.750527987010294, 4954) + femmesh.addNode(-3.2751506793406486, 2.9844389405203717, 40.71305586490858, 4955) + femmesh.addNode(-3.888171939665777, 2.2012843094563457, 48.41842308584586, 4956) + femmesh.addNode(-4.459288738499195, 0.5067571653028519, 48.42893727948881, 4957) + femmesh.addNode(-4.394891614003291, 0.9632534115879465, 49.20524991534495, 4958) + femmesh.addNode(2.1789489753405853, -3.8052297827452257, 25.14896480083705, 4959) + femmesh.addNode(2.901202680548547, -3.427869565487927, 25.561735433735418, 4960) + femmesh.addNode(0.8236569243330284, 4.340608101373032, 28.716934165225524, 4961) + femmesh.addNode(-2.7525223922674833, -3.5087046326432394, 12.557385581366496, 4962) + femmesh.addNode(-2.235881892216384, 3.8882444446259417, 28.685171242336747, 4963) + femmesh.addNode(4.3420074979646675, 0.7791074235572053, 35.14808587221561, 4964) + femmesh.addNode(4.5, -1.102182119232618e-15, 35.65, 4965) + femmesh.addNode(2.261823390861382, -3.8319788917608957, 15.096754018395362, 4966) + femmesh.addNode(2.9448636010465945, -3.394147730820027, 15.586945056316619, 4967) + femmesh.addNode(4.5, -1.102182119232618e-15, 9.825, 4968) + femmesh.addNode(-1.187758742040682, -4.336119788811386, 3.1038105526375626, 4969) + femmesh.addNode(2.222465207655058, -3.8713566715844703, 11.539115983026106, 4970) + femmesh.addNode(2.24831739641796, -3.8608385365840343, 10.643894888324443, 4971) + femmesh.addNode(2.1341300523324107, -3.8903912069879785, 42.06821058643986, 4972) + femmesh.addNode(0.8474746842921766, -4.3674429938204335, 43.71151294777789, 4973) + femmesh.addNode(0.76117544549771, -4.397734504445342, 42.77757924931434, 4974) + femmesh.addNode(-4.324800477649156, 1.2348767358696253, 33.36235366845588, 4975) + femmesh.addNode(-4.342784344547078, 1.1756248223990111, 34.25367990482363, 4976) + femmesh.addNode(-4.437791628960924, 0.33882554875355053, 33.74082162840482, 4977) + femmesh.addNode(-0.7837249425578038, -4.335063601024543, 11.528414031935974, 4978) + femmesh.addNode(-0.053517462929343854, -4.498915024939006, 11.987279894743974, 4979) + femmesh.addNode(-1.3402664711751568, -4.274961462149576, 12.046921908280543, 4980) + femmesh.addNode(3.4672818658392632, 2.840247195394647, 25.892736860488643, 4981) + femmesh.addNode(3.4691778954251022, 2.837510129540596, 25.00241285059345, 4982) + femmesh.addNode(-0.23250921138935127, -4.493903130758018, 33.1250209181721, 4983) + femmesh.addNode(-0.23841795567845972, -4.493547674194689, 32.22758866381994, 4984) + femmesh.addNode(-1.0427783175410272, -4.269314534517163, 32.6785538738815, 4985) + femmesh.addNode(1.6065765913966232, -4.203437563330839, 26.599011698287867, 4986) + femmesh.addNode(1.4928379795852258, -4.243915055768502, 25.578770168114055, 4987) + femmesh.addNode(0.7640785173054339, -4.368521022823403, 26.18958553160114, 4988) + femmesh.addNode(3.038970986148878, -3.3164884395560255, 27.36286125397599, 4989) + femmesh.addNode(2.8995689123227963, -3.429464359615433, 26.425715913054088, 4990) + femmesh.addNode(3.471529916059347, -2.8259296472328455, 26.772593874019236, 4991) + femmesh.addNode(1.5847684458479758, -4.211597114863391, 27.5149580150269, 4992) + femmesh.addNode(2.2910538189262324, -3.766347084435069, 27.03318681032954, 4993) + femmesh.addNode(-0.7351929490491026, 4.404095118206735, 23.20258492756509, 4994) + femmesh.addNode(1.6056520075086183, -4.198873206981985, 42.74993142275497, 4995) + femmesh.addNode(2.3761418525814326, -3.735543010087156, 43.18104458520851, 4996) + femmesh.addNode(-1.5842292435562295, 4.196786777962365, 15.491992807169256, 4997) + femmesh.addNode(-0.8053325696207114, 4.393560948404042, 15.907046581911732, 4998) + femmesh.addNode(-3.953068385979658, -2.146689093008179, 46.81969537590899, 4999) + femmesh.addNode(-4.25656360521525, -1.2816211314331203, 46.80456035351985, 5000) + femmesh.addNode(-4.151119136577719, -1.7099723669339673, 46.03456073622911, 5001) + femmesh.addNode(2.9557314174290332, -3.352085319441117, 1.451182842275303, 5002) + femmesh.addNode(2.9185106869177035, -3.393599435682418, 2.303833534768019, 5003) + femmesh.addNode(3.5504479541960596, -2.7553044437410814, 1.3721810698276877, 5004) + femmesh.addNode(3.51322722368473, -2.796818559982383, 2.2248317623204037, 5005) + femmesh.addNode(-3.727905598871164, -2.5011569958114874, 7.07268154240438, 5006) + femmesh.addNode(-3.0820001673064534, -3.2301079551626404, 7.0284093012374855, 5007) + femmesh.addNode(-3.4054494759659573, -2.936442493555057, 7.871233212169475, 5008) + femmesh.addNode(-3.0247696016774444, 3.2331257532835522, 39.64013267611148, 5009) + femmesh.addNode(-4.383729314296935, -0.9552979678524689, 10.539153162531623, 5010) + femmesh.addNode(-4.285020824837798, -1.2103406559694583, 9.577686930429095, 5011) + femmesh.addNode(-4.028142133602742, -1.9208941848453924, 10.463572040629742, 5012) + femmesh.addNode(-4.387588532865594, 0.9995240308895785, 46.07926288247786, 5013) + femmesh.addNode(1.4813539346741036, -4.225676284576885, 45.42000014781178, 5014) + femmesh.addNode(1.9453221964689944, -4.057794439852289, 46.21106148355628, 5015) + femmesh.addNode(-3.679155838305229, 2.587126390818991, 49.22187216253134, 5016) + femmesh.addNode(2.1555861663834097, -3.9030923226682037, 24.126632882917924, 5017) + femmesh.addNode(1.4725947196338174, -4.2514987246084734, 24.66146318783923, 5018) + femmesh.addNode(4.676171202316354, 0.3044561771844646, 49.62146853699903, 5019) + femmesh.addNode(1.6919512463030848, -4.1685816963570765, 43.68386512121852, 5020) + femmesh.addNode(-3.4855079110464646, -2.845838166100025, 38.14815042013073, 5021) + femmesh.addNode(-3.4455451067356653, -2.894439452295412, 39.01772201115426, 5022) + femmesh.addNode(4.235146795440277, 1.5024456934613444, 2.0116852503986786, 5023) + femmesh.addNode(4.197162178771304, 1.5868299460195, 0.7502042087578784, 5024) + femmesh.addNode(3.87140831230474, -2.2402743104264635, 19.144436086651176, 5025) + femmesh.addNode(3.4303822246766567, -2.8867950375133056, 19.584553794618124, 5026) + femmesh.addNode(-3.5566178194995275, -2.7175813322343414, 10.132584515546824, 5027) + femmesh.addNode(-2.2782457091732398, -3.8771312543766934, 28.41001619716212, 5028) + femmesh.addNode(2.978629006159455, 3.359247128569458, 30.86917975324282, 5029) + femmesh.addNode(1.3574039988224094, 4.280230046880797, 11.258302588792949, 5030) + femmesh.addNode(0.6437175909923989, 4.355008971819636, 11.85093140291583, 5031) + femmesh.addNode(1.5291914499656225, 4.230046993992852, 12.149828782896746, 5032) + femmesh.addNode(2.8490376611229857, -3.4694380997085164, 22.759691407691854, 5033) + femmesh.addNode(3.401312459009687, -2.9206149076608168, 23.194619274465246, 5034) + femmesh.addNode(4.376423300973579, -0.7762810667469832, 21.814015955269824, 5035) + femmesh.addNode(4.236341010281981, 1.507017138683213, 24.960327465708986, 5036) + femmesh.addNode(4.390207852785603, 0.7327389852341945, 24.51175645950461, 5037) + femmesh.addNode(2.7135381157829905, 3.589022085332952, 0.7512180966793525, 5038) + femmesh.addNode(-4.418860510806975, 0.7239742587326068, 8.021285767352287, 5039) + femmesh.addNode(-4.445955666237251, -0.2487894559550149, 8.022481183424611, 5040) + femmesh.addNode(-4.312217797983651, -1.2699061382460626, 4.745245118605097, 5041) + femmesh.addNode(-3.919119388499332, -2.0652435432016096, 4.744345623252746, 5042) + femmesh.addNode(-4.166485325371018, -1.6770723460738677, 5.518361561870741, 5043) + femmesh.addNode(-2.511146558102551, -3.695667304027004, 40.28813083133811, 5044) + femmesh.addNode(-1.775054030603628, -4.1286448829990805, 40.32094325579234, 5045) + femmesh.addNode(-2.15961591872977, -3.945058820396987, 39.508859400421976, 5046) + femmesh.addNode(3.4163084045480545, -2.9004507489928093, 18.663084397792467, 5047) + femmesh.addNode(2.908671036686788, -3.4218083267573336, 19.147901913308736, 5048) + femmesh.addNode(2.8945972165581852, -3.435464038236838, 18.22643251648308, 5049) + femmesh.addNode(3.413836282633717, 2.899296918446119, 41.05399310666219, 5050) + femmesh.addNode(3.9709815177615457, -2.091264268372101, 27.978576539530806, 5051) + femmesh.addNode(3.5274441377584047, -2.738843090433237, 27.5348316978559, 5052) + femmesh.addNode(3.5086277909189674, -2.7569514838251292, 28.4509189196026, 5053) + femmesh.addNode(3.890574265896928, 2.2124387410451813, 39.70788226990878, 5054) + femmesh.addNode(0.27445521900118636, -4.377911117434704, 41.99635079904024, 5055) + femmesh.addNode(-0.5086017300730719, -4.4694000461443215, 41.54479542127221, 5056) + femmesh.addNode(1.2996606738320537, -4.307352265718647, 41.81001867421691, 5057) + femmesh.addNode(0.5166037247577955, -4.3988411944282655, 41.358463296448875, 5058) + femmesh.addNode(-3.991078964247648, 1.992324755668219, 41.58033092959016, 5059) + femmesh.addNode(1.8485591830981556, -4.018311260156168, 5.47164495886709, 5060) + femmesh.addNode(1.4734066547576394, -4.250051143483975, 20.985216018679928, 5061) + femmesh.addNode(0.7067134013524262, -4.368034774020179, 20.512624089400177, 5062) + femmesh.addNode(3.4934863656064996, -2.8131452175281573, 6.234955270265997, 5063) + femmesh.addNode(2.8426574230356296, -3.45800160460834, 6.361845041328486, 5064) + femmesh.addNode(3.4450204698297133, -2.880696233640494, 7.0942485797802, 5065) + femmesh.addNode(2.3011715628061538, 3.817597041309642, 24.99437726144704, 5066) + femmesh.addNode(0.042227673445534686, 4.4975640133805905, 23.65409821298187, 5067) + femmesh.addNode(-0.7316995240337969, 4.405085235525513, 24.077190052143298, 5068) + femmesh.addNode(-4.335471806821676, 1.2056508091815594, 7.204460736582536, 5069) + femmesh.addNode(-4.405999302997157, 0.22787521089600477, 7.182010479946301, 5070) + femmesh.addNode(4.2695588113524385, 1.3466206752083703, 3.679812269854636, 5071) + femmesh.addNode(4.038634172450337, 1.9792822430164696, 3.7536429367676813, 5072) + femmesh.addNode(3.30418747669432, -3.043044603716184, 29.223264664479178, 5073) + femmesh.addNode(4.284762367492679, 1.3115810445504903, 2.712750868838411, 5074) + femmesh.addNode(4.053837728590578, 1.9442426123585896, 2.7865815357514565, 5075) + femmesh.addNode(1.6490548227850113, 4.1860793305442545, 29.180897078951666, 5076) + femmesh.addNode(1.6387499846325069, 4.189911349453699, 30.07259553123547, 5077) + femmesh.addNode(2.3060255409399417, 3.8192128552900115, 29.630550948871974, 5078) + femmesh.addNode(4.236037250280665, 1.5066505726144563, 28.53749454461596, 5079) + femmesh.addNode(4.235596521454879, 1.507725316589407, 29.44124323091357, 5080) + femmesh.addNode(4.385363798391776, 0.7483579018905067, 28.950882730679965, 5081) + femmesh.addNode(3.895130587869386, 2.205304521298812, 2.0116952216174844, 5082) + femmesh.addNode(1.6084434373330707, 4.202243825171374, 25.496022318005657, 5083) + femmesh.addNode(0.8119769861469165, 4.345262146556957, 25.062769395583608, 5084) + femmesh.addNode(0.8365281009958545, 4.35460592781481, 25.923937704488658, 5085) + femmesh.addNode(0.04006164980970032, 4.497624249200393, 25.49068478206661, 5086) + femmesh.addNode(-2.23648237138507, 3.89082845944725, 25.94813266059255, 5087) + femmesh.addNode(-2.8178487324815706, 3.352887366331507, 26.370166288408406, 5088) + femmesh.addNode(-2.25577564125546, 3.8778493022162897, 26.822718043154275, 5089) + femmesh.addNode(-3.731836084187056, -2.49203986877795, 37.12175000840991, 5090) + femmesh.addNode(0.8784509993465031, 4.3425280120669, 29.616669041069454, 5091) + femmesh.addNode(0.07208168393123501, 4.497469291705098, 30.192796718589115, 5092) + femmesh.addNode(4.54864043310125, -1.0472986891498361, 0.4458685054044098, 5093) + femmesh.addNode(-3.357101366792228, 2.987791953438607, 45.33615570890585, 5094) + femmesh.addNode(-3.0498817749098466, 3.298640572926642, 46.10246139382252, 5095) + femmesh.addNode(-2.6568149239644607, 3.54791062508723, 45.30940816370875, 5096) + femmesh.addNode(1.710318642983178, 4.158277119596767, 32.08857481935099, 5097) + femmesh.addNode(2.5107255727344593, -3.727718004857852, 47.777313351385395, 5098) + femmesh.addNode(1.4352601353213412, -4.253809223644348, 48.4119684592951, 5099) + femmesh.addNode(1.6755546618398394, -4.131889346394835, 47.7658583304309, 5100) + femmesh.addNode(-2.7074789654345, 3.5914868885839484, 46.8538802937293, 5101) + femmesh.addNode(-3.0116911947025025, 3.3288730897584253, 44.64029276893596, 5102) + femmesh.addNode(2.1389336732349817, 3.9297227905711503, 9.071325116373238, 5103) + femmesh.addNode(2.813934473254453, 3.4857201138686404, 9.45460045253592, 5104) + femmesh.addNode(2.146433656989478, 3.926723189738829, 9.930493979665584, 5105) + femmesh.addNode(1.3611120767538627, 4.278742618335638, 10.40077986619028, 5106) + femmesh.addNode(0.5785051231687313, 4.422932369464684, 10.86621951642185, 5107) + femmesh.addNode(1.2531662624105984, 4.30359168875902, 9.446049764663584, 5108) + femmesh.addNode(1.2456662786561021, 4.306591289591342, 8.586880901371238, 5109) + femmesh.addNode(-3.894881362449036, 2.0956056265391565, 23.60802606829445, 5110) + femmesh.addNode(-0.7866660107779659, -4.4227154326567755, 47.625703751825995, 5111) + femmesh.addNode(0.12642902959082353, 4.4922098871316924, 13.070736791773742, 5112) + femmesh.addNode(-0.7731743045801228, 4.395036080941687, 13.141469372086505, 5113) + femmesh.addNode(-0.15834143523847818, 4.497158283018192, 12.296487132286385, 5114) + femmesh.addNode(-4.426235595718636, 0.6362927374112729, 25.490170700038433, 5115) + femmesh.addNode(3.3995568648931505, 2.919202579722973, 41.9386258553617, 5116) + femmesh.addNode(0.6628105741732135, 4.350079728114138, 39.149799078701676, 5117) + femmesh.addNode(-3.741508635366957, -2.4762329521112507, 44.45016055106589, 5118) + femmesh.addNode(-4.189725457851873, -1.6289444963930944, 44.49085501734244, 5119) + femmesh.addNode(-3.932250247962837, -2.0523155620427946, 45.23926142512881, 5120) + femmesh.addNode(-1.5573907092350066, 4.203269936591004, 36.6590076535319, 5121) + femmesh.addNode(-1.6214653199541247, 4.170606516346469, 37.61452701227988, 5122) + femmesh.addNode(-0.7797670814521989, 4.40296261066324, 37.22556642167013, 5123) + femmesh.addNode(2.215091684793187, -3.8665548385112034, 25.99154080101242, 5124) + femmesh.addNode(-4.310743804925318, 1.2645893101711216, 37.97393295896583, 5125) + femmesh.addNode(-4.451611635959663, 0.4273811047496767, 38.21847245481679, 5126) + femmesh.addNode(-4.495245258232488, 0.003925994049529674, 12.101528840022121, 5127) + femmesh.addNode(-4.407966793111448, -0.48773906982787096, 11.36915229233687, 5128) + femmesh.addNode(-4.451934358221956, -0.5758655799054386, 12.811692011951932, 5129) + femmesh.addNode(-4.364655893100915, -1.0675306437828391, 12.079315464266681, 5130) + femmesh.addNode(-4.471438530348969, -0.27054593006480343, 9.694102711515933, 5131) + femmesh.addNode(-4.495676009163482, 0.1970129679597945, 10.52410184132118, 5132) + femmesh.addNode(4.5, -1.102182119232618e-15, 4.5, 5133) + femmesh.addNode(4.362667897164497, -0.8171905577699083, 4.007773779785184, 5134) + femmesh.addNode(0.7765348391076198, -4.339430793176781, 15.956970211283602, 5135) + femmesh.addNode(0.006708012898309149, -4.495357502864502, 15.522034442023191, 5136) + femmesh.addNode(1.488648077863144, -4.240703934153117, 10.180378544912589, 5137) + femmesh.addNode(1.4303533498584209, -4.257520344559269, 9.24386964767571, 5138) + femmesh.addNode(0.7492080477003097, -4.393282299314203, 9.70416187751106, 5139) + femmesh.addNode(0.6909133196955868, -4.410098709720354, 8.767652980274182, 5140) + femmesh.addNode(1.535494017984117, -4.229746984604407, 18.194825697597704, 5141) + femmesh.addNode(2.209435980279786, -3.8665856284781843, 18.660193646341284, 5142) + femmesh.addNode(2.2206552542625166, -3.798625394363061, 17.7610645677395, 5143) + femmesh.addNode(1.5903940960565386, -4.209550021741465, 15.523731070017508, 5144) + femmesh.addNode(0.8205672698472279, -4.365476731429186, 15.088795300757099, 5145) + femmesh.addNode(3.466527288734979, 2.8430972881330363, 23.192133452196632, 5146) + femmesh.addNode(3.4732384358425463, 2.8334440250847353, 24.079128676561943, 5147) + femmesh.addNode(2.8825202458867327, -3.441074086450395, 11.980396935251559, 5148) + femmesh.addNode(1.4935898089117132, -4.244178473457463, 19.12011387355941, 5149) + femmesh.addNode(3.9162985925309997, 2.15335187839792, 32.54041659688227, 5150) + femmesh.addNode(3.908367421784983, 2.164698833766831, 33.43048176535808, 5151) + femmesh.addNode(4.248277082039317, 1.4762842564823608, 32.980530485918095, 5152) + femmesh.addNode(1.0064448893771674, 4.3652797576914235, 43.979475883944396, 5153) + femmesh.addNode(4.5, -1.102182119232618e-15, 28.5, 5154) + femmesh.addNode(4.398238773561001, -0.7060104708774702, 27.155536682267346, 5155) + femmesh.addNode(4.398238773561001, -0.7060104708774702, 28.055536682267345, 5156) + femmesh.addNode(0.22523463114057685, 4.483761101698066, 46.01054720681336, 5157) + femmesh.addNode(-2.2516785070790446, 3.883608327645423, 25.002156912025512, 5158) + femmesh.addNode(-1.5458543037774115, 4.208592923169308, 24.573772678108647, 5159) + femmesh.addNode(2.0837819689504298, 3.922273629879669, 42.03594264527518, 5160) + femmesh.addNode(1.395087356418574, 4.278176403159531, 41.57182836436715, 5161) + femmesh.addNode(3.89308100293033, -2.212241041104024, 5.748069839440081, 5162) + femmesh.addNode(3.844615107153544, -2.2797920572163606, 6.607363148954285, 5163) + femmesh.addNode(4.5, -1.102182119232618e-15, 7.174999999999999, 5164) + femmesh.addNode(4.37470852373649, -0.7815109898736312, 7.54517973180848, 5165) + femmesh.addNode(4.5, -1.102182119232618e-15, 8.025, 5166) + femmesh.addNode(3.452309619537071, 2.8544348249637004, 16.05504526070252, 5167) + femmesh.addNode(0.04190433303391083, 4.49755561957759, 24.60665458153098, 5168) + femmesh.addNode(-0.7320228644454208, 4.405076841722512, 25.029746420692405, 5169) + femmesh.addNode(0.013048488834322206, 4.4958109607476295, 16.448097279161402, 5170) + femmesh.addNode(0.6001208849110407, -4.375684726325119, 34.71323820557187, 5171) + femmesh.addNode(3.456577807689675, 2.850044383945213, 17.823882414898243, 5172) + femmesh.addNode(2.923916644239428, 3.4099769221650185, 17.385909050705017, 5173) + femmesh.addNode(3.45276831916944, 2.8537720794490387, 16.93388268535845, 5174) + femmesh.addNode(3.3983342833072285, -2.9234017347841483, 36.64339392072827, 5175) + femmesh.addNode(2.859761423764146, -3.458592756670659, 37.052506348327015, 5176) + femmesh.addNode(-0.22931194420617695, -4.494088154250505, 31.324261304237595, 5177) + femmesh.addNode(0.3902081603641681, -4.445389403837694, 30.444895775748094, 5178) + femmesh.addNode(2.93257902431507, 3.4032906385755357, 18.268521403504664, 5179) + femmesh.addNode(2.2920352156713393, 3.8247326016554943, 24.10756118594466, 5180) + femmesh.addNode(1.62183397469791, 4.196817811788551, 24.54722223254369, 5181) + femmesh.addNode(-3.696207397422011, 2.564290844122711, 0.7535406442624768, 5182) + femmesh.addNode(-4.125324700705795, 1.797662717127915, 0.8254035545018291, 5183) + femmesh.addNode(-0.9478482649837287, 4.308974767976887, 11.881162704917404, 5184) + femmesh.addNode(-0.1351812846612793, 4.497711294403524, 11.458848330544733, 5185) + femmesh.addNode(-1.0353899988815174, 4.29129722856736, 11.348228581770293, 5186) + femmesh.addNode(-3.9255121002992768, 2.0152096836790294, 22.796706148217037, 5187) + femmesh.addNode(-3.9267060836453878, 2.0508889283866223, 21.840761094021662, 5188) + femmesh.addNode(-4.306478337734149, 1.2959522999884099, 22.330347208727403, 5189) + femmesh.addNode(-4.43843878899601, -0.6819416887846346, 35.265374510713436, 5190) + femmesh.addNode(-4.438490182240857, -0.681717125807247, 36.2008406345129, 5191) + femmesh.addNode(-0.7699264114502915, -4.429316533594383, 5.356680382422848, 5192) + femmesh.addNode(-0.471176415197582, -4.473013596086417, 4.602536873952179, 5193) + femmesh.addNode(-1.2233843271745408, -4.268202209543633, 4.667288594197223, 5194) + femmesh.addNode(2.9433196020734345, 3.3927999404695166, 20.947599940924235, 5195) + femmesh.addNode(-0.7094719132774875, 4.406685045478564, 30.64233191521278, 5196) + femmesh.addNode(-3.0501816000833895, 3.26505185752249, 14.568937637439952, 5197) + femmesh.addNode(1.5567586170820018, -4.221651160406425, 12.916194852939913, 5198) + femmesh.addNode(0.7697430325040399, -4.355445573441669, 12.417148056082556, 5199) + femmesh.addNode(0.8641181439965009, -4.361102160741321, 13.34924093736619, 5200) + femmesh.addNode(-4.442296618335838, -0.2548433483824575, 37.01794880346547, 5201) + femmesh.addNode(-4.400255085996534, -0.9404301541829341, 37.075385482056674, 5202) + femmesh.addNode(3.7866342333907355, -2.3273168298901634, 46.050905349832206, 5203) + femmesh.addNode(3.411888267882519, -2.9326162074644175, 46.49473660387953, 5204) + femmesh.addNode(4.232403495420787, 1.5124374561201919, 19.5905316164829, 5205) + femmesh.addNode(3.9067568370256014, 2.1874141793228246, 19.15184004979416, 5206) + femmesh.addNode(-2.2867873346094347, 3.8658354663740004, 18.672844655781233, 5207) + femmesh.addNode(-1.5742959420991296, 4.193843108698717, 19.147954761308974, 5208) + femmesh.addNode(-1.5856749677854847, 4.190616764879616, 18.254709398773144, 5209) + femmesh.addNode(-0.767641234013355, 4.404707841935265, 18.668400228886163, 5210) + femmesh.addNode(-3.6711934866459837, 2.5990904399456736, 47.647128333263, 5211) + femmesh.addNode(-3.337600150450368, 2.943971668622205, 46.86798639117224, 5212) + femmesh.addNode(-2.470610620533733, -3.742262680354147, 25.27689775560036, 5213) + femmesh.addNode(-2.4046064797603837, -3.7915980385319714, 26.36866626505006, 5214) + femmesh.addNode(2.9246190676633166, 3.4116340021757896, 36.03093917986083, 5215) + femmesh.addNode(3.449476824719035, 2.8551172176645956, 36.47762215310112, 5216) + femmesh.addNode(-3.408749797976834, -2.8141825698600593, 46.800770357295534, 5217) + femmesh.addNode(-3.7341994973647763, -2.4890322881170057, 46.024396064808684, 5218) + femmesh.addNode(4.22533315661148, -1.5320902336460835, 28.447454924825685, 5219) + femmesh.addNode(4.237998914760558, -1.4904100009980472, 27.590931339192743, 5220) + femmesh.addNode(4.385573015411923, -0.7476907035255067, 28.912060267900287, 5221) + femmesh.addNode(0.49096908230842856, 4.349648942611395, 41.05267553353468, 5222) + femmesh.addNode(2.122761722384413, 3.9159706491620927, 4.6251533698412235, 5223) + femmesh.addNode(-4.116842962884282, -1.692323756382376, 36.70519219592427, 5224) + femmesh.addNode(4.170353981045235, 1.2407915203454205, 48.39776567845931, 5225) + femmesh.addNode(4.676171202316354, 0.3044561771844646, 48.69646853699903, 5226) + femmesh.addNode(2.867847635184833, -3.452064113480472, 20.071511109639914, 5227) + femmesh.addNode(3.422256928398239, -2.8980434649870785, 20.524906036703918, 5228) + femmesh.addNode(-4.4330944584274325, -0.7448885037916169, 7.183205896018626, 5229) + femmesh.addNode(-3.5205614452284877, 2.8027628015759922, 16.889483321425082, 5230) + femmesh.addNode(-3.8757454174760353, 2.1943633933215896, 16.49641294622553, 5231) + femmesh.addNode(-3.765420184814727, 2.4160311514352095, 6.382296805394912, 5232) + femmesh.addNode(-0.11262432273204381, -4.495004519230906, 5.261782406210102, 5233) + femmesh.addNode(0.41845572941249953, -4.432144909956115, 4.703892230350758, 5234) + femmesh.addNode(0.06269390279165186, 4.496710224238118, 22.763210133928183, 5235) + femmesh.addNode(-3.6303661103251272, -2.6567201930066116, 20.336362613224374, 5236) + femmesh.addNode(1.3290196060249653, -4.297543404249007, 40.903716389917435, 5237) + femmesh.addNode(0.6388961775812223, -4.391949632229386, 40.244507743127016, 5238) + femmesh.addNode(-0.17351970368594744, -4.493247422408643, 40.69925464965846, 5239) + femmesh.addNode(-0.001037108023814709, 4.496352309979503, 35.85774499640162, 5240) + femmesh.addNode(0.7729295628134056, 4.344127203973821, 35.42970497267384, 5241) + femmesh.addNode(0.012570361828068186, 4.495828086096644, 34.97821835960424, 5242) + femmesh.addNode(-4.264065977609532, -1.2327375839353016, 3.1507008564018983, 5243) + femmesh.addNode(-3.962562843243572, -2.1298946012126825, 3.153484655425441, 5244) + femmesh.addNode(-3.5174394180463513, 2.8044307351949582, 23.207526450404227, 5245) + femmesh.addNode(-3.3644399480275182, 2.9336465725996517, 3.1268739114656543, 5246) + femmesh.addNode(3.3192163942677353, -3.0370112073067284, 0.6106191890041915, 5247) + femmesh.addNode(-1.770383128809629, -4.136496119473684, 8.857997240736143, 5248) + femmesh.addNode(-2.331087233778296, -3.7912137164036324, 8.471086304716977, 5249) + femmesh.addNode(-3.727914603803428, -2.492345829936311, 3.957662594831212, 5250) + femmesh.addNode(-4.1210130132877465, -1.6970084249807642, 3.9585620901835625, 5251) + femmesh.addNode(-0.9528846072160592, 4.306605564680547, 12.730527709072838, 5252) + femmesh.addNode(-1.853093321436297, 4.100191498844383, 12.619907960298399, 5253) + femmesh.addNode(4.380989207901762, -0.76216165729807, 10.308518082923591, 5254) + femmesh.addNode(-3.461496868740955, -2.8740136693583915, 45.23109702308783, 5255) + femmesh.addNode(-3.4482132192147876, -2.890707671518358, 4.722550854482376, 5256) + femmesh.addNode(-3.6955791560864735, -2.502536474390616, 5.49656679310037, 5257) + femmesh.addNode(-1.577767347701263, -4.187019611753719, 28.606409458703194, 5258) + femmesh.addNode(-1.5961956855212847, -4.1773110645123985, 27.72151387741168, 5259) + femmesh.addNode(-2.470846968094307, -3.7353040528248256, 22.401753973774497, 5260) + femmesh.addNode(-2.4940060281692116, -3.7231957901885258, 23.303328133709364, 5261) + femmesh.addNode(-4.166437286384584, -1.6868069624133009, 8.734660250060347, 5262) + femmesh.addNode(-2.047484763320613, -4.0059789530198655, 48.392937760062935, 5263) + femmesh.addNode(-1.608430999906051, -4.190032274183455, 49.179777724879614, 5264) + femmesh.addNode(-1.1728961637808408, -4.283940955036895, 48.37520712941681, 5265) + femmesh.addNode(4.387878238460564, 0.7402955614391282, 39.66727191160974, 5266) + femmesh.addNode(4.226806472385983, 1.5292633084231742, 34.739441131036884, 5267) + femmesh.addNode(4.384798974421315, 0.7501558848659677, 34.316355258821275, 5268) + femmesh.addNode(-0.009085190476755267, 4.495971622399471, 36.82696527106158, 5269) + femmesh.addNode(0.002454493757491988, 4.4955318426752715, 37.70325244528692, 5270) + femmesh.addNode(0.7488499154304076, 4.349584170635779, 37.279575832391444, 5271) + femmesh.addNode(-3.840620618553973, 2.3344232601733124, 43.7877632474651, 5272) + femmesh.addNode(-4.056153723505896, 1.9405898174498573, 44.5312717931304, 5273) + femmesh.addNode(-0.9518708388828782, -4.3239056827749565, 10.946286515828927, 5274) + femmesh.addNode(-0.01926805643435278, -4.4997360985284125, 11.128526168026163, 5275) + femmesh.addNode(-0.3323630660229352, -4.481508812285147, 10.170514149351, 5276) + femmesh.addNode(-1.6751140616946993, -4.176549233918145, 10.46228285585605, 5277) + femmesh.addNode(0.8027950348876906, -4.335789729574714, 14.188214981842856, 5278) + femmesh.addNode(1.6018586004423583, -4.205234233814758, 14.656590184038224, 5279) + femmesh.addNode(-4.01168372017739, -1.8522587761741025, 25.812940907756875, 5280) + femmesh.addNode(2.94739147027082, 3.3891312636254294, 24.56319009957113, 5281) + femmesh.addNode(4.3821241173576935, -0.7586070718776823, 11.180550829894976, 5282) + femmesh.addNode(4.3821241173576935, -0.7586070718776823, 12.030550829894976, 5283) + femmesh.addNode(4.223969589032724, -1.5352807225705019, 29.37291215874802, 5284) + femmesh.addNode(-1.7736773002957475, -4.109870169074664, 42.73533392095026, 5285) + femmesh.addNode(-2.609331386387796, 3.6557160345072446, 40.45103248765281, 5286) + femmesh.addNode(3.489617167539866, 2.818038504027843, 31.312264671479284, 5287) + femmesh.addNode(3.591557840503555, 2.7044204657310953, 32.10037385619814, 5288) + femmesh.addNode(3.4640741820447336, 2.839148136667676, 18.70823993356815, 5289) + femmesh.addNode(0.01652894361888832, 4.495664329182911, 15.566472697022848, 5290) + femmesh.addNode(-0.7090883699763113, -4.428859243313965, 39.221817393973424, 5291) + femmesh.addNode(-1.4669372609710223, -4.222474489817885, 39.62995148780281, 5292) + femmesh.addNode(-1.5435420293855175, 4.209827375051878, 20.93828780446971, 5293) + femmesh.addNode(-1.5609013297821281, 4.201421663465906, 21.853201404783054, 5294) + femmesh.addNode(4.376423300973579, -0.7762810667469832, 22.739015955269828, 5295) + femmesh.addNode(-0.7741007358857112, 4.404560206855489, 38.08676567212322, 5296) + femmesh.addNode(-4.35840293432552, -1.1098950634965767, 20.223845172400083, 5297) + femmesh.addNode(-0.8917900713447585, -4.37919466514313, 3.8131066794215345, 5298) + femmesh.addNode(4.390207852785603, 0.7327389852341945, 23.611756459504612, 5299) + femmesh.addNode(4.5, -1.102182119232618e-15, 24.05, 5300) + femmesh.addNode(4.5, -1.102182119232618e-15, 40.075, 5301) + femmesh.addNode(-2.2910306163539955, 3.8629944312501117, 19.569890571484528, 5302) + femmesh.addNode(2.813160197863909, 3.48649367383314, 10.339063901226528, 5303) + femmesh.addNode(2.875804202880737, 3.4427420681872327, 11.212615252043044, 5304) + femmesh.addNode(4.231606009821583, -1.5160319492090653, 12.493288327818192, 5305) + femmesh.addNode(-2.3506288100588106, -3.825484923804744, 16.693949718979866, 5306) + femmesh.addNode(4.226634505247884, -1.5326118090821705, 8.940001693049545, 5307) + femmesh.addNode(4.225266876445983, -1.5358798755849947, 9.826005758878333, 5308) + femmesh.addNode(0.02150370429256017, -4.496032227189143, 14.62042009856173, 5309) + femmesh.addNode(-2.3004082115801285, 3.8589253819148146, 17.777098759166563, 5310) + femmesh.addNode(-2.348973561699157, 3.8256471918347392, 16.84852924502861, 5311) + femmesh.addNode(-1.5992958447561785, 4.18370668042043, 17.358963502158478, 5312) + femmesh.addNode(-3.5086981424364243, -2.817291462367993, 31.3698980725057, 5313) + femmesh.addNode(1.5149433445930052, -4.236551888629072, 32.61467730520231, 5314) + femmesh.addNode(4.5, -1.102182119232618e-15, 33.875, 5315) + femmesh.addNode(0.6630859326578944, -4.366322570488949, 37.50436077006645, 5316) + femmesh.addNode(1.5013363468211627, -4.241298488883378, 37.05001092277223, 5317) + femmesh.addNode(2.2854113530030644, 3.8276244279083125, 27.758352666007887, 5318) + femmesh.addNode(-4.49689396828014, 0.08789136676929579, 47.64787308712508, 5319) + femmesh.addNode(-4.436824254021271, 0.5257934869216837, 46.84022290792847, 5320) + femmesh.addNode(-0.7285004963142022, 4.406272536669144, 29.602241323966975, 5321) + femmesh.addNode(3.848572866577576, 2.2657497733915024, 7.55775774656238, 5322) + femmesh.addNode(3.835870602883226, 2.2825890507368345, 8.493449159872863, 5323) + femmesh.addNode(3.406862406864069, 2.920768524154362, 7.160960790014725, 5324) + femmesh.addNode(3.394160143169719, 2.937607801499694, 8.096652203325208, 5325) + femmesh.addNode(3.4331647798545752, -2.8766872604252964, 17.78994829917483, 5326) + femmesh.addNode(-1.9180909327452016, -4.067311547946047, 33.34752316467503, 5327) + femmesh.addNode(-2.078561718169501, -3.991179544903608, 32.26253777009334, 5328) + femmesh.addNode(2.273434306241751, -3.771718860800596, 16.013922107938768, 5329) + femmesh.addNode(-3.968970658082656, 1.938017893511788, 34.761039475223555, 5330) + femmesh.addNode(1.6282080709843345, 4.194671550436061, 28.199409563267146, 5331) + femmesh.addNode(2.285178789139265, 3.8278050751818173, 28.649063433187457, 5332) + femmesh.addNode(3.459339974397823, 2.8481329000952353, 26.80196038437066, 5333) + femmesh.addNode(-2.4393439134373263, -3.759941111845048, 21.35507616239913, 5334) + femmesh.addNode(-3.136649384682796, -3.1820229179317896, 21.902883863412043, 5335) + femmesh.addNode(-1.724041499830785, -4.1428870575500785, 20.917713195685195, 5336) + femmesh.addNode(-0.928413702643777, -4.27546151174511, 20.44333443139177, 5337) + femmesh.addNode(4.226270029033142, -1.5311734117456677, 25.86473862013498, 5338) + femmesh.addNode(-3.0586675089430666, -3.2928522082076555, 40.62388699062083, 5339) + femmesh.addNode(-3.623910863234511, -2.6060262799783587, 40.6103359003839, 5340) + femmesh.addNode(-2.399619038472472, -3.7899608036601906, 0.8056329969234278, 5341) + femmesh.addNode(2.917497442572368, 3.4171527626467753, 35.15933772305668, 5342) + femmesh.addNode(2.2616734729679964, 3.839344494846203, 34.568834842862046, 5343) + femmesh.addNode(-2.614749049512551, -3.6400159669946888, 41.15476043497103, 5344) + femmesh.addNode(-2.225779009456799, -3.910947805905978, 41.9749207627877, 5345) + femmesh.addNode(4.5, -1.102182119232618e-15, 25.85, 5346) + femmesh.addNode(4.384005246470041, -0.7526745543748115, 26.303819724386926, 5347) + femmesh.addNode(4.220353821082612, -1.5519611416577317, 8.026663341934434, 5348) + femmesh.addNode(4.212568463909215, -1.5703524443550152, 7.080711463037078, 5349) + femmesh.addNode(3.8524004643269407, -2.261400754519077, 7.5533150278516406, 5350) + femmesh.addNode(1.6177187739078605, 4.198571693793037, 27.309006258564295, 5351) + femmesh.addNode(1.6104309714521292, 4.2015108338107545, 26.381283306439123, 5352) + femmesh.addNode(2.253121052232559, 3.7844665354128524, 35.59468838151421, 5353) + femmesh.addNode(-4.445623953486177, -0.5866942423141174, 34.19806860948895, 5354) + femmesh.addNode(-3.9472750706378124, 1.9718128015016558, 33.8361539992395, 5355) + femmesh.addNode(-3.9260612483001305, 2.028112668598754, 32.901225267068526, 5356) + femmesh.addNode(3.8947273851359405, 2.2089935619471244, 17.369570207304548, 5357) + femmesh.addNode(3.8992604626705427, 2.1983104266003615, 18.26748253112425, 5358) + femmesh.addNode(4.232018454111039, 1.5136851802184792, 18.69772238905082, 5359) + femmesh.addNode(-0.5882486691131437, 4.4379509739899525, 10.484002453884708, 5360) + femmesh.addNode(-1.5533365716176877, 4.205131035271224, 31.010117828460004, 5361) + femmesh.addNode(-2.7241347245908276, -3.4544002369959754, 31.786051213805344, 5362) + femmesh.addNode(-3.371919209822066, -2.97123967507075, 32.48615228009138, 5363) + femmesh.addNode(-2.7263462034007393, -3.5080189829783825, 32.962638836379384, 5364) + femmesh.addNode(4.226341190616954, 1.5307408728415695, 35.62894226564424, 5365) + femmesh.addNode(-3.9850652221521683, -1.9125119726900417, 29.09185665324647, 5366) + femmesh.addNode(-3.9735370621224346, -1.9031560280841169, 28.801207324893497, 5367) + femmesh.addNode(-3.902842783573065, -2.2000518063151677, 13.148930625763576, 5368) + femmesh.addNode(-3.5719618581796966, -2.7233561970518325, 13.677486804314295, 5369) + femmesh.addNode(2.7596996060120054, 3.551626587835965, 2.4366731146145866, 5370) + femmesh.addNode(2.384117847834216, 3.779078268621123, 3.2082657601228504, 5371) + femmesh.addNode(3.0525977670335402, 3.299993290645179, 3.213966800754641, 5372) + femmesh.addNode(-3.1832136463502394, -3.1519343633558017, 42.83990935819297, 5373) + femmesh.addNode(4.344780505026463, -0.7725185358774946, 44.13561665829333, 5374) + femmesh.addNode(-0.1458961181558439, -4.49532755687834, 39.764719212684994, 5375) + femmesh.addNode(-1.6135935807588844, -4.157800202191895, 5.362204602622347, 5376) + femmesh.addNode(-2.067051496483134, -3.9966858781411445, 4.672812814396721, 5377) + femmesh.addNode(4.38252338133505, -0.7573521884775938, 41.52142050004423, 5378) + femmesh.addNode(4.38252338133505, -0.7573521884775938, 42.37142050004422, 5379) + femmesh.addNode(3.8732870687617202, 2.243204102717735, 41.48662008513173, 5380) + femmesh.addNode(-4.430606464470757, 0.24357810228303334, 34.8081275296293, 5381) + femmesh.addNode(-1.8424690157099164, 4.07416891694135, 40.3281013074989, 5382) + femmesh.addNode(-4.347061397674807, 1.1579499165791134, 35.19484080950093, 5383) + femmesh.addNode(-4.352854991895755, -0.7470122365086461, 8.851076031147183, 5384) + femmesh.addNode(-4.307681184159752, -1.271468179819052, 7.977386977178207, 5385) + femmesh.addNode(3.597766029888994, 2.578379393330571, 3.7570542254764323, 5386) + femmesh.addNode(3.6129695860292346, 2.5433397626726912, 2.7899928244602075, 5387) + femmesh.addNode(-3.0540983276919738, 3.2244488362634174, 8.915651383308616, 5388) + femmesh.addNode(1.2391647109303912, 4.307928014483409, 7.511349172737274, 5389) + femmesh.addNode(2.10621543189226, 3.9504101762406187, 7.250527111029676, 5390) + femmesh.addNode(4.237784743631758, 1.498772146453681, 22.276328816941124, 5391) + femmesh.addNode(-1.3424295269476798, -4.209444090085624, 41.88502368176107, 5392) + femmesh.addNode(-2.2852990398891446, 3.856262374923911, 8.469247308210122, 5393) + femmesh.addNode(-1.3332315181173784, 4.2644504077225776, 8.19634259059162, 5394) + femmesh.addNode(-2.1800382893706027, 3.901738996768863, 7.672724663370887, 5395) + femmesh.addNode(-1.227970767598837, 4.30992702956753, 7.399819945752386, 5396) + femmesh.addNode(1.5868917938094302, 4.2107438125289125, 20.94585461885955, 5397) + femmesh.addNode(0.8020039452420978, 4.344935131978867, 21.401728035868317, 5398) + femmesh.addNode(0.8264753373595588, 4.362690099631811, 20.48395389667307, 5399) + femmesh.addNode(0.04158748879222637, 4.496881419081767, 20.93982731368184, 5400) + femmesh.addNode(2.9349193084980456, 3.3992887296113907, 21.835443825157974, 5401) + femmesh.addNode(0.9487566610168314, 4.310933715415489, 32.530294085595784, 5402) + femmesh.addNode(2.2381621851051468, -3.876851305464916, 8.89031179624428, 5403) + femmesh.addNode(1.4596590488599963, -4.245083786666241, 8.411897922056525, 5404) + femmesh.addNode(2.2088564861035715, -3.8892878633579437, 9.722283521863464, 5405) + femmesh.addNode(2.1105906459911545, 3.97433343711739, 47.62069604555825, 5406) + femmesh.addNode(1.7865904250555782, 4.110543036967846, 46.67743226832788, 5407) + femmesh.addNode(-4.236137919549714, -1.5091101781734415, 11.313281344515445, 5408) + femmesh.addNode(-2.4677011049186226, -3.7411271771679586, 44.4184169465822, 5409) + femmesh.addNode(-0.7035129111313924, -4.429232454542001, 38.32138174984789, 5410) + femmesh.addNode(-0.8641553410470023, -4.385734571013234, 37.54838200911395, 5411) + femmesh.addNode(4.210733940472921, -1.5773646777498644, 32.070967373888834, 5412) + femmesh.addNode(4.211466646420679, -1.575642071760489, 32.9293743697302, 5413) + femmesh.addNode(4.370668883987218, -0.7936806930339191, 32.494529420347675, 5414) + femmesh.addNode(-2.590550090121067, -3.6385186375732346, 34.0543198969538, 5415) + femmesh.addNode(-4.408502939770788, -0.9012676432682899, 13.689093534821424, 5416) + femmesh.addNode(3.9173440409478637, 2.1506659622478863, 31.6627838390662, 5417) + femmesh.addNode(4.2493225304561815, 1.4735983403323272, 32.10289772810202, 5418) + femmesh.addNode(3.8769877414045597, -2.2287901481441743, 11.110680215309802, 5419) + femmesh.addNode(-4.451341079990629, -0.46035731588510476, 32.29044767563866, 5420) + femmesh.addNode(-4.447495165393456, -0.5784398833235751, 33.26417760331352, 5421) + femmesh.addNode(4.248068091326933, 1.4769489764579011, 33.861005507262306, 5422) + femmesh.addNode(4.3632691169056175, 0.7267930915919323, 33.41965024844104, 5423) + femmesh.addNode(-3.8595573888436574, 2.240476693892151, 45.32695446423631, 5424) + femmesh.addNode(3.8496277040837548, -2.26512553911275, 8.42705094834216, 5425) + femmesh.addNode(-4.410552857808186, 0.6891909641208236, 11.453313524774277, 5426) + femmesh.addNode(-4.156256968745613, 1.6873071922281775, 11.679179505737476, 5427) + femmesh.addNode(-4.311214430454743, 1.2895279103379576, 10.722298112632583, 5428) + femmesh.addNode(4.398072841837433, -0.630332838331601, 3.216915424352792, 5429) + femmesh.addNode(3.8348774217438653, -2.2898228817581012, 32.50231073890849, 5430) + femmesh.addNode(2.742985587686739, 3.5637701755619196, 3.8947704836742396, 5431) + femmesh.addNode(3.313866310777482, 2.9915585652663075, 4.139830976437295, 5432) + femmesh.addNode(-2.4917809095507115, -3.7277230476151697, 42.837943716919185, 5433) + femmesh.addNode(-3.823789438637508, -2.364782279298889, 42.9396169608295, 5434) + femmesh.addNode(3.367021858266372, -2.9330944806004147, 5.2313033440916445, 5435) + femmesh.addNode(-1.1830778123208798, -4.279308978410323, 45.14856946198475, 5436) + femmesh.addNode(4.221674302718438, 1.5484224391037802, 8.96089466971304, 5437) + femmesh.addNode(4.376983698869483, 0.774563422392736, 7.561572751017011, 5438) + femmesh.addNode(-3.073371473877152, 3.2810841710679783, 0.8390822069888111, 5439) + femmesh.addNode(0.565777440540238, 4.422661685950506, 9.99529534936788, 5440) + femmesh.addNode(-0.6009763517416369, 4.4376802904757735, 9.613078286830735, 5441) + femmesh.addNode(2.922632496172053, -3.4114481660729954, 16.46703792620533, 5442) + femmesh.addNode(0.888366855450492, 4.389139296052549, 46.624069741701895, 5443) + femmesh.addNode(0.6177674995062293, -4.413038014726431, 48.39486997653444, 5444) + femmesh.addNode(1.1377240998031328, -4.353593262567506, 49.17552198514372, 5445) + femmesh.addNode(3.973648816298838, 2.054692250647315, 46.486735648994795, 5446) + femmesh.addNode(4.228968148701074, 1.5378783431749494, 47.01883647174657, 5447) + femmesh.addNode(-1.7278037200649061, -4.142590873016949, 22.89134500629236, 5448) + femmesh.addNode(-0.9347715685608493, -4.360473060248781, 23.382838913775238, 5449) + femmesh.addNode(-1.7509627801398109, -4.130482610380648, 23.79291916622723, 5450) + femmesh.addNode(0.7749289933687173, -4.330771370741381, 27.034900690772755, 5451) + femmesh.addNode(4.045209269562721, 1.937151805771013, 47.85190835850635, 5452) + femmesh.addNode(3.745948178307112, 2.3543745790246273, 47.12963423609092, 5453) + femmesh.addNode(3.5113469558825208, 2.80237725991074, 47.779453125207155, 5454) + femmesh.addNode(4.240503556124102, -1.4845093282483264, 26.7164555780154, 5455) + femmesh.addNode(3.8361464589664127, -2.3265942194805276, 0.7615618808234962, 5456) + femmesh.addNode(-2.266295267837854, -3.8720781328885723, 13.982811663948045, 5457) + femmesh.addNode(-4.256767390596508, 1.42301059672559, 16.9898670749518, 5458) + femmesh.addNode(-4.253356251127433, 1.436622599292092, 16.054179759786592, 5459) + femmesh.addNode(2.101486198822589, -3.973971658817233, 46.92423129188293, 5460) + femmesh.addNode(2.948955590304932, -3.3125401361810063, 46.85128030210951, 5461) + femmesh.addNode(4.24768217721448, 1.4787983881800861, 31.210715540845158, 5462) + femmesh.addNode(1.0133186182119251, -4.380528018305719, 47.674122007280616, 5463) + femmesh.addNode(0.1563180598206989, -4.492385227241838, 47.56589704542003, 5464) + femmesh.addNode(1.5741118451700578, 4.215412036498551, 20.057968957634387, 5465) + femmesh.addNode(4.225096530619625, -1.5351209134437755, 41.93423229580997, 5466) + femmesh.addNode(4.5, -1.102182119232618e-15, 15.2, 5467) + femmesh.addNode(2.1668028292265973, -3.898747716827329, 22.31714310363284, 5468) + femmesh.addNode(3.9150672960624884, -2.17835082517171, 27.216338715694143, 5469) + femmesh.addNode(-1.0556062888347564, -4.334152363428336, 9.686510489378122, 5470) + femmesh.addNode(2.996681642898916, 3.3453018662532727, 46.15947418050011, 5471) + femmesh.addNode(3.306231619345901, 3.050988387732734, 46.96325749132039, 5472) + femmesh.addNode(0.8159305675578307, 4.344579384882949, 26.87713804593265, 5473) + femmesh.addNode(0.8569640136408763, 4.351147297891048, 27.740878805636708, 5474) + femmesh.addNode(1.6320499867637333, 4.193029818043582, 23.659641284217855, 5475) + femmesh.addNode(-1.6184357560910954, -4.186896946033766, 47.56582776991132, 5476) + femmesh.addNode(-3.5181890431555995, 2.686672015186481, 5.535833992923768, 5477) + femmesh.addNode(-3.085582814463567, 3.2706361832759785, 2.320642333524672, 5478) + femmesh.addNode(-1.626544085283391, 4.17574354355085, 16.395843120846678, 5479) + femmesh.addNode(-1.3976039746772135, 4.250763016106665, 9.225756100827137, 5480) + femmesh.addNode(3.8482600752818534, -2.2683936056155742, 9.313055014170947, 5481) + femmesh.addNode(0.7929577527121161, -4.406103976539965, 7.900630534241298, 5482) + femmesh.addNode(-1.79641351482387, -4.125685624216356, 7.869053558655025, 5483) + femmesh.addNode(2.8669978172400112, -3.4553197298955265, 39.793488071729385, 5484) + femmesh.addNode(3.419891728315534, -2.8968502730098686, 40.16344005358836, 5485) + femmesh.addNode(3.4016065753423064, -2.914276444583357, 41.080638751436766, 5486) + femmesh.addNode(0.7921515102888556, -4.365114413879962, 16.85589515874654, 5487) + femmesh.addNode(-1.3715668757924258, 4.235607510278731, 41.7756982937335, 5488) + femmesh.addNode(4.223372827321977, 1.5432292706860262, 8.067108937015906, 5489) + femmesh.addNode(2.9514520106882647, 3.3850651591695686, 23.639905925539622, 5490) + femmesh.addNode(4.2179887043620425, -1.5564328885372603, 22.25890114132065, 5491) + femmesh.addNode(3.8584229486243484, -2.2574079411633114, 22.728312223121634, 5492) + femmesh.addNode(2.7035305712103144, -3.5947832362368075, 0.8405636532711116, 5493) + femmesh.addNode(2.342751640889723, -3.8266247035749665, 1.6381610245339204, 5494) + femmesh.addNode(1.9448181132903226, -4.057477131824999, 0.7975973712628087, 5495) + femmesh.addNode(-2.2547638632852216, 3.882784286141826, 30.563038923084665, 5496) + femmesh.addNode(3.490040054001606, 2.8174297151666714, 30.42035490391291, 5497) + femmesh.addNode(2.9700757063245473, 3.365920020107887, 29.979972970662896, 5498) + femmesh.addNode(2.9419426902322146, 3.3943893956899664, 29.04899997776407, 5499) + femmesh.addNode(-4.3107270408254506, -1.2736140357807777, 45.25113890862805, 5500) + femmesh.addNode(3.4520391886017467, 2.8586000262297704, 27.68945926054298, 5501) + femmesh.addNode(2.9421752540960138, 3.394208748416461, 28.1582892105845, 5502) + femmesh.addNode(3.8640705587849276, -2.2496663322306203, 21.84143708112544, 5503) + femmesh.addNode(3.4169463725509663, -2.905454731481127, 22.27684803668326, 5504) + femmesh.addNode(3.4225939827115455, -2.897713122548436, 21.389972894687066, 5505) + femmesh.addNode(-0.7786713992267056, 4.401363403706807, 35.42012274265604, 5506) + femmesh.addNode(3.4630207465488794, -2.8534078655797783, 9.792442553159173, 5507) + femmesh.addNode(-1.7183911836708694, -4.145805738960185, 21.831101109243885, 5508) + femmesh.addNode(-0.9409576801142044, -4.278257867524492, 22.324476403828005, 5509) + femmesh.addNode(4.340065056485704, -0.7836839847159466, 31.67643795354116, 5510) + femmesh.addNode(4.4192298427742225, -0.6303387722729832, 49.385675657168306, 5511) + femmesh.addNode(4.212511916344694, -1.515855234350786, 49.385675657168306, 5512) + femmesh.addNode(-3.4971547043885876, 2.831639625220435, 28.721760017700543, 5513) + femmesh.addNode(-3.8821907375449163, 2.152121131943784, 29.122607268886387, 5514) + femmesh.addNode(-3.5063785262099696, 2.8199826604458464, 29.622305919015606, 5515) + femmesh.addNode(2.61163576813604, 3.598842340020802, 46.887416306866896, 5516) + femmesh.addNode(4.383367611891998, 0.7546912127381864, 30.768698050220188, 5517) + femmesh.addNode(1.519420113732608, 4.233805103537524, 5.71459872814035, 5518) + femmesh.addNode(2.1452269903913206, 3.9242892860343077, 6.317768843827702, 5519) + femmesh.addNode(2.072021552379396, 3.9515696732554555, 5.406907225504405, 5520) + femmesh.addNode(0.4707947489433558, -4.449913475698605, 5.745825572109691, 5521) + femmesh.addNode(1.1625981371331198, -4.344602590557539, 6.1017861227718395, 5522) + femmesh.addNode(-0.08088903909012662, -4.497478066418358, 8.266627418318809, 5523) + femmesh.addNode(-0.8881555025440833, -4.339258631112292, 7.712950721716444, 5524) + femmesh.addNode(2.1262170553623827, -3.8307818604109287, 23.280555492051178, 5525) + femmesh.addNode(-3.1226860265119325, -3.2065506156189674, 3.9414292366138874, 5526) + femmesh.addNode(-1.1181796059104756, 4.347995511982365, 5.843534813032946, 5527) + femmesh.addNode(4.226699113800148, -1.5316161808145172, 11.567298282314145, 5528) + femmesh.addNode(-0.2743702113950408, -4.481561303477074, 9.251243503899369, 5529) + femmesh.addNode(4.3874801352835116, 0.7415784541278319, 15.57493500229366, 5530) + femmesh.addNode(-2.3429092269329326, 3.7894072628011317, 2.3308375739914675, 5531) + femmesh.addNode(-1.5502180177563303, 4.207890845807292, 2.3268064059927482, 5532) + femmesh.addNode(-1.9060771549649829, 4.009238666652099, 3.1192117241786397, 5533) + femmesh.addNode(1.924593192638352, 4.067007021553743, 2.3214445041044867, 5534) + femmesh.addNode(0.6806713095978321, -4.363493747914166, 32.1435373101767, 5535) + femmesh.addNode(1.5152983680411674, -4.236416770712795, 31.688981267173183, 5536) + femmesh.addNode(-3.0367509270408783, 3.302810676811406, 43.15935839919776, 5537) + femmesh.addNode(-3.2986141118020083, 2.975391272935425, 43.88758297860112, 5538) + femmesh.addNode(0.7356259648149462, -4.353971532084508, 17.733933551046203, 5539) + femmesh.addNode(-0.04272907641880892, 4.498925619455378, 5.424422162185742, 5540) + femmesh.addNode(-0.7124390687340436, 4.392324135312553, 5.13615492006106, 5541) + femmesh.addNode(-0.12286400702810386, -4.49667028069578, 20.032947724804693, 5542) + femmesh.addNode(0.5939148865238055, 4.386463877091977, 4.808706788545118, 5543) + femmesh.addNode(-3.644819742332749, 2.63312304913417, 46.101680706255564, 5544) + femmesh.addNode(4.219361960961306, -1.5531833099685124, 21.37821171757313, 5545) + femmesh.addNode(-2.7920522445318947, 3.373913181492294, 28.212870781405, 5546) + femmesh.addNode(-3.4941769526127606, 2.8352320459222677, 27.785945492621416, 5547) + femmesh.addNode(0.7730236978808739, 4.344105164419565, 16.04465237372467, 5548) + femmesh.addNode(-4.44475577039602, -0.22765015723210322, 29.596465644522993, 5549) + femmesh.addNode(0.8095707127780687, 4.373547233122072, 5.419452483457677, 5550) + femmesh.addNode(1.1623386272854688, 4.341816817055708, 49.23617954692109, 5551) + femmesh.addNode(-0.21123978017619702, 4.493827489561674, 1.5765986143795183, 5552) + femmesh.addNode(0.25960868723781383, 4.481287932322206, 2.3420814088540975, 5553) + femmesh.addNode(3.8735520947902797, -2.2355494090584562, 41.52238120182244, 5554) + femmesh.addNode(2.2850096655639494, -3.8612226517108166, 45.38618342219249, 5555) + femmesh.addNode(2.8540224996131394, -3.4510627848048925, 44.86291816427948, 5556) + femmesh.addNode(2.1235121574894382, -3.9303357451111767, 44.517734678084736, 5557) + femmesh.addNode(3.361804422000527, -2.986203050310138, 45.61484523586985, 5558) + femmesh.addNode(0.6494757654607513, -4.422998183364376, 45.203165707063256, 5559) + femmesh.addNode(2.9041063454951317, -3.397475941959172, 45.74280953228916, 5560) + femmesh.addNode(2.5644188764001763, -3.5940477301006437, 46.567687593652956, 5561) + femmesh.addNode(2.217475936675319, -3.891305356698415, 7.943182645145276, 5562) + femmesh.addNode(2.859809156155414, -3.446250693657967, 7.464984242006134, 5563) + femmesh.addNode(-2.9335273835368136, 3.349093706874697, 18.255030515796822, 5564) + femmesh.addNode(-2.948770210087618, 3.3303273651463288, 19.171852252576038, 5565) + femmesh.addNode(-2.271782703009539, 3.8744318871194037, 31.56964430386187, 5566) + femmesh.addNode(3.8729267333430872, -2.237029262455411, 40.61926758505014, 5567) + femmesh.addNode(-3.0006831004474406, -3.1818004728030376, 25.9247473049552, 5568) + femmesh.addNode(-4.323272112810436, 1.2279624859139402, 36.99693318472207, 5569) + femmesh.addNode(-4.444306631284704, 0.6284186963326175, 37.447937323217346, 5570) + femmesh.addNode(3.7651776359581417, -2.380547877187574, 29.67637951832971, 5571) + femmesh.addNode(3.9696179501827897, -2.0944547572965195, 28.904033773453136, 5572) + femmesh.addNode(-3.893976929159405, 2.0508087832960293, 28.291438081111885, 5573) + femmesh.addNode(-3.906720264708671, -2.1297295311382647, 33.039824887555994, 5574) + femmesh.addNode(-4.2081315765792695, -1.5138404927041051, 33.66046219203151, 5575) + femmesh.addNode(-2.9494500461117164, 3.3319151807537066, 20.991606878534242, 5576) + femmesh.addNode(2.2914667817806587, 3.753362375557656, 23.191986023812817, 5577) + femmesh.addNode(2.9412793608761802, 3.3929302933212497, 22.74981817243152, 5578) + femmesh.addNode(-2.0768778687727645, 3.905730837330215, 41.41214897158544, 5579) + femmesh.addNode(-2.8437402394506446, 3.4872779548961095, 41.53508015173935, 5580) + femmesh.addNode(2.1701358654186196, -3.8981517853623195, 36.58108469139813, 5581) + femmesh.addNode(-0.9891470513699134, -4.2839050595224215, 8.422730255257388, 5582) + femmesh.addNode(4.5, -1.102182119232618e-15, 20.5, 5583) + femmesh.addNode(4.38903308757542, 0.7365601852325792, 20.041346857144582, 5584) + femmesh.addNode(-0.2661804749621208, -4.446349988473811, 3.134303421422442, 5585) + femmesh.addNode(0.029788195733802814, -4.489424864805555, 3.843599548206413, 5586) + femmesh.addNode(3.4146361902099978, -2.904144561985885, 39.284570225519815, 5587) + femmesh.addNode(2.872571481288322, -3.4512218859441166, 38.867789509587254, 5588) + femmesh.addNode(1.9597539020555819, -4.050503288542464, 2.524124681212804, 5589) + femmesh.addNode(3.876690413506326, -2.229499257494264, 10.241420438845374, 5590) + femmesh.addNode(-1.1410302754289505, -4.295704494427503, 1.598090958865325, 5591) + femmesh.addNode(-0.7328905008819151, -4.434286729856711, 2.335931550171831, 5592) + femmesh.addNode(-4.496677683000101, 0.07103789757843407, 2.335759016142502, 5593) + femmesh.addNode(2.2598503520645172, 3.7753419683591645, 17.815746993843746, 5594) + femmesh.addNode(-2.2924214689232656, -3.832279988649076, 7.101919867324723, 5595) + femmesh.addNode(-1.5091500850046167, -4.232925322023521, 7.034107590348392, 5596) + femmesh.addNode(-1.9697345237882449, -3.960007799008956, 6.21968578165168, 5597) + femmesh.addNode(-3.9573635272207657, -2.1353343981916337, 6.354938548435403, 5598) + femmesh.addNode(-4.279506129442879, -1.1861206808710898, 6.392867947252513, 5599) + femmesh.addNode(-4.437180796022729, 0.5675718242109565, 16.207523207122023, 5600) + femmesh.addNode(1.3198564265995922, -4.294789377977246, 44.551551403704025, 5601) + femmesh.addNode(1.575573135026858, -4.2142589080623525, 12.010561446016304, 5602) + femmesh.addNode(0.7523126395934742, -4.3577283595596885, 11.580693284677723, 5603) + femmesh.addNode(-3.0958111606712717, 3.2554046344905117, 42.27166855689299, 5604) + femmesh.addNode(3.3067655198822075, -3.0405914087812054, 30.140837929485674, 5605) + femmesh.addNode(-3.644024283891734, 2.6343101366156065, 44.58344591857101, 5606) + femmesh.addNode(-2.4257103049370676, -3.7707734010516356, 37.740759818365035, 5607) + femmesh.addNode(-2.837674271094517, -3.3775541686880093, 38.56223362517271, 5608) + femmesh.addNode(-1.5958985165877175, -4.197537553382177, 2.3659699613310563, 5609) + femmesh.addNode(-2.076683526263184, -3.99216128053289, 31.34186086103859, 5610) + femmesh.addNode(-1.378550634297808, -4.231572259888734, 30.60480689253488, 5611) + femmesh.addNode(-1.0409001256347106, -4.270296270146445, 31.75787696482675, 5612) + femmesh.addNode(2.2552144766376734, 3.8400740656927255, 20.508396157653557, 5613) + femmesh.addNode(2.3145788407748498, 3.8125399637515827, 30.519757731451897, 5614) + femmesh.addNode(-1.1670719807717382, -4.34277880782312, 6.133731085703644, 5615) + femmesh.addNode(-3.924634926825597, -2.0785229545183785, 7.904792022381073, 5616) + femmesh.addNode(2.1928248653187152, -3.799401171736613, 19.607822140526864, 5617) + femmesh.addNode(2.171636299818455, 3.857002563200317, 45.94949014196109, 5618) + femmesh.addNode(2.2728880877949433, 3.8362467463476344, 22.30176994713142, 5619) + femmesh.addNode(-3.517473500001473, -2.8060338511447966, 29.520496679405404, 5620) + femmesh.addNode(2.9099190293843495, -3.4237721964361496, 17.33059512121411, 5621) + femmesh.addNode(-0.4113743189847532, -4.451307456738872, 6.015925914680772, 5622) + femmesh.addNode(3.857741216140024, -2.2590152320148404, 23.667640277707697, 5623) + femmesh.addNode(-2.801190351067107, -3.4551179456085235, 13.417358394704703, 5624) + femmesh.addNode(-2.1539371728109495, -3.944409433506782, 13.053811939899266, 5625) + femmesh.addNode(2.2356281732585326, -3.783976322928277, 12.451842398241757, 5626) + femmesh.addNode(3.8873392458861686, -2.2164818012145786, 12.940166577644247, 5627) + femmesh.addNode(-1.7865197156809265, -4.120621545470207, 35.265934658825444, 5628) + femmesh.addNode(-0.2085899403402415, -4.494852066423631, 35.15196884132999, 5629) + femmesh.addNode(4.5, -1.102182119232618e-15, 32.1, 5630) + femmesh.addNode(1.6387093626544065, 4.1899263533954345, 30.96244003834617, 5631) + femmesh.addNode(0.8673883073218758, 4.34297257029349, 30.510017900530904, 5632) + femmesh.addNode(2.834533680943004, 3.485984641932091, 42.453234014898875, 5633) + femmesh.addNode(0.25566734670754365, 4.481763874391443, 0.756727041236569, 5634) + femmesh.addNode(0.8323400472391385, 4.344867633033632, 31.53856771586583, 5635) + femmesh.addNode(-2.4049383750722675, -3.7914210131185264, 27.276475266396893, 5636) + femmesh.addNode(-4.00468618417713, -1.8526670183715785, 19.785521429384687, 5637) + femmesh.addNode(-1.9763897539270274, 4.030971648684812, 6.749944610462084, 5638) + femmesh.addNode(2.1265122410280406, -3.9082179413761566, 40.283099234287484, 5639) + femmesh.addNode(4.3643145653224815, 0.7241071754418986, 31.66701749062497, 5640) + femmesh.addNode(3.9177669274096036, 2.150057173386715, 30.770874071499826, 5641) + femmesh.addNode(-1.5306581680834368, 4.215813054971135, 25.519748426675683, 5642) + femmesh.addNode(3.8975047676942864, 2.1937304313525146, 28.102152888995015, 5643) + femmesh.addNode(4.388648046265672, 0.7378079093308665, 19.1485376297125, 5644) + femmesh.addNode(2.2749969192451913, 3.7634696873057027, 21.385058402130227, 5645) + femmesh.addNode(-4.446088839000224, -0.6938404662300137, 42.916298666605414, 5646) + femmesh.addNode(4.3748552885174865, 0.6963602854255914, 47.679142680047036, 5647) + femmesh.addNode(-2.354251720535225, 3.7937356744461095, 42.220248091523516, 5648) + femmesh.addNode(-1.4344399562874168, 4.225088312154526, 42.84407747750777, 5649) + femmesh.addNode(-0.05127329613237985, -4.494454046806434, 37.942944937895305, 5650) + femmesh.addNode(0.7204052649793865, -4.373227144144471, 18.64648184757152, 5651) + femmesh.addNode(-0.14792552861014746, -4.496140054756324, 22.815970311310878, 5652) + femmesh.addNode(0.8225163386243637, 4.341482546614988, 23.222632078708667, 5653) + femmesh.addNode(0.6779196885685996, -4.367554388594524, 19.552097172531823, 5654) + femmesh.addNode(-0.14010929782407952, -4.496208830270985, 23.806555482398565, 5655) + femmesh.addNode(0.6734136075913617, -4.376587059092525, 24.25882550406967, 5656) + femmesh.addNode(-2.8612469441087813, -3.355052505904908, 30.925707719738945, 5657) + femmesh.addNode(-3.3989113392716046, -2.8304115062833586, 6.331770299794906, 5658) + femmesh.addNode(1.1938365308910677, -4.3259602849737195, 30.016047236876368, 5659) + femmesh.addNode(2.0460561628669294, -3.977381493420085, 30.275546729694668, 5660) + femmesh.addNode(4.5, -1.102182119232618e-15, 3.5999999999999996, 5661) + femmesh.addNode(2.1559312275731415, -3.9096813415182257, 32.08229356836826, 5662) + femmesh.addNode(-2.899982095221774, 3.387369753527431, 25.495924364216233, 5663) + femmesh.addNode(3.4091222756519217, 2.9067201100326168, 5.21096256179168, 5664) + femmesh.addNode(2.838241552561179, 3.4789317203282293, 4.965902069028624, 5665) + femmesh.addNode(4.385007965133699, 0.7494911648904273, 32.53588023747706, 5666) + femmesh.addNode(4.5, -1.102182119232618e-15, 32.975, 5667) + femmesh.addNode(0.8517613215849043, 4.349111284809184, 24.091107418491063, 5668) + femmesh.addNode(-2.7211387530326214, -3.479821846062534, 48.38907714534074, 5669) + femmesh.addNode(-3.115427601495207, -3.217433368222988, 47.568489365753976, 5670) + femmesh.addNode(2.933077101524246, -3.3915127730310966, 48.314295655187934, 5671) + femmesh.addNode(3.2570133778849244, -3.1051285659491565, 49.12731864908973, 5672) + femmesh.addNode(3.4034283059640975, 2.9284034453585024, 8.988653483625285, 5673) + femmesh.addNode(0.6912151930724153, -4.393229808122277, 10.623432522962691, 5674) + femmesh.addNode(4.3752851742659455, 0.77975659081049, 10.305358483714144, 5675) + femmesh.addNode(-1.5392027745586385, 4.211050842801627, 20.055576783255873, 5676) + femmesh.addNode(-2.255937448813504, 3.8802021653530216, 20.477512593431427, 5677) + femmesh.addNode(-0.7790202596997099, 4.401481498116164, 17.775154866350334, 5678) + femmesh.addNode(0.7958832947958056, 4.343716331370089, 14.325764467635464, 5679) + femmesh.addNode(0.11496259112346212, 4.491836717523506, 13.922021755234121, 5680) + femmesh.addNode(-3.4979599134766555, 2.828010494159101, 25.019984048112548, 5681) + femmesh.addNode(-0.7867194816796461, 4.400982716126775, 36.38934301731601, 5682) + femmesh.addNode(-1.6993136905751438, -4.151134478292416, 19.962034503287313, 5683) + femmesh.addNode(3.899707463200714, -2.23198297778515, 49.25144808578063, 5684) + femmesh.addNode(3.55180594204755, -2.7288105606881317, 48.378766734870354, 5685) + femmesh.addNode(-3.7532651143601603, 2.41476363952905, 12.334241165486329, 5686) + femmesh.addNode(-3.6816114788365573, 2.492948324615429, 11.525630383067995, 5687) + femmesh.addNode(-4.4097756820635485, 0.6466858377151116, 6.401620744967364, 5688) + femmesh.addNode(2.3049265267720007, 3.7412901658422744, 33.786747668007834, 5689) + femmesh.addNode(-4.338686859914592, -1.1752941551322897, 19.268144979926454, 5690) + femmesh.addNode(-2.953013491832179, 3.32748633002244, 20.068898168279333, 5691) + femmesh.addNode(3.4422477095865274, -2.8844210182341667, 7.9679845002707195, 5692) + femmesh.addNode(2.9290361751984415, -3.406003054581787, 12.884587231373613, 5693) + femmesh.addNode(-3.9015834183489595, 2.0314100049799926, 17.382937450151353, 5694) + femmesh.addNode(-4.311952448459173, -1.2571481308372032, 15.519071830519838, 5695) + femmesh.addNode(-1.595863790209401, -4.177488089925843, 26.813704876064847, 5696) + femmesh.addNode(3.46079630676007, -2.8439947836212314, 13.33533966371325, 5697) + femmesh.addNode(-0.5998391885341308, -4.3871500241491965, 6.720761840917872, 5698) + femmesh.addNode(-3.981783029917854, -1.9229911997180191, 26.984673408071504, 5699) + femmesh.addNode(-3.9553279274327626, 1.9322499567606677, 37.477570300693785, 5700) + femmesh.addNode(-4.279790158264828, 1.368229208823708, 29.62254368252148, 5701) + femmesh.addNode(2.7527599118450112, -3.531878788819354, 31.626036636472655, 5702) + femmesh.addNode(2.0679488393110823, -3.9691931550268715, 31.153166585145225, 5703) + femmesh.addNode(-3.8365689405456873, 2.095169042725209, 10.568748989963101, 5704) + femmesh.addNode(2.736358793196661, -3.54769275494339, 30.749265900704202, 5705) + femmesh.addNode(-2.790053129568864, -3.4504852506173105, 39.10767995854713, 5706) + femmesh.addNode(-3.1415837689416444, -3.2010937342473276, 39.88695138946326, 5707) + femmesh.addNode(-3.948688768753863, 2.0207790002508697, 36.616591704897985, 5708) + femmesh.addNode(4.346525183361589, 1.545247697529886, 48.86923421545834, 5709) + femmesh.addNode(-3.5054557702887283, 2.820958491474646, 26.896563933623558, 5710) + femmesh.addNode(-2.9433826790626183, 3.3459204273594287, 27.34911568836943, 5711) + femmesh.addNode(-2.2872519059137346, 3.8588435648145376, 21.374339308914998, 5712) + femmesh.addNode(-0.778084329093499, 4.401524085273622, 16.870166963223532, 5713) + femmesh.addNode(4.176171202316354, 0.3044561771844647, 48.77146853699902, 5714) + femmesh.addNode(-1.0448287251390205, -4.332949502025463, 40.84734459893642, 5715) + femmesh.addNode(-2.8377261408818035, 3.3450329094946056, 30.090072603770977, 5716) + femmesh.addNode(-3.912257548422601, 2.051413236957824, 24.627380507141517, 5717) + femmesh.addNode(4.595401045090577, -0.3258825950885175, 49.00714419416733, 5718) + femmesh.addNode(-2.950535383197765, 3.346152232003088, 31.95957676280484, 5719) + femmesh.addNode(-2.9103348990890217, 3.373389881659283, 31.064344270142776, 5720) + femmesh.addNode(-0.93430897795083, -4.36050128192453, 24.28472945230453, 5721) + femmesh.addNode(4.233600334955102, 1.5140586274370866, 30.334058550453797, 5722) + femmesh.addNode(-0.8822144429367836, -4.377343594805565, 26.203561230627752, 5723) + femmesh.addNode(4.350232723063105, 0.759367414698899, 29.865360500233606, 5724) + femmesh.addNode(-3.3707777430630506, 2.908241039414525, 41.572552273841055, 5725) + femmesh.addNode(4.377726076992707, -0.7722814919372805, 6.692847884339297, 5726) + femmesh.addNode(-4.1297214367614385, 1.7875683764779922, 49.19655092331452, 5727) + femmesh.addNode(-2.0271188970901983, -4.015469224589215, 1.5816701925264791, 5728) + femmesh.addNode(-1.585964407949525, -4.200650580091302, 0.7760371956030514, 5729) + femmesh.addNode(3.9048055534903625, 2.18326330521798, 27.21465401282269, 5730) + femmesh.addNode(4.232546871130733, 1.5150043972805713, 12.540494321573387, 5731) + femmesh.addNode(-2.9409843520730767, 3.3459708883540826, 29.194060478632288, 5732) + femmesh.addNode(-3.511913960568626, 2.8116625786654605, 24.1038591800492, 5733) + femmesh.addNode(-4.0837642837595105, -1.7283728502487945, 22.858540124356455, 5734) + femmesh.addNode(-3.001177135888682, 3.35035456323787, 5.407232447410391, 5735) + femmesh.addNode(-3.24840827754781, 3.0797136994865983, 6.2536952598815345, 5736) + femmesh.addNode(3.390465235503621, -2.9396810875461217, 32.069546827298105, 5737) + femmesh.addNode(4.712818076959721, -0.15626899236670858, 0.4458685054044098, 5738) + femmesh.addNode(-3.5232938993800733, -2.776942884086548, 12.817513990976085, 5739) + femmesh.addNode(-3.556890305053469, 2.754356216578218, 15.09056617855667, 5740) + femmesh.addNode(4.354112860183587, 0.8415180577493571, 46.639693791699536, 5741) + femmesh.addNode(2.1909619051666893, -3.801739460191717, 37.5214325797011, 5742) + femmesh.addNode(3.3740641168552705, -2.955495053670158, 31.192776091529655, 5743) + femmesh.addNode(1.5074970969491297, -4.238918881918922, 20.031773537127307, 5744) + femmesh.addNode(4.4425098320873015, 0.5330532057467274, 3.276269827197611, 5745) + femmesh.addNode(4.40464253598381, 0.6838817691219368, 4.0117697785423445, 5746) + femmesh.addNode(2.7875013825561616, 3.5145307444215916, 5.747655924691805, 5747) + femmesh.addNode(-4.134012708595612, -1.7387787085754378, 0.8189200619063758, 5748) + femmesh.addNode(3.8882646876112608, -2.2165108218589507, 18.27129998803354, 5749) + femmesh.addNode(4.238052601494262, 1.4978989584880464, 23.159398440282914, 5750) + femmesh.addNode(-1.4023706397739835, -4.246780438919898, 12.915321522952604, 5751) + femmesh.addNode(-4.110951856205319, -1.6941022211121606, 7.145276497201515, 5752) + femmesh.addNode(-1.8786565220136282, -4.072993545966765, 41.18757285942527, 5753) + femmesh.addNode(-4.451152384503269, -0.36237199546871524, 18.70482134024178, 5754) + femmesh.addNode(-3.408956389832264, -2.8054456808531834, 3.150263744622343, 5755) + femmesh.addNode(-4.436506202633865, -0.7242396134675602, 23.299007659538468, 5756) + femmesh.addNode(3.8571459712004144, 2.2896887738569673, 0.750214179976684, 5757) + femmesh.addNode(-2.304611206310345, 3.850437853228565, 22.28925290922834, 5758) + femmesh.addNode(-2.727342374852866, -3.468123282413747, 4.697311608592887, 5759) + femmesh.addNode(-3.5424320827749547, 2.7747024198168484, 20.49202538043064, 5760) + femmesh.addNode(0.5846391584020149, -4.393954124991876, 32.95825453286733, 5761) + femmesh.addNode(0.6595344048283953, -4.371148717462682, 25.11108370469742, 5762) + femmesh.addNode(3.8781781913021174, 2.2255149592487617, 5.622820817415299, 5763) + femmesh.addNode(-3.8840153579113936, 2.142795267854464, 27.329738435363005, 5764) + femmesh.addNode(-4.30507103494168, -1.3006548334955461, 1.5749549756317012, 5765) + femmesh.addNode(1.4627958891002422, -4.251222069153553, 11.075599639614252, 5766) + femmesh.addNode(1.2157292073352206, -4.317771946580507, 30.893667092326925, 5767) + femmesh.addNode(-3.51489944569623, 2.8077680826572884, 31.492662495121454, 5768) + femmesh.addNode(-3.9265729902687685, 2.0042803444305934, 31.993357512587632, 5769) + femmesh.addNode(2.5355129480835625, -3.617478020649915, 3.189797191446903, 5770) + femmesh.addNode(4.4425098320873015, 0.5330532057467274, 2.3512698271976107, 5771) + femmesh.addNode(-4.145382328467126, -1.7265469326496476, 47.64684905770799, 5772) + femmesh.addNode(-3.1187582824807647, -3.209393882373503, 49.23189555874811, 5773) + femmesh.addNode(-4.4133077182746945, -0.8367004541942372, 2.3984892813982555, 5774) + femmesh.addNode(-4.1614699216941435, -1.7107584366276145, 12.171682547711466, 5775) + femmesh.addNode(2.8150433700110247, 3.4878724319351813, 6.6748085508534265, 5776) + femmesh.addNode(-1.5911792499923396, 4.207150382778249, 5.160716883924014, 5777) + femmesh.addNode(4.5, -1.102182119232618e-15, 2.675, 5778) + femmesh.addNode(-2.520102348177855, 3.70644590955773, 6.188845357862218, 5779) + femmesh.addNode(-2.2304502334549454, 3.847344278930024, 5.318636284921732, 5780) + femmesh.addNode(-1.880831364715249, 4.066252013405954, 6.030925956864499, 5781) + femmesh.addNode(-1.5386449920984306, 4.202693997125183, 0.7459794219473314, 5782) + femmesh.addNode(-1.070882404536542, 4.279460404313862, 1.5658509950902806, 5783) + femmesh.addNode(1.7208335542408184, 4.154366652170723, 32.98339272825204, 5784) + femmesh.addNode(4.340797762433462, -0.7819613787265711, 33.40984494938253, 5785) + femmesh.addNode(0.3811021488918853, -4.444848923781878, 31.348223135330436, 5786) + femmesh.addNode(4.388279315217915, -0.7390006173896283, 43.24422634185862, 5787) + femmesh.addNode(0.9206737391796682, 4.3531670505870945, 13.480906507382661, 5788) + femmesh.addNode(4.211740796375896, -1.5748227347024109, 33.88151182051233, 5789) + femmesh.addNode(4.385504124273148, 0.7479104712970658, 13.865784116665361, 5790) + femmesh.addNode(3.834398916715121, -2.2904554747199355, 33.42167277127038, 5791) + femmesh.addNode(-4.422516147653708, -0.7998514077033836, 3.9557782911600192, 5792) + femmesh.addNode(-0.6421622206940153, 4.4375335924241135, 0.8198715731429493, 5793) + femmesh.addNode(-2.952464075047783, 3.344841003332938, 22.78884001091074, 5794) + femmesh.addNode(3.371307119094719, -2.9763349043542506, 47.38826260591205, 5795) + femmesh.addNode(2.2090776620063064, 3.882971584092922, 10.8040453304821, 5796) + femmesh.addNode(-0.7302442201486977, 4.405578845579161, 25.89880866938775, 5797) + femmesh.addNode(3.867671195237551, -2.2443235514314273, 39.740397756981594, 5798) + femmesh.addNode(3.2511829798111185, 3.109512869252585, 2.283824972748373, 5799) + femmesh.addNode(-2.6721960173437993, 3.574189147799493, 4.6549712875254325, 5800) + femmesh.addNode(4.381648254742854, 0.7600997241680318, 12.048804992390519, 5801) + femmesh.addNode(3.379320419409207, 2.9474268366407723, 6.233808163853103, 5802) + femmesh.addNode(2.880745040692999, -3.443288123004507, 37.99424830721246, 5803) + femmesh.addNode(-2.61587077758277, -3.538614527041492, 7.944743778256711, 5804) + femmesh.addNode(2.180082370344164, -3.8869840412812255, 38.42372179762325, 5805) + femmesh.addNode(-4.480303178239028, -0.33108976057044304, 6.379170488331129, 5806) + femmesh.addNode(-4.495525648954674, 0.12948862079298018, 5.536360283407409, 5807) + femmesh.addNode(-4.367282374167168, -0.822041425773221, 5.504664102949357, 5808) + femmesh.addNode(3.4256735670826606, 2.898715918768417, 9.901850476116064, 5809) + femmesh.addNode(3.8370166915852244, 2.279830260365004, 9.397448078607301, 5810) + femmesh.addNode(-4.440461072771157, -0.3183760916798615, 4.776941299063149, 5811) + femmesh.addNode(-4.289987895245345, -1.2691789022370121, 12.937716667462702, 5812) + femmesh.addNode(-2.9820927336558425, 3.3158155167946215, 17.32646100165887, 5813) + femmesh.addNode(-1.1045270148767397, 4.307653959881072, 4.626410466815775, 5814) + femmesh.addNode(-2.7065068382235857, 3.528740154520725, 7.007826315612109, 5815) + femmesh.addNode(-1.017205139608917, -4.335029636495159, 39.91280916196296, 5816) + femmesh.addNode(0.7271324237347453, 4.372196305191408, 12.595384512267302, 5817) + femmesh.addNode(2.338538621113597, -3.76430107791791, 43.76901081323194, 5818) + femmesh.addNode(4.226401785901914, -1.5323252901646072, 10.698038505849716, 5819) + femmesh.addNode(4.203476312023552, -1.5977738444801726, 30.27963057583185, 5820) + femmesh.addNode(-3.591194931969873, 2.711548952837015, 38.009572563887076, 5821) + femmesh.addNode(-3.9466108094624284, 2.043888306247469, 38.50593522215914, 5822) + return True + + +def create_elements(femmesh): + # elements + femmesh.addVolume([242, 188, 501, 168, 1521, 3936, 3935, 1471, 1337, 3937], 2085) + femmesh.addVolume([526, 25, 26, 137, 3938, 1007, 3939, 3940, 1165, 1166], 2086) + femmesh.addVolume([210, 279, 280, 678, 1603, 1607, 1605, 3941, 3942, 3943], 2087) + femmesh.addVolume([769, 786, 270, 715, 3280, 3945, 3944, 3225, 3279, 3946], 2088) + femmesh.addVolume([114, 562, 115, 29, 2575, 2576, 1101, 3947, 3948, 3949], 2089) + femmesh.addVolume([293, 694, 744, 743, 3950, 3147, 3951, 3952, 3145, 3149], 2090) + femmesh.addVolume([562, 114, 561, 186, 2575, 2573, 2577, 3953, 3954, 3955], 2091) + femmesh.addVolume([115, 529, 30, 116, 2483, 3957, 3956, 1102, 2482, 3958], 2092) + femmesh.addVolume([272, 672, 203, 673, 3959, 3961, 1582, 3960, 2933, 3962], 2093) + femmesh.addVolume([841, 796, 336, 795, 3459, 3964, 3963, 3460, 3405, 3965], 2094) + femmesh.addVolume([337, 796, 336, 841, 3966, 3964, 1782, 3967, 3459, 3963], 2095) + femmesh.addVolume([661, 233, 586, 585, 3968, 3969, 2903, 2902, 3970, 2669], 2096) + femmesh.addVolume([467, 491, 468, 976, 2294, 2295, 2192, 3971, 3972, 3973], 2097) + femmesh.addVolume([804, 321, 746, 745, 3974, 3975, 3334, 3333, 3976, 3155], 2098) + femmesh.addVolume([873, 496, 909, 915, 3977, 3978, 3679, 3693, 3979, 3692], 2099) + femmesh.addVolume([167, 562, 115, 583, 3980, 2576, 3981, 3982, 2660, 2627], 2100) + femmesh.addVolume([745, 321, 746, 696, 3976, 3975, 3155, 3151, 3983, 3153], 2101) + femmesh.addVolume([980, 491, 976, 468, 3984, 3972, 3923, 3985, 2295, 3973], 2102) + femmesh.addVolume([970, 980, 976, 468, 3918, 3923, 3897, 3986, 3985, 3973], 2103) + femmesh.addVolume([574, 26, 137, 526, 3987, 1166, 3988, 2637, 3939, 3940], 2104) + femmesh.addVolume([906, 447, 454, 404, 3989, 2145, 3990, 3991, 2122, 2144], 2105) + femmesh.addVolume([868, 384, 383, 335, 3992, 1930, 3993, 3994, 1928, 1926], 2106) + femmesh.addVolume([166, 560, 28, 561, 3995, 3997, 1241, 3996, 2574, 3998], 2107) + femmesh.addVolume([558, 184, 165, 25, 3999, 1325, 4000, 4001, 1285, 1240], 2108) + femmesh.addVolume([840, 420, 451, 888, 4002, 2136, 4003, 3610, 4004, 4005], 2109) + femmesh.addVolume([296, 758, 759, 817, 4006, 3194, 4007, 4008, 3372, 3373], 2110) + femmesh.addVolume([837, 844, 462, 891, 3473, 4010, 4009, 3620, 3621, 4011], 2111) + femmesh.addVolume([782, 279, 678, 280, 4012, 3942, 3263, 4013, 1607, 3943], 2112) + femmesh.addVolume([331, 379, 878, 330, 1914, 4015, 4014, 1764, 1913, 4016], 2113) + femmesh.addVolume([98, 546, 99, 13, 2527, 2528, 1085, 4017, 4018, 4019], 2114) + femmesh.addVolume([221, 287, 612, 313, 1625, 4021, 4020, 1704, 1717, 4022], 2115) + femmesh.addVolume([687, 297, 726, 711, 4023, 4024, 3197, 3042, 4025, 3273], 2116) + femmesh.addVolume([430, 431, 927, 468, 2073, 4027, 4026, 2190, 2191, 4028], 2117) + femmesh.addVolume([826, 877, 836, 438, 3575, 3576, 3446, 4029, 4030, 4031], 2118) + femmesh.addVolume([606, 133, 524, 607, 4032, 4033, 2720, 2869, 4034, 2723], 2119) + femmesh.addVolume([975, 957, 487, 977, 3896, 4036, 4035, 3920, 3900, 4037], 2120) + femmesh.addVolume([947, 426, 921, 952, 4038, 4039, 3813, 3817, 4040, 3816], 2121) + femmesh.addVolume([947, 425, 426, 952, 4041, 2058, 4038, 3817, 4042, 4040], 2122) + femmesh.addVolume([695, 252, 228, 322, 4043, 1496, 4044, 4045, 1736, 1734], 2123) + femmesh.addVolume([166, 186, 561, 28, 1316, 3955, 3996, 1241, 1290, 3998], 2124) + femmesh.addVolume([199, 268, 740, 689, 1570, 4048, 4046, 4047, 4049, 3137], 2125) + femmesh.addVolume([231, 324, 691, 229, 1742, 4051, 4050, 1446, 1741, 4052], 2126) + femmesh.addVolume([241, 726, 259, 647, 4053, 4055, 1533, 4054, 3101, 4056], 2127) + femmesh.addVolume([819, 329, 874, 328, 4057, 4059, 3566, 4058, 1758, 4060], 2128) + femmesh.addVolume([942, 459, 424, 954, 4061, 2169, 4062, 3823, 4063, 4064], 2129) + femmesh.addVolume([379, 380, 878, 911, 1918, 4066, 4015, 4065, 4067, 3682], 2130) + femmesh.addVolume([593, 249, 261, 295, 4068, 1553, 4069, 4070, 1644, 1645], 2131) + femmesh.addVolume([463, 975, 952, 968, 4071, 3933, 4072, 4073, 3924, 3886], 2132) + femmesh.addVolume([903, 904, 861, 399, 3661, 3659, 3657, 4074, 4075, 4076], 2133) + femmesh.addVolume([439, 395, 791, 407, 2096, 4078, 4077, 2097, 1999, 4079], 2134) + femmesh.addVolume([983, 981, 481, 470, 2330, 4082, 4080, 4081, 4083, 2299], 2135) + femmesh.addVolume([516, 73, 193, 537, 2578, 4085, 4084, 2625, 2502, 4086], 2136) + femmesh.addVolume([150, 535, 580, 223, 4087, 2659, 4088, 1424, 4089, 4090], 2137) + femmesh.addVolume([521, 602, 127, 603, 2712, 4092, 4091, 2715, 2862, 4093], 2138) + femmesh.addVolume([210, 656, 678, 608, 4094, 2945, 3941, 4095, 2899, 2944], 2139) + femmesh.addVolume([695, 694, 228, 630, 2993, 4096, 4044, 2991, 2989, 4097], 2140) + femmesh.addVolume([425, 463, 426, 952, 2176, 2177, 2058, 4042, 4072, 4040], 2141) + femmesh.addVolume([205, 604, 130, 129, 4098, 4099, 1371, 1370, 4100, 1146], 2142) + femmesh.addVolume([497, 958, 930, 959, 4101, 3836, 4102, 4103, 3840, 3838], 2143) + femmesh.addVolume([323, 694, 693, 226, 4104, 2990, 4105, 1737, 4106, 4107], 2144) + femmesh.addVolume([701, 315, 253, 234, 4108, 1707, 4109, 4110, 1708, 1500], 2145) + femmesh.addVolume([604, 205, 130, 605, 4098, 1371, 4099, 2859, 4111, 4112], 2146) + femmesh.addVolume([194, 684, 597, 621, 4113, 2962, 4114, 4115, 2963, 2892], 2147) + femmesh.addVolume([158, 629, 544, 630, 4116, 2780, 4117, 4118, 2784, 2782], 2148) + femmesh.addVolume([411, 826, 765, 361, 4119, 3407, 4120, 2025, 4121, 4122], 2149) + femmesh.addVolume([871, 840, 451, 888, 3559, 4003, 4123, 3613, 3610, 4005], 2150) + femmesh.addVolume([245, 660, 611, 727, 4124, 2901, 4125, 4126, 3105, 3103], 2151) + femmesh.addVolume([522, 18, 570, 129, 4127, 4129, 2633, 4128, 1142, 4130], 2152) + femmesh.addVolume([860, 813, 349, 358, 3520, 4133, 4131, 4132, 4134, 1894], 2153) + femmesh.addVolume([12, 519, 97, 11, 4135, 2462, 4136, 993, 4137, 4138], 2154) + femmesh.addVolume([549, 16, 17, 102, 4139, 998, 4140, 2537, 4141, 4142], 2155) + femmesh.addVolume([508, 191, 591, 509, 4143, 4144, 2682, 2435, 4145, 2683], 2156) + femmesh.addVolume([441, 857, 858, 900, 4146, 3515, 4147, 4148, 3647, 3648], 2157) + femmesh.addVolume([667, 763, 784, 351, 3204, 3282, 3272, 4149, 4150, 4151], 2158) + femmesh.addVolume([414, 444, 843, 457, 2112, 4153, 4152, 2157, 2158, 4154], 2159) + femmesh.addVolume([458, 417, 890, 882, 2160, 4157, 4155, 4156, 4158, 3619], 2160) + femmesh.addVolume([925, 458, 890, 882, 4159, 4155, 3727, 3726, 4156, 3619], 2161) + femmesh.addVolume([419, 848, 417, 882, 4160, 4162, 2038, 4161, 3593, 4158], 2162) + femmesh.addVolume([544, 96, 11, 97, 2521, 4164, 4163, 2522, 1083, 4138], 2163) + femmesh.addVolume([860, 903, 861, 401, 3656, 3657, 3524, 4165, 4166, 4167], 2164) + femmesh.addVolume([980, 494, 963, 962, 4168, 4169, 3912, 3911, 4170, 3852], 2165) + femmesh.addVolume([620, 241, 167, 647, 4171, 1466, 4172, 2835, 4054, 4173], 2166) + femmesh.addVolume([168, 500, 75, 501, 4174, 2408, 4175, 3937, 2411, 2409], 2167) + femmesh.addVolume([136, 573, 526, 110, 4176, 2651, 4177, 4178, 2599, 2477], 2168) + femmesh.addVolume([925, 493, 924, 966, 4179, 4180, 3780, 3860, 4181, 3859], 2169) + femmesh.addVolume([19, 552, 20, 162, 4182, 4183, 1001, 1234, 4184, 1233], 2170) + femmesh.addVolume([980, 983, 963, 494, 2335, 3932, 3912, 4168, 4185, 4169], 2171) + femmesh.addVolume([177, 628, 157, 543, 4186, 4188, 1307, 4187, 2777, 4189], 2172) + femmesh.addVolume([422, 496, 909, 873, 2289, 3978, 4190, 4191, 3977, 3679], 2173) + femmesh.addVolume([365, 865, 817, 790, 4192, 3534, 4193, 4194, 3535, 3436], 2174) + femmesh.addVolume([530, 59, 577, 143, 2488, 2609, 2610, 4195, 4196, 4197], 2175) + femmesh.addVolume([335, 868, 795, 828, 3994, 3548, 4198, 4199, 3549, 3413], 2176) + femmesh.addVolume([177, 254, 628, 629, 1502, 4201, 4186, 4200, 4202, 2781], 2177) + femmesh.addVolume([639, 236, 182, 638, 4203, 1455, 4204, 2811, 4205, 4206], 2178) + femmesh.addVolume([35, 63, 146, 36, 2371, 4207, 1192, 1018, 2352, 1193], 2179) + femmesh.addVolume([950, 924, 916, 498, 3811, 3721, 3810, 4208, 4209, 4210], 2180) + femmesh.addVolume([287, 612, 723, 616, 4021, 3088, 4211, 4212, 2744, 3087], 2181) + femmesh.addVolume([810, 811, 363, 858, 3356, 4214, 4213, 3513, 3514, 4215], 2182) + femmesh.addVolume([948, 466, 429, 955, 4216, 2185, 4217, 3827, 4218, 4219], 2183) + femmesh.addVolume([216, 659, 215, 713, 4220, 4222, 1405, 4221, 3047, 4223], 2184) + femmesh.addVolume([257, 705, 641, 237, 4224, 3022, 4225, 1551, 4226, 4227], 2185) + femmesh.addVolume([558, 111, 165, 559, 2564, 4228, 4000, 2568, 2566, 4229], 2186) + femmesh.addVolume([529, 31, 142, 30, 4230, 1181, 4231, 3957, 1012, 1180], 2187) + femmesh.addVolume([222, 722, 613, 616, 4232, 3084, 4233, 4234, 3085, 2745], 2188) + femmesh.addVolume([755, 813, 814, 358, 3361, 3365, 3363, 4235, 4134, 4236], 2189) + femmesh.addVolume([621, 320, 725, 225, 4237, 4239, 3096, 4238, 1727, 4240], 2190) + femmesh.addVolume([936, 903, 445, 937, 3762, 4242, 4241, 3766, 3764, 4243], 2191) + femmesh.addVolume([21, 106, 20, 132, 4244, 4245, 1002, 1151, 4246, 1150], 2192) + femmesh.addVolume([529, 31, 515, 142, 4230, 4247, 2485, 4231, 1181, 4248], 2193) + femmesh.addVolume([876, 910, 886, 416, 3675, 3676, 3606, 4249, 4250, 4251], 2194) + femmesh.addVolume([678, 782, 280, 776, 3263, 4013, 3943, 3243, 3265, 4252], 2195) + femmesh.addVolume([964, 481, 476, 443, 4253, 2268, 4254, 4255, 2230, 2218], 2196) + femmesh.addVolume([918, 474, 877, 448, 4256, 4258, 3702, 4257, 2285, 4259], 2197) + femmesh.addVolume([758, 708, 757, 292, 3189, 3187, 3191, 4260, 4261, 4262], 2198) + femmesh.addVolume([433, 953, 470, 471, 4263, 4264, 2197, 2199, 4265, 2201], 2199) + femmesh.addVolume([122, 623, 197, 198, 4266, 4267, 1347, 1349, 4268, 1351], 2200) + femmesh.addVolume([150, 67, 68, 39, 4269, 1052, 4270, 1203, 2359, 2374], 2201) + femmesh.addVolume([532, 576, 146, 63, 2606, 4272, 4271, 2492, 2605, 4207], 2202) + femmesh.addVolume([956, 488, 949, 944, 4273, 4274, 2341, 3888, 4275, 3807], 2203) + femmesh.addVolume([496, 474, 918, 448, 2318, 4256, 4276, 2288, 2285, 4257], 2204) + femmesh.addVolume([918, 873, 448, 877, 3701, 4277, 4257, 3702, 3578, 4259], 2205) + femmesh.addVolume([540, 7, 175, 156, 4278, 1267, 4279, 4280, 1222, 1268], 2206) + femmesh.addVolume([873, 826, 448, 877, 3565, 4281, 4277, 3578, 3575, 4259], 2207) + femmesh.addVolume([529, 142, 141, 30, 4231, 1182, 4282, 3957, 1180, 1178], 2208) + femmesh.addVolume([626, 540, 156, 541, 2770, 4280, 4283, 2771, 2514, 4284], 2209) + femmesh.addVolume([95, 543, 96, 10, 2518, 2519, 1082, 4285, 4286, 4287], 2210) + femmesh.addVolume([694, 629, 693, 226, 2988, 2986, 2990, 4106, 4288, 4107], 2211) + femmesh.addVolume([914, 474, 918, 951, 4289, 4256, 3703, 3814, 4290, 3889], 2212) + femmesh.addVolume([593, 510, 592, 261, 2688, 2686, 2690, 4069, 4291, 4292], 2213) + femmesh.addVolume([279, 782, 340, 280, 4012, 4293, 1789, 1607, 4013, 1790], 2214) + femmesh.addVolume([939, 948, 429, 955, 3803, 4217, 4294, 3826, 3827, 4219], 2215) + femmesh.addVolume([436, 951, 474, 914, 4295, 4290, 2208, 4296, 3814, 4289], 2216) + femmesh.addVolume([611, 578, 622, 218, 2730, 2757, 2888, 4297, 4298, 4299], 2217) + femmesh.addVolume([645, 560, 559, 185, 2828, 2571, 2827, 4300, 4301, 4302], 2218) + femmesh.addVolume([923, 447, 905, 938, 4303, 4304, 3724, 3771, 4305, 3770], 2219) + femmesh.addVolume([976, 467, 979, 955, 3971, 4306, 3919, 3898, 4307, 3922], 2220) + femmesh.addVolume([423, 904, 905, 938, 4308, 3699, 4309, 4310, 3769, 3770], 2221) + femmesh.addVolume([848, 851, 803, 373, 3550, 3493, 3489, 4311, 4312, 4313], 2222) + femmesh.addVolume([760, 351, 325, 295, 4314, 1822, 4315, 4316, 1820, 1748], 2223) + femmesh.addVolume([465, 978, 490, 974, 4317, 4319, 2292, 4318, 3903, 4320], 2224) + femmesh.addVolume([964, 481, 443, 935, 4253, 2230, 4255, 3853, 4321, 4322], 2225) + femmesh.addVolume([711, 243, 297, 306, 4323, 1684, 4025, 4324, 1676, 1733], 2226) + femmesh.addVolume([758, 296, 759, 709, 4006, 4007, 3194, 3190, 4325, 3192], 2227) + femmesh.addVolume([249, 302, 669, 594, 1666, 4328, 4326, 4327, 4329, 2922], 2228) + femmesh.addVolume([466, 467, 429, 955, 2189, 2187, 2185, 4218, 4307, 4219], 2229) + femmesh.addVolume([854, 807, 369, 855, 3502, 4331, 4330, 3506, 3504, 4332], 2230) + femmesh.addVolume([510, 84, 53, 85, 2436, 2392, 4333, 2437, 1070, 2391], 2231) + femmesh.addVolume([480, 961, 979, 960, 4334, 3908, 4335, 4336, 3846, 3907], 2232) + femmesh.addVolume([860, 401, 861, 358, 4165, 4167, 3524, 4132, 1982, 4337], 2233) + femmesh.addVolume([590, 507, 171, 508, 2679, 4339, 4338, 2680, 2432, 4340], 2234) + femmesh.addVolume([980, 491, 962, 976, 3984, 4341, 3911, 3923, 3972, 3910], 2235) + femmesh.addVolume([101, 549, 16, 548, 2536, 4139, 4342, 2534, 2538, 4343], 2236) + femmesh.addVolume([491, 961, 442, 933, 4344, 4346, 2260, 4345, 3845, 4347], 2237) + femmesh.addVolume([7, 540, 8, 156, 4278, 4348, 989, 1222, 4280, 1221], 2238) + femmesh.addVolume([428, 887, 429, 383, 4349, 4350, 2067, 2063, 4351, 2065], 2239) + femmesh.addVolume([441, 375, 857, 410, 2101, 4352, 4146, 2102, 2008, 4353], 2240) + femmesh.addVolume([467, 466, 979, 955, 2189, 4354, 4306, 4307, 4218, 3922], 2241) + femmesh.addVolume([428, 893, 941, 948, 4355, 3783, 4356, 4357, 3808, 3819], 2242) + femmesh.addVolume([466, 480, 979, 490, 2315, 4335, 4354, 2293, 2276, 4358], 2243) + femmesh.addVolume([82, 508, 83, 52, 2430, 2431, 1068, 2390, 4359, 2389], 2244) + femmesh.addVolume([881, 329, 874, 819, 4360, 4059, 3589, 3588, 4057, 3566], 2245) + femmesh.addVolume([399, 356, 861, 358, 1975, 4361, 4076, 1976, 1877, 4337], 2246) + femmesh.addVolume([333, 733, 831, 273, 4362, 3422, 4363, 1769, 4364, 4365], 2247) + femmesh.addVolume([979, 480, 960, 490, 4335, 4336, 3907, 4358, 2276, 4366], 2248) + femmesh.addVolume([947, 425, 968, 424, 4041, 4368, 3865, 4367, 2055, 4369], 2249) + femmesh.addVolume([939, 430, 883, 927, 4370, 4371, 3773, 3802, 4026, 3735], 2250) + femmesh.addVolume([114, 561, 28, 113, 2573, 3998, 4372, 1100, 2572, 4373], 2251) + femmesh.addVolume([980, 972, 469, 970, 2336, 4375, 4374, 3918, 3879, 4376], 2252) + femmesh.addVolume([735, 355, 820, 764, 4377, 4378, 3381, 3208, 4379, 3382], 2253) + femmesh.addVolume([81, 507, 82, 51, 2427, 2428, 1067, 2388, 4380, 2387], 2254) + femmesh.addVolume([74, 2, 984, 45, 2401, 4382, 4381, 2376, 1028, 4383], 2255) + femmesh.addVolume([764, 286, 735, 355, 4384, 4385, 3208, 4379, 1833, 4377], 2256) + femmesh.addVolume([5, 563, 1, 985, 4386, 4388, 986, 4387, 4389, 4390], 2257) + femmesh.addVolume([491, 961, 962, 976, 4344, 3849, 4341, 3972, 3909, 3910], 2258) + femmesh.addVolume([347, 300, 361, 765, 1810, 1853, 1854, 4391, 4392, 4122], 2259) + femmesh.addVolume([940, 470, 953, 972, 4393, 4264, 3862, 3880, 4394, 3902], 2260) + femmesh.addVolume([552, 551, 181, 19, 2547, 4396, 4395, 4182, 4397, 1279], 2261) + femmesh.addVolume([13, 99, 520, 14, 4019, 2464, 4398, 995, 4399, 4400], 2262) + femmesh.addVolume([125, 13, 520, 14, 1129, 4398, 4401, 1130, 995, 4400], 2263) + femmesh.addVolume([145, 144, 245, 531, 1263, 1479, 1480, 4402, 4403, 4404], 2264) + femmesh.addVolume([940, 470, 972, 432, 4393, 4394, 3880, 4405, 2196, 4406], 2265) + femmesh.addVolume([611, 305, 218, 622, 4407, 1674, 4297, 2888, 4408, 4299], 2266) + femmesh.addVolume([441, 375, 858, 857, 2101, 4409, 4147, 4146, 4352, 3515], 2267) + femmesh.addVolume([814, 813, 861, 358, 3365, 3522, 3523, 4236, 4134, 4337], 2268) + femmesh.addVolume([144, 60, 577, 531, 4410, 2611, 4411, 4403, 2491, 2612], 2269) + femmesh.addVolume([46, 76, 501, 75, 2377, 2410, 4412, 2378, 1061, 2409], 2270) + femmesh.addVolume([286, 346, 735, 355, 1837, 4413, 4385, 1833, 1852, 4377], 2271) + femmesh.addVolume([308, 727, 245, 614, 4414, 4126, 1681, 4415, 3104, 4416], 2272) + femmesh.addVolume([411, 826, 873, 838, 4119, 3565, 4417, 4418, 3452, 3564], 2273) + femmesh.addVolume([646, 186, 259, 647, 4419, 1534, 4420, 2836, 4421, 4056], 2274) + femmesh.addVolume([513, 56, 87, 173, 4422, 2396, 2445, 4423, 1256, 4424], 2275) + femmesh.addVolume([444, 885, 446, 886, 4425, 4427, 2119, 4426, 3605, 4428], 2276) + femmesh.addVolume([735, 306, 286, 661, 4429, 1677, 4385, 3123, 4430, 4431], 2277) + femmesh.addVolume([291, 613, 688, 220, 4432, 2973, 4433, 1636, 4434, 4435], 2278) + femmesh.addVolume([222, 148, 533, 613, 1421, 4437, 4436, 4233, 4438, 2735], 2279) + femmesh.addVolume([148, 579, 533, 613, 4439, 2640, 4437, 4438, 2734, 2735], 2280) + femmesh.addVolume([613, 617, 688, 220, 2882, 2972, 2973, 4434, 4440, 4435], 2281) + femmesh.addVolume([706, 642, 641, 237, 3025, 2820, 3024, 4441, 4442, 4227], 2282) + femmesh.addVolume([381, 892, 426, 427, 4443, 4444, 2057, 2059, 4445, 2061], 2283) + femmesh.addVolume([560, 27, 28, 113, 4446, 1009, 3997, 2570, 4447, 4373], 2284) + femmesh.addVolume([844, 408, 421, 779, 4448, 2044, 4449, 3472, 4450, 4451], 2285) + femmesh.addVolume([52, 84, 509, 83, 2405, 2434, 4452, 2389, 1069, 2433], 2286) + femmesh.addVolume([78, 48, 189, 79, 2381, 1297, 4453, 1064, 2402, 4454], 2287) + femmesh.addVolume([965, 981, 982, 476, 3913, 3926, 3928, 4455, 4456, 4457], 2288) + femmesh.addVolume([136, 137, 657, 212, 1167, 4459, 4458, 1391, 1392, 4460], 2289) + femmesh.addVolume([483, 419, 460, 888, 2235, 2165, 2238, 4461, 4462, 4463], 2290) + femmesh.addVolume([827, 844, 421, 779, 3542, 4449, 4464, 3440, 3472, 4451], 2291) + femmesh.addVolume([565, 518, 9, 94, 2626, 4466, 4465, 2583, 2461, 4467], 2292) + femmesh.addVolume([483, 888, 460, 924, 4461, 4463, 2238, 4468, 3722, 4469], 2293) + femmesh.addVolume([735, 306, 346, 286, 4429, 1808, 4413, 4385, 1677, 1837], 2294) + femmesh.addVolume([716, 650, 196, 717, 3060, 4471, 4470, 3130, 3075, 4472], 2295) + femmesh.addVolume([359, 318, 398, 739, 1845, 1972, 1973, 4473, 4474, 4475], 2296) + femmesh.addVolume([341, 390, 847, 850, 1946, 4478, 4476, 4477, 4479, 3492], 2297) + femmesh.addVolume([485, 966, 971, 478, 4480, 3914, 4481, 2243, 4482, 4483], 2298) + femmesh.addVolume([804, 348, 805, 746, 4484, 4485, 3338, 3334, 4486, 3336], 2299) + femmesh.addVolume([38, 579, 149, 66, 4487, 4488, 1201, 2357, 2616, 4489], 2300) + femmesh.addVolume([969, 465, 427, 941, 4490, 2181, 4491, 3867, 4492, 4493], 2301) + femmesh.addVolume([210, 279, 678, 680, 1603, 3942, 3941, 4494, 4495, 2951], 2302) + femmesh.addVolume([90, 193, 117, 516, 4496, 1511, 4497, 2457, 4084, 4498], 2303) + femmesh.addVolume([950, 499, 498, 492, 4499, 2333, 4208, 4500, 2325, 2324], 2304) + femmesh.addVolume([474, 949, 918, 951, 4501, 3806, 4256, 4290, 2343, 3889], 2305) + femmesh.addVolume([346, 780, 790, 264, 4502, 3293, 4503, 1812, 4504, 4505], 2306) + femmesh.addVolume([291, 222, 613, 220, 1635, 4233, 4432, 1636, 1515, 4434], 2307) + femmesh.addVolume([378, 881, 884, 329, 4506, 3599, 4507, 1910, 4360, 4508], 2308) + femmesh.addVolume([966, 498, 924, 950, 4509, 4209, 3859, 3861, 4208, 3811], 2309) + femmesh.addVolume([288, 615, 619, 223, 4510, 2885, 4511, 1627, 4512, 4513], 2310) + femmesh.addVolume([232, 180, 635, 634, 1447, 4516, 4514, 4515, 4517, 2799], 2311) + femmesh.addVolume([758, 708, 239, 709, 3189, 4519, 4518, 3190, 3035, 4520], 2312) + femmesh.addVolume([536, 225, 624, 152, 4521, 4523, 2762, 4522, 1429, 4524], 2313) + femmesh.addVolume([255, 150, 534, 580, 1507, 4527, 4525, 4526, 4088, 2641], 2314) + femmesh.addVolume([104, 552, 105, 19, 2545, 2546, 1091, 4528, 4182, 4529], 2315) + femmesh.addVolume([331, 849, 878, 834, 4530, 3580, 4014, 4531, 3488, 3579], 2316) + femmesh.addVolume([653, 125, 601, 200, 4532, 4534, 2889, 4533, 1356, 4535], 2317) + femmesh.addVolume([290, 749, 807, 748, 4536, 3343, 4537, 4538, 3164, 3342], 2318) + femmesh.addVolume([274, 334, 781, 273, 1772, 4540, 4539, 1589, 1771, 4541], 2319) + femmesh.addVolume([730, 665, 765, 361, 3113, 3210, 3211, 4542, 4543, 4122], 2320) + femmesh.addVolume([178, 631, 228, 630, 4544, 4546, 1437, 4545, 2787, 4097], 2321) + femmesh.addVolume([505, 246, 170, 189, 4547, 1482, 4548, 4549, 1483, 1329], 2322) + femmesh.addVolume([12, 158, 545, 178, 1225, 4551, 4550, 1274, 1308, 4552], 2323) + femmesh.addVolume([978, 464, 489, 977, 4553, 2319, 4554, 3925, 4555, 4556], 2324) + femmesh.addVolume([475, 407, 869, 836, 2211, 4559, 4557, 4558, 4560, 3551], 2325) + femmesh.addVolume([243, 188, 169, 502, 1473, 1328, 1472, 4561, 4562, 4563], 2326) + femmesh.addVolume([675, 205, 204, 604, 4564, 1372, 4565, 2936, 4098, 4566], 2327) + femmesh.addVolume([280, 678, 776, 682, 3943, 3243, 4252, 4567, 2956, 3242], 2328) + femmesh.addVolume([551, 18, 181, 19, 4568, 1280, 4396, 4397, 1000, 1279], 2329) + femmesh.addVolume([957, 489, 487, 977, 4569, 2255, 4036, 3900, 4556, 4037], 2330) + femmesh.addVolume([464, 978, 497, 465, 4553, 4570, 2290, 2183, 4317, 2291], 2331) + femmesh.addVolume([796, 337, 338, 833, 3966, 1785, 4571, 3428, 4572, 4573], 2332) + femmesh.addVolume([264, 726, 780, 766, 4574, 3415, 4504, 4575, 3215, 3400], 2333) + femmesh.addVolume([521, 15, 16, 127, 4576, 997, 4577, 4091, 1135, 1136], 2334) + femmesh.addVolume([213, 771, 282, 283, 4578, 4579, 1612, 1614, 4580, 1616], 2335) + femmesh.addVolume([426, 425, 911, 380, 2058, 4582, 4581, 2056, 2054, 4067], 2336) + femmesh.addVolume([166, 560, 561, 646, 3995, 2574, 3996, 4583, 2830, 2831], 2337) + femmesh.addVolume([90, 5, 193, 985, 4584, 1306, 4496, 4585, 4387, 4586], 2338) + femmesh.addVolume([744, 745, 322, 803, 3152, 4588, 4587, 3330, 3331, 4589], 2339) + femmesh.addVolume([411, 826, 448, 873, 4119, 4281, 2125, 4417, 3565, 4277], 2340) + femmesh.addVolume([348, 804, 321, 746, 4484, 3974, 1814, 4486, 3334, 3975], 2341) + femmesh.addVolume([929, 928, 957, 449, 3742, 3833, 3834, 4590, 4591, 4592], 2342) + femmesh.addVolume([659, 216, 140, 141, 4220, 1403, 4593, 4594, 1404, 1179], 2343) + femmesh.addVolume([15, 521, 126, 127, 4576, 4595, 1133, 1135, 4091, 1137], 2344) + femmesh.addVolume([892, 846, 380, 911, 3624, 4597, 4596, 3685, 3681, 4067], 2345) + femmesh.addVolume([403, 840, 871, 801, 4598, 3559, 4599, 4600, 3457, 3558], 2346) + femmesh.addVolume([214, 683, 799, 681, 4601, 3320, 4602, 4603, 2961, 3319], 2347) + femmesh.addVolume([507, 508, 82, 171, 2432, 2430, 2428, 4339, 4340, 4604], 2348) + femmesh.addVolume([296, 709, 240, 710, 4325, 4606, 1646, 4605, 3038, 4607], 2349) + femmesh.addVolume([813, 860, 349, 812, 3520, 4131, 4133, 3362, 3519, 4608], 2350) + femmesh.addVolume([44, 73, 193, 1, 2367, 4085, 1105, 1027, 2368, 1104], 2351) + femmesh.addVolume([648, 118, 597, 564, 4609, 4610, 2891, 2838, 4611, 2881], 2352) + femmesh.addVolume([13, 124, 520, 567, 1127, 4613, 4398, 4612, 4614, 2645], 2353) + femmesh.addVolume([653, 199, 599, 124, 4615, 4617, 2866, 4616, 1353, 4618], 2354) + femmesh.addVolume([664, 247, 589, 588, 4619, 4620, 2910, 2909, 4621, 2678], 2355) + femmesh.addVolume([199, 123, 599, 124, 1352, 4622, 4617, 1353, 1128, 4618], 2356) + femmesh.addVolume([635, 161, 636, 550, 4623, 4624, 2802, 2798, 4625, 2800], 2357) + femmesh.addVolume([898, 855, 413, 402, 3641, 4628, 4626, 4627, 4629, 2018], 2358) + femmesh.addVolume([762, 302, 669, 325, 4630, 4328, 3200, 4631, 1747, 4632], 2359) + femmesh.addVolume([241, 620, 687, 647, 4171, 2971, 4633, 4054, 2835, 3083], 2360) + femmesh.addVolume([472, 945, 926, 435, 4634, 3801, 4635, 2203, 4636, 4637], 2361) + femmesh.addVolume([535, 615, 223, 619, 2740, 4512, 4089, 2751, 2885, 4513], 2362) + femmesh.addVolume([763, 730, 836, 370, 3205, 3443, 3444, 4638, 4639, 4640], 2363) + femmesh.addVolume([261, 667, 592, 668, 4641, 2917, 4292, 4642, 2920, 2918], 2364) + femmesh.addVolume([816, 368, 864, 817, 4643, 4644, 3531, 3374, 4645, 3532], 2365) + femmesh.addVolume([118, 7, 564, 517, 1109, 4647, 4611, 4646, 4648, 2629], 2366) + femmesh.addVolume([947, 425, 424, 946, 4041, 2055, 4367, 3799, 4649, 4650], 2367) + femmesh.addVolume([7, 92, 564, 517, 4651, 2581, 4647, 4648, 2459, 2629], 2368) + femmesh.addVolume([378, 942, 424, 946, 4652, 4062, 2051, 4653, 3795, 4650], 2369) + femmesh.addVolume([755, 756, 303, 814, 3185, 4655, 4654, 3363, 3364, 4656], 2370) + femmesh.addVolume([653, 599, 567, 124, 2866, 2705, 2861, 4616, 4618, 4614], 2371) + femmesh.addVolume([245, 660, 305, 611, 4124, 4657, 1673, 4125, 2901, 4407], 2372) + femmesh.addVolume([348, 805, 746, 316, 4485, 3336, 4486, 1813, 4658, 4659], 2373) + femmesh.addVolume([188, 502, 501, 76, 4562, 2414, 3936, 4660, 2412, 2410], 2374) + femmesh.addVolume([485, 975, 968, 971, 4661, 3924, 4662, 4481, 3917, 3877], 2375) + femmesh.addVolume([390, 907, 435, 894, 4663, 4665, 2084, 4664, 3706, 4666], 2376) + femmesh.addVolume([199, 686, 599, 689, 4667, 2968, 4617, 4047, 2976, 2974], 2377) + femmesh.addVolume([389, 434, 435, 907, 2081, 2085, 2083, 4668, 4669, 4665], 2378) + femmesh.addVolume([621, 320, 225, 194, 4237, 1727, 4238, 4115, 1728, 1667], 2379) + femmesh.addVolume([665, 664, 765, 300, 3063, 3209, 3210, 4670, 4671, 4392], 2380) + femmesh.addVolume([945, 926, 435, 907, 3801, 4637, 4636, 3791, 3739, 4665], 2381) + femmesh.addVolume([390, 436, 894, 435, 2086, 4672, 4664, 2084, 2088, 4666], 2382) + femmesh.addVolume([907, 926, 435, 894, 3739, 4637, 4665, 3706, 3732, 4666], 2383) + femmesh.addVolume([140, 659, 528, 575, 4593, 2879, 4673, 4674, 2880, 2653], 2384) + femmesh.addVolume([794, 342, 341, 281, 4675, 1797, 4676, 4677, 1795, 1793], 2385) + femmesh.addVolume([502, 169, 585, 503, 4563, 4678, 2664, 2417, 4679, 2665], 2386) + femmesh.addVolume([610, 681, 215, 713, 2952, 4681, 4680, 3048, 3049, 4223], 2387) + femmesh.addVolume([389, 390, 907, 435, 1948, 4663, 4668, 2083, 2084, 4665], 2388) + femmesh.addVolume([904, 937, 938, 423, 3765, 3772, 3769, 4308, 4682, 4310], 2389) + femmesh.addVolume([437, 914, 475, 869, 4683, 4685, 2259, 4684, 3689, 4557], 2390) + femmesh.addVolume([767, 265, 352, 314, 4686, 1824, 4687, 4688, 1725, 1823], 2391) + femmesh.addVolume([128, 522, 129, 17, 4689, 4128, 1143, 1139, 4690, 1141], 2392) + femmesh.addVolume([488, 447, 938, 423, 2252, 4305, 4691, 2253, 2121, 4310], 2393) + femmesh.addVolume([717, 684, 314, 767, 3069, 4693, 4692, 3218, 3219, 4688], 2394) + femmesh.addVolume([610, 659, 140, 575, 2893, 4593, 4694, 2728, 2880, 4674], 2395) + femmesh.addVolume([747, 697, 244, 698, 3156, 4696, 4695, 3157, 3002, 4697], 2396) + femmesh.addVolume([758, 816, 292, 757, 3370, 4698, 4260, 3191, 3369, 4262], 2397) + femmesh.addVolume([147, 222, 533, 616, 1420, 4436, 4699, 4700, 4234, 2742], 2398) + femmesh.addVolume([519, 96, 97, 11, 2463, 1083, 2462, 4137, 4164, 4138], 2399) + femmesh.addVolume([359, 736, 398, 418, 4701, 4702, 1973, 2032, 4703, 2035], 2400) + femmesh.addVolume([135, 109, 23, 525, 4704, 4706, 1159, 4705, 2474, 4707], 2401) + femmesh.addVolume([872, 386, 889, 833, 4708, 4709, 3616, 3562, 4710, 3614], 2402) + femmesh.addVolume([258, 643, 165, 644, 4711, 4713, 1530, 4712, 2826, 4714], 2403) + femmesh.addVolume([135, 109, 525, 573, 4704, 2474, 4705, 4715, 2600, 2636], 2404) + femmesh.addVolume([257, 705, 294, 704, 4224, 4717, 1642, 4716, 3023, 4718], 2405) + femmesh.addVolume([966, 498, 950, 478, 4509, 4208, 3861, 4482, 2334, 4719], 2406) + femmesh.addVolume([29, 167, 115, 30, 1244, 3981, 3949, 1011, 1243, 3956], 2407) + femmesh.addVolume([142, 529, 596, 514, 4231, 2856, 4720, 4721, 2700, 2698], 2408) + femmesh.addVolume([321, 348, 746, 316, 1814, 4486, 3975, 1745, 1813, 4659], 2409) + femmesh.addVolume([540, 92, 539, 7, 2509, 2507, 2511, 4278, 4651, 4722], 2410) + femmesh.addVolume([662, 587, 586, 286, 2905, 2672, 2904, 4723, 4724, 4725], 2411) + femmesh.addVolume([587, 233, 586, 286, 4726, 3969, 2672, 4724, 1624, 4725], 2412) + femmesh.addVolume([477, 931, 930, 897, 4727, 3748, 4728, 4729, 3746, 3744], 2413) + femmesh.addVolume([543, 628, 157, 542, 2777, 4188, 4189, 2520, 2776, 4730], 2414) + femmesh.addVolume([175, 540, 625, 539, 4279, 2769, 4731, 4732, 2511, 2768], 2415) + femmesh.addVolume([708, 258, 707, 757, 4733, 4734, 3032, 3187, 4735, 3186], 2416) + femmesh.addVolume([258, 298, 707, 757, 1652, 4736, 4734, 4735, 4737, 3186], 2417) + femmesh.addVolume([903, 904, 399, 445, 3661, 4075, 4074, 4242, 4738, 2115], 2418) + femmesh.addVolume([509, 52, 508, 191, 4452, 4359, 2435, 4145, 1301, 4143], 2419) + femmesh.addVolume([118, 117, 597, 564, 1110, 4739, 4610, 4611, 4740, 2881], 2420) + femmesh.addVolume([117, 118, 597, 256, 1110, 4610, 4739, 1513, 1547, 4741], 2421) + femmesh.addVolume([117, 516, 597, 564, 4498, 2766, 4739, 4740, 2654, 2881], 2422) + femmesh.addVolume([331, 846, 332, 834, 4742, 4743, 1767, 4531, 3478, 4744], 2423) + femmesh.addVolume([500, 45, 75, 74, 4745, 2375, 2408, 2407, 2376, 1060], 2424) + femmesh.addVolume([694, 744, 695, 228, 3147, 3148, 2993, 4096, 4746, 4044], 2425) + femmesh.addVolume([524, 106, 107, 21, 2473, 1093, 2472, 4747, 4244, 4748], 2426) + femmesh.addVolume([597, 117, 537, 516, 4739, 4749, 2701, 2766, 4498, 2625], 2427) + femmesh.addVolume([708, 258, 757, 292, 4733, 4735, 3187, 4261, 1639, 4262], 2428) + femmesh.addVolume([250, 595, 670, 594, 4750, 2924, 4751, 4752, 2696, 2923], 2429) + femmesh.addVolume([301, 730, 361, 665, 4753, 4542, 1855, 4754, 3113, 4543], 2430) + femmesh.addVolume([258, 298, 757, 292, 1652, 4737, 4735, 1639, 1654, 4262], 2431) + femmesh.addVolume([546, 159, 547, 14, 4755, 4757, 2532, 4756, 1227, 4758], 2432) + femmesh.addVolume([736, 359, 398, 739, 4701, 1973, 4702, 3228, 4473, 4475], 2433) + femmesh.addVolume([475, 914, 437, 474, 4685, 4683, 2259, 2281, 4289, 2209], 2434) + femmesh.addVolume([15, 568, 14, 126, 4759, 4760, 996, 1133, 4761, 1132], 2435) + femmesh.addVolume([722, 287, 222, 291, 4762, 1626, 4232, 4763, 1637, 1635], 2436) + femmesh.addVolume([546, 547, 99, 14, 2532, 2530, 2528, 4756, 4758, 4399], 2437) + femmesh.addVolume([568, 100, 14, 99, 2589, 4764, 4760, 2590, 1086, 4399], 2438) + femmesh.addVolume([398, 741, 366, 792, 4765, 4767, 1974, 4766, 3299, 4768], 2439) + femmesh.addVolume([720, 276, 712, 207, 4769, 4771, 3078, 4770, 1594, 4772], 2440) + femmesh.addVolume([697, 747, 244, 316, 3156, 4695, 4696, 4773, 4774, 1711], 2441) + femmesh.addVolume([747, 367, 316, 805, 4775, 1872, 4774, 3337, 4776, 4658], 2442) + femmesh.addVolume([110, 136, 25, 526, 4178, 1163, 4777, 2477, 4177, 3938], 2443) + femmesh.addVolume([367, 854, 853, 806, 4778, 3503, 4779, 4780, 3501, 3499], 2444) + femmesh.addVolume([529, 31, 30, 116, 4230, 1012, 3957, 2482, 4781, 3958], 2445) + femmesh.addVolume([637, 551, 636, 181, 2803, 2801, 2805, 4782, 4396, 4783], 2446) + femmesh.addVolume([277, 208, 207, 720, 1597, 1381, 1596, 4784, 4785, 4770], 2447) + femmesh.addVolume([367, 348, 316, 805, 1873, 1813, 1872, 4776, 4485, 4658], 2448) + femmesh.addVolume([695, 252, 745, 696, 4043, 4786, 3150, 2996, 4787, 3151], 2449) + femmesh.addVolume([136, 573, 135, 608, 4176, 4715, 1164, 4788, 2724, 4789], 2450) + femmesh.addVolume([573, 136, 24, 110, 4176, 1162, 4790, 2599, 4178, 4791], 2451) + femmesh.addVolume([876, 444, 886, 843, 4792, 4426, 3606, 3574, 4153, 3603], 2452) + femmesh.addVolume([341, 280, 776, 281, 1792, 4252, 4793, 1793, 1610, 4794], 2453) + femmesh.addVolume([137, 609, 657, 212, 4795, 2872, 4459, 1392, 4796, 4460], 2454) + femmesh.addVolume([378, 881, 329, 377, 4506, 4360, 1910, 1912, 4797, 1909], 2455) + femmesh.addVolume([158, 228, 226, 630, 1438, 1518, 1432, 4118, 4097, 4798], 2456) + femmesh.addVolume([642, 238, 184, 164, 4799, 1460, 4800, 4801, 1461, 1314], 2457) + femmesh.addVolume([447, 376, 404, 905, 2120, 1991, 2122, 4304, 4802, 4803], 2458) + femmesh.addVolume([694, 629, 226, 630, 2988, 4288, 4106, 2989, 2784, 4798], 2459) + femmesh.addVolume([573, 136, 526, 657, 4176, 4177, 2651, 2874, 4458, 2873], 2460) + femmesh.addVolume([557, 24, 184, 110, 4804, 1286, 4805, 2561, 4791, 4806], 2461) + femmesh.addVolume([573, 525, 135, 608, 2636, 4705, 4715, 2724, 2725, 4789], 2462) + femmesh.addVolume([788, 760, 325, 762, 3289, 4315, 4807, 3290, 3202, 4631], 2463) + femmesh.addVolume([678, 211, 608, 682, 4808, 4809, 2944, 2956, 4810, 2955], 2464) + femmesh.addVolume([610, 139, 575, 140, 4811, 4812, 2728, 4694, 1176, 4674], 2465) + femmesh.addVolume([872, 386, 940, 889, 4708, 4813, 3775, 3616, 4709, 3776], 2466) + femmesh.addVolume([568, 125, 14, 126, 4814, 1130, 4760, 4761, 1134, 1132], 2467) + femmesh.addVolume([37, 65, 148, 38, 2355, 4815, 1198, 1020, 2356, 1199], 2468) + femmesh.addVolume([65, 579, 148, 38, 2617, 4439, 4815, 2356, 4487, 1199], 2469) + femmesh.addVolume([331, 846, 834, 878, 4742, 3478, 4531, 4014, 3581, 3579], 2470) + femmesh.addVolume([469, 980, 970, 468, 4374, 3918, 4376, 2195, 3985, 3986], 2471) + femmesh.addVolume([29, 30, 528, 141, 1011, 4817, 4816, 1177, 1178, 4818], 2472) + femmesh.addVolume([345, 722, 777, 688, 4819, 3245, 4820, 4821, 3086, 3244], 2473) + femmesh.addVolume([525, 656, 135, 608, 2870, 4822, 4705, 2725, 2899, 4789], 2474) + femmesh.addVolume([676, 364, 768, 724, 4823, 4824, 3221, 3093, 4825, 3257], 2475) + femmesh.addVolume([92, 540, 93, 7, 2509, 2510, 1079, 4651, 4278, 4826], 2476) + femmesh.addVolume([153, 225, 536, 152, 1430, 4521, 4827, 1214, 1429, 4522], 2477) + femmesh.addVolume([34, 144, 145, 531, 1188, 1263, 1190, 4828, 4403, 4402], 2478) + femmesh.addVolume([138, 527, 112, 574, 4829, 2479, 4830, 4831, 2652, 2601], 2479) + femmesh.addVolume([505, 79, 49, 80, 2421, 2384, 4832, 2422, 1065, 2383], 2480) + femmesh.addVolume([849, 331, 878, 330, 4530, 4014, 3580, 4833, 1764, 4016], 2481) + femmesh.addVolume([970, 467, 468, 976, 4834, 2192, 3986, 3897, 3971, 3973], 2482) + femmesh.addVolume([12, 123, 567, 519, 1124, 4836, 4835, 4135, 4837, 2630], 2483) + femmesh.addVolume([48, 169, 77, 503, 1248, 4839, 2382, 4838, 4679, 2415], 2484) + femmesh.addVolume([546, 631, 159, 178, 2786, 4841, 4755, 4840, 4544, 1333], 2485) + femmesh.addVolume([642, 164, 641, 237, 4801, 4842, 2820, 4442, 1458, 4227], 2486) + femmesh.addVolume([112, 560, 27, 185, 2569, 4446, 4843, 4844, 4301, 1287], 2487) + femmesh.addVolume([103, 18, 570, 522, 4845, 4129, 2594, 2468, 4127, 2633], 2488) + femmesh.addVolume([767, 772, 352, 787, 3235, 4846, 4687, 3286, 3397, 4847], 2489) + femmesh.addVolume([588, 247, 589, 506, 4621, 4620, 2678, 2674, 4848, 2676], 2490) + femmesh.addVolume([431, 889, 883, 927, 4849, 3705, 4850, 4027, 3734, 3735], 2491) + femmesh.addVolume([796, 276, 277, 337, 4851, 1598, 4852, 3966, 1780, 1781], 2492) + femmesh.addVolume([70, 41, 152, 581, 2372, 1209, 4853, 2621, 4854, 4855], 2493) + femmesh.addVolume([884, 378, 330, 379, 4507, 1911, 4856, 4857, 1915, 1913], 2494) + femmesh.addVolume([747, 697, 746, 316, 3156, 3154, 3158, 4774, 4773, 4659], 2495) + femmesh.addVolume([541, 542, 94, 9, 2517, 2515, 2513, 4858, 4859, 4467], 2496) + femmesh.addVolume([15, 100, 14, 568, 4860, 4764, 996, 4759, 2589, 4760], 2497) + femmesh.addVolume([247, 506, 190, 589, 4848, 4861, 1484, 4620, 2676, 4862], 2498) + femmesh.addVolume([144, 34, 60, 531, 1188, 2348, 4410, 4403, 4828, 2491], 2499) + femmesh.addVolume([612, 313, 721, 622, 4022, 4863, 3082, 2758, 4864, 3080], 2500) + femmesh.addVolume([489, 461, 929, 449, 2280, 4866, 4865, 2254, 2171, 4590], 2501) + femmesh.addVolume([118, 7, 517, 119, 1109, 4648, 4646, 1113, 1111, 4867], 2502) + femmesh.addVolume([827, 403, 871, 801, 4868, 4599, 3560, 3454, 4600, 3558], 2503) + femmesh.addVolume([299, 261, 295, 668, 1655, 1645, 1657, 4869, 4642, 4870], 2504) + femmesh.addVolume([136, 573, 24, 135, 4176, 4790, 1162, 1164, 4715, 1160], 2505) + femmesh.addVolume([701, 315, 702, 253, 4108, 4871, 3014, 4109, 1707, 4872], 2506) + femmesh.addVolume([389, 832, 340, 867, 4873, 4875, 1943, 4874, 3543, 4876], 2507) + femmesh.addVolume([375, 810, 857, 809, 4877, 3511, 4352, 4878, 3353, 3510], 2508) + femmesh.addVolume([920, 866, 391, 847, 3723, 4880, 4879, 3728, 3540, 4881], 2509) + femmesh.addVolume([859, 406, 858, 901, 4882, 4883, 3518, 3651, 4884, 3650], 2510) + femmesh.addVolume([780, 766, 790, 264, 3400, 3401, 3293, 4504, 4575, 4505], 2511) + femmesh.addVolume([41, 70, 152, 42, 2372, 4853, 1209, 1024, 2362, 1210], 2512) + femmesh.addVolume([576, 147, 533, 616, 4885, 4699, 2615, 2743, 4700, 2742], 2513) + femmesh.addVolume([16, 549, 160, 548, 4139, 4886, 1229, 4343, 2538, 4887], 2514) + femmesh.addVolume([282, 771, 835, 343, 4579, 3432, 4888, 1798, 4889, 4890], 2515) + femmesh.addVolume([368, 865, 864, 817, 4891, 3537, 4644, 4645, 3534, 3532], 2516) + femmesh.addVolume([70, 536, 152, 42, 2501, 4522, 4853, 2362, 4892, 1210], 2517) + femmesh.addVolume([598, 716, 197, 714, 3059, 4894, 4893, 3053, 3061, 4895], 2518) + femmesh.addVolume([13, 546, 99, 14, 4018, 2528, 4019, 995, 4756, 4399], 2519) + femmesh.addVolume([730, 301, 361, 370, 4753, 1855, 4542, 4639, 1883, 1884], 2520) + femmesh.addVolume([794, 341, 847, 850, 4676, 4476, 3481, 3490, 4477, 3492], 2521) + femmesh.addVolume([139, 214, 215, 610, 1398, 1402, 1400, 4811, 4896, 4680], 2522) + femmesh.addVolume([642, 557, 184, 643, 2819, 4805, 4800, 2823, 2821, 4897], 2523) + femmesh.addVolume([26, 25, 526, 111, 1007, 3938, 3939, 4898, 4899, 2476], 2524) + femmesh.addVolume([839, 457, 482, 823, 4900, 2264, 4901, 3455, 4902, 4903], 2525) + femmesh.addVolume([82, 51, 171, 52, 2387, 1253, 4604, 2390, 1035, 1252], 2526) + femmesh.addVolume([528, 30, 29, 115, 4817, 1011, 4816, 2480, 3956, 3949], 2527) + femmesh.addVolume([411, 838, 797, 347, 4418, 3453, 4904, 2011, 4905, 4906], 2528) + femmesh.addVolume([210, 656, 209, 680, 4094, 4907, 1387, 4494, 2948, 4908], 2529) + femmesh.addVolume([771, 282, 835, 775, 4579, 4888, 3432, 3283, 4909, 3433], 2530) + femmesh.addVolume([76, 188, 47, 46, 4660, 1294, 2380, 2377, 1295, 1030], 2531) + femmesh.addVolume([337, 796, 841, 833, 3966, 3459, 3967, 4572, 3428, 3572], 2532) + femmesh.addVolume([586, 189, 587, 504, 4910, 4911, 2672, 2668, 4912, 2670], 2533) + femmesh.addVolume([945, 434, 913, 907, 4913, 4914, 3792, 3791, 4669, 3688], 2534) + femmesh.addVolume([862, 376, 399, 904, 4915, 2003, 4916, 3660, 4917, 4075], 2535) + femmesh.addVolume([620, 241, 242, 167, 4171, 1470, 4918, 4172, 1466, 1469], 2536) + femmesh.addVolume([662, 661, 286, 586, 3062, 4431, 4723, 2904, 2903, 4725], 2537) + femmesh.addVolume([461, 958, 497, 489, 4919, 4101, 2308, 2280, 4920, 2309], 2538) + femmesh.addVolume([909, 906, 454, 919, 3768, 3990, 4921, 3711, 3710, 4922], 2539) + femmesh.addVolume([333, 798, 845, 831, 4923, 3476, 4924, 4363, 3423, 3475], 2540) + femmesh.addVolume([634, 244, 160, 633, 4925, 1475, 4926, 2796, 4927, 4928], 2541) + femmesh.addVolume([298, 815, 756, 757, 4929, 3366, 4930, 4737, 3367, 3188], 2542) + femmesh.addVolume([864, 404, 919, 405, 4931, 4933, 3707, 4932, 2103, 4934], 2543) + femmesh.addVolume([260, 301, 665, 590, 1662, 4754, 4935, 4936, 4937, 2913], 2544) + femmesh.addVolume([540, 7, 539, 175, 4278, 4722, 2511, 4279, 1267, 4732], 2545) + femmesh.addVolume([478, 954, 922, 971, 4938, 3828, 4939, 4483, 3874, 3875], 2546) + femmesh.addVolume([645, 709, 239, 644, 3034, 4520, 4940, 2829, 3033, 4941], 2547) + femmesh.addVolume([192, 54, 86, 511, 1303, 2403, 4942, 4943, 4944, 2440], 2548) + femmesh.addVolume([455, 898, 402, 442, 4945, 4627, 2148, 2155, 4946, 2105], 2549) + femmesh.addVolume([189, 169, 503, 233, 1318, 4679, 4947, 1449, 1450, 4948], 2550) + femmesh.addVolume([233, 169, 503, 585, 1450, 4679, 4948, 3970, 4678, 2665], 2551) + femmesh.addVolume([51, 507, 82, 171, 4380, 2428, 2387, 1253, 4339, 4604], 2552) + femmesh.addVolume([474, 475, 877, 448, 2281, 4949, 4258, 2285, 2213, 4259], 2553) + femmesh.addVolume([735, 306, 661, 780, 4429, 4430, 3123, 3259, 4950, 3258], 2554) + femmesh.addVolume([561, 560, 28, 113, 2574, 3997, 3998, 2572, 2570, 4373], 2555) + femmesh.addVolume([844, 871, 440, 891, 3582, 4952, 4951, 3621, 3625, 4953], 2556) + femmesh.addVolume([909, 422, 908, 880, 4190, 4954, 3673, 3672, 4955, 3669], 2557) + femmesh.addVolume([247, 170, 190, 506, 1485, 1319, 1484, 4848, 4956, 4861], 2558) + femmesh.addVolume([507, 81, 190, 51, 2427, 4958, 4957, 4380, 2388, 1298], 2559) + femmesh.addVolume([774, 675, 674, 205, 3267, 2939, 3239, 4959, 4564, 4960], 2560) + femmesh.addVolume([810, 752, 363, 811, 3352, 4961, 4213, 3356, 3354, 4214], 2561) + femmesh.addVolume([910, 446, 886, 416, 4962, 4428, 3676, 4250, 2117, 4251], 2562) + femmesh.addVolume([901, 441, 858, 900, 4963, 4147, 3650, 3652, 4148, 3648], 2563) + femmesh.addVolume([109, 164, 24, 23, 4964, 1237, 4965, 4706, 1238, 1005], 2564) + femmesh.addVolume([199, 686, 269, 200, 4667, 4966, 1572, 1357, 4967, 1573], 2565) + femmesh.addVolume([95, 542, 9, 94, 2516, 4859, 4968, 1081, 2515, 4467], 2566) + femmesh.addVolume([189, 78, 504, 503, 4453, 2418, 4912, 4947, 2416, 2420], 2567) + femmesh.addVolume([114, 29, 28, 186, 3947, 1010, 4372, 3954, 1289, 1290], 2568) + femmesh.addVolume([224, 288, 619, 223, 1628, 4511, 4969, 1428, 1627, 4513], 2569) + femmesh.addVolume([714, 197, 267, 266, 4895, 1566, 4970, 4971, 1564, 1568], 2570) + femmesh.addVolume([604, 205, 605, 674, 4098, 4111, 2859, 2935, 4960, 2934], 2571) + femmesh.addVolume([214, 681, 284, 215, 4603, 4972, 1617, 1402, 4681, 1618], 2572) + femmesh.addVolume([762, 285, 325, 284, 4973, 1850, 4631, 4974, 1622, 1856], 2573) + femmesh.addVolume([965, 967, 484, 982, 3869, 4976, 4975, 3928, 3929, 4977], 2574) + femmesh.addVolume([829, 874, 416, 328, 3567, 4980, 4978, 4979, 4060, 2029], 2575) + femmesh.addVolume([637, 701, 234, 636, 3010, 4110, 4981, 2805, 3009, 4982], 2576) + femmesh.addVolume([340, 822, 339, 388, 4983, 4984, 1791, 1941, 4985, 1940], 2577) + femmesh.addVolume([738, 774, 275, 795, 3238, 4987, 4986, 3306, 3307, 4988], 2578) + femmesh.addVolume([712, 206, 674, 605, 4989, 4990, 3045, 3044, 4991, 2934], 2579) + femmesh.addVolume([738, 276, 275, 206, 4992, 1595, 4986, 4993, 1593, 1591], 2580) + femmesh.addVolume([357, 855, 413, 369, 4994, 4628, 2016, 1881, 4332, 2017], 2581) + femmesh.addVolume([681, 783, 284, 215, 3386, 4995, 4972, 4681, 4996, 1618], 2582) + femmesh.addVolume([851, 373, 417, 371, 4312, 2031, 4997, 4998, 1898, 2030], 2583) + femmesh.addVolume([591, 590, 666, 248, 2684, 2914, 2915, 4999, 5000, 5001], 2584) + femmesh.addVolume([582, 154, 537, 256, 5002, 5004, 2656, 5003, 1516, 5005], 2585) + femmesh.addVolume([785, 450, 768, 823, 5006, 5007, 3310, 3392, 5008, 3391], 2586) + femmesh.addVolume([909, 454, 405, 919, 4921, 2143, 5009, 3711, 4922, 4934], 2587) + femmesh.addVolume([879, 839, 479, 482, 3592, 5012, 5010, 5011, 4901, 2272], 2588) + femmesh.addVolume([665, 664, 300, 589, 3063, 4671, 4670, 2912, 2910, 5013], 2589) + femmesh.addVolume([398, 741, 792, 739, 4765, 3299, 4766, 4475, 3140, 3298], 2590) + femmesh.addVolume([670, 595, 250, 309, 2924, 4750, 4751, 5014, 5015, 1731], 2591) + femmesh.addVolume([98, 13, 99, 520, 4017, 4019, 1085, 2465, 4398, 2464], 2592) + femmesh.addVolume([49, 170, 80, 50, 1251, 5016, 2383, 1033, 1250, 2386], 2593) + femmesh.addVolume([675, 774, 274, 205, 3267, 5018, 5017, 4564, 4959, 1588], 2594) + femmesh.addVolume([2, 4, 74, 984, 2399, 1059, 2401, 4382, 5019, 4381], 2595) + femmesh.addVolume([783, 285, 762, 284, 5020, 4973, 3277, 4995, 1622, 4974], 2596) + femmesh.addVolume([914, 436, 912, 437, 4296, 5021, 3690, 4683, 2091, 5022], 2597) + femmesh.addVolume([155, 32, 5, 563, 1305, 1184, 1220, 5023, 5024, 4386], 2598) + femmesh.addVolume([126, 202, 127, 602, 1361, 1362, 1137, 5025, 5026, 4092], 2599) + femmesh.addVolume([839, 444, 479, 482, 5027, 2226, 5012, 4901, 2265, 2272], 2600) + femmesh.addVolume([386, 431, 889, 385, 2072, 4849, 4709, 1936, 2071, 5028], 2601) + femmesh.addVolume([235, 257, 294, 704, 1529, 1642, 1643, 5029, 4716, 4718], 2602) + femmesh.addVolume([742, 323, 825, 743, 5030, 5031, 3404, 3146, 5032, 3434], 2603) + femmesh.addVolume([586, 189, 504, 503, 4910, 4912, 2668, 2667, 4947, 2420], 2604) + femmesh.addVolume([675, 672, 654, 204, 2938, 2929, 2937, 4565, 5033, 5034], 2605) + femmesh.addVolume([521, 101, 569, 16, 2466, 2592, 2632, 4577, 4342, 5035], 2606) + femmesh.addVolume([551, 18, 550, 161, 4568, 5037, 2544, 5036, 1231, 4625], 2607) + femmesh.addVolume([144, 60, 33, 577, 4410, 2347, 1187, 4411, 2611, 5038], 2608) + femmesh.addVolume([205, 206, 605, 674, 1375, 4991, 4111, 4960, 4990, 2934], 2609) + femmesh.addVolume([837, 408, 456, 462, 5039, 2153, 5040, 4009, 2173, 2174], 2610) + femmesh.addVolume([310, 312, 718, 394, 1701, 5042, 5041, 1957, 1958, 5043], 2611) + femmesh.addVolume([470, 981, 481, 476, 4083, 4082, 2299, 2300, 4456, 2268], 2612) + femmesh.addVolume([444, 839, 457, 482, 5027, 4900, 2158, 2265, 4901, 2264], 2613) + femmesh.addVolume([586, 189, 503, 233, 4910, 4947, 2667, 3969, 1449, 4948], 2614) + femmesh.addVolume([392, 870, 842, 920, 5044, 3556, 5045, 5046, 3712, 3713], 2615) + femmesh.addVolume([602, 202, 685, 201, 5026, 5048, 2965, 5047, 1363, 5049], 2616) + femmesh.addVolume([109, 557, 110, 24, 2560, 2561, 1096, 4965, 4804, 4791], 2617) + femmesh.addVolume([485, 463, 975, 487, 2251, 4071, 4661, 2313, 2286, 4035], 2618) + femmesh.addVolume([645, 709, 240, 239, 3034, 4606, 5050, 4940, 4520, 1532], 2619) + femmesh.addVolume([131, 206, 207, 655, 1374, 1378, 1376, 5051, 5052, 5053], 2620) + femmesh.addVolume([586, 189, 233, 587, 4910, 1449, 3969, 2672, 4911, 4726], 2621) + femmesh.addVolume([644, 165, 185, 559, 4714, 1315, 5054, 2825, 4229, 4302], 2622) + femmesh.addVolume([788, 799, 284, 344, 3394, 5057, 5055, 5056, 5058, 1802], 2623) + femmesh.addVolume([411, 873, 908, 838, 4417, 3678, 5059, 4418, 3564, 3671], 2624) + femmesh.addVolume([320, 194, 684, 314, 1728, 4113, 5060, 1817, 1705, 4693], 2625) + femmesh.addVolume([272, 733, 798, 333, 5061, 3316, 5062, 1768, 4362, 4923], 2626) + femmesh.addVolume([345, 287, 722, 291, 1806, 4762, 4819, 1807, 1637, 4763], 2627) + femmesh.addVolume([195, 648, 684, 618, 5063, 2964, 5064, 5065, 2839, 3051], 2628) + femmesh.addVolume([13, 125, 520, 124, 1129, 4401, 4398, 1127, 1131, 4613], 2629) + femmesh.addVolume([684, 194, 195, 314, 4113, 1342, 5064, 4693, 1705, 1706], 2630) + femmesh.addVolume([304, 315, 701, 234, 1709, 4108, 5066, 1671, 1708, 4110], 2631) + femmesh.addVolume([546, 631, 178, 545, 2786, 4544, 4840, 2529, 2785, 4552], 2632) + femmesh.addVolume([695, 744, 745, 322, 3148, 3152, 3150, 4045, 4587, 4588], 2633) + femmesh.addVolume([808, 357, 855, 856, 5067, 4994, 3505, 3507, 5068, 3509], 2634) + femmesh.addVolume([837, 408, 777, 731, 5039, 5069, 3448, 3447, 5070, 3246], 2635) + femmesh.addVolume([175, 538, 539, 652, 5071, 2508, 4732, 5072, 2854, 2878], 2636) + femmesh.addVolume([720, 606, 207, 712, 3077, 5073, 4770, 3078, 3046, 4772], 2637) + femmesh.addVolume([175, 155, 538, 652, 1266, 5074, 5071, 5072, 5075, 2854], 2638) + femmesh.addVolume([752, 307, 753, 703, 5076, 5077, 3176, 3172, 5078, 3174], 2639) + femmesh.addVolume([553, 162, 182, 20, 5079, 1312, 5080, 5081, 1233, 1282], 2640) + femmesh.addVolume([530, 155, 652, 563, 5082, 5075, 2852, 2767, 5023, 2853], 2641) + femmesh.addVolume([549, 634, 160, 548, 2795, 4926, 4886, 2538, 2794, 4887], 2642) + femmesh.addVolume([750, 315, 372, 809, 5083, 1902, 5084, 3348, 5085, 5086], 2643) + femmesh.addVolume([899, 410, 933, 900, 5087, 5088, 3752, 3649, 5089, 3753], 2644) + femmesh.addVolume([436, 914, 912, 926, 4296, 3690, 5021, 5090, 3733, 3731], 2645) + femmesh.addVolume([155, 538, 652, 563, 5074, 2854, 5075, 5023, 2661, 2853], 2646) + femmesh.addVolume([307, 349, 363, 811, 1816, 1862, 1860, 5091, 5092, 4214], 2647) + femmesh.addVolume([985, 73, 193, 90, 5093, 4085, 4586, 4585, 2455, 4496], 2648) + femmesh.addVolume([375, 810, 858, 857, 4877, 3513, 4409, 4352, 3511, 3515], 2649) + femmesh.addVolume([263, 246, 663, 286, 1558, 5095, 5094, 1686, 1623, 5096], 2650) + femmesh.addVolume([29, 562, 167, 186, 3948, 3980, 1244, 1289, 3953, 1327], 2651) + femmesh.addVolume([705, 294, 704, 754, 4717, 4718, 3023, 3178, 5097, 3177], 2652) + femmesh.addVolume([513, 173, 512, 262, 4423, 5099, 2447, 5098, 1544, 5100], 2653) + femmesh.addVolume([246, 587, 663, 286, 5101, 2906, 5095, 1623, 4724, 5096], 2654) + femmesh.addVolume([764, 286, 355, 663, 4384, 1833, 4379, 3207, 5096, 5102], 2655) + femmesh.addVolume([324, 692, 229, 317, 5103, 5104, 1741, 1744, 5105, 1714], 2656) + femmesh.addVolume([742, 323, 317, 393, 5030, 1739, 5106, 5107, 1981, 1955], 2657) + femmesh.addVolume([829, 876, 416, 874, 3591, 4249, 4978, 3567, 3609, 4980], 2658) + femmesh.addVolume([692, 741, 317, 324, 3139, 5108, 5105, 5103, 5109, 1744], 2659) + femmesh.addVolume([455, 480, 490, 960, 2229, 2276, 2256, 5110, 4336, 4366], 2660) + femmesh.addVolume([398, 741, 324, 366, 4765, 5109, 1971, 1974, 4767, 1870], 2661) + femmesh.addVolume([593, 249, 594, 511, 4068, 4327, 2693, 2689, 5111, 2691], 2662) + femmesh.addVolume([286, 263, 355, 663, 1686, 1832, 1833, 5096, 5094, 5102], 2663) + femmesh.addVolume([529, 31, 116, 515, 4230, 4781, 2482, 2485, 4247, 2453], 2664) + femmesh.addVolume([802, 848, 374, 825, 3483, 5113, 5112, 3435, 3482, 5114], 2665) + femmesh.addVolume([961, 480, 979, 976, 4334, 4335, 3908, 3909, 5115, 3919], 2666) + femmesh.addVolume([645, 646, 240, 710, 2832, 5116, 5050, 3036, 3037, 4607], 2667) + femmesh.addVolume([816, 758, 292, 368, 3370, 4260, 4698, 4643, 5117, 1874], 2668) + femmesh.addVolume([184, 558, 110, 25, 3999, 2563, 4806, 1285, 4001, 4777], 2669) + femmesh.addVolume([763, 370, 299, 666, 4638, 1882, 5118, 3203, 5119, 5120], 2670) + femmesh.addVolume([863, 376, 404, 350, 5121, 1991, 5122, 5123, 1906, 1990], 2671) + femmesh.addVolume([816, 758, 368, 817, 3370, 5117, 4643, 3374, 3372, 4645], 2672) + femmesh.addVolume([447, 906, 923, 905, 3989, 3725, 4303, 4304, 3666, 3724], 2673) + femmesh.addVolume([738, 206, 275, 674, 4993, 1591, 4986, 3132, 4990, 5124], 2674) + femmesh.addVolume([915, 496, 495, 918, 3979, 2322, 5125, 3704, 4276, 5126], 2675) + femmesh.addVolume([211, 678, 280, 682, 4808, 3943, 1606, 4810, 2956, 4567], 2676) + femmesh.addVolume([917, 499, 479, 943, 5127, 2326, 5128, 3787, 5129, 5130], 2677) + femmesh.addVolume([879, 917, 462, 479, 3696, 5132, 5131, 5010, 5128, 2271], 2678) + femmesh.addVolume([92, 7, 564, 6, 4651, 4647, 2581, 5133, 988, 5134], 2679) + femmesh.addVolume([408, 837, 777, 844, 5039, 3448, 5069, 4448, 3473, 3471], 2680) + femmesh.addVolume([774, 738, 275, 674, 3238, 4986, 4987, 3239, 3132, 5124], 2681) + femmesh.addVolume([849, 769, 330, 830, 3486, 5135, 4833, 3487, 3421, 5136], 2682) + femmesh.addVolume([266, 354, 778, 773, 1828, 5139, 5137, 5138, 5140, 3249], 2683) + femmesh.addVolume([271, 786, 685, 201, 5141, 3278, 5142, 1578, 5143, 5049], 2684) + femmesh.addVolume([769, 269, 330, 830, 5144, 1759, 5135, 3421, 5145, 5136], 2685) + femmesh.addVolume([161, 635, 636, 251, 4623, 2802, 4624, 1492, 5146, 5147], 2686) + femmesh.addVolume([623, 197, 198, 714, 4267, 1351, 4268, 3052, 4895, 5148], 2687) + femmesh.addVolume([786, 271, 685, 734, 5141, 5142, 3278, 3281, 5149, 3122], 2688) + femmesh.addVolume([640, 183, 641, 555, 5150, 5151, 2817, 2813, 5152, 2815], 2689) + femmesh.addVolume([783, 681, 713, 215, 3386, 3049, 3287, 4996, 4681, 4223], 2690) + femmesh.addVolume([780, 346, 297, 264, 4502, 1809, 5153, 4504, 1812, 1685], 2691) + femmesh.addVolume([199, 653, 200, 124, 4615, 4533, 1357, 1353, 4616, 1355], 2692) + femmesh.addVolume([105, 19, 20, 523, 4529, 1001, 5154, 2470, 5155, 5156], 2693) + femmesh.addVolume([587, 246, 505, 189, 5101, 4547, 2671, 4911, 1483, 4549], 2694) + femmesh.addVolume([233, 661, 306, 585, 3968, 4430, 1675, 3970, 2902, 5157], 2695) + femmesh.addVolume([899, 898, 402, 856, 3646, 4627, 5158, 3644, 3642, 5159], 2696) + femmesh.addVolume([573, 136, 657, 608, 4176, 4458, 2874, 2724, 4788, 2896], 2697) + femmesh.addVolume([264, 296, 710, 759, 1649, 4605, 5160, 5161, 4007, 3193], 2698) + femmesh.addVolume([195, 648, 618, 119, 5063, 2839, 5065, 1340, 5162, 5163], 2699) + femmesh.addVolume([93, 565, 8, 94, 2584, 5165, 5164, 1080, 2583, 5166], 2700) + femmesh.addVolume([408, 844, 440, 462, 4448, 4951, 2175, 2173, 4010, 2216], 2701) + femmesh.addVolume([408, 837, 844, 462, 5039, 3473, 4448, 2173, 4009, 4010], 2702) + femmesh.addVolume([631, 252, 159, 178, 5167, 1494, 4841, 4544, 1495, 1333], 2703) + femmesh.addVolume([808, 357, 856, 372, 5067, 5068, 3507, 5168, 1893, 5169], 2704) + femmesh.addVolume([252, 631, 696, 695, 5167, 2994, 4787, 4043, 2992, 2996], 2705) + femmesh.addVolume([348, 804, 371, 321, 4484, 5170, 1889, 1814, 3974, 1887], 2706) + femmesh.addVolume([782, 832, 340, 280, 3426, 4875, 4293, 4013, 5171, 1790], 2707) + femmesh.addVolume([230, 252, 632, 696, 1497, 5174, 5172, 5173, 4787, 2995], 2708) + femmesh.addVolume([657, 211, 212, 682, 5175, 1393, 4460, 2954, 4810, 5176], 2709) + femmesh.addVolume([822, 338, 833, 770, 5177, 4573, 3429, 3390, 5178, 3427], 2710) + femmesh.addVolume([697, 230, 632, 696, 5179, 5172, 2997, 2999, 5173, 2995], 2711) + femmesh.addVolume([304, 700, 701, 750, 5180, 3011, 5066, 5181, 3165, 3166], 2712) + femmesh.addVolume([147, 37, 64, 533, 1196, 2354, 5182, 4699, 5183, 2495], 2713) + femmesh.addVolume([825, 420, 393, 840, 5184, 2040, 5185, 3458, 4002, 5186], 2714) + femmesh.addVolume([931, 477, 959, 490, 4727, 5188, 3839, 5187, 2257, 5189], 2715) + femmesh.addVolume([488, 472, 956, 473, 2304, 5190, 4273, 2305, 2207, 5191], 2716) + femmesh.addVolume([436, 951, 914, 926, 4295, 3814, 4296, 5090, 3815, 3733], 2717) + femmesh.addVolume([477, 497, 959, 490, 2307, 4103, 5188, 2257, 2310, 5189], 2718) + femmesh.addVolume([326, 719, 289, 288, 5192, 5193, 1750, 1749, 5194, 1631], 2719) + femmesh.addVolume([634, 232, 244, 698, 4515, 1478, 4925, 3001, 5195, 4697], 2720) + femmesh.addVolume([860, 859, 349, 812, 3521, 5196, 4131, 3519, 3517, 4608], 2721) + femmesh.addVolume([419, 882, 460, 888, 4161, 5197, 2165, 4462, 3612, 4463], 2722) + femmesh.addVolume([761, 268, 819, 328, 5198, 5200, 3380, 5199, 1754, 4058], 2723) + femmesh.addVolume([474, 949, 951, 473, 4501, 2343, 4290, 2210, 5201, 5202], 2724) + femmesh.addVolume([142, 596, 141, 217, 4720, 5203, 1182, 1407, 5204, 1406], 2725) + femmesh.addVolume([160, 179, 548, 633, 1291, 5205, 4887, 4928, 5206, 2792], 2726) + femmesh.addVolume([13, 546, 159, 178, 4018, 4755, 1228, 1273, 4840, 1333], 2727) + femmesh.addVolume([895, 397, 853, 852, 5207, 5208, 3633, 3632, 5209, 3500], 2728) + femmesh.addVolume([142, 529, 141, 596, 4231, 4282, 1182, 4720, 2856, 5203], 2729) + femmesh.addVolume([529, 596, 528, 141, 2856, 2883, 2484, 4282, 5203, 4818], 2730) + femmesh.addVolume([397, 367, 853, 348, 1968, 4779, 5208, 1969, 1873, 5210], 2731) + femmesh.addVolume([170, 246, 588, 247, 1482, 5212, 5211, 1485, 1537, 4621], 2732) + femmesh.addVolume([752, 307, 363, 811, 5076, 1860, 4961, 3354, 5091, 4214], 2733) + femmesh.addVolume([766, 264, 710, 759, 4575, 5160, 3214, 3216, 5161, 3193], 2734) + femmesh.addVolume([887, 384, 868, 883, 5213, 3992, 3607, 3680, 5214, 3596], 2735) + femmesh.addVolume([238, 258, 707, 643, 1549, 4734, 5215, 5216, 4711, 3028], 2736) + femmesh.addVolume([261, 299, 248, 591, 1655, 1656, 1556, 5217, 5218, 4999], 2737) + femmesh.addVolume([131, 571, 20, 523, 5219, 5221, 1148, 5220, 2634, 5156], 2738) + femmesh.addVolume([365, 759, 790, 817, 5222, 3437, 4194, 4193, 3373, 3436], 2739) + femmesh.addVolume([585, 233, 586, 503, 3970, 3969, 2669, 2665, 4948, 2667], 2740) + femmesh.addVolume([258, 708, 707, 643, 4733, 3032, 4734, 4711, 3030, 3028], 2741) + femmesh.addVolume([728, 727, 308, 614, 3251, 4414, 5223, 3110, 3104, 4415], 2742) + femmesh.addVolume([238, 298, 707, 258, 1653, 4736, 5215, 1549, 1652, 4734], 2743) + femmesh.addVolume([142, 529, 514, 515, 4231, 2700, 4721, 4248, 2485, 2454], 2744) + femmesh.addVolume([956, 926, 951, 473, 3829, 3815, 2342, 5191, 5224, 5202], 2745) + femmesh.addVolume([136, 137, 25, 526, 1167, 1165, 1163, 4177, 3940, 3938], 2746) + femmesh.addVolume([500, 45, 31, 168, 4745, 1245, 5225, 4174, 1247, 1262], 2747) + femmesh.addVolume([74, 4, 116, 984, 1059, 1103, 2406, 4381, 5019, 5226], 2748) + femmesh.addVolume([653, 124, 567, 520, 4616, 4614, 2861, 2860, 4613, 2645], 2749) + femmesh.addVolume([956, 472, 926, 473, 5190, 4635, 3829, 5191, 2207, 5224], 2750) + femmesh.addVolume([202, 673, 603, 602, 5227, 2931, 5228, 5026, 2932, 2862], 2751) + femmesh.addVolume([837, 408, 731, 456, 5039, 5070, 3447, 5040, 2153, 5229], 2752) + femmesh.addVolume([925, 928, 458, 973, 3738, 5230, 4159, 3882, 3883, 5231], 2753) + femmesh.addVolume([722, 345, 777, 779, 4819, 4820, 3245, 3253, 5232, 3256], 2754) + femmesh.addVolume([289, 772, 725, 719, 5233, 3232, 5234, 5193, 3233, 3098], 2755) + femmesh.addVolume([357, 807, 808, 855, 5235, 3347, 5067, 4994, 3504, 3505], 2756) + femmesh.addVolume([892, 921, 427, 941, 3715, 5236, 4445, 3781, 3782, 4493], 2757) + femmesh.addVolume([839, 843, 457, 823, 3547, 4154, 4900, 3455, 3466, 4902], 2758) + femmesh.addVolume([799, 821, 283, 344, 3387, 5238, 5237, 5058, 5239, 1801], 2759) + femmesh.addVolume([815, 356, 756, 814, 5240, 5241, 3366, 3368, 5242, 3364], 2760) + femmesh.addVolume([617, 255, 534, 651, 5243, 4525, 2746, 2850, 5244, 2849], 2761) + femmesh.addVolume([222, 148, 613, 220, 1421, 4438, 4233, 1515, 1415, 4434], 2762) + femmesh.addVolume([455, 477, 931, 490, 2222, 4727, 5245, 2256, 2257, 5187], 2763) + femmesh.addVolume([287, 221, 616, 222, 1625, 5246, 4212, 1626, 1422, 4234], 2764) + femmesh.addVolume([43, 44, 72, 154, 1026, 2366, 2365, 1215, 1216, 5247], 2765) + femmesh.addVolume([414, 843, 789, 457, 4152, 3465, 5248, 2157, 4154, 5249], 2766) + femmesh.addVolume([312, 310, 718, 651, 1701, 5041, 5042, 5250, 5251, 3070], 2767) + femmesh.addVolume([825, 419, 840, 848, 5252, 5253, 3458, 3482, 4160, 3484], 2768) + femmesh.addVolume([95, 518, 9, 10, 2460, 4466, 4968, 4285, 5254, 991], 2769) + femmesh.addVolume([183, 257, 641, 237, 1527, 4225, 5151, 1459, 1551, 4227], 2770) + femmesh.addVolume([667, 299, 668, 261, 5255, 4869, 2920, 4641, 1655, 4642], 2771) + femmesh.addVolume([718, 312, 724, 394, 5042, 5256, 3092, 5043, 1958, 5257], 2772) + femmesh.addVolume([170, 247, 588, 506, 1485, 4621, 5211, 4956, 4848, 2674], 2773) + femmesh.addVolume([386, 337, 385, 841, 1934, 1932, 1936, 5258, 3967, 5259], 2774) + femmesh.addVolume([758, 708, 292, 239, 3189, 4261, 4260, 4518, 4519, 1638], 2775) + femmesh.addVolume([893, 428, 382, 383, 4355, 2062, 5260, 5261, 2063, 1927], 2776) + femmesh.addVolume([818, 879, 482, 839, 3583, 5011, 5262, 3456, 3592, 4901], 2777) + femmesh.addVolume([904, 423, 399, 445, 4308, 2050, 4075, 4738, 2163, 2115], 2778) + femmesh.addVolume([172, 510, 85, 511, 5263, 2437, 5264, 5265, 2441, 2439], 2779) + femmesh.addVolume([26, 165, 559, 185, 1239, 4229, 5266, 1288, 1315, 4302], 2780) + femmesh.addVolume([109, 164, 23, 556, 4964, 1238, 4706, 2558, 5267, 5268], 2781) + femmesh.addVolume([815, 816, 757, 350, 3371, 3369, 3367, 5269, 5270, 5271], 2782) + femmesh.addVolume([729, 664, 347, 765, 3112, 5273, 5272, 3212, 3209, 4391], 2783) + femmesh.addVolume([876, 829, 327, 824, 3591, 5275, 5274, 3573, 3461, 5276], 2784) + femmesh.addVolume([876, 444, 843, 414, 4792, 4153, 3574, 5277, 2112, 4152], 2785) + femmesh.addVolume([978, 497, 465, 490, 4570, 2291, 4317, 4319, 2310, 2292], 2786) + femmesh.addVolume([268, 329, 269, 740, 1756, 1757, 1574, 4048, 5278, 5279], 2787) + femmesh.addVolume([430, 939, 429, 467, 4370, 4294, 2070, 2188, 5280, 2187], 2788) + femmesh.addVolume([700, 304, 701, 234, 5180, 5066, 3011, 5281, 1671, 4110], 2789) + femmesh.addVolume([411, 347, 361, 765, 2011, 1854, 2025, 4120, 4391, 4122], 2790) + femmesh.addVolume([10, 566, 11, 96, 5282, 5283, 992, 4287, 2585, 4164], 2791) + femmesh.addVolume([840, 403, 420, 393, 4598, 2041, 4002, 5186, 1987, 2040], 2792) + femmesh.addVolume([571, 131, 20, 132, 5219, 1148, 5221, 5284, 1152, 1150], 2793) + femmesh.addVolume([351, 760, 325, 395, 4314, 4315, 1822, 1963, 5285, 1962], 2794) + femmesh.addVolume([857, 441, 410, 900, 4146, 2102, 4353, 3647, 4148, 5089], 2795) + femmesh.addVolume([726, 264, 297, 259, 4574, 1685, 4024, 4055, 1559, 1651], 2796) + femmesh.addVolume([880, 909, 405, 919, 3672, 5009, 5286, 3709, 3711, 4934], 2797) + femmesh.addVolume([235, 257, 704, 640, 1529, 4716, 5029, 5287, 5288, 3019], 2798) + femmesh.addVolume([697, 230, 633, 632, 5179, 5289, 2998, 2997, 5172, 2793], 2799) + femmesh.addVolume([373, 851, 803, 371, 4312, 3493, 4313, 1898, 4998, 5290], 2800) + femmesh.addVolume([252, 230, 321, 696, 1497, 1729, 1730, 4787, 5173, 3983], 2801) + femmesh.addVolume([758, 296, 368, 817, 4006, 1876, 5117, 3372, 4008, 4645], 2802) + femmesh.addVolume([343, 392, 866, 391, 1952, 5292, 5291, 1950, 1954, 4880], 2803) + femmesh.addVolume([854, 409, 413, 369, 5293, 2133, 5294, 4330, 2006, 2017], 2804) + femmesh.addVolume([569, 522, 17, 102, 2647, 4690, 5295, 2591, 2469, 4142], 2805) + femmesh.addVolume([404, 368, 864, 350, 1992, 4644, 4931, 1990, 1875, 5296], 2806) + femmesh.addVolume([111, 26, 25, 165, 4898, 1007, 4899, 4228, 1239, 1240], 2807) + femmesh.addVolume([298, 815, 350, 356, 4929, 5269, 1819, 1835, 5240, 1891], 2808) + femmesh.addVolume([733, 272, 273, 333, 5061, 1586, 4364, 4362, 1768, 1769], 2809) + femmesh.addVolume([978, 969, 464, 977, 3904, 5297, 4553, 3925, 3915, 4555], 2810) + femmesh.addVolume([288, 719, 289, 619, 5194, 5193, 1631, 4511, 3073, 5298], 2811) + femmesh.addVolume([18, 161, 17, 550, 1231, 1232, 999, 5037, 4625, 5299], 2812) + femmesh.addVolume([536, 153, 152, 42, 4827, 1214, 4522, 4892, 1212, 1210], 2813) + femmesh.addVolume([18, 103, 17, 522, 4845, 5300, 999, 4127, 2468, 4690], 2814) + femmesh.addVolume([18, 103, 550, 17, 4845, 2540, 5037, 999, 5300, 5299], 2815) + femmesh.addVolume([522, 103, 17, 102, 2468, 5300, 4690, 2469, 1089, 4142], 2816) + femmesh.addVolume([550, 103, 102, 17, 2540, 1089, 2539, 5299, 5300, 4142], 2817) + femmesh.addVolume([826, 411, 765, 838, 4119, 4120, 3407, 3452, 4418, 3451], 2818) + femmesh.addVolume([563, 32, 1, 58, 5024, 1014, 4388, 2487, 2344, 2370], 2819) + femmesh.addVolume([111, 26, 559, 112, 4898, 5266, 2566, 1098, 5301, 2567], 2820) + femmesh.addVolume([887, 428, 893, 383, 4349, 4355, 3629, 4351, 2063, 5261], 2821) + femmesh.addVolume([177, 628, 543, 629, 4186, 2777, 4187, 4200, 2781, 2779], 2822) + femmesh.addVolume([221, 147, 616, 222, 1418, 4700, 5246, 1422, 1420, 4234], 2823) + femmesh.addVolume([397, 895, 853, 896, 5207, 3633, 5208, 5302, 3637, 3635], 2824) + femmesh.addVolume([628, 254, 692, 693, 4201, 5303, 2983, 2985, 5304, 2987], 2825) + femmesh.addVolume([408, 345, 421, 779, 2000, 2043, 2044, 4450, 5232, 4451], 2826) + femmesh.addVolume([849, 884, 830, 330, 3597, 3598, 3487, 4833, 4856, 5136], 2827) + femmesh.addVolume([123, 122, 519, 11, 1125, 5305, 4837, 1123, 1121, 4137], 2828) + femmesh.addVolume([379, 884, 946, 878, 4857, 3794, 5306, 4015, 3600, 3793], 2829) + femmesh.addVolume([535, 150, 580, 68, 4087, 4088, 2659, 2499, 4270, 2619], 2830) + femmesh.addVolume([378, 884, 330, 329, 4507, 4856, 1911, 1910, 4508, 1761], 2831) + femmesh.addVolume([120, 518, 121, 9, 5307, 5308, 1119, 1115, 4466, 1117], 2832) + femmesh.addVolume([329, 819, 830, 740, 4057, 3420, 5309, 5278, 3379, 3419], 2833) + femmesh.addVolume([664, 247, 300, 589, 4619, 1660, 4671, 2910, 4620, 5013], 2834) + femmesh.addVolume([884, 329, 830, 330, 4508, 5309, 3598, 4856, 1761, 5136], 2835) + femmesh.addVolume([895, 890, 415, 852, 3634, 5311, 5310, 3632, 3618, 5312], 2836) + femmesh.addVolume([940, 470, 432, 433, 4393, 2196, 4405, 5313, 2197, 2079], 2837) + femmesh.addVolume([957, 489, 449, 487, 4569, 2254, 4592, 4036, 2255, 2249], 2838) + femmesh.addVolume([329, 268, 819, 740, 1756, 5200, 4057, 5278, 4048, 3379], 2839) + femmesh.addVolume([782, 793, 680, 279, 3393, 3308, 3264, 4012, 5314, 4495], 2840) + femmesh.addVolume([109, 23, 525, 108, 4706, 4707, 2474, 1095, 5315, 2475], 2841) + femmesh.addVolume([342, 794, 775, 281, 4675, 3304, 5316, 1795, 4677, 5317], 2842) + femmesh.addVolume([253, 315, 702, 311, 1707, 4871, 4872, 1696, 1710, 5318], 2843) + femmesh.addVolume([507, 260, 190, 589, 5319, 1539, 4957, 2677, 5320, 4862], 2844) + femmesh.addVolume([811, 859, 363, 858, 3516, 5321, 4214, 3514, 3518, 4215], 2845) + femmesh.addVolume([176, 626, 627, 231, 5322, 2775, 5323, 1443, 5324, 5325], 2846) + femmesh.addVolume([601, 125, 201, 200, 4534, 1358, 5326, 4535, 1356, 1360], 2847) + femmesh.addVolume([926, 472, 435, 473, 4635, 2203, 4637, 5224, 2207, 2205], 2848) + femmesh.addVolume([822, 867, 872, 388, 3544, 3563, 3561, 4985, 5327, 5328], 2849) + femmesh.addVolume([260, 247, 190, 589, 1555, 1484, 1539, 5320, 4620, 4862], 2850) + femmesh.addVolume([686, 769, 269, 200, 3223, 5144, 4966, 4967, 5329, 1573], 2851) + femmesh.addVolume([258, 238, 184, 643, 1549, 1460, 1531, 4711, 5216, 4897], 2852) + femmesh.addVolume([937, 967, 938, 423, 3870, 3863, 3772, 4682, 5330, 4310], 2853) + femmesh.addVolume([752, 703, 702, 311, 3172, 3017, 3171, 5331, 5332, 5318], 2854) + femmesh.addVolume([637, 701, 702, 253, 3010, 3014, 3012, 5333, 4109, 4872], 2855) + femmesh.addVolume([892, 893, 427, 382, 3628, 5335, 4445, 5334, 5260, 2060], 2856) + femmesh.addVolume([333, 381, 845, 798, 1920, 5336, 4924, 4923, 5337, 3476], 2857) + femmesh.addVolume([129, 18, 570, 130, 1142, 4129, 4130, 1146, 1144, 5338], 2858) + femmesh.addVolume([513, 56, 88, 87, 4422, 2395, 2446, 2445, 2396, 1073], 2859) + femmesh.addVolume([870, 439, 791, 869, 5339, 4077, 3554, 3557, 5340, 3552], 2860) + femmesh.addVolume([150, 40, 68, 535, 1204, 2360, 4270, 4087, 5341, 2499], 2861) + femmesh.addVolume([706, 238, 237, 303, 5342, 1526, 4441, 5343, 1668, 1669], 2862) + femmesh.addVolume([395, 870, 791, 800, 5344, 3554, 4078, 5345, 3555, 3324], 2863) + femmesh.addVolume([104, 18, 19, 570, 5346, 1000, 4528, 2593, 4129, 5347], 2864) + femmesh.addVolume([565, 120, 618, 119, 5348, 5350, 2748, 5349, 1116, 5163], 2865) + femmesh.addVolume([311, 315, 702, 751, 1710, 4871, 5318, 5351, 5352, 3169], 2866) + femmesh.addVolume([760, 762, 669, 325, 3202, 3200, 3196, 4315, 4631, 4632], 2867) + femmesh.addVolume([298, 238, 756, 303, 1653, 5353, 4930, 1670, 1668, 4655], 2868) + femmesh.addVolume([472, 945, 982, 956, 4634, 3831, 5354, 5190, 3830, 3832], 2869) + femmesh.addVolume([937, 445, 965, 484, 4243, 5356, 3857, 5355, 2240, 4975], 2870) + femmesh.addVolume([159, 632, 547, 179, 5357, 2789, 4757, 1309, 5358, 5359], 2871) + femmesh.addVolume([403, 840, 801, 393, 4598, 3457, 4600, 1987, 5186, 5360], 2872) + femmesh.addVolume([860, 406, 401, 349, 5361, 1995, 4165, 4131, 1996, 1983], 2873) + femmesh.addVolume([596, 659, 528, 141, 2894, 2879, 2883, 5203, 4594, 4818], 2874) + femmesh.addVolume([433, 388, 872, 913, 2078, 5328, 5362, 5363, 5364, 3687], 2875) + femmesh.addVolume([81, 507, 190, 506, 2427, 4957, 4958, 2425, 2429, 4861], 2876) + femmesh.addVolume([282, 771, 343, 283, 4579, 4889, 1798, 1616, 4580, 1799], 2877) + femmesh.addVolume([164, 557, 24, 184, 5365, 4804, 1237, 1314, 4805, 1286], 2878) + femmesh.addVolume([972, 431, 469, 927, 5366, 2193, 4375, 3878, 4027, 5367], 2879) + femmesh.addVolume([478, 486, 922, 459, 2246, 5368, 4939, 2223, 2245, 5369], 2880) + femmesh.addVolume([577, 219, 614, 600, 5370, 5371, 2737, 2707, 5372, 2738], 2881) + femmesh.addVolume([351, 407, 791, 395, 1997, 4079, 5373, 1963, 1999, 4078], 2882) + femmesh.addVolume([29, 114, 28, 140, 3947, 4372, 1010, 1175, 5374, 1174], 2883) + femmesh.addVolume([771, 821, 835, 343, 3388, 3441, 3432, 4889, 5375, 4890], 2884) + femmesh.addVolume([719, 326, 676, 288, 5192, 5376, 3106, 5194, 1749, 5377], 2885) + femmesh.addVolume([27, 527, 28, 113, 5378, 5379, 1009, 4447, 2478, 4373], 2886) + femmesh.addVolume([166, 645, 560, 646, 5380, 2828, 3995, 4583, 2832, 2830], 2887) + femmesh.addVolume([472, 956, 982, 484, 5190, 3832, 5354, 2303, 5381, 4977], 2888) + femmesh.addVolume([865, 864, 919, 405, 3537, 3707, 3708, 5382, 4932, 4934], 2889) + femmesh.addVolume([967, 488, 423, 484, 5383, 2253, 5330, 4976, 2263, 2239], 2890) + femmesh.addVolume([560, 166, 28, 27, 3995, 1241, 3997, 4446, 1242, 1009], 2891) + femmesh.addVolume([462, 818, 456, 837, 5384, 5385, 2174, 4009, 3449, 5040], 2892) + femmesh.addVolume([345, 408, 777, 779, 2000, 5069, 4820, 5232, 4450, 3256], 2893) + femmesh.addVolume([175, 600, 219, 155, 5386, 5372, 1517, 1266, 5387, 1510], 2894) + femmesh.addVolume([276, 738, 796, 720, 4992, 3312, 4851, 4769, 3133, 3311], 2895) + femmesh.addVolume([827, 844, 440, 421, 3542, 4951, 5388, 4464, 4449, 2123], 2896) + femmesh.addVolume([137, 609, 526, 657, 4795, 2727, 3940, 4459, 2872, 2873], 2897) + femmesh.addVolume([177, 254, 157, 628, 1502, 1503, 1307, 4186, 4201, 4188], 2898) + femmesh.addVolume([175, 600, 155, 652, 5386, 5387, 1266, 5072, 2855, 5075], 2899) + femmesh.addVolume([739, 318, 324, 691, 4474, 1743, 5389, 3135, 5390, 4051], 2900) + femmesh.addVolume([777, 408, 844, 779, 5069, 4448, 3471, 3256, 4450, 3472], 2901) + femmesh.addVolume([175, 600, 652, 625, 5386, 2855, 5072, 4731, 3076, 2890], 2902) + femmesh.addVolume([403, 827, 871, 440, 4868, 3560, 4599, 2099, 5388, 4952], 2903) + femmesh.addVolume([549, 180, 17, 16, 5391, 1277, 4140, 4139, 1278, 998], 2904) + femmesh.addVolume([788, 760, 395, 325, 3289, 5285, 5392, 4807, 4315, 1962], 2905) + femmesh.addVolume([164, 183, 641, 237, 1324, 5151, 4842, 1458, 1459, 4227], 2906) + femmesh.addVolume([412, 827, 418, 792, 5393, 5395, 2106, 5394, 3410, 5396], 2907) + femmesh.addVolume([16, 569, 17, 102, 5035, 5295, 998, 4141, 2591, 4142], 2908) + femmesh.addVolume([825, 419, 848, 374, 5252, 4160, 3482, 5114, 2037, 5113], 2909) + femmesh.addVolume([851, 848, 882, 417, 3550, 3593, 3594, 4997, 4162, 4158], 2910) + femmesh.addVolume([978, 959, 490, 974, 3906, 5189, 4319, 3903, 3930, 4320], 2911) + femmesh.addVolume([549, 101, 16, 102, 2536, 4342, 4139, 2537, 1088, 4141], 2912) + femmesh.addVolume([748, 319, 806, 369, 5397, 5399, 3340, 5398, 1879, 5400], 2913) + femmesh.addVolume([634, 232, 699, 635, 4515, 5401, 3003, 2799, 4514, 3004], 2914) + femmesh.addVolume([813, 294, 349, 358, 5402, 1815, 4133, 4134, 1841, 1894], 2915) + femmesh.addVolume([319, 290, 369, 748, 1724, 1878, 1879, 5397, 4538, 5398], 2916) + femmesh.addVolume([265, 716, 773, 266, 5403, 3236, 5404, 1565, 5405, 5138], 2917) + femmesh.addVolume([783, 285, 284, 215, 5020, 1622, 4995, 4996, 1620, 1618], 2918) + femmesh.addVolume([485, 966, 478, 493, 4480, 4482, 2243, 2317, 4181, 2316], 2919) + femmesh.addVolume([188, 243, 584, 502, 1473, 5407, 5406, 4562, 4561, 2663], 2920) + femmesh.addVolume([574, 609, 526, 137, 2726, 2727, 2637, 3988, 4795, 3940], 2921) + femmesh.addVolume([114, 140, 528, 575, 5374, 4673, 2481, 2603, 4674, 2653], 2922) + femmesh.addVolume([659, 610, 215, 713, 2893, 4680, 4222, 3047, 3048, 4223], 2923) + femmesh.addVolume([825, 419, 374, 420, 5252, 2037, 5114, 5184, 2167, 2042], 2924) + femmesh.addVolume([177, 158, 226, 629, 1335, 1432, 1433, 4200, 4116, 4288], 2925) + femmesh.addVolume([436, 926, 435, 473, 5090, 4637, 2088, 2206, 5224, 2205], 2926) + femmesh.addVolume([390, 847, 850, 894, 4478, 3492, 4479, 4664, 3630, 3631], 2927) + femmesh.addVolume([766, 264, 759, 790, 4575, 5161, 3216, 3401, 4505, 3437], 2928) + femmesh.addVolume([967, 937, 484, 423, 3870, 5355, 4976, 5330, 4682, 2239], 2929) + femmesh.addVolume([967, 937, 965, 484, 3870, 3857, 3869, 4976, 5355, 4975], 2930) + femmesh.addVolume([264, 365, 759, 790, 1868, 5222, 5161, 4505, 4194, 3437], 2931) + femmesh.addVolume([885, 879, 839, 479, 3602, 3592, 3601, 5408, 5010, 5012], 2932) + femmesh.addVolume([667, 351, 784, 668, 4149, 4151, 3272, 2920, 5409, 3270], 2933) + femmesh.addVolume([742, 393, 801, 825, 5107, 5360, 3326, 3404, 5185, 3403], 2934) + femmesh.addVolume([866, 342, 391, 847, 5410, 1949, 4880, 3540, 5411, 4881], 2935) + femmesh.addVolume([133, 134, 22, 572, 1158, 1156, 1154, 5412, 5413, 5414], 2936) + femmesh.addVolume([389, 340, 388, 867, 1943, 1941, 1945, 4874, 4876, 5327], 2937) + femmesh.addVolume([406, 859, 349, 860, 4882, 5196, 1996, 5361, 3521, 4131], 2938) + femmesh.addVolume([907, 434, 913, 388, 4669, 4914, 3688, 5415, 2080, 5364], 2939) + femmesh.addVolume([499, 950, 478, 943, 4499, 4719, 2338, 5129, 3812, 5416], 2940) + femmesh.addVolume([183, 640, 163, 555, 5150, 5417, 1313, 5152, 2813, 5418], 2941) + femmesh.addVolume([122, 598, 197, 623, 5419, 4893, 1347, 4266, 2857, 4267], 2942) + femmesh.addVolume([618, 120, 195, 119, 5350, 1341, 5065, 5163, 1116, 1340], 2943) + femmesh.addVolume([476, 981, 982, 471, 4456, 3926, 4457, 2301, 5420, 5421], 2944) + femmesh.addVolume([348, 367, 853, 805, 1873, 4779, 5210, 4485, 4776, 3498], 2945) + femmesh.addVolume([183, 23, 556, 108, 1283, 5268, 5422, 5423, 5315, 2557], 2946) + femmesh.addVolume([664, 263, 300, 247, 5424, 1726, 4671, 4619, 1557, 1660], 2947) + femmesh.addVolume([650, 565, 120, 618, 2845, 5348, 5425, 2846, 2748, 5350], 2948) + femmesh.addVolume([827, 871, 440, 844, 3560, 4952, 5388, 3542, 3582, 4951], 2949) + femmesh.addVolume([917, 492, 916, 891, 5426, 5427, 3767, 3697, 5428, 3700], 2950) + femmesh.addVolume([272, 672, 673, 733, 3959, 2933, 3960, 5061, 3119, 3120], 2951) + femmesh.addVolume([117, 516, 91, 90, 4498, 2456, 5429, 4497, 2457, 1077], 2952) + femmesh.addVolume([871, 403, 440, 451, 4599, 2099, 4952, 4123, 2134, 2135], 2953) + femmesh.addVolume([133, 134, 572, 607, 1158, 5413, 5412, 4034, 5430, 2722], 2954) + femmesh.addVolume([524, 133, 572, 607, 4033, 5412, 2635, 2723, 4034, 2722], 2955) + femmesh.addVolume([219, 728, 600, 625, 5431, 3107, 5372, 5432, 3108, 3076], 2956) + femmesh.addVolume([351, 760, 784, 668, 4314, 3271, 4151, 5409, 3195, 3270], 2957) + femmesh.addVolume([457, 450, 482, 823, 2269, 2248, 2264, 4902, 5008, 4903], 2958) + femmesh.addVolume([351, 784, 800, 791, 4151, 3321, 5433, 5373, 3296, 3324], 2959) + femmesh.addVolume([351, 407, 763, 791, 1997, 5434, 4150, 5373, 4079, 3295], 2960) + femmesh.addVolume([194, 648, 597, 684, 5435, 2891, 4114, 4113, 2964, 2962], 2961) + femmesh.addVolume([249, 302, 295, 669, 1666, 1691, 1644, 4326, 4328, 5436], 2962) + femmesh.addVolume([176, 157, 542, 9, 1336, 4730, 5437, 1269, 1224, 4859], 2963) + femmesh.addVolume([648, 194, 118, 119, 5435, 1338, 4609, 5162, 1339, 1113], 2964) + femmesh.addVolume([800, 351, 791, 395, 5433, 5373, 3324, 5345, 1963, 4078], 2965) + femmesh.addVolume([156, 540, 8, 541, 4280, 4348, 1221, 4284, 2514, 5438], 2966) + femmesh.addVolume([46, 188, 168, 501, 1295, 1337, 1246, 4412, 3936, 3937], 2967) + femmesh.addVolume([576, 147, 146, 36, 4885, 1197, 4272, 5439, 1195, 1193], 2968) + femmesh.addVolume([742, 741, 801, 366, 3143, 3325, 3326, 5440, 4767, 5441], 2969) + femmesh.addVolume([188, 584, 501, 502, 5406, 2662, 3936, 4562, 2663, 2414], 2970) + femmesh.addVolume([686, 769, 200, 715, 3223, 5329, 4967, 3057, 3225, 5442], 2971) + femmesh.addVolume([243, 169, 233, 585, 1472, 1450, 1474, 5443, 4678, 3970], 2972) + femmesh.addVolume([192, 55, 512, 86, 1302, 5445, 5444, 4942, 2394, 2442], 2973) + femmesh.addVolume([620, 167, 187, 583, 4172, 1317, 5446, 2753, 3982, 5447], 2974) + femmesh.addVolume([887, 384, 429, 383, 5213, 2066, 4350, 4351, 1930, 2065], 2975) + femmesh.addVolume([382, 334, 875, 383, 1923, 5449, 5448, 1927, 1925, 5450], 2976) + femmesh.addVolume([620, 562, 167, 583, 2752, 3980, 4172, 2753, 2660, 3982], 2977) + femmesh.addVolume([276, 738, 275, 336, 4992, 4986, 1595, 1778, 5451, 1777], 2978) + femmesh.addVolume([187, 500, 168, 649, 5452, 4174, 1434, 5453, 2840, 5454], 2979) + femmesh.addVolume([181, 637, 253, 234, 4782, 5333, 1499, 1451, 4981, 1500], 2980) + femmesh.addVolume([206, 738, 712, 674, 4993, 3131, 4989, 4990, 3132, 3045], 2981) + femmesh.addVolume([523, 19, 130, 570, 5155, 1145, 5455, 2648, 5347, 5338], 2982) + femmesh.addVolume([665, 300, 765, 361, 4670, 4392, 3210, 4543, 1853, 4122], 2983) + femmesh.addVolume([172, 54, 192, 511, 1254, 1303, 1321, 5265, 4944, 4943], 2984) + femmesh.addVolume([154, 44, 72, 537, 1216, 2366, 5247, 5004, 5456, 2503], 2985) + femmesh.addVolume([763, 370, 351, 299, 4638, 1885, 4150, 5118, 1882, 1821], 2986) + femmesh.addVolume([378, 942, 377, 459, 4652, 5457, 1912, 2162, 4061, 2161], 2987) + femmesh.addVolume([458, 973, 487, 493, 5231, 5458, 2250, 2273, 5459, 2275], 2988) + femmesh.addVolume([884, 379, 330, 878, 4857, 1913, 4856, 3600, 4015, 4016], 2989) + femmesh.addVolume([252, 631, 695, 228, 5167, 2992, 4043, 1496, 4546, 4044], 2990) + femmesh.addVolume([183, 164, 641, 556, 1324, 4842, 5151, 5422, 5267, 2816], 2991) + femmesh.addVolume([513, 595, 596, 262, 2695, 2699, 2697, 5098, 5460, 5461], 2992) + femmesh.addVolume([458, 417, 882, 460, 2160, 4158, 4156, 2166, 2164, 5197], 2993) + femmesh.addVolume([631, 252, 178, 228, 5167, 1495, 4544, 4546, 1496, 1437], 2994) + femmesh.addVolume([640, 554, 163, 555, 2812, 5462, 5417, 2813, 2556, 5418], 2995) + femmesh.addVolume([250, 192, 512, 594, 1491, 5444, 5463, 4752, 5464, 2692], 2996) + femmesh.addVolume([136, 211, 657, 608, 1389, 5175, 4458, 4788, 4809, 2896], 2997) + femmesh.addVolume([192, 511, 512, 594, 4943, 2444, 5444, 5464, 2691, 2692], 2998) + femmesh.addVolume([173, 192, 512, 250, 1332, 5444, 5099, 1490, 1491, 5463], 2999) + femmesh.addVolume([379, 425, 911, 946, 2053, 4582, 4065, 5306, 4649, 3796], 3000) + femmesh.addVolume([54, 192, 86, 55, 1303, 4942, 2403, 1038, 1302, 2394], 3001) + femmesh.addVolume([44, 73, 72, 537, 2367, 1057, 2366, 5456, 2502, 2503], 3002) + femmesh.addVolume([747, 319, 806, 748, 5465, 5399, 3339, 3161, 5397, 3340], 3003) + femmesh.addVolume([238, 642, 706, 237, 4799, 3025, 5342, 1526, 4442, 4441], 3004) + femmesh.addVolume([774, 205, 674, 275, 4959, 4960, 3239, 4987, 1590, 5124], 3005) + femmesh.addVolume([139, 527, 28, 27, 5466, 5379, 1172, 1171, 5378, 1009], 3006) + femmesh.addVolume([12, 98, 567, 13, 5467, 2587, 4835, 994, 4017, 4612], 3007) + femmesh.addVolume([518, 565, 9, 120, 2626, 4465, 4466, 5307, 5348, 1115], 3008) + femmesh.addVolume([551, 103, 18, 104, 2542, 4845, 4568, 2543, 1090, 5346], 3009) + femmesh.addVolume([202, 126, 201, 602, 1361, 1359, 1363, 5026, 5025, 5047], 3010) + femmesh.addVolume([205, 206, 674, 275, 1375, 4990, 4960, 1590, 1591, 5124], 3011) + femmesh.addVolume([733, 672, 781, 273, 3119, 3260, 3261, 4364, 5468, 4541], 3012) + femmesh.addVolume([747, 367, 806, 319, 4775, 4780, 3339, 5465, 1871, 5399], 3013) + femmesh.addVolume([206, 131, 605, 655, 1374, 5469, 4991, 5052, 5051, 2887], 3014) + femmesh.addVolume([376, 904, 905, 423, 4917, 3699, 4802, 2049, 4308, 4309], 3015) + femmesh.addVolume([643, 184, 165, 558, 4897, 1325, 4713, 2822, 3999, 4000], 3016) + femmesh.addVolume([873, 496, 915, 918, 3977, 3979, 3693, 3701, 4276, 3704], 3017) + femmesh.addVolume([455, 898, 413, 402, 4945, 4626, 2149, 2148, 4627, 2018], 3018) + femmesh.addVolume([414, 843, 876, 824, 4152, 3574, 5277, 5470, 3546, 3573], 3019) + femmesh.addVolume([620, 687, 649, 242, 2971, 2969, 2886, 4918, 5471, 5472], 3020) + femmesh.addVolume([375, 810, 751, 311, 4877, 3351, 5473, 1905, 5474, 5351], 3021) + femmesh.addVolume([304, 749, 700, 750, 5475, 3163, 5180, 5181, 3167, 3165], 3022) + femmesh.addVolume([172, 249, 593, 511, 1489, 4068, 5476, 5265, 5111, 2689], 3023) + femmesh.addVolume([158, 544, 545, 630, 4117, 2526, 4551, 4118, 2782, 2783], 3024) + femmesh.addVolume([345, 722, 723, 779, 4819, 3089, 5477, 5232, 3253, 3254], 3025) + femmesh.addVolume([653, 601, 715, 200, 2889, 3055, 3056, 4533, 4535, 5442], 3026) + femmesh.addVolume([595, 513, 512, 262, 2695, 2447, 2694, 5460, 5098, 5100], 3027) + femmesh.addVolume([147, 221, 616, 576, 1418, 5246, 4700, 4885, 5478, 2743], 3028) + femmesh.addVolume([417, 851, 371, 415, 4997, 4998, 2030, 2114, 5479, 2022], 3029) + femmesh.addVolume([631, 546, 159, 632, 2786, 4755, 4841, 2790, 2788, 5357], 3030) + femmesh.addVolume([412, 792, 366, 801, 5394, 4768, 2014, 5480, 3327, 5441], 3031) + femmesh.addVolume([249, 192, 594, 511, 1488, 5464, 4327, 5111, 4943, 2691], 3032) + femmesh.addVolume([112, 527, 138, 27, 2479, 4829, 4830, 4843, 5378, 1169], 3033) + femmesh.addVolume([865, 365, 368, 405, 4192, 1986, 4891, 5382, 1994, 2010], 3034) + femmesh.addVolume([855, 854, 413, 369, 3506, 5294, 4628, 4332, 4330, 2017], 3035) + femmesh.addVolume([650, 120, 121, 196, 5425, 1119, 5481, 4471, 1343, 1344], 3036) + femmesh.addVolume([265, 767, 352, 773, 4686, 4687, 1824, 5404, 3284, 5482], 3037) + femmesh.addVolume([780, 346, 790, 735, 4502, 4503, 3293, 3259, 4413, 3294], 3038) + femmesh.addVolume([400, 414, 789, 457, 2107, 5248, 5483, 2234, 2157, 5249], 3039) + femmesh.addVolume([213, 683, 214, 658, 5484, 4601, 1399, 5485, 2958, 5486], 3040) + femmesh.addVolume([331, 849, 270, 330, 4530, 5487, 1762, 1764, 4833, 1760], 3041) + femmesh.addVolume([312, 651, 718, 724, 5250, 3070, 5042, 5256, 3091, 3092], 3042) + femmesh.addVolume([422, 496, 873, 448, 2289, 3977, 4191, 2126, 2288, 4277], 3043) + femmesh.addVolume([246, 587, 233, 189, 5101, 4726, 1514, 1483, 4911, 1449], 3044) + femmesh.addVolume([365, 865, 790, 820, 4192, 3535, 4194, 5488, 3536, 3384], 3045) + femmesh.addVolume([541, 626, 627, 176, 2771, 2775, 2773, 5489, 5322, 5323], 3046) + femmesh.addVolume([769, 849, 270, 786, 3486, 5487, 3944, 3280, 3485, 3945], 3047) + femmesh.addVolume([635, 700, 636, 251, 3006, 3007, 2802, 5146, 5490, 5147], 3048) + femmesh.addVolume([128, 522, 569, 654, 4689, 2647, 5491, 5492, 2864, 2865], 3049) + femmesh.addVolume([365, 296, 759, 817, 1895, 4007, 5222, 4193, 4008, 3373], 3050) + femmesh.addVolume([648, 194, 597, 118, 5435, 4114, 2891, 4609, 1338, 4610], 3051) + femmesh.addVolume([63, 576, 146, 36, 2605, 4272, 4207, 2352, 5439, 1193], 3052) + femmesh.addVolume([43, 153, 582, 71, 1213, 5494, 5493, 2364, 5495, 2624], 3053) + femmesh.addVolume([859, 406, 902, 860, 4882, 5496, 3653, 3521, 5361, 3654], 3054) + femmesh.addVolume([296, 365, 368, 817, 1895, 1986, 1876, 4008, 4193, 4645], 3055) + femmesh.addVolume([639, 235, 236, 703, 5497, 1457, 4203, 3016, 5498, 5499], 3056) + femmesh.addVolume([722, 222, 613, 291, 4232, 4233, 3084, 4763, 1635, 4432], 3057) + femmesh.addVolume([222, 147, 533, 148, 1420, 4699, 4436, 1421, 1200, 4437], 3058) + femmesh.addVolume([37, 65, 533, 148, 2355, 2494, 5183, 1198, 4815, 4437], 3059) + femmesh.addVolume([26, 112, 27, 185, 5301, 4843, 1008, 1288, 4844, 1287], 3060) + femmesh.addVolume([590, 301, 666, 248, 4937, 5500, 2914, 5000, 1661, 5001], 3061) + femmesh.addVolume([788, 762, 325, 284, 3290, 4631, 4807, 5055, 4974, 1856], 3062) + femmesh.addVolume([462, 818, 837, 879, 5384, 3449, 4009, 5131, 3583, 3584], 3063) + femmesh.addVolume([147, 37, 533, 148, 1196, 5183, 4699, 1200, 1198, 4437], 3064) + femmesh.addVolume([93, 541, 94, 8, 2512, 2513, 1080, 5164, 5438, 5166], 3065) + femmesh.addVolume([253, 236, 702, 638, 1501, 5502, 4872, 5501, 4205, 3013], 3066) + femmesh.addVolume([796, 337, 277, 338, 3966, 1781, 4852, 4571, 1785, 1783], 3067) + femmesh.addVolume([128, 203, 654, 603, 1365, 5504, 5492, 5503, 5505, 2884], 3068) + femmesh.addVolume([862, 356, 861, 399, 5506, 4361, 3527, 4916, 1975, 4076], 3069) + femmesh.addVolume([236, 253, 702, 311, 1501, 4872, 5502, 1695, 1696, 5318], 3070) + femmesh.addVolume([716, 650, 598, 196, 3060, 2847, 3059, 4470, 4471, 5507], 3071) + femmesh.addVolume([276, 796, 336, 337, 4851, 3964, 1778, 1780, 3966, 1782], 3072) + femmesh.addVolume([931, 477, 930, 959, 4727, 4728, 3748, 3839, 5188, 3838], 3073) + femmesh.addVolume([382, 333, 845, 831, 1922, 4924, 5508, 5509, 4363, 3475], 3074) + femmesh.addVolume([186, 166, 561, 646, 1316, 3996, 3955, 4419, 4583, 2831], 3075) + femmesh.addVolume([524, 133, 21, 107, 4033, 1153, 4747, 2472, 5510, 4748], 3076) + femmesh.addVolume([2, 89, 515, 57, 2400, 2451, 5511, 1041, 2397, 5512], 3077) + femmesh.addVolume([46, 168, 75, 501, 1246, 4175, 2378, 4412, 3937, 2409], 3078) + femmesh.addVolume([747, 367, 319, 316, 4775, 1871, 5465, 4774, 1872, 1723], 3079) + femmesh.addVolume([742, 393, 317, 366, 5107, 1955, 5106, 5440, 1956, 1869], 3080) + femmesh.addVolume([934, 452, 963, 935, 5513, 5514, 3850, 3760, 5515, 3851], 3081) + femmesh.addVolume([854, 367, 409, 369, 4778, 2004, 5293, 4330, 1880, 2006], 3082) + femmesh.addVolume([687, 584, 649, 242, 2970, 2842, 2969, 5471, 5516, 5472], 3083) + femmesh.addVolume([106, 554, 107, 21, 2551, 2552, 1093, 4244, 5517, 4748], 3084) + femmesh.addVolume([500, 187, 583, 649, 5452, 5447, 2709, 2840, 5453, 2843], 3085) + femmesh.addVolume([318, 727, 308, 690, 5518, 4414, 1719, 5519, 3297, 5520], 3086) + femmesh.addVolume([320, 772, 352, 767, 5521, 4846, 1851, 5522, 3235, 4687], 3087) + femmesh.addVolume([354, 400, 787, 352, 1979, 5524, 5523, 1830, 1978, 4847], 3088) + femmesh.addVolume([781, 672, 204, 273, 3260, 5033, 5525, 4541, 5468, 1585], 3089) + femmesh.addVolume([967, 488, 938, 423, 5383, 4691, 3863, 5330, 2253, 4310], 3090) + femmesh.addVolume([950, 478, 943, 971, 4719, 5416, 3812, 3899, 4483, 3876], 3091) + femmesh.addVolume([187, 620, 583, 649, 5446, 2753, 5447, 5453, 2886, 2843], 3092) + femmesh.addVolume([312, 615, 288, 223, 5526, 4510, 1700, 1699, 4512, 1627], 3093) + femmesh.addVolume([359, 353, 736, 418, 1844, 5527, 4701, 2032, 2033, 4703], 3094) + femmesh.addVolume([122, 598, 623, 566, 5419, 2857, 4266, 5528, 2703, 2760], 3095) + femmesh.addVolume([692, 741, 324, 691, 3139, 5109, 5103, 2984, 3138, 4051], 3096) + femmesh.addVolume([620, 187, 242, 649, 5446, 1468, 4918, 2886, 5453, 5472], 3097) + femmesh.addVolume([491, 980, 962, 494, 3984, 3911, 4341, 2314, 4168, 4170], 3098) + femmesh.addVolume([824, 354, 773, 778, 5529, 5140, 3395, 3399, 5139, 3249], 3099) + femmesh.addVolume([274, 781, 204, 273, 4539, 5525, 1587, 1589, 4541, 1585], 3100) + femmesh.addVolume([546, 13, 545, 178, 4018, 5530, 2529, 4840, 1273, 4552], 3101) + femmesh.addVolume([221, 532, 218, 612, 5531, 5532, 1419, 4020, 2733, 5533], 3102) + femmesh.addVolume([38, 66, 149, 39, 2357, 4489, 1201, 1021, 2358, 1202], 3103) + femmesh.addVolume([158, 178, 228, 630, 1308, 1437, 1438, 4118, 4545, 4097], 3104) + femmesh.addVolume([239, 258, 165, 644, 1552, 1530, 1463, 4941, 4712, 4714], 3105) + femmesh.addVolume([144, 245, 531, 614, 1479, 4404, 4403, 5534, 4416, 2736], 3106) + femmesh.addVolume([838, 411, 797, 908, 4418, 4904, 3453, 3671, 5059, 3670], 3107) + femmesh.addVolume([793, 339, 278, 279, 5535, 1786, 5536, 5314, 1787, 1604], 3108) + femmesh.addVolume([255, 312, 651, 310, 1698, 5250, 5244, 1693, 1701, 5251], 3109) + femmesh.addVolume([797, 355, 347, 729, 5537, 1863, 4906, 3314, 5538, 5272], 3110) + femmesh.addVolume([849, 331, 786, 834, 4530, 5539, 3485, 3488, 4531, 3439], 3111) + femmesh.addVolume([359, 353, 305, 660, 1844, 1825, 1843, 5540, 5541, 4657], 3112) + femmesh.addVolume([637, 253, 702, 638, 5333, 4872, 3012, 2808, 5501, 3013], 3113) + femmesh.addVolume([353, 359, 736, 660, 1844, 4701, 5527, 5541, 5540, 3126], 3114) + femmesh.addVolume([332, 272, 798, 333, 1766, 5062, 5542, 1770, 1768, 4923], 3115) + femmesh.addVolume([245, 660, 727, 308, 4124, 3105, 4126, 1681, 5543, 4414], 3116) + femmesh.addVolume([505, 246, 588, 170, 4547, 5212, 2673, 4548, 1482, 5211], 3117) + femmesh.addVolume([275, 738, 795, 336, 4986, 3306, 4988, 1777, 5451, 3965], 3118) + femmesh.addVolume([551, 552, 104, 19, 2547, 2545, 2543, 4397, 4182, 4528], 3119) + femmesh.addVolume([246, 263, 588, 247, 1558, 5544, 5212, 1537, 1557, 4621], 3120) + femmesh.addVolume([359, 305, 308, 660, 1843, 1682, 1842, 5540, 4657, 5543], 3121) + femmesh.addVolume([245, 660, 308, 305, 4124, 5543, 1681, 1673, 4657, 1682], 3122) + femmesh.addVolume([521, 569, 603, 127, 2632, 2714, 2715, 4091, 5545, 4093], 3123) + femmesh.addVolume([441, 452, 453, 934, 2138, 2142, 2139, 5546, 5513, 5547], 3124) + femmesh.addVolume([371, 321, 745, 322, 1887, 3976, 5548, 1888, 1834, 4588], 3125) + femmesh.addVolume([191, 508, 171, 52, 4143, 4340, 1320, 1301, 4359, 1252], 3126) + femmesh.addVolume([980, 983, 494, 469, 2335, 4185, 4168, 4374, 5549, 2297], 3127) + femmesh.addVolume([228, 694, 226, 630, 4096, 4106, 1518, 4097, 2989, 4798], 3128) + femmesh.addVolume([727, 359, 308, 660, 5550, 1842, 4414, 3105, 5540, 5543], 3129) + femmesh.addVolume([502, 169, 77, 47, 4563, 4839, 2413, 5551, 1249, 2379], 3130) + femmesh.addVolume([907, 389, 388, 867, 4668, 1945, 5415, 3668, 4874, 5327], 3131) + femmesh.addVolume([978, 464, 497, 489, 4553, 2290, 4570, 4554, 2319, 2309], 3132) + femmesh.addVolume([653, 125, 200, 124, 4532, 1356, 4533, 4616, 1131, 1355], 3133) + femmesh.addVolume([672, 203, 204, 273, 3961, 1369, 5033, 5468, 1584, 1585], 3134) + femmesh.addVolume([145, 578, 611, 218, 5552, 2730, 5553, 1410, 4298, 4297], 3135) + femmesh.addVolume([527, 139, 610, 658, 5466, 4811, 2729, 2876, 5554, 2875], 3136) + femmesh.addVolume([967, 488, 944, 938, 5383, 4275, 3864, 3863, 4691, 3818], 3137) + femmesh.addVolume([309, 216, 285, 671, 1687, 1621, 1690, 5555, 5556, 5557], 3138) + femmesh.addVolume([434, 945, 435, 907, 4913, 4636, 2085, 4669, 3791, 4665], 3139) + femmesh.addVolume([712, 206, 605, 655, 4989, 4991, 3044, 3043, 5052, 2887], 3140) + femmesh.addVolume([596, 216, 671, 659, 5558, 5556, 2926, 2894, 4220, 2927], 3141) + femmesh.addVolume([302, 670, 669, 594, 5559, 3066, 4328, 4329, 2923, 2922], 3142) + femmesh.addVolume([254, 177, 226, 629, 1502, 1433, 1505, 4202, 4200, 4288], 3143) + femmesh.addVolume([216, 309, 217, 671, 1687, 1688, 1409, 5556, 5555, 5560], 3144) + femmesh.addVolume([595, 596, 217, 671, 2699, 5204, 5561, 2925, 2926, 5560], 3145) + femmesh.addVolume([717, 265, 195, 196, 5562, 1561, 5563, 4472, 1562, 1345], 3146) + femmesh.addVolume([245, 305, 218, 611, 1673, 1674, 1524, 4125, 4407, 4297], 3147) + femmesh.addVolume([309, 595, 217, 671, 5015, 5561, 1688, 5555, 2925, 5560], 3148) + femmesh.addVolume([449, 895, 461, 929, 5564, 5565, 2171, 4590, 3740, 4866], 3149) + femmesh.addVolume([860, 903, 401, 902, 3656, 4166, 4165, 3654, 3658, 5566], 3150) + femmesh.addVolume([574, 527, 658, 138, 2652, 2876, 2877, 4831, 4829, 5567], 3151) + femmesh.addVolume([939, 430, 384, 883, 4370, 2068, 5568, 3773, 4371, 5214], 3152) + femmesh.addVolume([495, 488, 944, 949, 2283, 4275, 5569, 5570, 4274, 3807], 3153) + femmesh.addVolume([132, 606, 655, 207, 5571, 2898, 5572, 1377, 5073, 5053], 3154) + femmesh.addVolume([494, 452, 963, 934, 2278, 5514, 4169, 5573, 5513, 3850], 3155) + femmesh.addVolume([434, 953, 471, 945, 5574, 4265, 2200, 4913, 3820, 5575], 3156) + femmesh.addVolume([896, 477, 930, 897, 5576, 4728, 3743, 3640, 4729, 3744], 3157) + femmesh.addVolume([700, 749, 251, 699, 3163, 5577, 5490, 3008, 3162, 5578], 3158) + femmesh.addVolume([206, 131, 130, 605, 1374, 1149, 1373, 4991, 5469, 4112], 3159) + femmesh.addVolume([396, 865, 880, 405, 5579, 3587, 5580, 1993, 5382, 5286], 3160) + femmesh.addVolume([682, 211, 212, 281, 4810, 1393, 5176, 5581, 1608, 1609], 3161) + femmesh.addVolume([789, 843, 823, 457, 3465, 3466, 3398, 5249, 4154, 4902], 3162) + femmesh.addVolume([23, 183, 556, 164, 1283, 5422, 5268, 1238, 1324, 5267], 3163) + femmesh.addVolume([500, 649, 501, 168, 2840, 2841, 2411, 4174, 5454, 3937], 3164) + femmesh.addVolume([354, 824, 787, 789, 5529, 3396, 5523, 5582, 3469, 3468], 3165) + femmesh.addVolume([15, 100, 101, 548, 4860, 1087, 5583, 5584, 2533, 2534], 3166) + femmesh.addVolume([716, 265, 196, 266, 5403, 1562, 4470, 5405, 1565, 1563], 3167) + femmesh.addVolume([719, 288, 676, 619, 5194, 5377, 3106, 3073, 4511, 2940], 3168) + femmesh.addVolume([224, 225, 624, 289, 1431, 4523, 5585, 1629, 1630, 5586], 3169) + femmesh.addVolume([775, 794, 776, 281, 3304, 3305, 3288, 5317, 4677, 4794], 3170) + femmesh.addVolume([213, 683, 609, 677, 5484, 2959, 5587, 5588, 2960, 2942], 3171) + femmesh.addVolume([225, 153, 536, 621, 1430, 4827, 4521, 4238, 5589, 2755], 3172) + femmesh.addVolume([598, 197, 196, 121, 4893, 1348, 5507, 5590, 1346, 1344], 3173) + femmesh.addVolume([151, 224, 152, 581, 1426, 1427, 1211, 5591, 5592, 4855], 3174) + femmesh.addVolume([179, 15, 160, 548, 1275, 1230, 1291, 5205, 5584, 4887], 3175) + femmesh.addVolume([197, 716, 196, 266, 4894, 4470, 1348, 1564, 5405, 1563], 3176) + femmesh.addVolume([650, 598, 196, 121, 2847, 5507, 4471, 5481, 5590, 1344], 3177) + femmesh.addVolume([579, 617, 613, 220, 2747, 2882, 2734, 5593, 4440, 4434], 3178) + femmesh.addVolume([136, 211, 212, 657, 1389, 1393, 1391, 4458, 5175, 4460], 3179) + femmesh.addVolume([230, 321, 746, 316, 1729, 3975, 5594, 1712, 1745, 4659], 3180) + femmesh.addVolume([400, 364, 768, 737, 1980, 4824, 5595, 5596, 5597, 3220], 3181) + femmesh.addVolume([785, 731, 718, 394, 3276, 3115, 3275, 5598, 5599, 5043], 3182) + femmesh.addVolume([975, 485, 487, 493, 4661, 2313, 4035, 5600, 2317, 2275], 3183) + femmesh.addVolume([26, 111, 559, 165, 4898, 2566, 5266, 1239, 4228, 4229], 3184) + femmesh.addVolume([945, 472, 926, 956, 4634, 4635, 3801, 3830, 5190, 3829], 3185) + femmesh.addVolume([112, 26, 559, 185, 5301, 5266, 2567, 4844, 1288, 4302], 3186) + femmesh.addVolume([717, 265, 314, 195, 5562, 1725, 4692, 5563, 1561, 1706], 3187) + femmesh.addVolume([285, 309, 670, 302, 1690, 5014, 5601, 1804, 1746, 5559], 3188) + femmesh.addVolume([771, 683, 213, 677, 3230, 5484, 4578, 3231, 2960, 5588], 3189) + femmesh.addVolume([794, 342, 847, 341, 4675, 5411, 3481, 4676, 1797, 4476], 3190) + femmesh.addVolume([761, 829, 267, 328, 3416, 5603, 5602, 5199, 4979, 1753], 3191) + femmesh.addVolume([351, 760, 395, 800, 4314, 5285, 1963, 5433, 3322, 5345], 3192) + femmesh.addVolume([797, 411, 347, 396, 4904, 2011, 4906, 5604, 2012, 1970], 3193) + femmesh.addVolume([260, 301, 300, 665, 1662, 1663, 1659, 4935, 4754, 4670], 3194) + femmesh.addVolume([628, 254, 693, 629, 4201, 5304, 2985, 2781, 4202, 2986], 3195) + femmesh.addVolume([764, 355, 729, 663, 4379, 5538, 3213, 3207, 5102, 3111], 3196) + femmesh.addVolume([650, 518, 120, 565, 2844, 5307, 5425, 2845, 2626, 5348], 3197) + femmesh.addVolume([208, 606, 207, 720, 5605, 5073, 1381, 4785, 3077, 4770], 3198) + femmesh.addVolume([263, 664, 729, 663, 5424, 3112, 5606, 5094, 2911, 3111], 3199) + femmesh.addVolume([701, 700, 234, 636, 3011, 5281, 4110, 3009, 3007, 4982], 3200) + femmesh.addVolume([391, 894, 912, 920, 5607, 3730, 5608, 4879, 3729, 3714], 3201) + femmesh.addVolume([224, 151, 223, 619, 1426, 1425, 1428, 4969, 5609, 4513], 3202) + femmesh.addVolume([872, 388, 433, 387, 5328, 2078, 5362, 5610, 1942, 2077], 3203) + femmesh.addVolume([833, 387, 822, 872, 5611, 5612, 3429, 3562, 5610, 3561], 3204) + femmesh.addVolume([307, 235, 703, 236, 1678, 5498, 5078, 1679, 1457, 5499], 3205) + femmesh.addVolume([747, 698, 319, 748, 3157, 5613, 5465, 3161, 3159, 5397], 3206) + femmesh.addVolume([290, 807, 369, 748, 4537, 4331, 1878, 4538, 3342, 5398], 3207) + femmesh.addVolume([571, 131, 655, 523, 5219, 5051, 2867, 2634, 5220, 2868], 3208) + femmesh.addVolume([703, 307, 753, 704, 5078, 5077, 3174, 3020, 5614, 3175], 3209) + femmesh.addVolume([821, 771, 283, 343, 3388, 4580, 5238, 5375, 4889, 1799], 3210) + femmesh.addVolume([364, 400, 326, 737, 1980, 1977, 1865, 5597, 5596, 5615], 3211) + femmesh.addVolume([610, 659, 215, 140, 2893, 4222, 4680, 4694, 4593, 1401], 3212) + femmesh.addVolume([818, 785, 823, 450, 3375, 3392, 3402, 5616, 5006, 5008], 3213) + femmesh.addVolume([29, 562, 115, 167, 3948, 2576, 3949, 1244, 3980, 3981], 3214) + femmesh.addVolume([235, 307, 703, 704, 1678, 5078, 5498, 5029, 5614, 3020], 3215) + femmesh.addVolume([55, 87, 512, 86, 2393, 2443, 5445, 2394, 1072, 2442], 3216) + femmesh.addVolume([725, 772, 289, 320, 3232, 5233, 5234, 4239, 5521, 1805], 3217) + femmesh.addVolume([156, 626, 541, 176, 4283, 2771, 4284, 1334, 5322, 5489], 3218) + femmesh.addVolume([940, 433, 872, 913, 5313, 5362, 3775, 3778, 5363, 3687], 3219) + femmesh.addVolume([780, 711, 726, 297, 3266, 3273, 3415, 5153, 4025, 4024], 3220) + femmesh.addVolume([235, 307, 704, 294, 1678, 5614, 5029, 1643, 1715, 4718], 3221) + femmesh.addVolume([202, 673, 685, 734, 5227, 3074, 5048, 5617, 3121, 3122], 3222) + femmesh.addVolume([687, 297, 711, 243, 4023, 4025, 3042, 5618, 1684, 4323], 3223) + femmesh.addVolume([620, 241, 687, 242, 4171, 4633, 2971, 4918, 1470, 5471], 3224) + femmesh.addVolume([584, 243, 687, 711, 5407, 5618, 2970, 3039, 4323, 3042], 3225) + femmesh.addVolume([290, 232, 251, 699, 1634, 1522, 1633, 5619, 5401, 5578], 3226) + femmesh.addVolume([579, 65, 66, 38, 2617, 1050, 2616, 4487, 2356, 2357], 3227) + femmesh.addVolume([822, 387, 833, 338, 5612, 5611, 3429, 5177, 1937, 4573], 3228) + femmesh.addVolume([15, 16, 160, 548, 997, 1229, 1230, 5584, 4343, 4887], 3229) + femmesh.addVolume([180, 634, 549, 635, 4517, 2795, 5391, 4516, 2799, 2797], 3230) + femmesh.addVolume([15, 101, 16, 548, 5583, 4342, 997, 5584, 2534, 4343], 3231) + femmesh.addVolume([816, 368, 350, 864, 4643, 1875, 5270, 3531, 4644, 5296], 3232) + femmesh.addVolume([117, 193, 90, 5, 1511, 4496, 4497, 1106, 1306, 4584], 3233) + femmesh.addVolume([940, 386, 431, 889, 4813, 2072, 5620, 3776, 4709, 4849], 3234) + femmesh.addVolume([601, 715, 201, 685, 3055, 5621, 5326, 2966, 3058, 5049], 3235) + femmesh.addVolume([320, 326, 352, 772, 1831, 1886, 1851, 5521, 5622, 4846], 3236) + femmesh.addVolume([708, 258, 239, 644, 4733, 1552, 4519, 3031, 4712, 4941], 3237) + femmesh.addVolume([741, 792, 801, 366, 3299, 3327, 3325, 4767, 4768, 5441], 3238) + femmesh.addVolume([125, 568, 520, 601, 4814, 2631, 4401, 4534, 2710, 2711], 3239) + femmesh.addVolume([687, 297, 243, 241, 4023, 1684, 5618, 4633, 1650, 1632], 3240) + femmesh.addVolume([562, 620, 167, 647, 2752, 4172, 3980, 2834, 2835, 4173], 3241) + femmesh.addVolume([337, 386, 338, 833, 1934, 1935, 1785, 4572, 4710, 4573], 3242) + femmesh.addVolume([462, 818, 879, 482, 5384, 3583, 5131, 2232, 5262, 5011], 3243) + femmesh.addVolume([654, 604, 204, 129, 2863, 4566, 5034, 5623, 4100, 1368], 3244) + femmesh.addVolume([431, 386, 940, 432, 2072, 4813, 5620, 2076, 2074, 4405], 3245) + femmesh.addVolume([459, 942, 377, 910, 4061, 5457, 2161, 5624, 3797, 5625], 3246) + femmesh.addVolume([686, 199, 269, 740, 4667, 1572, 4966, 3136, 4046, 5279], 3247) + femmesh.addVolume([761, 268, 267, 198, 5198, 1571, 5602, 5626, 1569, 1567], 3248) + femmesh.addVolume([123, 623, 599, 519, 5627, 2761, 4622, 4837, 2759, 2706], 3249) + femmesh.addVolume([389, 832, 850, 341, 4873, 3491, 5628, 1944, 5629, 4477], 3250) + femmesh.addVolume([21, 133, 22, 107, 1153, 1154, 1003, 4748, 5510, 5630], 3251) + femmesh.addVolume([754, 812, 307, 753, 3358, 5632, 5631, 3179, 3357, 5077], 3252) + femmesh.addVolume([381, 382, 333, 845, 1924, 1922, 1920, 5336, 5508, 4924], 3253) + femmesh.addVolume([907, 913, 867, 388, 3688, 3686, 3668, 5415, 5364, 5327], 3254) + femmesh.addVolume([388, 913, 867, 872, 5364, 3686, 5327, 5328, 3687, 3563], 3255) + femmesh.addVolume([535, 40, 68, 69, 5341, 2360, 2499, 2498, 2361, 1053], 3256) + femmesh.addVolume([150, 67, 534, 580, 4269, 2496, 4527, 4088, 2620, 2641], 3257) + femmesh.addVolume([276, 738, 720, 712, 4992, 3133, 4769, 4771, 3131, 3078], 3258) + femmesh.addVolume([726, 264, 259, 710, 4574, 1559, 4055, 3102, 5160, 5633], 3259) + femmesh.addVolume([340, 832, 822, 867, 4875, 3470, 4983, 4876, 3543, 3544], 3260) + femmesh.addVolume([148, 579, 613, 220, 4439, 2734, 4438, 1415, 5593, 4434], 3261) + femmesh.addVolume([34, 145, 61, 531, 1190, 5634, 2349, 4828, 4402, 2490], 3262) + femmesh.addVolume([722, 287, 723, 616, 4762, 4211, 3089, 3085, 4212, 3087], 3263) + femmesh.addVolume([722, 287, 616, 222, 4762, 4212, 3085, 4232, 1626, 4234], 3264) + femmesh.addVolume([349, 813, 812, 754, 4133, 3362, 4608, 5635, 3360, 3358], 3265) + femmesh.addVolume([883, 889, 431, 385, 3705, 4849, 4850, 5636, 5028, 2071], 3266) + femmesh.addVolume([427, 921, 464, 969, 5236, 5637, 2179, 4491, 3868, 5297], 3267) + femmesh.addVolume([354, 824, 773, 787, 5529, 3395, 5140, 5523, 3396, 3285], 3268) + femmesh.addVolume([418, 827, 732, 792, 5395, 3409, 5638, 5396, 3410, 3309], 3269) + femmesh.addVolume([799, 683, 214, 283, 3320, 4601, 4602, 5237, 5639, 1615], 3270) + femmesh.addVolume([648, 618, 119, 517, 2839, 5163, 5162, 2837, 2749, 4867], 3271) + femmesh.addVolume([221, 287, 616, 612, 1625, 4212, 5246, 4020, 4021, 2744], 3272) + femmesh.addVolume([41, 70, 69, 581, 2372, 1054, 2373, 4854, 2621, 2622], 3273) + femmesh.addVolume([431, 940, 889, 927, 5620, 3776, 4849, 4027, 3777, 3734], 3274) + femmesh.addVolume([257, 183, 640, 163, 1527, 5150, 5288, 1528, 1313, 5417], 3275) + femmesh.addVolume([554, 555, 107, 163, 2556, 2554, 2552, 5462, 5418, 5640], 3276) + femmesh.addVolume([554, 639, 640, 163, 2810, 2814, 2812, 5462, 5641, 5417], 3277) + femmesh.addVolume([257, 705, 704, 640, 4224, 3023, 4716, 5288, 3021, 3019], 3278) + femmesh.addVolume([899, 857, 856, 410, 3645, 3512, 3644, 5087, 4353, 5642], 3279) + femmesh.addVolume([236, 162, 638, 253, 1456, 5643, 4205, 1501, 1498, 5501], 3280) + femmesh.addVolume([15, 547, 179, 14, 5644, 5359, 1275, 996, 4758, 1276], 3281) + femmesh.addVolume([939, 887, 429, 948, 3774, 4350, 4294, 3803, 3804, 4217], 3282) + femmesh.addVolume([672, 675, 781, 204, 2938, 3262, 3260, 5033, 4565, 5525], 3283) + femmesh.addVolume([639, 235, 703, 704, 5497, 5498, 3016, 3018, 5029, 3020], 3284) + femmesh.addVolume([128, 522, 654, 129, 4689, 2864, 5492, 1143, 4128, 5623], 3285) + femmesh.addVolume([698, 232, 319, 748, 5195, 1721, 5613, 3159, 5645, 5397], 3286) + femmesh.addVolume([826, 730, 438, 836, 3408, 5646, 4029, 3446, 3443, 4031], 3287) + femmesh.addVolume([131, 19, 130, 523, 1147, 1145, 1149, 5220, 5155, 5455], 3288) + femmesh.addVolume([500, 187, 116, 583, 5452, 5647, 2579, 2709, 5447, 2628], 3289) + femmesh.addVolume([909, 422, 405, 454, 4190, 2047, 5009, 4921, 2146, 2143], 3290) + femmesh.addVolume([508, 82, 171, 52, 2430, 4604, 4340, 4359, 2390, 1252], 3291) + femmesh.addVolume([510, 172, 593, 511, 5263, 5476, 2688, 2441, 5265, 2689], 3292) + femmesh.addVolume([505, 189, 170, 49, 4549, 1329, 4548, 4832, 1296, 1251], 3293) + femmesh.addVolume([51, 507, 171, 190, 4380, 4339, 1253, 1298, 4957, 1330], 3294) + femmesh.addVolume([865, 396, 880, 820, 5579, 5580, 3587, 3536, 5648, 3585], 3295) + femmesh.addVolume([376, 904, 423, 399, 4917, 4308, 2049, 2003, 4075, 2050], 3296) + femmesh.addVolume([555, 183, 641, 556, 5152, 5151, 2815, 2559, 5422, 2816], 3297) + femmesh.addVolume([346, 820, 790, 735, 5649, 3384, 4503, 4413, 3381, 3294], 3298) + femmesh.addVolume([797, 820, 355, 764, 3383, 4378, 5537, 3313, 3382, 4379], 3299) + femmesh.addVolume([832, 782, 776, 280, 3426, 3265, 3425, 5171, 4013, 4252], 3300) + femmesh.addVolume([232, 290, 319, 748, 1634, 1724, 1721, 5645, 4538, 5397], 3301) + femmesh.addVolume([422, 873, 909, 908, 4191, 3679, 4190, 4954, 3678, 3673], 3302) + femmesh.addVolume([816, 815, 863, 350, 3371, 3528, 3529, 5270, 5269, 5123], 3303) + femmesh.addVolume([246, 587, 588, 663, 5101, 2675, 5212, 5095, 2906, 2907], 3304) + femmesh.addVolume([835, 342, 794, 775, 5650, 4675, 3442, 3433, 5316, 3304], 3305) + femmesh.addVolume([282, 342, 835, 775, 1796, 5650, 4888, 4909, 5316, 3433], 3306) + femmesh.addVolume([290, 749, 748, 699, 4536, 3164, 4538, 5619, 3162, 3160], 3307) + femmesh.addVolume([431, 430, 883, 385, 2073, 4371, 4850, 2071, 2069, 5636], 3308) + femmesh.addVolume([829, 327, 267, 328, 5275, 1752, 5603, 4979, 1755, 1753], 3309) + femmesh.addVolume([153, 582, 536, 621, 5494, 2643, 4827, 5589, 2754, 2755], 3310) + femmesh.addVolume([646, 726, 259, 710, 3100, 4055, 4420, 3037, 3102, 5633], 3311) + femmesh.addVolume([521, 126, 127, 602, 4595, 1137, 4091, 2712, 5025, 4092], 3312) + femmesh.addVolume([331, 271, 786, 834, 1763, 5141, 5539, 4531, 5651, 3439], 3313) + femmesh.addVolume([382, 334, 831, 875, 1923, 5652, 5509, 5448, 5449, 3569], 3314) + femmesh.addVolume([290, 749, 357, 807, 4536, 5653, 1839, 4537, 3343, 5235], 3315) + femmesh.addVolume([271, 332, 734, 834, 1765, 5654, 5149, 5651, 4744, 3431], 3316) + femmesh.addVolume([726, 264, 710, 766, 4574, 5160, 3102, 3215, 4575, 3214], 3317) + femmesh.addVolume([334, 274, 828, 335, 1772, 5656, 5655, 1776, 1774, 4199], 3318) + femmesh.addVolume([686, 653, 715, 200, 2967, 3056, 3057, 4967, 4533, 5442], 3319) + femmesh.addVolume([277, 276, 720, 207, 1598, 4769, 4784, 1596, 1594, 4770], 3320) + femmesh.addVolume([560, 112, 27, 113, 2569, 4843, 4446, 2570, 1099, 4447], 3321) + femmesh.addVolume([296, 709, 710, 759, 4325, 3038, 4605, 4007, 3192, 3193], 3322) + femmesh.addVolume([296, 365, 759, 264, 1895, 5222, 4007, 1649, 1868, 5161], 3323) + femmesh.addVolume([872, 386, 833, 387, 4708, 4710, 3562, 5610, 1939, 5611], 3324) + femmesh.addVolume([192, 249, 594, 250, 1488, 4327, 5464, 1491, 1542, 4752], 3325) + femmesh.addVolume([872, 386, 387, 940, 4708, 1939, 5610, 3775, 4813, 5657], 3326) + femmesh.addVolume([364, 785, 394, 450, 5658, 5598, 1959, 2132, 5006, 2131], 3327) + femmesh.addVolume([386, 841, 385, 889, 5258, 5259, 1936, 4709, 3615, 5028], 3328) + femmesh.addVolume([277, 720, 770, 679, 4784, 3227, 5659, 5660, 3079, 3226], 3329) + femmesh.addVolume([888, 882, 460, 924, 3612, 5197, 4463, 3722, 3779, 4469], 3330) + femmesh.addVolume([91, 117, 6, 564, 5429, 1107, 5661, 2582, 4740, 5134], 3331) + femmesh.addVolume([799, 783, 762, 284, 3378, 3277, 3377, 5057, 4995, 4974], 3332) + femmesh.addVolume([209, 279, 680, 278, 1602, 4495, 4908, 1600, 1604, 5662], 3333) + femmesh.addVolume([898, 855, 402, 856, 3641, 4629, 4627, 3642, 3509, 5159], 3334) + femmesh.addVolume([266, 265, 354, 773, 1565, 1827, 1828, 5138, 5404, 5140], 3335) + femmesh.addVolume([442, 898, 402, 899, 4946, 4627, 2105, 5663, 3646, 5158], 3336) + femmesh.addVolume([227, 219, 625, 728, 1536, 5432, 5664, 5665, 5431, 3108], 3337) + femmesh.addVolume([349, 859, 811, 812, 5196, 3516, 5092, 4608, 3517, 3359], 3338) + femmesh.addVolume([604, 205, 204, 129, 4098, 1372, 4566, 4100, 1370, 1368], 3339) + femmesh.addVolume([183, 555, 22, 108, 5152, 5666, 1284, 5423, 2555, 5667], 3340) + femmesh.addVolume([307, 349, 811, 812, 1816, 5092, 5091, 5632, 4608, 3359], 3341) + femmesh.addVolume([304, 749, 808, 357, 5475, 3345, 5668, 1838, 5653, 5067], 3342) + femmesh.addVolume([23, 183, 22, 108, 1283, 1284, 1004, 5315, 5423, 5667], 3343) + femmesh.addVolume([356, 298, 756, 303, 1835, 4930, 5241, 1836, 1670, 4655], 3344) + femmesh.addVolume([749, 304, 808, 750, 5475, 5668, 3345, 3167, 5181, 3346], 3345) + femmesh.addVolume([76, 502, 77, 47, 2412, 2413, 1062, 2380, 5551, 2379], 3346) + femmesh.addVolume([211, 136, 135, 608, 1389, 1164, 1388, 4809, 4788, 4789], 3347) + femmesh.addVolume([686, 199, 740, 689, 4667, 4046, 3136, 2976, 4047, 3137], 3348) + femmesh.addVolume([271, 331, 332, 834, 1763, 1767, 1765, 5651, 4531, 4744], 3349) + femmesh.addVolume([593, 249, 295, 669, 4068, 1644, 4070, 2921, 4326, 5436], 3350) + femmesh.addVolume([761, 268, 740, 819, 5198, 4048, 3252, 3380, 5200, 3379], 3351) + femmesh.addVolume([689, 268, 740, 761, 4049, 4048, 3137, 3198, 5198, 3252], 3352) + femmesh.addVolume([510, 191, 509, 592, 5669, 4145, 2438, 2686, 5670, 2685], 3353) + femmesh.addVolume([769, 686, 269, 740, 3223, 4966, 5144, 3224, 3136, 5279], 3354) + femmesh.addVolume([620, 167, 242, 187, 4172, 1469, 4918, 5446, 1317, 1468], 3355) + femmesh.addVolume([838, 411, 765, 347, 4418, 4120, 3451, 4905, 2011, 4391], 3356) + femmesh.addVolume([774, 274, 828, 781, 5018, 5656, 3411, 3315, 4539, 3412], 3357) + femmesh.addVolume([884, 881, 830, 329, 3599, 3590, 3598, 4508, 4360, 5309], 3358) + femmesh.addVolume([205, 675, 204, 274, 4564, 4565, 1372, 1588, 5017, 1587], 3359) + femmesh.addVolume([56, 513, 88, 174, 4422, 2446, 2395, 1259, 5671, 5672], 3360) + femmesh.addVolume([469, 983, 481, 470, 5549, 4080, 2298, 2198, 4081, 2299], 3361) + femmesh.addVolume([892, 381, 426, 380, 4443, 2057, 4444, 4596, 1921, 2056], 3362) + femmesh.addVolume([176, 231, 627, 229, 1443, 5325, 5323, 1440, 1446, 5673], 3363) + femmesh.addVolume([829, 824, 778, 327, 3461, 3399, 3417, 5275, 5276, 5674], 3364) + femmesh.addVolume([659, 216, 215, 140, 4220, 1405, 4222, 4593, 1403, 1401], 3365) + femmesh.addVolume([439, 475, 407, 869, 2214, 2211, 2097, 5340, 4557, 4559], 3366) + femmesh.addVolume([827, 412, 801, 792, 5393, 5480, 3454, 3410, 5394, 3327], 3367) + femmesh.addVolume([365, 865, 396, 405, 4192, 5579, 1966, 1994, 5382, 1993], 3368) + femmesh.addVolume([157, 10, 542, 9, 1223, 5675, 4730, 1224, 991, 4859], 3369) + femmesh.addVolume([827, 403, 801, 412, 4868, 4600, 3454, 5393, 2013, 5480], 3370) + femmesh.addVolume([412, 398, 792, 418, 2015, 4766, 5394, 2106, 2035, 5396], 3371) + femmesh.addVolume([398, 736, 792, 418, 4702, 3300, 4766, 2035, 4703, 5396], 3372) + femmesh.addVolume([942, 881, 377, 910, 3785, 4797, 5457, 3797, 3677, 5625], 3373) + femmesh.addVolume([547, 159, 179, 14, 4757, 1309, 5359, 4758, 1227, 1276], 3374) + femmesh.addVolume([854, 409, 853, 896, 5293, 5676, 3503, 3636, 5677, 3635], 3375) + femmesh.addVolume([397, 895, 415, 852, 5207, 5310, 2023, 5209, 3632, 5312], 3376) + femmesh.addVolume([521, 15, 101, 16, 4576, 5583, 2466, 4577, 997, 4342], 3377) + femmesh.addVolume([376, 862, 863, 905, 4915, 3530, 5121, 4802, 3662, 3663], 3378) + femmesh.addVolume([348, 804, 805, 852, 4484, 3338, 4485, 5678, 3495, 3496], 3379) + femmesh.addVolume([805, 348, 852, 853, 4485, 5678, 3496, 3498, 5210, 3500], 3380) + femmesh.addVolume([403, 393, 801, 366, 1987, 5360, 4600, 1988, 1956, 5441], 3381) + femmesh.addVolume([744, 373, 802, 803, 5679, 5680, 3329, 3330, 4313, 3332], 3382) + femmesh.addVolume([832, 782, 340, 822, 3426, 4293, 4875, 3470, 3406, 4983], 3383) + femmesh.addVolume([863, 816, 350, 864, 3529, 5270, 5123, 3533, 3531, 5296], 3384) + femmesh.addVolume([970, 939, 467, 955, 3871, 5280, 4834, 3872, 3826, 4307], 3385) + femmesh.addVolume([442, 898, 899, 932, 4946, 3646, 5663, 5681, 3749, 3750], 3386) + femmesh.addVolume([356, 862, 350, 376, 5506, 5682, 1891, 1907, 4915, 1906], 3387) + femmesh.addVolume([368, 816, 350, 292, 4643, 5270, 1875, 1874, 4698, 1818], 3388) + femmesh.addVolume([656, 210, 678, 680, 4094, 3941, 2945, 2948, 4494, 2951], 3389) + femmesh.addVolume([643, 558, 165, 644, 2822, 4000, 4713, 2826, 2824, 4714], 3390) + femmesh.addVolume([804, 371, 745, 803, 5170, 5548, 3333, 3335, 5290, 3331], 3391) + femmesh.addVolume([381, 892, 845, 846, 4443, 3623, 5336, 5683, 3624, 3479], 3392) + femmesh.addVolume([753, 307, 811, 812, 5077, 5091, 3355, 3357, 5632, 3359], 3393) + femmesh.addVolume([467, 939, 429, 955, 5280, 4294, 2187, 4307, 3826, 4219], 3394) + femmesh.addVolume([375, 810, 809, 751, 4877, 3353, 4878, 5473, 3351, 3349], 3395) + femmesh.addVolume([57, 514, 174, 88, 5684, 5685, 1258, 2398, 2448, 5672], 3396) + femmesh.addVolume([884, 378, 946, 942, 4507, 4653, 3794, 3784, 4652, 3795], 3397) + femmesh.addVolume([888, 483, 451, 916, 4461, 2237, 4005, 3695, 5686, 5687], 3398) + femmesh.addVolume([345, 408, 362, 777, 2000, 2001, 1859, 4820, 5069, 5688], 3399) + femmesh.addVolume([973, 975, 493, 966, 3895, 5600, 5459, 3892, 3894, 4181], 3400) + femmesh.addVolume([705, 706, 641, 237, 3026, 3024, 3022, 4226, 4441, 4227], 3401) + femmesh.addVolume([533, 222, 613, 616, 4436, 4233, 2735, 2742, 4234, 2745], 3402) + femmesh.addVolume([887, 428, 429, 948, 4349, 2067, 4350, 3804, 4357, 4217], 3403) + femmesh.addVolume([755, 705, 237, 706, 3180, 4226, 5689, 3181, 3026, 4441], 3404) + femmesh.addVolume([464, 969, 921, 952, 5297, 3868, 5637, 5690, 3881, 3816], 3405) + femmesh.addVolume([367, 397, 853, 409, 1968, 5208, 4779, 2004, 2005, 5676], 3406) + femmesh.addVolume([483, 492, 451, 916, 2320, 2311, 2237, 5686, 5427, 5687], 3407) + femmesh.addVolume([461, 397, 409, 896, 2170, 2005, 2172, 5691, 5302, 5677], 3408) + femmesh.addVolume([574, 26, 138, 137, 3987, 1168, 4831, 3988, 1166, 1170], 3409) + femmesh.addVolume([980, 972, 983, 469, 2336, 2331, 2335, 4374, 4375, 5549], 3410) + femmesh.addVolume([895, 397, 461, 896, 5207, 2170, 5565, 3637, 5302, 5691], 3411) + femmesh.addVolume([605, 131, 130, 523, 5469, 1149, 4112, 2718, 5220, 5455], 3412) + femmesh.addVolume([571, 105, 20, 523, 2596, 5154, 5221, 2634, 2470, 5156], 3413) + femmesh.addVolume([697, 230, 746, 316, 5179, 5594, 3154, 4773, 1712, 4659], 3414) + femmesh.addVolume([461, 477, 896, 409, 2221, 5576, 5691, 2172, 2220, 5677], 3415) + femmesh.addVolume([745, 371, 322, 803, 5548, 1888, 4588, 3331, 5290, 4589], 3416) + femmesh.addVolume([401, 399, 861, 358, 2007, 4076, 4167, 1982, 1976, 4337], 3417) + femmesh.addVolume([650, 717, 195, 196, 3075, 5563, 5692, 4471, 4472, 1345], 3418) + femmesh.addVolume([972, 469, 432, 470, 4375, 2194, 4406, 4394, 2198, 2196], 3419) + femmesh.addVolume([386, 841, 889, 833, 5258, 3615, 4709, 4710, 3572, 3614], 3420) + femmesh.addVolume([689, 268, 761, 198, 4049, 5198, 3198, 5693, 1569, 5626], 3421) + femmesh.addVolume([972, 431, 927, 940, 5366, 4027, 3878, 3880, 5620, 3777], 3422) + femmesh.addVolume([596, 216, 659, 141, 5558, 4220, 2894, 5203, 1404, 4594], 3423) + femmesh.addVolume([953, 433, 940, 913, 4263, 5313, 3862, 3821, 5363, 3778], 3424) + femmesh.addVolume([562, 114, 186, 29, 2575, 3954, 3953, 3948, 3947, 1289], 3425) + femmesh.addVolume([587, 246, 588, 505, 5101, 5212, 2675, 2671, 4547, 2673], 3426) + femmesh.addVolume([393, 840, 801, 825, 5186, 3457, 5360, 5185, 3458, 3403], 3427) + femmesh.addVolume([423, 937, 484, 445, 4682, 5355, 2239, 2163, 4243, 2240], 3428) + femmesh.addVolume([458, 973, 928, 487, 5231, 3883, 5230, 2250, 5458, 5694], 3429) + femmesh.addVolume([356, 815, 350, 862, 5240, 5269, 1891, 5506, 3526, 5682], 3430) + femmesh.addVolume([692, 254, 229, 317, 5303, 1504, 5104, 5105, 1713, 1714], 3431) + femmesh.addVolume([945, 472, 434, 435, 4634, 2202, 4913, 4636, 2203, 2085], 3432) + femmesh.addVolume([972, 431, 940, 432, 5366, 5620, 3880, 4406, 2076, 4405], 3433) + femmesh.addVolume([895, 461, 929, 896, 5565, 4866, 3740, 3637, 5691, 3741], 3434) + femmesh.addVolume([958, 461, 929, 489, 4919, 4866, 3835, 4920, 2280, 4865], 3435) + femmesh.addVolume([477, 497, 930, 959, 2307, 4102, 4728, 5188, 4103, 3838], 3436) + femmesh.addVolume([199, 268, 269, 740, 1570, 1574, 1572, 4046, 4048, 5279], 3437) + femmesh.addVolume([595, 309, 670, 671, 5015, 5014, 2924, 2925, 5555, 2928], 3438) + femmesh.addVolume([323, 393, 825, 374, 1981, 5185, 5031, 1900, 1989, 5114], 3439) + femmesh.addVolume([478, 968, 954, 971, 5695, 3866, 4938, 4483, 3877, 3874], 3440) + femmesh.addVolume([942, 378, 424, 459, 4652, 2051, 4062, 4061, 2162, 2169], 3441) + femmesh.addVolume([323, 742, 825, 393, 5030, 3404, 5031, 1981, 5107, 5185], 3442) + femmesh.addVolume([365, 346, 790, 264, 1867, 4503, 4194, 1868, 1812, 4505], 3443) + femmesh.addVolume([895, 397, 415, 449, 5207, 2023, 5310, 5564, 2129, 2130], 3444) + femmesh.addVolume([461, 895, 449, 397, 5565, 5564, 2171, 2170, 5207, 2129], 3445) + femmesh.addVolume([682, 280, 281, 776, 4567, 1610, 5581, 3242, 4252, 4794], 3446) + femmesh.addVolume([841, 384, 385, 883, 5696, 1933, 5259, 3595, 5214, 5636], 3447) + femmesh.addVolume([214, 681, 610, 658, 4603, 2952, 4896, 5486, 2953, 2875], 3448) + femmesh.addVolume([972, 431, 432, 469, 5366, 2076, 4406, 4375, 2193, 2194], 3449) + femmesh.addVolume([199, 689, 599, 198, 4047, 2974, 4617, 1354, 5693, 5697], 3450) + femmesh.addVolume([323, 742, 693, 743, 5030, 3142, 4105, 5032, 3146, 3144], 3451) + femmesh.addVolume([492, 917, 462, 891, 5426, 5132, 2267, 5428, 3697, 4011], 3452) + femmesh.addVolume([385, 841, 883, 889, 5259, 3595, 5636, 5028, 3615, 3705], 3453) + femmesh.addVolume([851, 417, 882, 890, 4997, 4158, 3594, 3617, 4157, 3619], 3454) + femmesh.addVolume([505, 170, 506, 80, 4548, 4956, 2426, 2422, 5016, 2424], 3455) + femmesh.addVolume([910, 459, 446, 377, 5624, 2168, 4962, 5625, 2161, 2118], 3456) + femmesh.addVolume([326, 400, 352, 737, 1977, 1978, 1886, 5615, 5596, 5698], 3457) + femmesh.addVolume([431, 469, 927, 468, 2193, 5367, 4027, 2191, 2195, 4028], 3458) + femmesh.addVolume([939, 430, 927, 970, 4370, 4026, 3802, 3871, 5699, 3873], 3459) + femmesh.addVolume([177, 543, 157, 10, 4187, 4189, 1307, 1272, 4286, 1223], 3460) + femmesh.addVolume([923, 495, 944, 915, 5700, 5569, 3789, 3720, 5125, 3790], 3461) + femmesh.addVolume([469, 972, 927, 970, 4375, 3878, 5367, 4376, 3879, 3873], 3462) + femmesh.addVolume([111, 165, 25, 558, 4228, 1240, 4899, 2564, 4000, 4001], 3463) + femmesh.addVolume([818, 450, 482, 456, 5616, 2248, 5262, 5385, 2215, 2233], 3464) + femmesh.addVolume([426, 464, 921, 952, 2178, 5637, 4039, 4040, 5690, 3816], 3465) + femmesh.addVolume([983, 494, 481, 963, 4185, 2277, 4080, 3932, 4169, 5701], 3466) + femmesh.addVolume([679, 209, 680, 278, 5702, 4908, 2950, 5703, 1600, 5662], 3467) + femmesh.addVolume([481, 964, 963, 935, 4253, 3855, 5701, 4321, 3853, 3851], 3468) + femmesh.addVolume([912, 436, 391, 437, 5021, 2087, 5608, 5022, 2091, 2089], 3469) + femmesh.addVolume([605, 604, 570, 130, 2859, 2716, 2719, 4112, 4099, 5338], 3470) + femmesh.addVolume([417, 419, 882, 460, 2038, 4161, 4158, 2164, 2165, 5197], 3471) + femmesh.addVolume([451, 492, 891, 916, 2311, 5428, 5704, 5687, 5427, 3700], 3472) + femmesh.addVolume([599, 123, 567, 124, 4622, 4836, 2705, 4618, 1128, 4614], 3473) + femmesh.addVolume([382, 334, 333, 831, 1923, 1773, 1922, 5509, 5652, 4363], 3474) + femmesh.addVolume([973, 925, 966, 493, 3882, 3860, 3892, 5459, 4179, 4181], 3475) + femmesh.addVolume([928, 895, 449, 929, 3737, 5564, 4591, 3742, 3740, 4590], 3476) + femmesh.addVolume([859, 406, 363, 858, 4882, 2002, 5321, 3518, 4883, 4215], 3477) + femmesh.addVolume([679, 208, 209, 278, 5705, 1384, 5702, 5703, 1599, 1600], 3478) + femmesh.addVolume([683, 771, 213, 283, 3230, 4578, 5484, 5639, 4580, 1614], 3479) + femmesh.addVolume([593, 249, 669, 594, 4068, 4326, 2921, 2693, 4327, 2922], 3480) + femmesh.addVolume([406, 441, 363, 858, 2128, 2110, 2002, 4883, 4147, 4215], 3481) + femmesh.addVolume([736, 418, 732, 792, 4703, 5638, 3127, 3300, 5396, 3309], 3482) + femmesh.addVolume([920, 870, 912, 437, 3712, 3684, 3714, 5706, 5707, 5022], 3483) + femmesh.addVolume([532, 221, 218, 146, 5531, 1419, 5532, 4271, 1417, 1411], 3484) + femmesh.addVolume([488, 447, 495, 944, 2252, 2282, 2283, 4275, 5708, 5569], 3485) + femmesh.addVolume([307, 812, 754, 349, 5632, 3358, 5631, 1816, 4608, 5635], 3486) + femmesh.addVolume([382, 831, 845, 875, 5509, 3475, 5508, 5448, 3569, 3571], 3487) + femmesh.addVolume([332, 381, 333, 798, 1919, 1920, 1770, 5542, 5337, 4923], 3488) + femmesh.addVolume([488, 956, 967, 944, 4273, 3887, 5383, 4275, 3888, 3864], 3489) + femmesh.addVolume([274, 334, 828, 781, 1772, 5655, 5656, 4539, 4540, 3412], 3490) + femmesh.addVolume([500, 984, 45, 74, 5709, 4383, 4745, 2407, 4381, 2376], 3491) + femmesh.addVolume([410, 453, 933, 900, 2140, 5710, 5088, 5089, 5711, 3753], 3492) + femmesh.addVolume([915, 495, 944, 949, 5125, 5569, 3790, 3805, 5570, 3807], 3493) + femmesh.addVolume([335, 275, 795, 336, 1775, 4988, 4198, 1779, 1777, 3965], 3494) + femmesh.addVolume([409, 854, 897, 896, 5293, 3638, 5712, 5677, 3636, 3640], 3495) + femmesh.addVolume([923, 495, 447, 944, 5700, 2282, 4303, 3789, 5569, 5708], 3496) + femmesh.addVolume([928, 925, 458, 890, 3738, 4159, 5230, 3736, 3727, 4155], 3497) + femmesh.addVolume([848, 419, 417, 373, 4160, 2038, 4162, 4311, 2036, 2031], 3498) + femmesh.addVolume([851, 852, 371, 415, 3497, 5713, 4998, 5479, 5312, 2022], 3499) + femmesh.addVolume([890, 851, 415, 852, 3617, 5479, 5311, 3618, 3497, 5312], 3500) + femmesh.addVolume([355, 263, 729, 663, 1832, 5606, 5538, 5102, 5094, 3111], 3501) + femmesh.addVolume([500, 984, 31, 45, 5709, 5714, 5225, 4745, 4383, 1245], 3502) + femmesh.addVolume([880, 865, 919, 405, 3587, 3708, 3709, 5286, 5382, 4934], 3503) + femmesh.addVolume([342, 390, 847, 341, 1947, 4478, 5411, 1797, 1946, 4476], 3504) + femmesh.addVolume([639, 703, 236, 638, 3016, 5499, 4203, 2811, 3015, 4205], 3505) + femmesh.addVolume([788, 821, 344, 842, 3414, 5239, 5056, 3462, 3463, 5715], 3506) + femmesh.addVolume([430, 939, 467, 970, 4370, 5280, 2188, 5699, 3871, 4834], 3507) + femmesh.addVolume([406, 901, 902, 935, 4884, 3655, 5496, 5716, 3758, 3759], 3508) + femmesh.addVolume([467, 480, 491, 976, 2321, 2261, 2294, 3971, 5115, 3972], 3509) + femmesh.addVolume([662, 286, 735, 764, 4723, 4385, 3124, 3206, 4384, 3208], 3510) + femmesh.addVolume([760, 351, 784, 800, 4314, 4151, 3271, 3322, 5433, 3321], 3511) + femmesh.addVolume([961, 480, 932, 960, 4334, 5717, 3844, 3846, 4336, 3842], 3512) + femmesh.addVolume([480, 961, 442, 491, 4334, 4346, 2228, 2261, 4344, 2260], 3513) + femmesh.addVolume([984, 116, 31, 515, 5226, 4781, 5714, 5718, 2453, 4247], 3514) + femmesh.addVolume([491, 442, 453, 933, 2260, 2141, 2262, 4345, 4347, 5710], 3515) + femmesh.addVolume([447, 488, 938, 944, 2252, 4691, 4305, 5708, 4275, 3818], 3516) + femmesh.addVolume([945, 472, 471, 434, 4634, 2204, 5575, 4913, 2202, 2200], 3517) + femmesh.addVolume([392, 920, 866, 391, 5046, 3723, 5292, 1954, 4879, 4880], 3518) + femmesh.addVolume([903, 401, 902, 443, 4166, 5566, 3658, 5719, 2108, 5720], 3519) + femmesh.addVolume([912, 894, 391, 436, 3730, 5607, 5608, 5021, 4672, 2087], 3520) + femmesh.addVolume([335, 334, 383, 875, 1776, 1925, 1926, 5721, 5449, 5450], 3521) + femmesh.addVolume([474, 949, 473, 495, 4501, 5201, 2210, 2337, 5570, 2306], 3522) + femmesh.addVolume([494, 452, 934, 453, 2278, 5513, 5573, 2279, 2142, 5547], 3523) + femmesh.addVolume([639, 554, 553, 182, 2810, 2553, 2809, 4204, 5722, 5080], 3524) + femmesh.addVolume([335, 868, 336, 795, 3994, 5723, 1779, 4198, 3548, 3965], 3525) + femmesh.addVolume([106, 553, 182, 20, 2549, 5080, 5724, 4245, 5081, 1282], 3526) + femmesh.addVolume([396, 422, 880, 908, 2046, 4955, 5580, 5725, 4954, 3669], 3527) + femmesh.addVolume([879, 837, 462, 891, 3584, 4009, 5131, 3622, 3620, 4011], 3528) + femmesh.addVolume([500, 45, 168, 75, 4745, 1247, 4174, 2408, 2375, 4175], 3529) + femmesh.addVolume([918, 915, 949, 495, 3704, 3805, 3806, 5126, 5125, 5570], 3530) + femmesh.addVolume([169, 502, 77, 503, 4563, 2413, 4839, 4679, 2417, 2415], 3531) + femmesh.addVolume([923, 447, 938, 944, 4303, 4305, 3771, 3789, 5708, 3818], 3532) + femmesh.addVolume([492, 440, 891, 462, 2266, 4953, 5428, 2267, 2216, 4011], 3533) + femmesh.addVolume([565, 93, 8, 517, 2584, 5164, 5165, 2608, 2458, 5726], 3534) + femmesh.addVolume([618, 684, 195, 717, 3051, 5064, 5065, 3068, 3069, 5563], 3535) + femmesh.addVolume([156, 626, 176, 231, 4283, 5322, 1334, 1444, 5324, 1443], 3536) + femmesh.addVolume([506, 81, 80, 50, 2425, 1066, 2424, 5727, 2385, 2386], 3537) + femmesh.addVolume([440, 844, 891, 462, 4951, 3621, 4953, 2216, 4010, 4011], 3538) + femmesh.addVolume([210, 678, 280, 211, 3941, 3943, 1605, 1390, 4808, 1606], 3539) + femmesh.addVolume([650, 618, 195, 717, 2846, 5065, 5692, 3075, 3068, 5563], 3540) + femmesh.addVolume([238, 642, 184, 643, 4799, 4800, 1460, 5216, 2823, 4897], 3541) + femmesh.addVolume([111, 26, 574, 526, 4898, 3987, 2602, 2476, 3939, 2637], 3542) + femmesh.addVolume([659, 140, 528, 141, 4593, 4673, 2879, 4594, 1179, 4818], 3543) + femmesh.addVolume([93, 7, 8, 517, 4826, 989, 5164, 2458, 4648, 5726], 3544) + femmesh.addVolume([349, 859, 363, 811, 5196, 5321, 1862, 5092, 3516, 4214], 3545) + femmesh.addVolume([106, 571, 20, 132, 2595, 5221, 4245, 4246, 5284, 1150], 3546) + femmesh.addVolume([265, 716, 196, 717, 5403, 4470, 1562, 5562, 3130, 4472], 3547) + femmesh.addVolume([871, 440, 891, 451, 4952, 4953, 3625, 4123, 2135, 5704], 3548) + femmesh.addVolume([725, 719, 624, 289, 3098, 3072, 3097, 5234, 5193, 5586], 3549) + femmesh.addVolume([224, 624, 152, 581, 5585, 4524, 1427, 5592, 2763, 4855], 3550) + femmesh.addVolume([535, 40, 69, 151, 5341, 2361, 2498, 5728, 1206, 5729], 3551) + femmesh.addVolume([440, 492, 891, 451, 2266, 5428, 4953, 2135, 2311, 5704], 3552) + femmesh.addVolume([772, 326, 352, 737, 5622, 1886, 4846, 3234, 5615, 5698], 3553) + femmesh.addVolume([492, 950, 916, 498, 4500, 3810, 5427, 2324, 4208, 4210], 3554) + femmesh.addVolume([205, 206, 130, 605, 1375, 1373, 1371, 4111, 4991, 4112], 3555) + femmesh.addVolume([181, 637, 162, 253, 4782, 5730, 1304, 1499, 5333, 1498], 3556) + femmesh.addVolume([871, 451, 891, 916, 4123, 5704, 3625, 3694, 5687, 3700], 3557) + femmesh.addVolume([158, 177, 544, 629, 1335, 5731, 4117, 4116, 4200, 2780], 3558) + femmesh.addVolume([293, 744, 228, 322, 3951, 4746, 1640, 1735, 4587, 1734], 3559) + femmesh.addVolume([100, 15, 521, 568, 4860, 4576, 2467, 2589, 4759, 2646], 3560) + femmesh.addVolume([623, 122, 519, 123, 4266, 5305, 2759, 5627, 1125, 4837], 3561) + femmesh.addVolume([557, 643, 558, 184, 2821, 2822, 2565, 4805, 4897, 3999], 3562) + femmesh.addVolume([384, 430, 385, 883, 2068, 2069, 1933, 5214, 4371, 5636], 3563) + femmesh.addVolume([738, 276, 206, 712, 4992, 1593, 4993, 3131, 4771, 4989], 3564) + femmesh.addVolume([488, 473, 949, 495, 2305, 5201, 4274, 2283, 2306, 5570], 3565) + femmesh.addVolume([406, 452, 901, 935, 2137, 5732, 4884, 5716, 5515, 3758], 3566) + femmesh.addVolume([474, 949, 495, 918, 4501, 5570, 2337, 4256, 3806, 5126], 3567) + femmesh.addVolume([956, 951, 949, 473, 2342, 2343, 2341, 5191, 5202, 5201], 3568) + femmesh.addVolume([488, 956, 949, 473, 4273, 2341, 4274, 2305, 5191, 5201], 3569) + femmesh.addVolume([673, 202, 603, 203, 5227, 5228, 2931, 3962, 1366, 5505], 3570) + femmesh.addVolume([140, 29, 528, 141, 1175, 4816, 4673, 1179, 1177, 4818], 3571) + femmesh.addVolume([653, 125, 520, 601, 4532, 4401, 2860, 2889, 4534, 2711], 3572) + femmesh.addVolume([595, 250, 512, 594, 4750, 5463, 2694, 2696, 4752, 2692], 3573) + femmesh.addVolume([480, 455, 932, 960, 2229, 5733, 5717, 4336, 5110, 3842], 3574) + femmesh.addVolume([596, 216, 141, 217, 5558, 1404, 5203, 5204, 1409, 1406], 3575) + femmesh.addVolume([465, 948, 941, 974, 5734, 3819, 4492, 4318, 3884, 3885], 3576) + femmesh.addVolume([345, 287, 360, 723, 1806, 1847, 1848, 5477, 4211, 5735], 3577) + femmesh.addVolume([513, 173, 262, 174, 4423, 1544, 5098, 5671, 1260, 1543], 3578) + femmesh.addVolume([345, 360, 779, 723, 1848, 5736, 5232, 5477, 5735, 3254], 3579) + femmesh.addVolume([670, 302, 250, 594, 5559, 1665, 4751, 2923, 4329, 4752], 3580) + femmesh.addVolume([668, 593, 295, 669, 2919, 4070, 4870, 3067, 2921, 5436], 3581) + femmesh.addVolume([516, 117, 537, 193, 4498, 4749, 2625, 4084, 1511, 4086], 3582) + femmesh.addVolume([959, 931, 490, 960, 3839, 5187, 5189, 3843, 3841, 4366], 3583) + femmesh.addVolume([453, 934, 933, 900, 5547, 3757, 5710, 5711, 3755, 3753], 3584) + femmesh.addVolume([667, 763, 351, 299, 3204, 4150, 4149, 5255, 5118, 1821], 3585) + femmesh.addVolume([607, 656, 680, 209, 2897, 2948, 2949, 5737, 4907, 4908], 3586) + femmesh.addVolume([298, 292, 350, 757, 1654, 1818, 1819, 4737, 4262, 5271], 3587) + femmesh.addVolume([60, 59, 33, 577, 1044, 2346, 2347, 2611, 2609, 5038], 3588) + femmesh.addVolume([769, 269, 270, 330, 5144, 1577, 3944, 5135, 1759, 1760], 3589) + femmesh.addVolume([469, 970, 927, 468, 4376, 3873, 5367, 2195, 3986, 4028], 3590) + femmesh.addVolume([221, 532, 612, 576, 5531, 2733, 4020, 5478, 2606, 2732], 3591) + femmesh.addVolume([985, 73, 90, 3, 5093, 2455, 4585, 5738, 1058, 1076], 3592) + femmesh.addVolume([849, 769, 270, 330, 3486, 3944, 5487, 4833, 5135, 1760], 3593) + femmesh.addVolume([34, 144, 60, 33, 1188, 4410, 2348, 1016, 1187, 2347], 3594) + femmesh.addVolume([985, 563, 1, 3, 4389, 4388, 4390, 5738, 2486, 2369], 3595) + femmesh.addVolume([430, 431, 883, 927, 2073, 4850, 4371, 4026, 4027, 3735], 3596) + femmesh.addVolume([172, 510, 593, 261, 5263, 2688, 5476, 1540, 4291, 4069], 3597) + femmesh.addVolume([188, 502, 76, 47, 4562, 2412, 4660, 1294, 5551, 2380], 3598) + femmesh.addVolume([123, 12, 567, 124, 1124, 4835, 4836, 1128, 1126, 4614], 3599) + femmesh.addVolume([876, 444, 416, 886, 4792, 2113, 4249, 3606, 4426, 4251], 3600) + femmesh.addVolume([459, 910, 446, 922, 5624, 4962, 2168, 5369, 3800, 5739], 3601) + femmesh.addVolume([478, 968, 971, 485, 5695, 3877, 4483, 2243, 4662, 4481], 3602) + femmesh.addVolume([511, 54, 86, 85, 4944, 2403, 2440, 2439, 2404, 1071], 3603) + femmesh.addVolume([252, 695, 745, 322, 4043, 3150, 4786, 1736, 4045, 4588], 3604) + femmesh.addVolume([89, 4, 2, 515, 1075, 2399, 2400, 2451, 2452, 5511], 3605) + femmesh.addVolume([478, 968, 485, 424, 5695, 4662, 2243, 2224, 4369, 2241], 3606) + femmesh.addVolume([576, 147, 64, 533, 4885, 5182, 2607, 2615, 4699, 2495], 3607) + femmesh.addVolume([576, 63, 64, 36, 2605, 1048, 2607, 5439, 2352, 2353], 3608) + femmesh.addVolume([924, 493, 925, 460, 4180, 4179, 3780, 4469, 2274, 5740], 3609) + femmesh.addVolume([365, 865, 368, 817, 4192, 4891, 1986, 4193, 3534, 4645], 3610) + femmesh.addVolume([167, 115, 30, 583, 3981, 3956, 1243, 3982, 2627, 5741], 3611) + femmesh.addVolume([924, 483, 916, 498, 4468, 5686, 3721, 4209, 2323, 4210], 3612) + femmesh.addVolume([167, 30, 187, 583, 1243, 1293, 1317, 3982, 5741, 5447], 3613) + femmesh.addVolume([871, 888, 451, 916, 3613, 4005, 4123, 3694, 3695, 5687], 3614) + femmesh.addVolume([775, 682, 212, 281, 3241, 5176, 5742, 5317, 5581, 1609], 3615) + femmesh.addVolume([771, 683, 799, 283, 3230, 3320, 3385, 4580, 5639, 5237], 3616) + femmesh.addVolume([942, 459, 922, 910, 4061, 5369, 3825, 3797, 5624, 3800], 3617) + femmesh.addVolume([483, 492, 916, 498, 2320, 5427, 5686, 2323, 2324, 4210], 3618) + femmesh.addVolume([607, 208, 209, 679, 5743, 1384, 5737, 2946, 5705, 5702], 3619) + femmesh.addVolume([566, 519, 11, 96, 2644, 4137, 5283, 2585, 2463, 4164], 3620) + femmesh.addVolume([351, 299, 295, 668, 1821, 1657, 1820, 5409, 4869, 4870], 3621) + femmesh.addVolume([389, 434, 907, 388, 2081, 4669, 4668, 1945, 2080, 5415], 3622) + femmesh.addVolume([985, 73, 3, 1, 5093, 1058, 5738, 4390, 2368, 2369], 3623) + femmesh.addVolume([299, 667, 591, 261, 5255, 2916, 5218, 1655, 4641, 5217], 3624) + femmesh.addVolume([459, 942, 922, 954, 4061, 3825, 5369, 4063, 3823, 3828], 3625) + femmesh.addVolume([133, 524, 572, 107, 4033, 2635, 5412, 5510, 2472, 2598], 3626) + femmesh.addVolume([472, 945, 471, 982, 4634, 5575, 2204, 5354, 3831, 5421], 3627) + femmesh.addVolume([401, 903, 399, 445, 4166, 4074, 2007, 2116, 4242, 2115], 3628) + femmesh.addVolume([914, 474, 436, 437, 4289, 2208, 4296, 4683, 2209, 2091], 3629) + femmesh.addVolume([623, 598, 197, 714, 2857, 4893, 4267, 3052, 3053, 4895], 3630) + femmesh.addVolume([846, 331, 380, 878, 4742, 1916, 4597, 3581, 4014, 4066], 3631) + femmesh.addVolume([425, 485, 968, 424, 2242, 4662, 4368, 2055, 2241, 4369], 3632) + femmesh.addVolume([332, 271, 734, 272, 1765, 5149, 5654, 1766, 1583, 5744], 3633) + femmesh.addVolume([538, 175, 539, 6, 5071, 4732, 2508, 5745, 1265, 5746], 3634) + femmesh.addVolume([7, 118, 564, 6, 1109, 4611, 4647, 988, 1108, 5134], 3635) + femmesh.addVolume([15, 100, 521, 101, 4860, 2467, 4576, 5583, 1087, 2466], 3636) + femmesh.addVolume([175, 155, 6, 538, 1266, 1219, 1265, 5071, 5074, 5745], 3637) + femmesh.addVolume([224, 151, 619, 581, 1426, 5609, 4969, 5592, 5591, 2750], 3638) + femmesh.addVolume([538, 539, 91, 6, 2508, 2506, 2505, 5745, 5746, 5661], 3639) + femmesh.addVolume([494, 934, 963, 962, 5573, 3850, 4169, 4170, 3848, 3852], 3640) + femmesh.addVolume([232, 634, 699, 698, 4515, 3003, 5401, 5195, 3001, 3005], 3641) + femmesh.addVolume([698, 232, 748, 699, 5195, 5645, 3159, 3005, 5401, 3160], 3642) + femmesh.addVolume([186, 646, 561, 647, 4419, 2831, 3955, 4421, 2836, 2833], 3643) + femmesh.addVolume([535, 151, 581, 619, 5728, 5591, 2642, 2751, 5609, 2750], 3644) + femmesh.addVolume([326, 320, 289, 772, 1831, 1805, 1750, 5622, 5521, 5233], 3645) + femmesh.addVolume([298, 238, 707, 756, 1653, 5215, 4736, 4930, 5353, 3184], 3646) + femmesh.addVolume([452, 481, 963, 935, 2231, 5701, 5514, 5515, 4321, 3851], 3647) + femmesh.addVolume([227, 318, 308, 690, 1718, 1719, 1683, 5747, 5519, 5520], 3648) + femmesh.addVolume([318, 727, 690, 739, 5518, 3297, 5519, 4474, 3303, 3134], 3649) + femmesh.addVolume([719, 326, 289, 772, 5192, 1750, 5193, 3233, 5622, 5233], 3650) + femmesh.addVolume([67, 66, 39, 534, 1051, 2358, 2359, 2496, 2497, 5748], 3651) + femmesh.addVolume([964, 983, 481, 963, 2340, 4080, 4253, 3855, 3932, 5701], 3652) + femmesh.addVolume([151, 535, 581, 69, 5728, 2642, 5591, 5729, 2498, 2622], 3653) + femmesh.addVolume([425, 947, 911, 946, 4041, 3798, 4582, 4649, 3799, 3796], 3654) + femmesh.addVolume([398, 318, 324, 739, 1972, 1743, 1971, 4475, 4474, 5389], 3655) + femmesh.addVolume([568, 601, 126, 602, 2710, 5749, 4761, 2713, 2858, 5025], 3656) + femmesh.addVolume([887, 939, 429, 384, 3774, 4294, 4350, 5213, 5568, 2066], 3657) + femmesh.addVolume([180, 549, 17, 550, 5391, 4140, 1277, 5750, 2541, 5299], 3658) + femmesh.addVolume([478, 459, 954, 424, 2223, 4063, 4938, 2224, 2169, 4064], 3659) + femmesh.addVolume([191, 510, 261, 592, 5669, 4291, 1541, 5670, 2686, 4292], 3660) + femmesh.addVolume([550, 549, 17, 102, 2541, 4140, 5299, 2539, 2537, 4142], 3661) + femmesh.addVolume([851, 848, 417, 373, 3550, 4162, 4997, 4312, 4311, 2031], 3662) + femmesh.addVolume([128, 522, 17, 569, 4689, 4690, 1139, 5491, 2647, 5295], 3663) + femmesh.addVolume([675, 274, 781, 204, 5017, 4539, 3262, 4565, 1587, 5525], 3664) + femmesh.addVolume([252, 321, 745, 696, 1730, 3976, 4786, 4787, 3983, 3151], 3665) + femmesh.addVolume([966, 498, 478, 493, 4509, 2334, 4482, 4181, 2328, 2316], 3666) + femmesh.addVolume([254, 323, 693, 226, 1738, 4105, 5304, 1505, 1737, 4107], 3667) + femmesh.addVolume([939, 430, 429, 384, 4370, 2070, 4294, 5568, 2068, 2066], 3668) + femmesh.addVolume([375, 810, 363, 858, 4877, 4213, 2024, 4409, 3513, 4215], 3669) + femmesh.addVolume([41, 151, 152, 581, 1207, 1211, 1209, 4854, 5591, 4855], 3670) + femmesh.addVolume([304, 750, 372, 808, 5181, 5084, 1892, 5668, 3346, 5168], 3671) + femmesh.addVolume([756, 356, 303, 814, 5241, 1836, 4655, 3364, 5242, 4656], 3672) + femmesh.addVolume([874, 377, 416, 328, 5751, 2039, 4980, 4060, 1908, 2029], 3673) + femmesh.addVolume([151, 41, 69, 581, 1207, 2373, 5729, 5591, 4854, 2622], 3674) + femmesh.addVolume([876, 444, 414, 416, 4792, 2112, 5277, 4249, 2113, 2027], 3675) + femmesh.addVolume([346, 365, 790, 820, 1867, 4194, 4503, 5649, 5488, 3384], 3676) + femmesh.addVolume([150, 40, 535, 151, 1204, 5341, 4087, 1208, 1206, 5728], 3677) + femmesh.addVolume([966, 498, 493, 924, 4509, 2328, 4181, 3859, 4209, 4180], 3678) + femmesh.addVolume([785, 818, 456, 450, 3375, 5385, 5752, 5006, 5616, 2215], 3679) + femmesh.addVolume([304, 700, 251, 234, 5180, 5490, 1672, 1671, 5281, 1525], 3680) + femmesh.addVolume([65, 579, 533, 148, 2617, 2640, 2494, 4815, 4439, 4437], 3681) + femmesh.addVolume([272, 672, 733, 273, 3959, 3119, 5061, 1586, 5468, 4364], 3682) + femmesh.addVolume([722, 291, 613, 688, 4763, 4432, 3084, 3086, 4433, 2973], 3683) + femmesh.addVolume([56, 57, 174, 88, 1040, 1258, 1259, 2395, 2398, 5672], 3684) + femmesh.addVolume([596, 216, 217, 671, 5558, 1409, 5204, 2926, 5556, 5560], 3685) + femmesh.addVolume([263, 355, 729, 347, 1832, 5538, 5606, 1811, 1863, 5272], 3686) + femmesh.addVolume([458, 925, 493, 460, 4159, 4179, 2273, 2166, 5740, 2274], 3687) + femmesh.addVolume([527, 139, 575, 610, 5466, 4812, 2638, 2729, 4811, 2728], 3688) + femmesh.addVolume([200, 769, 270, 715, 5329, 3944, 1575, 5442, 3225, 3946], 3689) + femmesh.addVolume([115, 529, 528, 30, 2483, 2484, 2480, 3956, 3957, 4817], 3690) + femmesh.addVolume([395, 392, 842, 344, 1964, 5045, 5753, 1961, 1953, 5715], 3691) + femmesh.addVolume([528, 140, 114, 29, 4673, 5374, 2481, 4816, 1175, 3947], 3692) + femmesh.addVolume([334, 333, 831, 273, 1773, 4363, 5652, 1771, 1769, 4365], 3693) + femmesh.addVolume([144, 577, 33, 143, 4411, 5038, 1187, 1189, 4197, 1186], 3694) + femmesh.addVolume([342, 390, 391, 847, 1947, 1951, 1949, 5411, 4478, 4881], 3695) + femmesh.addVolume([947, 425, 911, 426, 4041, 4582, 3798, 4038, 2058, 4581], 3696) + femmesh.addVolume([463, 975, 977, 952, 4071, 3920, 5754, 4072, 3933, 3916], 3697) + femmesh.addVolume([624, 224, 619, 581, 5585, 4969, 2764, 2763, 5592, 2750], 3698) + femmesh.addVolume([150, 535, 223, 151, 4087, 4089, 1424, 1208, 5728, 1425], 3699) + femmesh.addVolume([752, 311, 702, 751, 5331, 5318, 3171, 3173, 5351, 3169], 3700) + femmesh.addVolume([810, 752, 751, 311, 3352, 3173, 3351, 5474, 5331, 5351], 3701) + femmesh.addVolume([651, 255, 580, 223, 5244, 4526, 2848, 5755, 1508, 4090], 3702) + femmesh.addVolume([899, 410, 856, 402, 5087, 5642, 3644, 5158, 2026, 5159], 3703) + femmesh.addVolume([441, 375, 363, 858, 2101, 2024, 2110, 4147, 4409, 4215], 3704) + femmesh.addVolume([615, 651, 580, 223, 2851, 2848, 2741, 4512, 5755, 4090], 3705) + femmesh.addVolume([979, 466, 974, 955, 4354, 5756, 3934, 3922, 4218, 3890], 3706) + femmesh.addVolume([32, 155, 530, 563, 1305, 5082, 5757, 5024, 5023, 2767], 3707) + femmesh.addVolume([191, 591, 509, 592, 4144, 2683, 4145, 5670, 2687, 2685], 3708) + femmesh.addVolume([387, 822, 872, 388, 5612, 3561, 5610, 1942, 4985, 5328], 3709) + femmesh.addVolume([390, 847, 894, 391, 4478, 3630, 4664, 1951, 4881, 5607], 3710) + femmesh.addVolume([225, 224, 624, 152, 1431, 5585, 4523, 1429, 1427, 4524], 3711) + femmesh.addVolume([531, 245, 611, 614, 4404, 4125, 2731, 2736, 4416, 2739], 3712) + femmesh.addVolume([389, 390, 341, 850, 1948, 1946, 1944, 5628, 4479, 4477], 3713) + femmesh.addVolume([191, 261, 591, 592, 1541, 5217, 4144, 5670, 4292, 2687], 3714) + femmesh.addVolume([602, 202, 127, 603, 5026, 1362, 4092, 2862, 5228, 4093], 3715) + femmesh.addVolume([466, 948, 974, 955, 4216, 3884, 5756, 4218, 3827, 3890], 3716) + femmesh.addVolume([571, 106, 20, 105, 2595, 4245, 5221, 2596, 1092, 5154], 3717) + femmesh.addVolume([307, 752, 311, 703, 5076, 5331, 1697, 5078, 3172, 5332], 3718) + femmesh.addVolume([466, 979, 974, 490, 4354, 3934, 5756, 2293, 4358, 4320], 3719) + femmesh.addVolume([327, 829, 416, 328, 5275, 4978, 2028, 1755, 4979, 2029], 3720) + femmesh.addVolume([881, 378, 884, 942, 4506, 4507, 3599, 3785, 4652, 3784], 3721) + femmesh.addVolume([307, 703, 311, 236, 5078, 5332, 1697, 1679, 5499, 1695], 3722) + femmesh.addVolume([21, 106, 182, 20, 4244, 5724, 1281, 1002, 4245, 1282], 3723) + femmesh.addVolume([406, 860, 401, 902, 5361, 4165, 1995, 5496, 3654, 5566], 3724) + femmesh.addVolume([406, 859, 902, 901, 4882, 3653, 5496, 4884, 3651, 3655], 3725) + femmesh.addVolume([357, 402, 856, 372, 1985, 5159, 5068, 1893, 1984, 5169], 3726) + femmesh.addVolume([276, 738, 336, 796, 4992, 5451, 1778, 4851, 3312, 3964], 3727) + femmesh.addVolume([202, 203, 127, 603, 1366, 1364, 1362, 5228, 5505, 4093], 3728) + femmesh.addVolume([348, 397, 852, 853, 1969, 5209, 5678, 5210, 5208, 3500], 3729) + femmesh.addVolume([855, 854, 897, 413, 3506, 3638, 3639, 4628, 5294, 5758], 3730) + femmesh.addVolume([489, 958, 977, 957, 4920, 3901, 4556, 4569, 3837, 3900], 3731) + femmesh.addVolume([422, 909, 405, 880, 4190, 5009, 2047, 4955, 3672, 5286], 3732) + femmesh.addVolume([315, 701, 702, 751, 4108, 3014, 4871, 5352, 3168, 3169], 3733) + femmesh.addVolume([948, 466, 974, 465, 4216, 5756, 3884, 5734, 2186, 4318], 3734) + femmesh.addVolume([298, 815, 757, 350, 4929, 3367, 4737, 1819, 5269, 5271], 3735) + femmesh.addVolume([147, 576, 64, 36, 4885, 2607, 5182, 1195, 5439, 2353], 3736) + femmesh.addVolume([979, 960, 974, 490, 3907, 3931, 3934, 4358, 4366, 4320], 3737) + femmesh.addVolume([37, 147, 64, 36, 1196, 5182, 2354, 1019, 1195, 2353], 3738) + femmesh.addVolume([569, 128, 603, 127, 5491, 5503, 2714, 5545, 1140, 4093], 3739) + femmesh.addVolume([2, 31, 984, 45, 1013, 5714, 4382, 1028, 1245, 4383], 3740) + femmesh.addVolume([885, 444, 839, 886, 4425, 5027, 3601, 3605, 4426, 3604], 3741) + femmesh.addVolume([400, 354, 787, 789, 1979, 5523, 5524, 5483, 5582, 3468], 3742) + femmesh.addVolume([285, 670, 762, 302, 5601, 3201, 4973, 1804, 5559, 4630], 3743) + femmesh.addVolume([364, 312, 724, 676, 1866, 5256, 4825, 4823, 5759, 3093], 3744) + femmesh.addVolume([8, 565, 517, 119, 5165, 2608, 5726, 1112, 5349, 4867], 3745) + femmesh.addVolume([87, 56, 55, 173, 2396, 1039, 2393, 4424, 1256, 1257], 3746) + femmesh.addVolume([969, 465, 941, 974, 4490, 4492, 3867, 3893, 4318, 3885], 3747) + femmesh.addVolume([2, 57, 515, 31, 1041, 5512, 5511, 1013, 1183, 4247], 3748) + femmesh.addVolume([242, 187, 168, 649, 1468, 1434, 1471, 5472, 5453, 5454], 3749) + femmesh.addVolume([128, 203, 603, 127, 1365, 5505, 5503, 1140, 1364, 4093], 3750) + femmesh.addVolume([76, 188, 46, 501, 4660, 1295, 2377, 2410, 3936, 4412], 3751) + femmesh.addVolume([758, 296, 239, 292, 4006, 1647, 4518, 4260, 1648, 1638], 3752) + femmesh.addVolume([749, 807, 808, 357, 3343, 3347, 3345, 5653, 5235, 5067], 3753) + femmesh.addVolume([461, 958, 929, 930, 4919, 3835, 4866, 5760, 3836, 3745], 3754) + femmesh.addVolume([258, 708, 643, 644, 4733, 3030, 4711, 4712, 3031, 2826], 3755) + femmesh.addVolume([557, 184, 558, 110, 4805, 3999, 2565, 2561, 4806, 2563], 3756) + femmesh.addVolume([87, 173, 55, 512, 4424, 1257, 2393, 2443, 5099, 5445], 3757) + femmesh.addVolume([863, 404, 864, 350, 5122, 4931, 3533, 5123, 1990, 5296], 3758) + femmesh.addVolume([173, 192, 55, 512, 1332, 1302, 1257, 5099, 5444, 5445], 3759) + femmesh.addVolume([144, 219, 245, 614, 1413, 1481, 1479, 5534, 5371, 4416], 3760) + femmesh.addVolume([793, 339, 782, 822, 5535, 5761, 3393, 3389, 4984, 3406], 3761) + femmesh.addVolume([219, 308, 245, 614, 1680, 1681, 1481, 5371, 4415, 4416], 3762) + femmesh.addVolume([326, 719, 737, 772, 5192, 3128, 5615, 5622, 3233, 3234], 3763) + femmesh.addVolume([805, 367, 853, 806, 4776, 4779, 3498, 3341, 4780, 3499], 3764) + femmesh.addVolume([354, 265, 352, 773, 1827, 1824, 1830, 5140, 5404, 5482], 3765) + femmesh.addVolume([352, 354, 773, 787, 1830, 5140, 5482, 4847, 5523, 3285], 3766) + femmesh.addVolume([606, 208, 207, 132, 5605, 1381, 5073, 5571, 1379, 1377], 3767) + femmesh.addVolume([411, 826, 361, 438, 4119, 4121, 2025, 2111, 4029, 2093], 3768) + femmesh.addVolume([552, 19, 20, 105, 4182, 1001, 4183, 2546, 4529, 5154], 3769) + femmesh.addVolume([236, 703, 702, 638, 5499, 3017, 5502, 4205, 3015, 3013], 3770) + femmesh.addVolume([906, 863, 905, 404, 3664, 3663, 3666, 3991, 5122, 4803], 3771) + femmesh.addVolume([774, 274, 275, 335, 5018, 1592, 4987, 5762, 1774, 1775], 3772) + femmesh.addVolume([752, 810, 363, 311, 3352, 4213, 4961, 5331, 5474, 1861], 3773) + femmesh.addVolume([841, 337, 385, 336, 3967, 1932, 5259, 3963, 1782, 1931], 3774) + femmesh.addVolume([219, 728, 308, 614, 5431, 5223, 1680, 5371, 3110, 4415], 3775) + femmesh.addVolume([846, 381, 332, 798, 5683, 1919, 4743, 3477, 5337, 5542], 3776) + femmesh.addVolume([227, 175, 625, 219, 1436, 4731, 5664, 1536, 1517, 5432], 3777) + femmesh.addVolume([604, 522, 570, 129, 2717, 2633, 2716, 4100, 4128, 4130], 3778) + femmesh.addVolume([103, 18, 104, 570, 4845, 5346, 1090, 2594, 4129, 2593], 3779) + femmesh.addVolume([950, 499, 478, 498, 4499, 2338, 4719, 4208, 2333, 2334], 3780) + femmesh.addVolume([818, 837, 731, 456, 3449, 3447, 3376, 5385, 5040, 5229], 3781) + femmesh.addVolume([540, 175, 625, 156, 4279, 4731, 2769, 4280, 1268, 5763], 3782) + femmesh.addVolume([249, 172, 593, 261, 1489, 5476, 4068, 1553, 1540, 4069], 3783) + femmesh.addVolume([436, 951, 926, 473, 4295, 3815, 5090, 2206, 5202, 5224], 3784) + femmesh.addVolume([436, 951, 473, 474, 4295, 5202, 2206, 2208, 4290, 2210], 3785) + femmesh.addVolume([175, 227, 625, 156, 1436, 5664, 4731, 1268, 1435, 5763], 3786) + femmesh.addVolume([749, 290, 251, 699, 4536, 1633, 5577, 3162, 5619, 5578], 3787) + femmesh.addVolume([530, 155, 32, 143, 5082, 1305, 5757, 4195, 1414, 1185], 3788) + femmesh.addVolume([442, 899, 402, 410, 5663, 5158, 2105, 2104, 5087, 2026], 3789) + femmesh.addVolume([978, 958, 497, 959, 3905, 4101, 4570, 3906, 3840, 4103], 3790) + femmesh.addVolume([21, 554, 107, 163, 5517, 2552, 4748, 1236, 5462, 5640], 3791) + femmesh.addVolume([780, 711, 297, 306, 3266, 4025, 5153, 4950, 4324, 1733], 3792) + femmesh.addVolume([389, 390, 850, 907, 1948, 4479, 5628, 4668, 4663, 3667], 3793) + femmesh.addVolume([876, 414, 327, 416, 5277, 2020, 5274, 4249, 2027, 2028], 3794) + femmesh.addVolume([654, 128, 129, 204, 5492, 1143, 5623, 5034, 1367, 1368], 3795) + femmesh.addVolume([203, 128, 654, 204, 1365, 5492, 5504, 1369, 1367, 5034], 3796) + femmesh.addVolume([799, 283, 284, 344, 5237, 1619, 5057, 5058, 1801, 1802], 3797) + femmesh.addVolume([463, 425, 968, 952, 2176, 4368, 4073, 4072, 4042, 3886], 3798) + femmesh.addVolume([793, 679, 680, 278, 3301, 2950, 3308, 5536, 5703, 5662], 3799) + femmesh.addVolume([478, 968, 424, 954, 5695, 4369, 2224, 4938, 3866, 4064], 3800) + femmesh.addVolume([681, 799, 284, 783, 3319, 5057, 4972, 3386, 3378, 4995], 3801) + femmesh.addVolume([670, 285, 762, 783, 5601, 4973, 3201, 3268, 5020, 3277], 3802) + femmesh.addVolume([969, 464, 977, 952, 5297, 4555, 3915, 3881, 5690, 3916], 3803) + femmesh.addVolume([683, 681, 214, 658, 2961, 4603, 4601, 2958, 2953, 5486], 3804) + femmesh.addVolume([370, 763, 351, 407, 4638, 4150, 1885, 1998, 5434, 1997], 3805) + femmesh.addVolume([411, 422, 873, 448, 2048, 4191, 4417, 2125, 2126, 4277], 3806) + femmesh.addVolume([98, 12, 567, 97, 5467, 4835, 2587, 1084, 4136, 2588], 3807) + femmesh.addVolume([661, 711, 306, 585, 3041, 4324, 4430, 2902, 3040, 5157], 3808) + femmesh.addVolume([465, 466, 974, 490, 2186, 5756, 4318, 2292, 2293, 4320], 3809) + femmesh.addVolume([917, 492, 462, 479, 5426, 2267, 5132, 5128, 2270, 2271], 3810) + femmesh.addVolume([527, 139, 138, 27, 5466, 1173, 4829, 5378, 1171, 1169], 3811) + femmesh.addVolume([562, 186, 561, 647, 3953, 3955, 2577, 2834, 4421, 2833], 3812) + femmesh.addVolume([244, 634, 698, 633, 4925, 3001, 4697, 4927, 2796, 3000], 3813) + femmesh.addVolume([462, 818, 482, 456, 5384, 5262, 2232, 2174, 5385, 2233], 3814) + femmesh.addVolume([10, 543, 157, 542, 4286, 4189, 1223, 5675, 2520, 4730], 3815) + femmesh.addVolume([321, 230, 746, 696, 1729, 5594, 3975, 3983, 5173, 3153], 3816) + femmesh.addVolume([159, 230, 632, 179, 1442, 5172, 5357, 1309, 1441, 5358], 3817) + femmesh.addVolume([865, 368, 864, 405, 4891, 4644, 3537, 5382, 2010, 4932], 3818) + femmesh.addVolume([491, 494, 962, 453, 2314, 4170, 4341, 2262, 2279, 5764], 3819) + femmesh.addVolume([673, 202, 685, 602, 5227, 5048, 3074, 2932, 5026, 2965], 3820) + femmesh.addVolume([854, 367, 369, 806, 4778, 1880, 4330, 3501, 4780, 5400], 3821) + femmesh.addVolume([150, 39, 149, 534, 1203, 1202, 1205, 4527, 5748, 5765], 3822) + femmesh.addVolume([829, 761, 267, 778, 3416, 5602, 5603, 3417, 3250, 5766], 3823) + femmesh.addVolume([870, 392, 439, 437, 5044, 2095, 5339, 5707, 2090, 2098], 3824) + femmesh.addVolume([653, 199, 686, 599, 4615, 4667, 2967, 2866, 4617, 2968], 3825) + femmesh.addVolume([825, 420, 374, 393, 5184, 2042, 5114, 5185, 2040, 1989], 3826) + femmesh.addVolume([475, 877, 836, 869, 4949, 3576, 4558, 4557, 3577, 3551], 3827) + femmesh.addVolume([214, 681, 215, 610, 4603, 4681, 1402, 4896, 2952, 4680], 3828) + femmesh.addVolume([202, 271, 685, 201, 1579, 5142, 5048, 1363, 1578, 5049], 3829) + femmesh.addVolume([213, 609, 137, 212, 5587, 4795, 1394, 1396, 4796, 1392], 3830) + femmesh.addVolume([642, 557, 556, 164, 2819, 2562, 2818, 4801, 5365, 5267], 3831) + femmesh.addVolume([107, 555, 22, 163, 2554, 5666, 5630, 5640, 5418, 1235], 3832) + femmesh.addVolume([338, 796, 833, 770, 4571, 3428, 4573, 5178, 3318, 3427], 3833) + femmesh.addVolume([236, 162, 182, 638, 1456, 1312, 1455, 4205, 5643, 4206], 3834) + femmesh.addVolume([799, 788, 284, 762, 3394, 5055, 5057, 3377, 3290, 4974], 3835) + femmesh.addVolume([150, 67, 39, 534, 4269, 2359, 1203, 4527, 2496, 5748], 3836) + femmesh.addVolume([30, 115, 116, 583, 3956, 1102, 3958, 5741, 2627, 2628], 3837) + femmesh.addVolume([868, 841, 336, 795, 3553, 3963, 5723, 3548, 3460, 3965], 3838) + femmesh.addVolume([106, 554, 21, 182, 2551, 5517, 4244, 5724, 5722, 1281], 3839) + femmesh.addVolume([338, 277, 770, 278, 1783, 5659, 5178, 1784, 1601, 5767], 3840) + femmesh.addVolume([936, 445, 443, 476, 4241, 2151, 5768, 5769, 2217, 2218], 3841) + femmesh.addVolume([12, 519, 567, 97, 4135, 2630, 4835, 4136, 2462, 2588], 3842) + femmesh.addVolume([225, 153, 621, 256, 1430, 5589, 4238, 1523, 1519, 5770], 3843) + femmesh.addVolume([90, 538, 5, 563, 2504, 5771, 4584, 2580, 2661, 4386], 3844) + femmesh.addVolume([508, 191, 248, 591, 4143, 1486, 5772, 2682, 4144, 4999], 3845) + femmesh.addVolume([508, 590, 248, 171, 2680, 5000, 5772, 4340, 4338, 1487], 3846) + femmesh.addVolume([478, 950, 966, 971, 4719, 3861, 4482, 4483, 3899, 3914], 3847) + femmesh.addVolume([227, 219, 728, 308, 1536, 5431, 5665, 1683, 1680, 5223], 3848) + femmesh.addVolume([12, 98, 545, 97, 5467, 2525, 4550, 4136, 1084, 2524], 3849) + femmesh.addVolume([13, 12, 545, 178, 994, 4550, 5530, 1273, 1274, 4552], 3850) + femmesh.addVolume([763, 730, 370, 666, 3205, 4639, 4638, 3203, 3114, 5119], 3851) + femmesh.addVolume([593, 261, 592, 668, 4069, 4292, 2690, 2919, 4642, 2918], 3852) + femmesh.addVolume([79, 505, 49, 189, 2421, 4832, 2384, 4454, 4549, 1296], 3853) + femmesh.addVolume([153, 43, 42, 71, 1213, 1025, 1212, 5495, 2364, 2363], 3854) + femmesh.addVolume([260, 507, 171, 590, 5319, 4339, 1538, 4936, 2679, 4338], 3855) + femmesh.addVolume([70, 71, 536, 42, 1055, 2500, 2501, 2362, 2363, 4892], 3856) + femmesh.addVolume([287, 345, 722, 723, 1806, 4819, 4762, 4211, 5477, 3089], 3857) + femmesh.addVolume([261, 191, 591, 248, 1541, 4144, 5217, 1556, 1486, 4999], 3858) + femmesh.addVolume([32, 563, 1, 5, 5024, 4388, 1014, 1184, 4386, 986], 3859) + femmesh.addVolume([98, 12, 545, 13, 5467, 4550, 2525, 4017, 994, 5530], 3860) + femmesh.addVolume([191, 508, 248, 171, 4143, 5772, 1486, 1320, 4340, 1487], 3861) + femmesh.addVolume([188, 243, 242, 584, 1473, 1520, 1521, 5406, 5407, 5516], 3862) + femmesh.addVolume([590, 508, 248, 591, 2680, 5772, 5000, 2684, 2682, 4999], 3863) + femmesh.addVolume([464, 463, 977, 952, 2180, 5754, 4555, 5690, 4072, 3916], 3864) + femmesh.addVolume([313, 305, 622, 218, 1732, 4408, 4864, 1703, 1674, 4299], 3865) + femmesh.addVolume([298, 756, 707, 757, 4930, 3184, 4736, 4737, 3188, 3186], 3866) + femmesh.addVolume([187, 30, 116, 583, 1293, 3958, 5647, 5447, 5741, 2628], 3867) + femmesh.addVolume([52, 191, 509, 53, 1301, 4145, 4452, 1036, 1300, 5773], 3868) + femmesh.addVolume([54, 172, 53, 85, 1254, 1255, 1037, 2404, 5264, 2391], 3869) + femmesh.addVolume([747, 367, 805, 806, 4775, 4776, 3337, 3339, 4780, 3341], 3870) + femmesh.addVolume([302, 249, 250, 594, 1666, 1542, 1665, 4329, 4327, 4752], 3871) + femmesh.addVolume([249, 172, 192, 511, 1489, 1321, 1488, 5111, 5265, 4943], 3872) + femmesh.addVolume([261, 667, 591, 592, 4641, 2916, 5217, 4292, 2917, 2687], 3873) + femmesh.addVolume([747, 244, 319, 698, 4695, 1722, 5465, 3157, 4697, 5613], 3874) + femmesh.addVolume([255, 617, 534, 149, 5243, 2746, 4525, 1506, 5774, 5765], 3875) + femmesh.addVolume([885, 486, 446, 922, 5775, 2244, 4427, 3718, 5368, 5739], 3876) + femmesh.addVolume([16, 128, 569, 127, 1138, 5491, 5035, 1136, 1140, 5545], 3877) + femmesh.addVolume([84, 52, 509, 53, 2405, 4452, 2434, 2392, 1036, 5773], 3878) + femmesh.addVolume([122, 519, 11, 566, 5305, 4137, 1121, 5528, 2644, 5283], 3879) + femmesh.addVolume([510, 191, 53, 509, 5669, 1300, 4333, 2438, 4145, 5773], 3880) + femmesh.addVolume([807, 357, 369, 855, 5235, 1881, 4331, 3504, 4994, 4332], 3881) + femmesh.addVolume([172, 510, 53, 85, 5263, 4333, 1255, 5264, 2437, 2391], 3882) + femmesh.addVolume([690, 318, 691, 231, 5519, 5390, 2981, 5776, 1720, 4050], 3883) + femmesh.addVolume([257, 705, 640, 641, 4224, 3021, 5288, 4225, 3022, 2817], 3884) + femmesh.addVolume([112, 26, 138, 574, 5301, 1168, 4830, 2601, 3987, 4831], 3885) + femmesh.addVolume([241, 186, 167, 647, 1467, 1327, 1466, 4054, 4421, 4173], 3886) + femmesh.addVolume([107, 22, 108, 572, 5630, 5667, 1094, 2598, 5414, 2597], 3887) + femmesh.addVolume([210, 211, 135, 608, 1390, 1388, 1386, 4095, 4809, 4789], 3888) + femmesh.addVolume([175, 539, 625, 652, 4732, 2768, 4731, 5072, 2878, 2890], 3889) + femmesh.addVolume([615, 312, 724, 651, 5526, 5256, 3090, 2851, 5250, 3091], 3890) + femmesh.addVolume([26, 112, 138, 27, 5301, 4830, 1168, 1008, 4843, 1169], 3891) + femmesh.addVolume([323, 694, 293, 743, 4104, 3950, 1740, 5032, 3145, 3952], 3892) + femmesh.addVolume([668, 760, 669, 295, 3195, 3196, 3067, 4870, 4316, 5436], 3893) + femmesh.addVolume([353, 736, 721, 660, 5527, 3125, 5777, 5541, 3126, 3081], 3894) + femmesh.addVolume([576, 221, 616, 612, 5478, 5246, 2743, 2732, 4020, 2744], 3895) + femmesh.addVolume([538, 90, 5, 91, 2504, 4584, 5771, 2505, 1077, 5778], 3896) + femmesh.addVolume([188, 584, 242, 501, 5406, 5516, 1521, 3936, 2662, 3935], 3897) + femmesh.addVolume([711, 243, 306, 585, 4323, 1676, 4324, 3040, 5443, 5157], 3898) + femmesh.addVolume([232, 635, 251, 699, 4514, 5146, 1522, 5401, 3004, 5578], 3899) + femmesh.addVolume([89, 57, 514, 515, 2397, 5684, 2449, 2451, 5512, 2454], 3900) + femmesh.addVolume([360, 353, 732, 721, 1849, 5781, 5779, 5780, 5777, 3118], 3901) + femmesh.addVolume([62, 532, 578, 146, 2493, 2658, 2613, 5782, 4271, 5783], 3902) + femmesh.addVolume([906, 447, 404, 905, 3989, 2122, 3991, 3666, 4304, 4803], 3903) + femmesh.addVolume([307, 752, 363, 311, 5076, 4961, 1860, 1697, 5331, 1861], 3904) + femmesh.addVolume([162, 637, 638, 253, 5730, 2808, 5643, 1498, 5333, 5501], 3905) + femmesh.addVolume([705, 755, 237, 294, 3180, 5689, 4226, 4717, 5784, 1658], 3906) + femmesh.addVolume([131, 132, 655, 207, 1152, 5572, 5051, 1376, 1377, 5053], 3907) + femmesh.addVolume([239, 645, 644, 185, 4940, 2829, 4941, 1462, 4300, 5054], 3908) + femmesh.addVolume([22, 134, 108, 572, 1156, 5785, 5667, 5414, 5413, 2597], 3909) + femmesh.addVolume([35, 34, 145, 61, 1017, 1190, 1191, 2350, 2349, 5634], 3910) + femmesh.addVolume([908, 873, 411, 422, 3678, 4417, 5059, 4954, 4191, 2048], 3911) + femmesh.addVolume([238, 706, 756, 303, 5342, 3183, 5353, 1668, 5343, 4655], 3912) + femmesh.addVolume([755, 294, 358, 303, 5784, 1841, 4235, 4654, 1716, 1840], 3913) + femmesh.addVolume([936, 964, 965, 476, 3854, 3858, 3856, 5769, 4254, 4455], 3914) + femmesh.addVolume([770, 339, 793, 822, 5786, 5535, 3302, 3390, 4984, 3389], 3915) + femmesh.addVolume([555, 107, 22, 108, 2554, 5630, 5666, 2555, 1094, 5667], 3916) + femmesh.addVolume([505, 49, 170, 80, 4832, 1251, 4548, 2422, 2383, 5016], 3917) + femmesh.addVolume([109, 164, 556, 557, 4964, 5267, 2558, 2560, 5365, 2562], 3918) + femmesh.addVolume([500, 984, 74, 116, 5709, 4381, 2407, 2579, 5226, 2406], 3919) + femmesh.addVolume([57, 142, 514, 515, 1218, 4721, 5684, 5512, 4248, 2454], 3920) + femmesh.addVolume([224, 288, 289, 619, 1628, 1631, 1629, 4969, 4511, 5298], 3921) + femmesh.addVolume([320, 767, 352, 314, 5522, 4687, 1851, 1817, 4688, 1823], 3922) + femmesh.addVolume([301, 665, 361, 300, 4754, 4543, 1855, 1663, 4670, 1853], 3923) + femmesh.addVolume([352, 772, 737, 787, 4846, 3234, 5698, 4847, 3397, 3467], 3924) + femmesh.addVolume([538, 155, 5, 563, 5074, 1220, 5771, 2661, 5023, 4386], 3925) + femmesh.addVolume([621, 320, 684, 725, 4237, 5060, 2963, 3096, 4239, 3099], 3926) + femmesh.addVolume([537, 117, 597, 256, 4749, 4739, 2701, 5005, 1513, 4741], 3927) + femmesh.addVolume([309, 595, 262, 217, 5015, 5460, 1689, 1688, 5561, 1546], 3928) + femmesh.addVolume([60, 34, 61, 531, 2348, 2349, 1045, 2491, 4828, 2490], 3929) + femmesh.addVolume([736, 359, 739, 660, 4701, 4473, 3228, 3126, 5540, 3229], 3930) + femmesh.addVolume([109, 164, 557, 24, 4964, 5365, 2560, 4965, 1237, 4804], 3931) + femmesh.addVolume([318, 727, 739, 359, 5518, 3303, 4474, 1845, 5550, 4473], 3932) + femmesh.addVolume([642, 238, 706, 707, 4799, 5342, 3025, 3027, 5215, 3029], 3933) + femmesh.addVolume([557, 642, 184, 164, 2819, 4800, 4805, 5365, 4801, 1314], 3934) + femmesh.addVolume([23, 134, 108, 22, 1157, 5785, 5315, 1004, 1156, 5667], 3935) + femmesh.addVolume([354, 824, 327, 778, 5529, 5276, 1829, 5139, 3399, 5674], 3936) + femmesh.addVolume([91, 92, 564, 6, 1078, 2581, 2582, 5661, 5133, 5134], 3937) + femmesh.addVolume([728, 227, 308, 690, 5665, 1683, 5223, 3109, 5747, 5520], 3938) + femmesh.addVolume([318, 727, 359, 308, 5518, 5550, 1845, 1719, 4414, 1842], 3939) + femmesh.addVolume([727, 728, 308, 690, 3251, 5223, 4414, 3297, 3109, 5520], 3940) + femmesh.addVolume([539, 92, 91, 6, 2507, 1078, 2506, 5746, 5133, 5661], 3941) + femmesh.addVolume([632, 230, 633, 179, 5172, 5289, 2793, 5358, 1441, 5206], 3942) + femmesh.addVolume([117, 256, 537, 193, 1513, 5005, 4749, 1511, 1512, 4086], 3943) + femmesh.addVolume([90, 117, 5, 91, 4497, 1106, 4584, 1077, 5429, 5778], 3944) + femmesh.addVolume([645, 166, 240, 646, 5380, 1464, 5050, 2832, 4583, 5116], 3945) + femmesh.addVolume([516, 117, 91, 564, 4498, 5429, 2456, 2654, 4740, 2582], 3946) + femmesh.addVolume([15, 100, 548, 547, 4860, 2533, 5584, 5644, 2531, 2535], 3947) + femmesh.addVolume([140, 114, 28, 575, 5374, 4372, 1174, 4674, 2603, 5787], 3948) + femmesh.addVolume([538, 5, 6, 91, 5771, 987, 5745, 2505, 5778, 5661], 3949) + femmesh.addVolume([917, 879, 885, 479, 3696, 3602, 3698, 5128, 5010, 5408], 3950) + femmesh.addVolume([331, 846, 380, 332, 4742, 4597, 1916, 1767, 4743, 1917], 3951) + femmesh.addVolume([265, 716, 717, 773, 5403, 3130, 5562, 5404, 3236, 3237], 3952) + femmesh.addVolume([714, 689, 761, 198, 3054, 3198, 3199, 5148, 5693, 5626], 3953) + femmesh.addVolume([118, 194, 597, 256, 1338, 4114, 4610, 1547, 1550, 4741], 3954) + femmesh.addVolume([414, 824, 327, 354, 5470, 5276, 2020, 2019, 5529, 1829], 3955) + femmesh.addVolume([582, 154, 72, 537, 5002, 5247, 2623, 2656, 5004, 2503], 3956) + femmesh.addVolume([648, 118, 564, 517, 4609, 4611, 2838, 2837, 4646, 2629], 3957) + femmesh.addVolume([293, 373, 374, 802, 1897, 1901, 1899, 5788, 5680, 5112], 3958) + femmesh.addVolume([194, 621, 597, 256, 4115, 2892, 4114, 1550, 5770, 4741], 3959) + femmesh.addVolume([225, 725, 624, 289, 4240, 3097, 4523, 1630, 5234, 5586], 3960) + femmesh.addVolume([525, 134, 572, 108, 5789, 5413, 2650, 2475, 5785, 2597], 3961) + femmesh.addVolume([874, 881, 910, 377, 3589, 3677, 3674, 5751, 4797, 5625], 3962) + femmesh.addVolume([180, 549, 160, 16, 5391, 4886, 1310, 1278, 4139, 1229], 3963) + femmesh.addVolume([186, 241, 259, 647, 1467, 1533, 1534, 4421, 4054, 4056], 3964) + femmesh.addVolume([206, 712, 207, 655, 4989, 4772, 1378, 5052, 3043, 5053], 3965) + femmesh.addVolume([100, 547, 14, 99, 2531, 4758, 4764, 1086, 2530, 4399], 3966) + femmesh.addVolume([100, 15, 14, 547, 4860, 996, 4764, 2531, 5644, 4758], 3967) + femmesh.addVolume([936, 964, 443, 935, 3854, 4255, 5768, 3763, 3853, 4322], 3968) + femmesh.addVolume([508, 52, 509, 83, 4359, 4452, 2435, 2431, 2389, 2433], 3969) + femmesh.addVolume([300, 664, 765, 347, 4671, 3209, 4392, 1810, 5273, 4391], 3970) + femmesh.addVolume([954, 947, 968, 424, 3824, 3865, 3866, 4064, 4367, 4369], 3971) + femmesh.addVolume([969, 464, 427, 465, 5297, 2179, 4491, 4490, 2183, 2181], 3972) + femmesh.addVolume([744, 293, 373, 322, 3951, 1897, 5679, 4587, 1735, 1896], 3973) + femmesh.addVolume([558, 165, 644, 559, 4000, 4714, 2824, 2568, 4229, 2825], 3974) + femmesh.addVolume([186, 562, 167, 647, 3953, 3980, 1327, 4421, 2834, 4173], 3975) + femmesh.addVolume([780, 726, 264, 297, 3415, 4574, 4504, 5153, 4024, 1685], 3976) + femmesh.addVolume([263, 664, 588, 247, 5424, 2909, 5544, 1557, 4619, 4621], 3977) + femmesh.addVolume([529, 30, 141, 528, 3957, 1178, 4282, 2484, 4817, 4818], 3978) + femmesh.addVolume([434, 433, 913, 388, 2082, 5363, 4914, 2080, 2078, 5364], 3979) + femmesh.addVolume([942, 954, 424, 946, 3823, 4064, 4062, 3795, 3822, 4650], 3980) + femmesh.addVolume([238, 706, 707, 756, 5342, 3029, 5215, 5353, 3183, 3184], 3981) + femmesh.addVolume([21, 107, 22, 163, 4748, 5630, 1003, 1236, 5640, 1235], 3982) + femmesh.addVolume([547, 632, 633, 179, 2789, 2793, 2791, 5359, 5358, 5206], 3983) + femmesh.addVolume([271, 331, 786, 270, 1763, 5539, 5141, 1580, 1762, 3945], 3984) + femmesh.addVolume([244, 179, 160, 633, 1476, 1291, 1475, 4927, 5206, 4928], 3985) + femmesh.addVolume([373, 744, 322, 803, 5679, 4587, 1896, 4313, 3330, 4589], 3986) + femmesh.addVolume([736, 353, 732, 418, 5527, 5781, 3127, 4703, 2033, 5638], 3987) + femmesh.addVolume([23, 134, 135, 525, 1157, 1161, 1159, 4707, 5789, 4705], 3988) + femmesh.addVolume([98, 13, 520, 567, 4017, 4398, 2465, 2587, 4612, 2645], 3989) + femmesh.addVolume([12, 544, 11, 97, 5790, 4163, 993, 4136, 2522, 4138], 3990) + femmesh.addVolume([230, 244, 633, 179, 1477, 4927, 5289, 1441, 1476, 5206], 3991) + femmesh.addVolume([544, 12, 545, 97, 5790, 4550, 2526, 2522, 4136, 2524], 3992) + femmesh.addVolume([590, 260, 248, 171, 4936, 1554, 5000, 4338, 1538, 1487], 3993) + femmesh.addVolume([820, 355, 735, 346, 4378, 4377, 3381, 5649, 1852, 4413], 3994) + femmesh.addVolume([587, 662, 663, 286, 2905, 2908, 2906, 4724, 4723, 5096], 3995) + femmesh.addVolume([23, 134, 525, 108, 1157, 5789, 4707, 5315, 5785, 2475], 3996) + femmesh.addVolume([726, 646, 259, 647, 3100, 4420, 4055, 3101, 2836, 4056], 3997) + femmesh.addVolume([735, 306, 780, 346, 4429, 4950, 3259, 4413, 1808, 4502], 3998) + femmesh.addVolume([360, 723, 732, 779, 5735, 3117, 5779, 5736, 3254, 3255], 3999) + femmesh.addVolume([181, 161, 636, 234, 1311, 4624, 4783, 1451, 1452, 4982], 4000) + femmesh.addVolume([892, 381, 845, 382, 4443, 5336, 3623, 5334, 1924, 5508], 4001) + femmesh.addVolume([455, 898, 932, 931, 4945, 3749, 5733, 5245, 3747, 3751], 4002) + femmesh.addVolume([855, 357, 413, 402, 4994, 2016, 4628, 4629, 1985, 2018], 4003) + femmesh.addVolume([134, 656, 135, 525, 5791, 4822, 1161, 5789, 2870, 4705], 4004) + femmesh.addVolume([522, 604, 654, 129, 2717, 2863, 2864, 4128, 4100, 5623], 4005) + femmesh.addVolume([304, 315, 372, 750, 1709, 1902, 1892, 5181, 5083, 5084], 4006) + femmesh.addVolume([868, 335, 383, 875, 3994, 1926, 3993, 3570, 5721, 5450], 4007) + femmesh.addVolume([139, 140, 28, 575, 1176, 1174, 1172, 4812, 4674, 5787], 4008) + femmesh.addVolume([210, 656, 135, 134, 4094, 4822, 1386, 1385, 5791, 1161], 4009) + femmesh.addVolume([730, 301, 370, 666, 4753, 1883, 4639, 3114, 5500, 5119], 4010) + femmesh.addVolume([660, 305, 611, 622, 4657, 4407, 2901, 2900, 4408, 2888], 4011) + femmesh.addVolume([687, 297, 241, 726, 4023, 1650, 4633, 3197, 4024, 4053], 4012) + femmesh.addVolume([417, 458, 890, 415, 2160, 4155, 4157, 2114, 2159, 5311], 4013) + femmesh.addVolume([661, 233, 306, 286, 3968, 1675, 4430, 4431, 1624, 1677], 4014) + femmesh.addVolume([348, 804, 852, 371, 4484, 3495, 5678, 1889, 5170, 5713], 4015) + femmesh.addVolume([527, 139, 28, 575, 5466, 1172, 5379, 2638, 4812, 5787], 4016) + femmesh.addVolume([114, 186, 28, 561, 3954, 1290, 4372, 2573, 3955, 3998], 4017) + femmesh.addVolume([804, 851, 852, 371, 3494, 3497, 3495, 5170, 4998, 5713], 4018) + femmesh.addVolume([18, 551, 104, 19, 4568, 2543, 5346, 1000, 4397, 4528], 4019) + femmesh.addVolume([716, 598, 197, 196, 3059, 4893, 4894, 4470, 5507, 1348], 4020) + femmesh.addVolume([294, 307, 704, 754, 1715, 5614, 4718, 5097, 5631, 3177], 4021) + femmesh.addVolume([852, 348, 371, 415, 5678, 1889, 5713, 5312, 2021, 2022], 4022) + femmesh.addVolume([447, 423, 905, 938, 2121, 4309, 4304, 4305, 4310, 3770], 4023) + femmesh.addVolume([120, 565, 9, 8, 5348, 4465, 1115, 1114, 5165, 990], 4024) + femmesh.addVolume([92, 7, 93, 517, 4651, 4826, 1079, 2459, 4648, 2458], 4025) + femmesh.addVolume([551, 161, 636, 181, 5036, 4624, 2801, 4396, 1311, 4783], 4026) + femmesh.addVolume([310, 617, 718, 651, 5792, 3071, 5041, 5251, 2850, 3070], 4027) + femmesh.addVolume([612, 313, 622, 218, 4022, 4864, 2758, 5533, 1703, 4299], 4028) + femmesh.addVolume([95, 10, 96, 566, 4285, 4287, 1082, 2586, 5282, 2585], 4029) + femmesh.addVolume([360, 723, 721, 732, 5735, 3095, 5780, 5779, 3117, 3118], 4030) + femmesh.addVolume([531, 145, 61, 578, 4402, 5634, 2490, 2639, 5552, 2614], 4031) + femmesh.addVolume([887, 868, 383, 875, 3607, 3993, 4351, 3608, 3570, 5450], 4032) + femmesh.addVolume([714, 197, 198, 267, 4895, 1351, 5148, 4970, 1566, 1567], 4033) + femmesh.addVolume([749, 290, 304, 251, 4536, 1702, 5475, 5577, 1633, 1672], 4034) + femmesh.addVolume([887, 384, 383, 868, 5213, 1930, 4351, 3607, 3992, 3993], 4035) + femmesh.addVolume([178, 158, 545, 630, 1308, 4551, 4552, 4545, 4118, 2783], 4036) + femmesh.addVolume([917, 950, 916, 492, 3809, 3810, 3767, 5426, 4500, 5427], 4037) + femmesh.addVolume([428, 466, 429, 948, 2184, 2185, 2067, 4357, 4216, 4217], 4038) + femmesh.addVolume([733, 333, 831, 798, 4362, 4363, 3422, 3316, 4923, 3423], 4039) + femmesh.addVolume([145, 35, 578, 146, 1191, 5793, 5552, 1194, 1192, 5783], 4040) + femmesh.addVolume([455, 898, 931, 897, 4945, 3747, 5245, 5794, 3643, 3746], 4041) + femmesh.addVolume([35, 62, 578, 146, 2351, 2613, 5793, 1192, 5782, 5783], 4042) + femmesh.addVolume([755, 813, 358, 294, 3361, 4134, 4235, 5784, 5402, 1841], 4043) + femmesh.addVolume([978, 969, 465, 464, 3904, 4490, 4317, 4553, 5297, 2183], 4044) + femmesh.addVolume([30, 187, 116, 31, 1293, 5647, 3958, 1012, 1292, 4781], 4045) + femmesh.addVolume([474, 914, 918, 877, 4289, 3703, 4256, 4258, 3691, 3702], 4046) + femmesh.addVolume([142, 596, 174, 514, 4720, 5795, 1261, 4721, 2698, 5685], 4047) + femmesh.addVolume([344, 788, 325, 284, 5056, 4807, 1890, 1802, 5055, 1856], 4048) + femmesh.addVolume([914, 474, 475, 877, 4289, 2281, 4685, 3691, 4258, 4949], 4049) + femmesh.addVolume([392, 870, 920, 437, 5044, 3712, 5046, 2090, 5707, 5706], 4050) + femmesh.addVolume([484, 965, 982, 476, 4975, 3928, 4977, 2258, 4455, 4457], 4051) + femmesh.addVolume([873, 496, 918, 448, 3977, 4276, 3701, 4277, 2288, 4257], 4052) + femmesh.addVolume([917, 499, 950, 492, 5127, 4499, 3809, 5426, 2325, 4500], 4053) + femmesh.addVolume([500, 187, 31, 116, 5452, 1292, 5225, 2579, 5647, 4781], 4054) + femmesh.addVolume([263, 246, 588, 663, 1558, 5212, 5544, 5094, 5095, 2907], 4055) + femmesh.addVolume([364, 312, 676, 288, 1866, 5759, 4823, 1864, 1700, 5377], 4056) + femmesh.addVolume([241, 687, 726, 647, 4633, 3197, 4053, 4054, 3083, 3101], 4057) + femmesh.addVolume([825, 419, 420, 840, 5252, 2167, 5184, 3458, 5253, 4002], 4058) + femmesh.addVolume([532, 612, 622, 218, 2733, 2758, 2756, 5532, 5533, 4299], 4059) + femmesh.addVolume([260, 665, 300, 589, 4935, 4670, 1659, 5320, 2912, 5013], 4060) + femmesh.addVolume([541, 8, 176, 9, 5438, 1270, 5489, 4858, 990, 1269], 4061) + femmesh.addVolume([741, 398, 324, 739, 4765, 1971, 5109, 3140, 4475, 5389], 4062) + femmesh.addVolume([8, 541, 94, 9, 5438, 2513, 5166, 990, 4858, 4467], 4063) + femmesh.addVolume([247, 260, 300, 589, 1555, 1659, 1660, 4620, 5320, 5013], 4064) + femmesh.addVolume([714, 761, 778, 267, 3199, 3250, 3247, 4970, 5602, 5766], 4065) + femmesh.addVolume([420, 483, 451, 888, 2236, 2237, 2136, 4004, 4461, 4005], 4066) + femmesh.addVolume([483, 924, 460, 498, 4468, 4469, 2238, 2323, 4209, 2327], 4067) + femmesh.addVolume([827, 412, 418, 421, 5393, 2106, 5395, 4464, 2124, 2147], 4068) + femmesh.addVolume([805, 747, 746, 316, 3337, 3158, 3336, 4658, 4774, 4659], 4069) + femmesh.addVolume([848, 373, 803, 802, 4311, 4313, 3489, 3483, 5680, 3332], 4070) + femmesh.addVolume([692, 254, 317, 693, 5303, 1713, 5105, 2987, 5304, 5796], 4071) + femmesh.addVolume([486, 459, 446, 922, 2245, 2168, 2244, 5368, 5369, 5739], 4072) + femmesh.addVolume([920, 912, 391, 437, 3714, 5608, 4879, 5706, 5022, 2089], 4073) + femmesh.addVolume([404, 906, 864, 919, 3991, 3665, 4931, 4933, 3710, 3707], 4074) + femmesh.addVolume([637, 551, 181, 552, 2803, 4396, 4782, 2804, 2547, 4395], 4075) + femmesh.addVolume([18, 551, 181, 161, 4568, 4396, 1280, 1231, 5036, 1311], 4076) + femmesh.addVolume([254, 323, 317, 693, 1738, 1739, 1713, 5304, 4105, 5796], 4077) + femmesh.addVolume([553, 106, 105, 20, 2549, 1092, 2548, 5081, 4245, 5154], 4078) + femmesh.addVolume([18, 522, 17, 129, 4127, 4690, 999, 1142, 4128, 1141], 4079) + femmesh.addVolume([857, 809, 856, 372, 3510, 3508, 3512, 5797, 5086, 5169], 4080) + femmesh.addVolume([180, 232, 635, 251, 1447, 4514, 4516, 1493, 1522, 5146], 4081) + femmesh.addVolume([912, 914, 437, 869, 3690, 4683, 5022, 3683, 3689, 4684], 4082) + femmesh.addVolume([708, 258, 292, 239, 4733, 1639, 4261, 4519, 1552, 1638], 4083) + femmesh.addVolume([2, 984, 31, 515, 4382, 5714, 1013, 5511, 5718, 4247], 4084) + femmesh.addVolume([111, 558, 25, 110, 2564, 4001, 4899, 1097, 2563, 4777], 4085) + femmesh.addVolume([661, 662, 286, 735, 3062, 4723, 4431, 3123, 3124, 4385], 4086) + femmesh.addVolume([683, 213, 214, 283, 5484, 1399, 4601, 5639, 1614, 1615], 4087) + femmesh.addVolume([342, 282, 835, 343, 1796, 4888, 5650, 1800, 1798, 4890], 4088) + femmesh.addVolume([232, 634, 244, 160, 4515, 4925, 1478, 1448, 4926, 1475], 4089) + femmesh.addVolume([609, 574, 658, 138, 2726, 2877, 2895, 5798, 4831, 5567], 4090) + femmesh.addVolume([741, 742, 317, 366, 3143, 5106, 5108, 4767, 5440, 1869], 4091) + femmesh.addVolume([104, 19, 105, 523, 4528, 4529, 1091, 2471, 5155, 2470], 4092) + femmesh.addVolume([260, 590, 665, 589, 4936, 2913, 4935, 5320, 2681, 2912], 4093) + femmesh.addVolume([386, 337, 841, 833, 1934, 3967, 5258, 4710, 4572, 3572], 4094) + femmesh.addVolume([434, 953, 945, 913, 5574, 3820, 4913, 4914, 3821, 3792], 4095) + femmesh.addVolume([862, 356, 399, 376, 5506, 1975, 4916, 4915, 1907, 2003], 4096) + femmesh.addVolume([235, 639, 182, 163, 5497, 4204, 1454, 1453, 5641, 1323], 4097) + femmesh.addVolume([741, 692, 317, 742, 3139, 5105, 5108, 3143, 3141, 5106], 4098) + femmesh.addVolume([635, 700, 251, 699, 3006, 5490, 5146, 3004, 3008, 5578], 4099) + femmesh.addVolume([568, 99, 14, 520, 2590, 4399, 4760, 2631, 2464, 4400], 4100) + femmesh.addVolume([602, 601, 201, 685, 2858, 5326, 5047, 2965, 2966, 5049], 4101) + femmesh.addVolume([260, 507, 590, 589, 5319, 2679, 4936, 5320, 2677, 2681], 4102) + femmesh.addVolume([975, 973, 487, 957, 3895, 5458, 4035, 3896, 3891, 4036], 4103) + femmesh.addVolume([530, 577, 600, 143, 2610, 2707, 2708, 4195, 4197, 5799], 4104) + femmesh.addVolume([692, 742, 693, 317, 3141, 3142, 2987, 5105, 5106, 5796], 4105) + femmesh.addVolume([978, 958, 977, 489, 3905, 3901, 3925, 4554, 4920, 4556], 4106) + femmesh.addVolume([180, 634, 160, 549, 4517, 4926, 1310, 5391, 2795, 4886], 4107) + femmesh.addVolume([577, 219, 600, 143, 5370, 5372, 2707, 4197, 1412, 5799], 4108) + femmesh.addVolume([898, 455, 413, 897, 4945, 2149, 4626, 3643, 5794, 5758], 4109) + femmesh.addVolume([161, 180, 17, 550, 1322, 1277, 1232, 4625, 5750, 5299], 4110) + femmesh.addVolume([458, 928, 449, 487, 5230, 4591, 2225, 2250, 5694, 2249], 4111) + femmesh.addVolume([175, 600, 625, 219, 5386, 3076, 4731, 1517, 5372, 5432], 4112) + femmesh.addVolume([200, 769, 269, 270, 5329, 5144, 1573, 1575, 3944, 1577], 4113) + femmesh.addVolume([464, 921, 427, 426, 5637, 5236, 2179, 2178, 4039, 2061], 4114) + femmesh.addVolume([957, 928, 973, 487, 3833, 3883, 3891, 4036, 5694, 5458], 4115) + femmesh.addVolume([381, 892, 427, 382, 4443, 4445, 2059, 1924, 5334, 2060], 4116) + femmesh.addVolume([609, 574, 138, 137, 2726, 4831, 5798, 4795, 3988, 1170], 4117) + femmesh.addVolume([960, 959, 974, 490, 3843, 3930, 3931, 4366, 5189, 4320], 4118) + femmesh.addVolume([593, 261, 668, 295, 4069, 4642, 2919, 4070, 1645, 4870], 4119) + femmesh.addVolume([799, 771, 283, 821, 3385, 4580, 5237, 3387, 3388, 5238], 4120) + femmesh.addVolume([213, 609, 138, 137, 5587, 5798, 1395, 1394, 4795, 1170], 4121) + femmesh.addVolume([475, 439, 437, 869, 2214, 2098, 2259, 4557, 5340, 4684], 4122) + femmesh.addVolume([446, 910, 886, 922, 4962, 3676, 4428, 5739, 3800, 3717], 4123) + femmesh.addVolume([843, 414, 789, 824, 4152, 5248, 3465, 3546, 5470, 3469], 4124) + femmesh.addVolume([414, 400, 789, 354, 2107, 5483, 5248, 2019, 1979, 5582], 4125) + femmesh.addVolume([560, 112, 559, 185, 2569, 2567, 2571, 4301, 4844, 4302], 4126) + femmesh.addVolume([84, 510, 53, 509, 2436, 4333, 2392, 2434, 2438, 5773], 4127) + femmesh.addVolume([271, 786, 201, 270, 5141, 5143, 1578, 1580, 3945, 1576], 4128) + femmesh.addVolume([480, 455, 442, 932, 2229, 2155, 2228, 5717, 5733, 5681], 4129) + femmesh.addVolume([155, 219, 143, 600, 1510, 1412, 1414, 5387, 5372, 5799], 4130) + femmesh.addVolume([854, 367, 853, 409, 4778, 4779, 3503, 5293, 2004, 5676], 4131) + femmesh.addVolume([155, 530, 652, 600, 5082, 2852, 5075, 5387, 2708, 2855], 4132) + femmesh.addVolume([530, 155, 143, 600, 5082, 1414, 4195, 2708, 5387, 5799], 4133) + femmesh.addVolume([290, 807, 357, 369, 4537, 5235, 1839, 1878, 4331, 1881], 4134) + femmesh.addVolume([426, 892, 380, 911, 4444, 4596, 2056, 4581, 3685, 4067], 4135) + femmesh.addVolume([150, 255, 534, 149, 1507, 4525, 4527, 1205, 1506, 5765], 4136) + femmesh.addVolume([364, 676, 768, 737, 4823, 3221, 4824, 5597, 3129, 3220], 4137) + femmesh.addVolume([436, 390, 894, 391, 2086, 4664, 4672, 2087, 1951, 5607], 4138) + femmesh.addVolume([940, 470, 433, 953, 4393, 2197, 5313, 3862, 4264, 4263], 4139) + femmesh.addVolume([847, 920, 894, 391, 3728, 3729, 3630, 4881, 4879, 5607], 4140) + femmesh.addVolume([282, 775, 212, 281, 4909, 5742, 1611, 1613, 5317, 1609], 4141) + femmesh.addVolume([579, 66, 534, 149, 2616, 2497, 2618, 4488, 4489, 5765], 4142) + femmesh.addVolume([892, 426, 921, 911, 4444, 4039, 3715, 3685, 4581, 3716], 4143) + femmesh.addVolume([39, 66, 149, 534, 2358, 4489, 1202, 5748, 2497, 5765], 4144) + femmesh.addVolume([617, 579, 534, 149, 2747, 2618, 2746, 5774, 4488, 5765], 4145) + femmesh.addVolume([445, 936, 965, 476, 4241, 3856, 5356, 2217, 5769, 4455], 4146) + femmesh.addVolume([730, 826, 438, 361, 3408, 4029, 5646, 4542, 4121, 2093], 4147) + femmesh.addVolume([644, 645, 559, 185, 2829, 2827, 2825, 5054, 4300, 4302], 4148) + femmesh.addVolume([813, 860, 861, 358, 3520, 3524, 3522, 4134, 4132, 4337], 4149) + femmesh.addVolume([376, 862, 905, 904, 4915, 3662, 4802, 4917, 3660, 3699], 4150) + femmesh.addVolume([165, 239, 644, 185, 1463, 4941, 4714, 1315, 1462, 5054], 4151) + femmesh.addVolume([239, 645, 185, 240, 4940, 4300, 1462, 1532, 5050, 1465], 4152) + femmesh.addVolume([709, 296, 240, 239, 4325, 1646, 4606, 4520, 1647, 1532], 4153) + femmesh.addVolume([531, 145, 578, 611, 4402, 5552, 2639, 2731, 5553, 2730], 4154) + femmesh.addVolume([360, 313, 721, 723, 1846, 4863, 5780, 5735, 5800, 3095], 4155) + femmesh.addVolume([485, 966, 493, 975, 4480, 4181, 2317, 4661, 3894, 5600], 4156) + femmesh.addVolume([489, 929, 957, 449, 4865, 3834, 4569, 2254, 4590, 4592], 4157) + femmesh.addVolume([543, 544, 96, 11, 2523, 2521, 2519, 5801, 4163, 4164], 4158) + femmesh.addVolume([245, 145, 531, 611, 1480, 4402, 4404, 4125, 5553, 2731], 4159) + femmesh.addVolume([463, 464, 977, 489, 2180, 4555, 5754, 2287, 2319, 4556], 4160) + femmesh.addVolume([177, 543, 10, 11, 4187, 4286, 1272, 1271, 5801, 992], 4161) + femmesh.addVolume([964, 936, 443, 476, 3854, 5768, 4255, 4254, 5769, 2218], 4162) + femmesh.addVolume([855, 357, 402, 856, 4994, 1985, 4629, 3509, 5068, 5159], 4163) + femmesh.addVolume([463, 489, 977, 487, 2287, 4556, 5754, 2286, 2255, 4037], 4164) + femmesh.addVolume([146, 532, 578, 218, 4271, 2658, 5783, 1411, 5532, 4298], 4165) + femmesh.addVolume([552, 637, 162, 181, 2804, 5730, 4184, 4395, 4782, 1304], 4166) + femmesh.addVolume([785, 450, 456, 394, 5006, 2215, 5752, 5598, 2131, 2156], 4167) + femmesh.addVolume([809, 808, 856, 372, 3350, 3507, 3508, 5086, 5168, 5169], 4168) + femmesh.addVolume([887, 939, 384, 883, 3774, 5568, 5213, 3680, 3773, 5214], 4169) + femmesh.addVolume([507, 260, 171, 190, 5319, 1538, 4339, 4957, 1539, 1330], 4170) + femmesh.addVolume([826, 730, 765, 361, 3408, 3211, 3407, 4121, 4542, 4122], 4171) + femmesh.addVolume([683, 213, 609, 658, 5484, 5587, 2959, 2958, 5485, 2895], 4172) + femmesh.addVolume([957, 928, 487, 449, 3833, 5694, 4036, 4592, 4591, 2249], 4173) + femmesh.addVolume([445, 965, 484, 476, 5356, 4975, 2240, 2217, 4455, 2258], 4174) + femmesh.addVolume([285, 302, 762, 325, 1804, 4630, 4973, 1850, 1747, 4631], 4175) + femmesh.addVolume([118, 648, 119, 517, 4609, 5162, 1113, 4646, 2837, 4867], 4176) + femmesh.addVolume([967, 956, 484, 982, 3887, 5381, 4976, 3929, 3832, 4977], 4177) + femmesh.addVolume([972, 983, 470, 981, 2331, 4081, 4394, 2332, 2330, 4083], 4178) + femmesh.addVolume([32, 59, 530, 143, 2345, 2488, 5757, 1185, 4196, 4195], 4179) + femmesh.addVolume([582, 621, 256, 597, 2754, 5770, 5003, 2702, 2892, 4741], 4180) + femmesh.addVolume([824, 414, 789, 354, 5470, 5248, 3469, 5529, 2019, 5582], 4181) + femmesh.addVolume([983, 972, 470, 469, 2331, 4394, 4081, 5549, 4375, 2198], 4182) + femmesh.addVolume([838, 729, 347, 765, 3450, 5272, 4905, 3451, 3212, 4391], 4183) + femmesh.addVolume([242, 584, 649, 501, 5516, 2842, 5472, 3935, 2662, 2841], 4184) + femmesh.addVolume([264, 296, 240, 710, 1649, 1646, 1560, 5160, 4605, 4607], 4185) + femmesh.addVolume([230, 697, 633, 244, 5179, 2998, 5289, 1477, 4696, 4927], 4186) + femmesh.addVolume([937, 936, 965, 445, 3766, 3856, 3857, 4243, 4241, 5356], 4187) + femmesh.addVolume([555, 183, 556, 108, 5152, 5422, 2559, 2555, 5423, 2557], 4188) + femmesh.addVolume([945, 953, 471, 982, 3820, 4265, 5575, 3831, 3921, 5421], 4189) + femmesh.addVolume([139, 214, 658, 138, 1398, 5486, 5554, 1173, 1397, 5567], 4190) + femmesh.addVolume([697, 244, 698, 633, 4696, 4697, 3002, 2998, 4927, 3000], 4191) + femmesh.addVolume([227, 626, 156, 231, 5802, 4283, 1435, 1445, 5324, 1444], 4192) + femmesh.addVolume([527, 139, 658, 138, 5466, 5554, 2876, 4829, 1173, 5567], 4193) + femmesh.addVolume([32, 530, 58, 563, 5757, 2489, 2344, 5024, 2767, 2487], 4194) + femmesh.addVolume([469, 983, 494, 481, 5549, 4185, 2297, 2298, 4080, 2277], 4195) + femmesh.addVolume([626, 540, 625, 156, 2770, 2769, 2772, 4283, 4280, 5763], 4196) + femmesh.addVolume([117, 118, 6, 564, 1110, 1108, 1107, 4740, 4611, 5134], 4197) + femmesh.addVolume([387, 433, 940, 432, 2077, 5313, 5657, 2075, 2079, 4405], 4198) + femmesh.addVolume([386, 387, 940, 432, 1939, 5657, 4813, 2074, 2075, 4405], 4199) + femmesh.addVolume([161, 551, 636, 550, 5036, 2801, 4624, 4625, 2544, 2800], 4200) + femmesh.addVolume([315, 375, 372, 809, 1903, 1904, 1902, 5085, 4878, 5086], 4201) + femmesh.addVolume([409, 397, 853, 896, 2005, 5208, 5676, 5677, 5302, 3635], 4202) + femmesh.addVolume([626, 227, 625, 690, 5802, 5664, 2772, 2978, 5747, 2977], 4203) + femmesh.addVolume([213, 214, 138, 658, 1399, 1397, 1395, 5485, 5486, 5567], 4204) + femmesh.addVolume([452, 494, 963, 481, 2278, 4169, 5514, 2231, 2277, 5701], 4205) + femmesh.addVolume([136, 137, 526, 657, 1167, 3940, 4177, 4458, 4459, 2873], 4206) + femmesh.addVolume([642, 238, 707, 643, 4799, 5215, 3027, 2823, 5216, 3028], 4207) + femmesh.addVolume([661, 233, 286, 586, 3968, 1624, 4431, 2903, 3969, 4725], 4208) + femmesh.addVolume([396, 797, 880, 820, 5604, 3586, 5580, 5648, 3383, 3585], 4209) + femmesh.addVolume([355, 820, 797, 396, 4378, 3383, 5537, 1967, 5648, 5604], 4210) + femmesh.addVolume([62, 35, 578, 61, 2351, 5793, 2613, 1046, 2350, 2614], 4211) + femmesh.addVolume([452, 901, 935, 934, 5732, 3758, 5515, 5513, 3756, 3760], 4212) + femmesh.addVolume([639, 554, 182, 163, 2810, 5722, 4204, 5641, 5462, 1323], 4213) + femmesh.addVolume([483, 888, 924, 916, 4461, 3722, 4468, 5686, 3695, 3721], 4214) + femmesh.addVolume([645, 166, 560, 185, 5380, 3995, 2828, 4300, 1326, 4301], 4215) + femmesh.addVolume([609, 657, 212, 677, 2872, 4460, 4796, 2942, 2943, 5803], 4216) + femmesh.addVolume([180, 549, 550, 635, 5391, 2541, 5750, 4516, 2797, 2798], 4217) + femmesh.addVolume([327, 829, 267, 778, 5275, 5603, 1752, 5674, 3417, 5766], 4218) + femmesh.addVolume([840, 403, 871, 451, 4598, 4599, 3559, 4003, 2134, 4123], 4219) + femmesh.addVolume([266, 327, 267, 778, 1751, 1752, 1568, 5137, 5674, 5766], 4220) + femmesh.addVolume([110, 111, 526, 25, 1097, 2476, 2477, 4777, 4899, 3938], 4221) + femmesh.addVolume([144, 219, 577, 143, 1413, 5370, 4411, 1189, 1412, 4197], 4222) + femmesh.addVolume([682, 775, 212, 677, 3241, 5742, 5176, 2957, 3240, 5803], 4223) + femmesh.addVolume([657, 682, 212, 677, 2954, 5176, 4460, 2943, 2957, 5803], 4224) + femmesh.addVolume([609, 213, 138, 658, 5587, 1395, 5798, 2895, 5485, 5567], 4225) + femmesh.addVolume([646, 259, 240, 710, 4420, 1548, 5116, 3037, 5633, 4607], 4226) + femmesh.addVolume([309, 670, 302, 250, 5014, 5559, 1746, 1731, 4751, 1665], 4227) + femmesh.addVolume([169, 48, 189, 503, 1248, 1297, 1318, 4679, 4838, 4947], 4228) + femmesh.addVolume([260, 301, 590, 248, 1662, 4937, 4936, 1554, 1661, 5000], 4229) + femmesh.addVolume([48, 78, 189, 503, 2381, 4453, 1297, 4838, 2416, 4947], 4230) + femmesh.addVolume([312, 615, 223, 651, 5526, 4512, 1699, 5250, 2851, 5755], 4231) + femmesh.addVolume([975, 463, 977, 487, 4071, 5754, 3920, 4035, 2286, 4037], 4232) + femmesh.addVolume([384, 868, 336, 335, 3992, 5723, 1929, 1928, 3994, 1779], 4233) + femmesh.addVolume([921, 969, 427, 941, 3868, 4491, 5236, 3782, 3867, 4493], 4234) + femmesh.addVolume([560, 166, 27, 185, 3995, 1242, 4446, 4301, 1326, 1287], 4235) + femmesh.addVolume([312, 615, 676, 288, 5526, 2941, 5759, 1700, 4510, 5377], 4236) + femmesh.addVolume([596, 217, 174, 262, 5204, 1408, 5795, 5461, 1546, 1543], 4237) + femmesh.addVolume([312, 615, 724, 676, 5526, 3090, 5256, 5759, 2941, 3093], 4238) + femmesh.addVolume([684, 717, 314, 195, 3069, 4692, 4693, 5064, 5563, 1706], 4239) + femmesh.addVolume([453, 491, 933, 962, 2262, 4345, 5710, 5764, 4341, 3847], 4240) + femmesh.addVolume([147, 221, 576, 146, 1418, 5478, 4885, 1197, 1417, 4272], 4241) + femmesh.addVolume([179, 547, 548, 633, 5359, 2535, 5205, 5206, 2791, 2792], 4242) + femmesh.addVolume([851, 804, 803, 371, 3494, 3335, 3493, 4998, 5170, 5290], 4243) + femmesh.addVolume([44, 154, 193, 537, 1216, 1423, 1105, 5456, 5004, 4086], 4244) + femmesh.addVolume([219, 144, 577, 614, 1413, 4411, 5370, 5371, 5534, 2737], 4245) + femmesh.addVolume([57, 89, 514, 88, 2397, 2449, 5684, 2398, 1074, 2448], 4246) + femmesh.addVolume([206, 276, 207, 712, 1593, 1594, 1378, 4989, 4771, 4772], 4247) + femmesh.addVolume([181, 552, 19, 162, 4395, 4182, 1279, 1304, 4184, 1234], 4248) + femmesh.addVolume([577, 144, 531, 614, 4411, 4403, 2612, 2737, 5534, 2736], 4249) + femmesh.addVolume([810, 375, 363, 311, 4877, 2024, 4213, 5474, 1905, 1861], 4250) + femmesh.addVolume([227, 626, 231, 690, 5802, 5324, 1445, 5747, 2978, 5776], 4251) + femmesh.addVolume([760, 325, 669, 295, 4315, 4632, 3196, 4316, 1748, 5436], 4252) + femmesh.addVolume([606, 571, 132, 655, 2721, 5284, 5571, 2898, 2867, 5572], 4253) + femmesh.addVolume([318, 739, 690, 691, 4474, 3134, 5519, 5390, 3135, 2981], 4254) + femmesh.addVolume([604, 129, 570, 130, 4100, 4130, 2716, 4099, 1146, 5338], 4255) + femmesh.addVolume([827, 403, 412, 440, 4868, 2013, 5393, 5388, 2099, 2100], 4256) + femmesh.addVolume([29, 114, 528, 115, 3947, 2481, 4816, 3949, 1101, 2480], 4257) + femmesh.addVolume([670, 285, 783, 671, 5601, 5020, 3268, 2928, 5557, 3269], 4258) + femmesh.addVolume([519, 123, 567, 599, 4837, 4836, 2630, 2706, 4622, 2705], 4259) + femmesh.addVolume([19, 18, 130, 570, 1000, 1144, 1145, 5347, 4129, 5338], 4260) + femmesh.addVolume([571, 131, 132, 655, 5219, 1152, 5284, 2867, 5051, 5572], 4261) + femmesh.addVolume([125, 568, 14, 520, 4814, 4760, 1130, 4401, 2631, 4400], 4262) + femmesh.addVolume([131, 605, 655, 523, 5469, 2887, 5051, 5220, 2718, 2868], 4263) + femmesh.addVolume([325, 302, 669, 295, 1747, 4328, 4632, 1748, 1691, 5436], 4264) + femmesh.addVolume([402, 410, 856, 372, 2026, 5642, 5159, 1984, 2009, 5169], 4265) + femmesh.addVolume([191, 510, 172, 261, 5669, 5263, 1331, 1541, 4291, 1540], 4266) + femmesh.addVolume([4, 116, 984, 515, 1103, 5226, 5019, 2452, 2453, 5718], 4267) + femmesh.addVolume([104, 19, 523, 570, 4528, 5155, 2471, 2593, 5347, 2648], 4268) + femmesh.addVolume([139, 610, 215, 140, 4811, 4680, 1400, 1176, 4694, 1401], 4269) + femmesh.addVolume([211, 280, 281, 682, 1606, 1610, 1608, 4810, 4567, 5581], 4270) + femmesh.addVolume([661, 711, 780, 306, 3041, 3266, 3258, 4430, 4324, 4950], 4271) + femmesh.addVolume([591, 299, 248, 666, 5218, 1656, 4999, 2915, 5120, 5001], 4272) + femmesh.addVolume([299, 301, 248, 666, 1664, 1661, 1656, 5120, 5500, 5001], 4273) + femmesh.addVolume([450, 400, 768, 823, 2150, 5595, 5007, 5008, 5804, 3391], 4274) + femmesh.addVolume([164, 642, 641, 556, 4801, 2820, 4842, 5267, 2818, 2816], 4275) + femmesh.addVolume([299, 667, 666, 591, 5255, 3065, 5120, 5218, 2916, 2915], 4276) + femmesh.addVolume([667, 763, 299, 666, 3204, 5118, 5255, 3065, 3203, 5120], 4277) + femmesh.addVolume([161, 180, 550, 635, 1322, 5750, 4625, 4623, 4516, 2798], 4278) + femmesh.addVolume([393, 742, 801, 366, 5107, 3326, 5360, 1956, 5440, 5441], 4279) + femmesh.addVolume([736, 398, 792, 739, 4702, 4766, 3300, 3228, 4475, 3298], 4280) + femmesh.addVolume([230, 697, 746, 696, 5179, 3154, 5594, 5173, 2999, 3153], 4281) + femmesh.addVolume([742, 323, 693, 317, 5030, 4105, 3142, 5106, 1739, 5796], 4282) + femmesh.addVolume([359, 727, 739, 660, 5550, 3303, 4473, 5540, 3105, 3229], 4283) + femmesh.addVolume([518, 650, 120, 121, 2844, 5425, 5307, 5308, 5481, 1119], 4284) + femmesh.addVolume([161, 180, 635, 251, 1322, 4516, 4623, 1492, 1493, 5146], 4285) + femmesh.addVolume([551, 103, 550, 18, 2542, 2540, 2544, 4568, 4845, 5037], 4286) + femmesh.addVolume([672, 203, 654, 204, 3961, 5504, 2929, 5033, 1369, 5034], 4287) + femmesh.addVolume([282, 775, 677, 212, 4909, 3240, 5805, 1611, 5742, 5803], 4288) + femmesh.addVolume([637, 552, 162, 638, 2804, 4184, 5730, 2808, 2806, 5643], 4289) + femmesh.addVolume([769, 269, 830, 740, 5144, 5145, 3421, 3224, 5279, 3419], 4290) + femmesh.addVolume([269, 329, 830, 740, 1757, 5309, 5145, 5279, 5278, 3419], 4291) + femmesh.addVolume([282, 771, 677, 775, 4579, 3231, 5805, 4909, 3283, 3240], 4292) + femmesh.addVolume([213, 282, 677, 212, 1612, 5805, 5588, 1396, 1611, 5803], 4293) + femmesh.addVolume([38, 579, 148, 149, 4487, 4439, 1199, 1201, 4488, 1264], 4294) + femmesh.addVolume([318, 324, 691, 231, 1743, 4051, 5390, 1720, 1742, 4050], 4295) + femmesh.addVolume([148, 579, 220, 149, 4439, 5593, 1415, 1264, 4488, 1416], 4296) + femmesh.addVolume([43, 582, 72, 71, 5493, 2623, 2365, 2364, 2624, 1056], 4297) + femmesh.addVolume([370, 301, 299, 666, 1883, 1664, 1882, 5119, 5500, 5120], 4298) + femmesh.addVolume([689, 623, 198, 714, 2975, 4268, 5693, 3054, 3052, 5148], 4299) + femmesh.addVolume([62, 35, 63, 146, 2351, 2371, 1047, 5782, 1192, 4207], 4300) + femmesh.addVolume([612, 221, 313, 218, 4020, 1704, 4022, 5533, 1419, 1703], 4301) + femmesh.addVolume([128, 654, 569, 603, 5492, 2865, 5491, 5503, 2884, 2714], 4302) + femmesh.addVolume([324, 741, 317, 366, 5109, 5108, 1744, 1870, 4767, 1869], 4303) + femmesh.addVolume([35, 145, 578, 61, 1191, 5552, 5793, 2350, 5634, 2614], 4304) + femmesh.addVolume([672, 203, 603, 654, 3961, 5505, 2930, 2929, 5504, 2884], 4305) + femmesh.addVolume([213, 771, 677, 282, 4578, 3231, 5588, 1612, 4579, 5805], 4306) + femmesh.addVolume([672, 673, 603, 203, 2933, 2931, 2930, 3961, 3962, 5505], 4307) + femmesh.addVolume([722, 345, 291, 688, 4819, 1807, 4763, 3086, 4821, 4433], 4308) + femmesh.addVolume([252, 631, 159, 632, 5167, 4841, 1494, 5174, 2790, 5357], 4309) + femmesh.addVolume([244, 747, 319, 316, 4695, 5465, 1722, 1711, 4774, 1723], 4310) + femmesh.addVolume([731, 362, 688, 718, 5806, 5807, 3116, 3115, 5808, 3094], 4311) + femmesh.addVolume([777, 362, 688, 731, 5688, 5807, 3244, 3246, 5806, 3116], 4312) + femmesh.addVolume([546, 159, 632, 547, 4755, 5357, 2788, 2532, 4757, 2789], 4313) + femmesh.addVolume([230, 252, 159, 632, 1497, 1494, 1442, 5172, 5174, 5357], 4314) + femmesh.addVolume([356, 814, 861, 358, 5242, 3523, 4361, 1877, 4236, 4337], 4315) + femmesh.addVolume([642, 238, 164, 237, 4799, 1461, 4801, 4442, 1526, 1458], 4316) + femmesh.addVolume([709, 708, 239, 644, 3035, 4519, 4520, 3033, 3031, 4941], 4317) + femmesh.addVolume([628, 627, 229, 157, 2778, 5673, 5809, 4188, 5810, 1439], 4318) + femmesh.addVolume([815, 298, 756, 356, 4929, 4930, 3366, 5240, 1835, 5241], 4319) + femmesh.addVolume([90, 563, 5, 985, 2580, 4386, 4584, 4585, 4389, 4387], 4320) + femmesh.addVolume([646, 166, 240, 259, 4583, 1464, 5116, 4420, 1535, 1548], 4321) + femmesh.addVolume([465, 428, 427, 941, 2182, 2064, 2181, 4492, 4356, 4493], 4322) + femmesh.addVolume([40, 41, 69, 151, 1023, 2373, 2361, 1206, 1207, 5729], 4323) + femmesh.addVolume([849, 331, 270, 786, 4530, 1762, 5487, 3485, 5539, 3945], 4324) + femmesh.addVolume([624, 719, 619, 289, 3072, 3073, 2764, 5586, 5193, 5298], 4325) + femmesh.addVolume([426, 947, 921, 911, 4038, 3813, 4039, 4581, 3798, 3716], 4326) + femmesh.addVolume([345, 362, 291, 688, 1859, 1857, 1807, 4821, 5807, 4433], 4327) + femmesh.addVolume([351, 763, 784, 791, 4150, 3282, 4151, 5373, 3295, 3296], 4328) + femmesh.addVolume([345, 777, 362, 688, 4820, 5688, 1859, 4821, 3244, 5807], 4329) + femmesh.addVolume([310, 291, 688, 220, 1694, 4433, 5811, 1692, 1636, 4435], 4330) + femmesh.addVolume([617, 310, 688, 220, 5792, 5811, 2972, 4440, 1692, 4435], 4331) + femmesh.addVolume([256, 154, 537, 193, 1516, 5004, 5005, 1512, 1423, 4086], 4332) + femmesh.addVolume([903, 936, 445, 443, 3762, 4241, 4242, 5719, 5768, 2151], 4333) + femmesh.addVolume([621, 225, 624, 536, 4238, 4523, 2765, 2755, 4521, 2762], 4334) + femmesh.addVolume([403, 840, 420, 451, 4598, 4002, 2041, 2134, 4003, 2136], 4335) + femmesh.addVolume([725, 225, 624, 621, 4240, 4523, 3097, 3096, 4238, 2765], 4336) + femmesh.addVolume([293, 744, 373, 802, 3951, 5679, 1897, 5788, 3329, 5680], 4337) + femmesh.addVolume([245, 145, 611, 218, 1480, 5553, 4125, 1524, 1410, 4297], 4338) + femmesh.addVolume([315, 304, 701, 750, 1709, 5066, 4108, 5083, 5181, 3166], 4339) + femmesh.addVolume([232, 290, 748, 699, 1634, 4538, 5645, 5401, 5619, 3160], 4340) + femmesh.addVolume([310, 617, 688, 718, 5792, 2972, 5811, 5041, 3071, 3094], 4341) + femmesh.addVolume([235, 639, 640, 704, 5497, 2814, 5287, 5029, 3018, 3019], 4342) + femmesh.addVolume([166, 186, 259, 646, 1316, 1534, 1535, 4583, 4419, 4420], 4343) + femmesh.addVolume([114, 113, 28, 575, 1100, 4373, 4372, 2603, 2604, 5787], 4344) + femmesh.addVolume([362, 310, 688, 718, 1858, 5811, 5807, 5808, 5041, 3094], 4345) + femmesh.addVolume([874, 329, 377, 328, 4059, 1909, 5751, 4060, 1758, 1908], 4346) + femmesh.addVolume([210, 678, 211, 608, 3941, 4808, 1390, 4095, 2944, 4809], 4347) + femmesh.addVolume([326, 364, 676, 288, 1865, 4823, 5376, 1749, 1864, 5377], 4348) + femmesh.addVolume([719, 326, 737, 676, 5192, 5615, 3128, 3106, 5376, 3129], 4349) + femmesh.addVolume([799, 681, 284, 214, 3319, 4972, 5057, 4602, 4603, 1617], 4350) + femmesh.addVolume([573, 109, 110, 24, 2600, 1096, 2599, 4790, 4965, 4791], 4351) + femmesh.addVolume([876, 874, 910, 416, 3609, 3674, 3675, 4249, 4980, 4250], 4352) + femmesh.addVolume([835, 821, 866, 343, 3441, 3538, 3539, 4890, 5375, 5291], 4353) + femmesh.addVolume([269, 329, 330, 830, 1757, 1761, 1759, 5145, 5309, 5136], 4354) + femmesh.addVolume([786, 715, 201, 270, 3279, 5621, 5143, 3945, 3946, 1576], 4355) + femmesh.addVolume([377, 910, 416, 446, 5625, 4250, 2039, 2118, 4962, 2117], 4356) + femmesh.addVolume([472, 484, 982, 471, 2303, 4977, 5354, 2204, 2302, 5421], 4357) + femmesh.addVolume([310, 362, 688, 291, 1858, 5807, 5811, 1694, 1857, 4433], 4358) + femmesh.addVolume([346, 780, 297, 306, 4502, 5153, 1809, 1808, 4950, 1733], 4359) + femmesh.addVolume([670, 302, 669, 762, 5559, 4328, 3066, 3201, 4630, 3200], 4360) + femmesh.addVolume([788, 760, 800, 395, 3289, 3322, 3323, 5392, 5285, 5345], 4361) + femmesh.addVolume([334, 828, 831, 875, 5655, 3474, 5652, 5449, 3568, 3569], 4362) + femmesh.addVolume([637, 701, 253, 234, 3010, 4109, 5333, 4981, 4110, 1500], 4363) + femmesh.addVolume([315, 375, 751, 311, 1903, 5473, 5352, 1710, 1905, 5351], 4364) + femmesh.addVolume([395, 870, 392, 439, 5344, 5044, 1964, 2096, 5339, 2095], 4365) + femmesh.addVolume([277, 208, 720, 679, 1597, 4785, 4784, 5660, 5705, 3079], 4366) + femmesh.addVolume([357, 304, 372, 808, 1838, 1892, 1893, 5067, 5668, 5168], 4367) + femmesh.addVolume([441, 453, 410, 900, 2139, 2140, 2102, 4148, 5711, 5089], 4368) + femmesh.addVolume([832, 794, 850, 341, 3438, 3490, 3491, 5629, 4676, 4477], 4369) + femmesh.addVolume([499, 486, 479, 943, 2329, 2247, 2326, 5129, 5812, 5130], 4370) + femmesh.addVolume([386, 387, 338, 833, 1939, 1937, 1935, 4710, 5611, 4573], 4371) + femmesh.addVolume([422, 411, 908, 396, 2048, 5059, 4954, 2046, 2012, 5725], 4372) + femmesh.addVolume([832, 389, 850, 867, 4873, 5628, 3491, 3543, 4874, 3545], 4373) + femmesh.addVolume([279, 793, 680, 278, 5314, 3308, 4495, 1604, 5536, 5662], 4374) + femmesh.addVolume([885, 917, 479, 943, 3698, 5128, 5408, 3786, 3787, 5130], 4375) + femmesh.addVolume([208, 606, 679, 607, 5605, 2947, 5705, 5743, 2869, 2946], 4376) + femmesh.addVolume([797, 396, 880, 908, 5604, 5580, 3586, 3670, 5725, 3669], 4377) + femmesh.addVolume([511, 192, 512, 86, 4943, 5444, 2444, 2440, 4942, 2442], 4378) + femmesh.addVolume([279, 210, 209, 680, 1603, 1387, 1602, 4495, 4494, 4908], 4379) + femmesh.addVolume([410, 857, 856, 372, 4353, 3512, 5642, 2009, 5797, 5169], 4380) + femmesh.addVolume([486, 499, 478, 943, 2329, 2338, 2246, 5812, 5129, 5416], 4381) + femmesh.addVolume([536, 70, 152, 581, 2501, 4853, 4522, 2657, 2621, 4855], 4382) + femmesh.addVolume([123, 199, 599, 198, 1352, 4617, 4622, 1350, 1354, 5697], 4383) + femmesh.addVolume([95, 10, 9, 542, 4285, 991, 4968, 2516, 5675, 4859], 4384) + femmesh.addVolume([324, 692, 691, 229, 5103, 2984, 4051, 1741, 5104, 4052], 4385) + femmesh.addVolume([981, 964, 481, 476, 2339, 4253, 4082, 4456, 4254, 2268], 4386) + femmesh.addVolume([417, 851, 415, 890, 4997, 5479, 2114, 4157, 3617, 5311], 4387) + femmesh.addVolume([910, 874, 377, 416, 3674, 5751, 5625, 4250, 4980, 2039], 4388) + femmesh.addVolume([486, 885, 479, 943, 5775, 5408, 2247, 5812, 3786, 5130], 4389) + femmesh.addVolume([885, 486, 479, 446, 5775, 2247, 5408, 4427, 2244, 2227], 4390) + femmesh.addVolume([444, 885, 479, 446, 4425, 5408, 2226, 2119, 4427, 2227], 4391) + femmesh.addVolume([452, 441, 406, 901, 2138, 2128, 2137, 5732, 4963, 4884], 4392) + femmesh.addVolume([692, 628, 627, 229, 2983, 2778, 2982, 5104, 5809, 5673], 4393) + femmesh.addVolume([441, 452, 934, 901, 2138, 5513, 5546, 4963, 5732, 3756], 4394) + femmesh.addVolume([703, 236, 702, 311, 5499, 5502, 3017, 5332, 1695, 5318], 4395) + femmesh.addVolume([422, 396, 880, 405, 2046, 5580, 4955, 2047, 1993, 5286], 4396) + femmesh.addVolume([700, 234, 636, 251, 5281, 4982, 3007, 5490, 1525, 5147], 4397) + femmesh.addVolume([868, 384, 841, 883, 3992, 5696, 3553, 3596, 5214, 3595], 4398) + femmesh.addVolume([259, 264, 240, 710, 1559, 1560, 1548, 5633, 5160, 4607], 4399) + femmesh.addVolume([637, 181, 636, 234, 4782, 4783, 2805, 4981, 1451, 4982], 4400) + femmesh.addVolume([675, 205, 604, 674, 4564, 4098, 2936, 2939, 4960, 2935], 4401) + femmesh.addVolume([309, 285, 670, 671, 1690, 5601, 5014, 5555, 5557, 2928], 4402) + femmesh.addVolume([781, 334, 831, 273, 4540, 5652, 3424, 4541, 1771, 4365], 4403) + femmesh.addVolume([752, 307, 811, 753, 5076, 5091, 3354, 3176, 5077, 3355], 4404) + femmesh.addVolume([733, 781, 831, 273, 3261, 3424, 3422, 4364, 4541, 4365], 4405) + femmesh.addVolume([277, 679, 770, 278, 5660, 3226, 5659, 1601, 5703, 5767], 4406) + femmesh.addVolume([953, 972, 470, 981, 3902, 4394, 4264, 3927, 2332, 4083], 4407) + femmesh.addVolume([434, 953, 913, 433, 5574, 3821, 4914, 2082, 4263, 5363], 4408) + femmesh.addVolume([679, 793, 770, 278, 3301, 3302, 3226, 5703, 5536, 5767], 4409) + femmesh.addVolume([272, 672, 273, 203, 3959, 5468, 1586, 1582, 3961, 1584], 4410) + femmesh.addVolume([412, 827, 440, 421, 5393, 5388, 2100, 2124, 4464, 2123], 4411) + femmesh.addVolume([494, 934, 962, 453, 5573, 3848, 4170, 2279, 5547, 5764], 4412) + femmesh.addVolume([497, 978, 959, 490, 4570, 3906, 4103, 2310, 4319, 5189], 4413) + femmesh.addVolume([313, 287, 723, 360, 1717, 4211, 5800, 1846, 1847, 5735], 4414) + femmesh.addVolume([612, 287, 723, 313, 4021, 4211, 3088, 4022, 1717, 5800], 4415) + femmesh.addVolume([964, 981, 965, 476, 2339, 3913, 3858, 4254, 4456, 4455], 4416) + femmesh.addVolume([353, 360, 732, 418, 1849, 5779, 5781, 2033, 2034, 5638], 4417) + femmesh.addVolume([353, 313, 721, 360, 1826, 4863, 5777, 1849, 1846, 5780], 4418) + femmesh.addVolume([749, 304, 700, 251, 5475, 5180, 3163, 5577, 1672, 5490], 4419) + femmesh.addVolume([890, 458, 449, 415, 4155, 2225, 5813, 5311, 2159, 2130], 4420) + femmesh.addVolume([673, 733, 734, 272, 3120, 3217, 3121, 3960, 5061, 5744], 4421) + femmesh.addVolume([202, 673, 734, 272, 5227, 3121, 5617, 1581, 3960, 5744], 4422) + femmesh.addVolume([271, 202, 734, 272, 1579, 5617, 5149, 1583, 1581, 5744], 4423) + femmesh.addVolume([755, 705, 754, 294, 3180, 3178, 3182, 5784, 4717, 5097], 4424) + femmesh.addVolume([601, 125, 126, 201, 4534, 1134, 5749, 5326, 1358, 1359], 4425) + femmesh.addVolume([7, 92, 539, 6, 4651, 2507, 4722, 988, 5133, 5746], 4426) + femmesh.addVolume([356, 862, 861, 814, 5506, 3527, 4361, 5242, 3525, 3523], 4427) + femmesh.addVolume([755, 294, 303, 237, 5784, 1716, 4654, 5689, 1658, 1669], 4428) + femmesh.addVolume([376, 862, 350, 863, 4915, 5682, 1906, 5121, 3530, 5123], 4429) + femmesh.addVolume([379, 378, 424, 946, 1915, 2051, 2052, 5306, 4653, 4650], 4430) + femmesh.addVolume([321, 252, 745, 322, 1730, 4786, 3976, 1834, 1736, 4588], 4431) + femmesh.addVolume([706, 755, 756, 303, 3181, 3185, 3183, 5343, 4654, 4655], 4432) + femmesh.addVolume([958, 978, 497, 489, 3905, 4570, 4101, 4920, 4554, 2309], 4433) + femmesh.addVolume([755, 706, 237, 303, 3181, 4441, 5689, 4654, 5343, 1669], 4434) + femmesh.addVolume([320, 725, 767, 684, 4239, 3222, 5522, 5060, 3099, 3219], 4435) + femmesh.addVolume([313, 305, 721, 622, 1732, 5814, 4863, 4864, 4408, 3080], 4436) + femmesh.addVolume([428, 893, 427, 941, 4355, 5335, 2064, 4356, 3783, 4493], 4437) + femmesh.addVolume([175, 7, 539, 6, 1267, 4722, 4732, 1265, 988, 5746], 4438) + femmesh.addVolume([896, 461, 929, 930, 5691, 4866, 3741, 3743, 5760, 3745], 4439) + femmesh.addVolume([313, 353, 721, 305, 1826, 5777, 4863, 1732, 1825, 5814], 4440) + femmesh.addVolume([305, 660, 721, 622, 4657, 3081, 5814, 4408, 2900, 3080], 4441) + femmesh.addVolume([506, 507, 190, 589, 2429, 4957, 4861, 2676, 2677, 4862], 4442) + femmesh.addVolume([54, 172, 85, 511, 1254, 5264, 2404, 4944, 5265, 2439], 4443) + femmesh.addVolume([395, 870, 439, 791, 5344, 5339, 2096, 4078, 3554, 4077], 4444) + femmesh.addVolume([305, 353, 721, 660, 1825, 5777, 5814, 4657, 5541, 3081], 4445) + femmesh.addVolume([827, 418, 732, 421, 5395, 5638, 3409, 4464, 2147, 5815], 4446) + femmesh.addVolume([265, 717, 767, 773, 5562, 3218, 4686, 5404, 3237, 3284], 4447) + femmesh.addVolume([418, 360, 732, 421, 2034, 5779, 5638, 2147, 2045, 5815], 4448) + femmesh.addVolume([48, 169, 47, 77, 1248, 1249, 1031, 2382, 4839, 2379], 4449) + femmesh.addVolume([90, 563, 985, 3, 2580, 4389, 4585, 1076, 2486, 5738], 4450) + femmesh.addVolume([827, 421, 732, 779, 4464, 5815, 3409, 3440, 4451, 3255], 4451) + femmesh.addVolume([158, 12, 545, 544, 1225, 4550, 4551, 4117, 5790, 2526], 4452) + femmesh.addVolume([444, 885, 839, 479, 4425, 3601, 5027, 2226, 5408, 5012], 4453) + femmesh.addVolume([767, 352, 773, 787, 4687, 5482, 3284, 3286, 4847, 3285], 4454) + femmesh.addVolume([450, 818, 482, 823, 5616, 5262, 2248, 5008, 3402, 4903], 4455) + femmesh.addVolume([400, 789, 768, 823, 5483, 3292, 5595, 5804, 3398, 3391], 4456) + femmesh.addVolume([970, 430, 927, 468, 5699, 4026, 3873, 3986, 2190, 4028], 4457) + femmesh.addVolume([854, 409, 897, 413, 5293, 5712, 3638, 5294, 2133, 5758], 4458) + femmesh.addVolume([268, 329, 819, 328, 1756, 4057, 5200, 1754, 1758, 4058], 4459) + femmesh.addVolume([829, 761, 819, 328, 3416, 3380, 3418, 4979, 5199, 4058], 4460) + femmesh.addVolume([381, 846, 845, 798, 5683, 3479, 5336, 5337, 3477, 3476], 4461) + femmesh.addVolume([428, 887, 893, 948, 4349, 3629, 4355, 4357, 3804, 3808], 4462) + femmesh.addVolume([788, 395, 842, 344, 5392, 5753, 3462, 5056, 1961, 5715], 4463) + femmesh.addVolume([928, 458, 449, 890, 5230, 2225, 4591, 3736, 4155, 5813], 4464) + femmesh.addVolume([835, 342, 866, 847, 5650, 5410, 3539, 3480, 5411, 3540], 4465) + femmesh.addVolume([607, 679, 209, 680, 2946, 5702, 5737, 2949, 2950, 4908], 4466) + femmesh.addVolume([45, 46, 168, 75, 1029, 1246, 1247, 2375, 2378, 4175], 4467) + femmesh.addVolume([169, 243, 502, 585, 1472, 4561, 4563, 4678, 5443, 2664], 4468) + femmesh.addVolume([57, 142, 515, 31, 1218, 4248, 5512, 1183, 1181, 4247], 4469) + femmesh.addVolume([78, 48, 77, 503, 2381, 2382, 1063, 2416, 4838, 2415], 4470) + femmesh.addVolume([187, 500, 31, 168, 5452, 5225, 1292, 1434, 4174, 1262], 4471) + femmesh.addVolume([546, 13, 159, 14, 4018, 1228, 4755, 4756, 995, 1227], 4472) + femmesh.addVolume([263, 664, 663, 588, 5424, 2911, 5094, 5544, 2909, 2907], 4473) + femmesh.addVolume([421, 360, 732, 779, 2045, 5779, 5815, 4451, 5736, 3255], 4474) + femmesh.addVolume([521, 568, 126, 602, 2646, 4761, 4595, 2712, 2713, 5025], 4475) + femmesh.addVolume([653, 199, 200, 686, 4615, 1357, 4533, 2967, 4667, 4967], 4476) + femmesh.addVolume([406, 441, 858, 901, 2128, 4147, 4883, 4884, 4963, 3650], 4477) + femmesh.addVolume([360, 345, 779, 421, 1848, 5232, 5736, 2045, 2043, 4451], 4478) + femmesh.addVolume([715, 786, 201, 685, 3279, 5143, 5621, 3058, 3278, 5049], 4479) + femmesh.addVolume([631, 252, 696, 632, 5167, 4787, 2994, 2790, 5174, 2995], 4480) + femmesh.addVolume([126, 601, 201, 602, 5749, 5326, 1359, 5025, 2858, 5047], 4481) + femmesh.addVolume([797, 396, 347, 355, 5604, 1970, 4906, 5537, 1967, 1863], 4482) + femmesh.addVolume([213, 609, 212, 677, 5587, 4796, 1396, 5588, 2942, 5803], 4483) + femmesh.addVolume([392, 343, 866, 842, 1952, 5291, 5292, 5045, 5816, 3541], 4484) + femmesh.addVolume([832, 389, 340, 341, 4873, 1943, 4875, 5629, 1944, 1794], 4485) + femmesh.addVolume([638, 162, 182, 553, 5643, 1312, 4206, 2807, 5079, 5080], 4486) + femmesh.addVolume([750, 315, 809, 751, 5083, 5085, 3348, 3170, 5352, 3349], 4487) + femmesh.addVolume([797, 838, 729, 347, 3453, 3450, 3314, 4906, 4905, 5272], 4488) + femmesh.addVolume([135, 109, 573, 24, 4704, 2600, 4715, 1160, 4965, 4790], 4489) + femmesh.addVolume([796, 277, 770, 338, 4852, 5659, 3318, 4571, 1783, 5178], 4490) + femmesh.addVolume([716, 714, 778, 266, 3061, 3247, 3248, 5405, 4971, 5137], 4491) + femmesh.addVolume([582, 153, 154, 256, 5494, 1217, 5002, 5003, 1519, 1516], 4492) + femmesh.addVolume([277, 796, 770, 720, 4852, 3318, 5659, 4784, 3311, 3227], 4493) + femmesh.addVolume([374, 802, 825, 743, 5112, 3435, 5114, 5817, 3328, 3434], 4494) + femmesh.addVolume([953, 981, 470, 471, 3927, 4083, 4264, 4265, 5420, 2201], 4495) + femmesh.addVolume([750, 315, 751, 701, 5083, 5352, 3170, 3166, 4108, 3168], 4496) + femmesh.addVolume([505, 79, 504, 189, 2421, 2419, 2423, 4549, 4454, 4912], 4497) + femmesh.addVolume([387, 433, 872, 940, 2077, 5362, 5610, 5657, 5313, 3775], 4498) + femmesh.addVolume([755, 814, 303, 358, 3363, 4656, 4654, 4235, 4236, 1840], 4499) + femmesh.addVolume([389, 907, 850, 867, 4668, 3667, 5628, 4874, 3668, 3545], 4500) + femmesh.addVolume([764, 797, 729, 355, 3313, 3314, 3213, 4379, 5537, 5538], 4501) + femmesh.addVolume([434, 953, 433, 471, 5574, 4263, 2082, 2200, 4265, 2199], 4502) + femmesh.addVolume([844, 408, 440, 421, 4448, 2175, 4951, 4449, 2044, 2123], 4503) + femmesh.addVolume([170, 506, 80, 50, 4956, 2424, 5016, 1250, 5727, 2386], 4504) + femmesh.addVolume([917, 879, 462, 891, 3696, 5131, 5132, 3697, 3622, 4011], 4505) + femmesh.addVolume([961, 480, 442, 932, 4334, 2228, 4346, 3844, 5717, 5681], 4506) + femmesh.addVolume([400, 450, 457, 823, 2150, 2269, 2234, 5804, 5008, 4902], 4507) + femmesh.addVolume([917, 499, 492, 479, 5127, 2325, 5426, 5128, 2326, 2270], 4508) + femmesh.addVolume([814, 356, 303, 358, 5242, 1836, 4656, 4236, 1877, 1840], 4509) + femmesh.addVolume([188, 169, 502, 47, 1328, 4563, 4562, 1294, 1249, 5551], 4510) + femmesh.addVolume([815, 356, 814, 862, 5240, 5242, 3368, 3526, 5506, 3525], 4511) + femmesh.addVolume([293, 802, 374, 743, 5788, 5112, 1899, 3952, 3328, 5817], 4512) + femmesh.addVolume([288, 615, 676, 619, 4510, 2941, 5377, 4511, 2885, 2940], 4513) + femmesh.addVolume([931, 455, 490, 960, 5245, 2256, 5187, 3841, 5110, 4366], 4514) + femmesh.addVolume([323, 293, 374, 743, 1740, 1899, 1900, 5032, 3952, 5817], 4515) + femmesh.addVolume([553, 552, 20, 105, 2550, 4183, 5081, 2548, 2546, 5154], 4516) + femmesh.addVolume([491, 980, 494, 468, 3984, 4168, 2314, 2295, 3985, 2296], 4517) + femmesh.addVolume([71, 153, 536, 42, 5495, 4827, 2500, 2363, 1212, 4892], 4518) + femmesh.addVolume([81, 506, 190, 50, 2425, 4861, 4958, 2385, 5727, 1299], 4519) + femmesh.addVolume([970, 430, 468, 467, 5699, 2190, 3986, 4834, 2188, 2192], 4520) + femmesh.addVolume([596, 142, 174, 217, 4720, 1261, 5795, 5204, 1407, 1408], 4521) + femmesh.addVolume([821, 343, 344, 842, 5375, 1803, 5239, 3463, 5816, 5715], 4522) + femmesh.addVolume([307, 753, 704, 754, 5077, 3175, 5614, 5631, 3179, 3177], 4523) + femmesh.addVolume([343, 821, 866, 842, 5375, 3538, 5291, 5816, 3463, 3541], 4524) + femmesh.addVolume([225, 194, 256, 621, 1667, 1550, 1523, 4238, 4115, 5770], 4525) + femmesh.addVolume([5, 117, 6, 91, 1106, 1107, 987, 5778, 5429, 5661], 4526) + femmesh.addVolume([315, 375, 809, 751, 1903, 4878, 5085, 5352, 5473, 3349], 4527) + femmesh.addVolume([789, 400, 457, 823, 5483, 2234, 5249, 3398, 5804, 4902], 4528) + femmesh.addVolume([12, 13, 567, 124, 994, 4612, 4835, 1126, 1127, 4614], 4529) + femmesh.addVolume([160, 634, 633, 548, 4926, 2796, 4928, 4887, 2794, 2792], 4530) + femmesh.addVolume([232, 180, 634, 160, 1447, 4517, 4515, 1448, 1310, 4926], 4531) + femmesh.addVolume([244, 232, 319, 698, 1478, 1721, 1722, 4697, 5195, 5613], 4532) + femmesh.addVolume([789, 400, 768, 737, 5483, 5595, 3292, 3291, 5596, 3220], 4533) + femmesh.addVolume([294, 813, 349, 754, 5402, 4133, 1815, 5097, 3360, 5635], 4534) + femmesh.addVolume([26, 111, 574, 112, 4898, 2602, 3987, 5301, 1098, 2601], 4535) + femmesh.addVolume([645, 166, 185, 240, 5380, 1326, 4300, 5050, 1464, 1465], 4536) + femmesh.addVolume([162, 552, 20, 553, 4184, 4183, 1233, 5079, 2550, 5081], 4537) + femmesh.addVolume([513, 87, 512, 173, 2445, 2443, 2447, 4423, 4424, 5099], 4538) + femmesh.addVolume([395, 842, 870, 800, 5753, 3556, 5344, 5345, 3464, 3555], 4539) + femmesh.addVolume([643, 258, 165, 184, 4711, 1530, 4713, 4897, 1531, 1325], 4540) + femmesh.addVolume([343, 392, 344, 842, 1952, 1953, 1803, 5816, 5045, 5715], 4541) + femmesh.addVolume([788, 395, 800, 842, 5392, 5345, 3323, 3462, 5753, 3464], 4542) + femmesh.addVolume([370, 730, 438, 361, 4639, 5646, 2092, 1884, 4542, 2093], 4543) + femmesh.addVolume([763, 370, 836, 407, 4638, 4640, 3444, 5434, 1998, 4560], 4544) + femmesh.addVolume([95, 543, 10, 542, 2518, 4286, 4285, 2516, 2520, 5675], 4545) + femmesh.addVolume([518, 95, 566, 10, 2460, 2586, 2655, 5254, 4285, 5282], 4546) + femmesh.addVolume([761, 714, 198, 267, 3199, 5148, 5626, 5602, 4970, 1567], 4547) + femmesh.addVolume([499, 917, 950, 943, 5127, 3809, 4499, 5129, 3787, 3812], 4548) + femmesh.addVolume([730, 370, 438, 836, 4639, 2092, 5646, 3443, 4640, 4031], 4549) + femmesh.addVolume([870, 912, 437, 869, 3684, 5022, 5707, 3557, 3683, 4684], 4550) + femmesh.addVolume([475, 407, 836, 438, 2211, 4560, 4558, 2212, 2094, 4031], 4551) + femmesh.addVolume([373, 848, 374, 802, 4311, 5113, 1901, 5680, 3483, 5112], 4552) + femmesh.addVolume([552, 162, 638, 553, 4184, 5643, 2806, 2550, 5079, 2807], 4553) + femmesh.addVolume([895, 890, 449, 415, 3634, 5813, 5564, 5310, 5311, 2130], 4554) + femmesh.addVolume([370, 407, 438, 836, 1998, 2094, 2092, 4640, 4560, 4031], 4555) + femmesh.addVolume([133, 606, 208, 607, 4032, 5605, 1380, 4034, 2869, 5743], 4556) + femmesh.addVolume([307, 294, 349, 754, 1715, 1815, 1816, 5631, 5097, 5635], 4557) + femmesh.addVolume([904, 903, 937, 445, 3661, 3764, 3765, 4738, 4242, 4243], 4558) + femmesh.addVolume([904, 937, 423, 445, 3765, 4682, 4308, 4738, 4243, 2163], 4559) + femmesh.addVolume([925, 882, 924, 460, 3726, 3779, 3780, 5740, 5197, 4469], 4560) + femmesh.addVolume([656, 134, 572, 525, 5791, 5413, 2871, 2870, 5789, 2650], 4561) + femmesh.addVolume([532, 578, 218, 622, 2658, 4298, 5532, 2756, 2757, 4299], 4562) + femmesh.addVolume([419, 848, 882, 888, 4160, 3593, 4161, 4462, 3611, 3612], 4563) + femmesh.addVolume([577, 59, 33, 143, 2609, 2346, 5038, 4197, 4196, 1186], 4564) + femmesh.addVolume([59, 32, 33, 143, 2345, 1015, 2346, 4196, 1185, 1186], 4565) + femmesh.addVolume([153, 582, 621, 256, 5494, 2754, 5589, 1519, 5003, 5770], 4566) + femmesh.addVolume([848, 419, 840, 888, 4160, 5253, 3484, 3611, 4462, 3610], 4567) + femmesh.addVolume([582, 153, 536, 71, 5494, 4827, 2643, 2624, 5495, 2500], 4568) + femmesh.addVolume([483, 419, 888, 420, 2235, 4462, 4461, 2236, 2167, 4004], 4569) + femmesh.addVolume([419, 840, 888, 420, 5253, 3610, 4462, 2167, 4002, 4004], 4570) + femmesh.addVolume([195, 648, 119, 194, 5063, 5162, 1340, 1342, 5435, 1339], 4571) + femmesh.addVolume([925, 458, 882, 460, 4159, 4156, 3726, 5740, 2166, 5197], 4572) + femmesh.addVolume([898, 455, 932, 442, 4945, 5733, 3749, 4946, 2155, 5681], 4573) + femmesh.addVolume([425, 379, 424, 946, 2053, 2052, 2055, 4649, 5306, 4650], 4574) + femmesh.addVolume([364, 326, 676, 737, 1865, 5376, 4823, 5597, 5615, 3129], 4575) + femmesh.addVolume([954, 947, 424, 946, 3824, 4367, 4064, 3822, 3799, 4650], 4576) + femmesh.addVolume([650, 120, 195, 618, 5425, 1341, 5692, 2846, 5350, 5065], 4577) + femmesh.addVolume([176, 627, 542, 157, 5323, 2774, 5437, 1336, 5810, 4730], 4578) + femmesh.addVolume([8, 565, 9, 94, 5165, 4465, 990, 5166, 2583, 4467], 4579) + femmesh.addVolume([453, 934, 962, 933, 5547, 3848, 5764, 5710, 3757, 3847], 4580) + femmesh.addVolume([441, 901, 934, 900, 4963, 3756, 5546, 4148, 3652, 3755], 4581) + femmesh.addVolume([684, 320, 314, 767, 5060, 1817, 4693, 3219, 5522, 4688], 4582) + femmesh.addVolume([7, 8, 517, 119, 989, 5726, 4648, 1111, 1112, 4867], 4583) + femmesh.addVolume([23, 109, 556, 108, 4706, 2558, 5268, 5315, 1095, 2557], 4584) + femmesh.addVolume([2, 4, 984, 515, 2399, 5019, 4382, 5511, 2452, 5718], 4585) + femmesh.addVolume([513, 56, 173, 174, 4422, 1256, 4423, 5671, 1259, 1260], 4586) + femmesh.addVolume([364, 785, 768, 724, 5658, 3310, 4824, 4825, 3274, 3257], 4587) + femmesh.addVolume([943, 478, 922, 971, 5416, 4939, 3788, 3876, 4483, 3875], 4588) + femmesh.addVolume([178, 631, 630, 545, 4544, 2787, 4545, 4552, 2785, 2783], 4589) + femmesh.addVolume([235, 257, 640, 163, 1529, 5288, 5287, 1453, 1528, 5417], 4590) + femmesh.addVolume([446, 444, 886, 416, 2119, 4426, 4428, 2117, 2113, 4251], 4591) + femmesh.addVolume([881, 329, 819, 830, 4360, 4057, 3588, 3590, 5309, 3420], 4592) + femmesh.addVolume([381, 892, 846, 380, 4443, 3624, 5683, 1921, 4596, 4597], 4593) + femmesh.addVolume([463, 464, 426, 952, 2180, 2178, 2177, 4072, 5690, 4040], 4594) + femmesh.addVolume([425, 379, 911, 380, 2053, 4065, 4582, 2054, 1918, 4067], 4595) + femmesh.addVolume([895, 928, 449, 890, 3737, 4591, 5564, 3634, 3736, 5813], 4596) + femmesh.addVolume([48, 79, 49, 189, 2402, 2384, 1032, 1297, 4454, 1296], 4597) + femmesh.addVolume([893, 428, 427, 382, 4355, 2064, 5335, 5260, 2062, 2060], 4598) + femmesh.addVolume([428, 948, 941, 465, 4357, 3819, 4356, 2182, 5734, 4492], 4599) + femmesh.addVolume([892, 426, 427, 921, 4444, 2061, 4445, 3715, 4039, 5236], 4600) + femmesh.addVolume([893, 892, 427, 941, 3628, 4445, 5335, 3783, 3781, 4493], 4601) + femmesh.addVolume([692, 627, 691, 229, 2982, 2980, 2984, 5104, 5673, 4052], 4602) + femmesh.addVolume([627, 231, 691, 229, 5325, 4050, 2980, 5673, 1446, 4052], 4603) + femmesh.addVolume([734, 332, 798, 834, 5654, 5542, 3317, 3431, 4744, 3430], 4604) + femmesh.addVolume([744, 695, 228, 322, 3148, 4044, 4746, 4587, 4045, 1734], 4605) + femmesh.addVolume([899, 857, 410, 900, 3645, 4353, 5087, 3649, 3647, 5089], 4606) + femmesh.addVolume([371, 373, 322, 803, 1898, 1896, 1888, 5290, 4313, 4589], 4607) + femmesh.addVolume([453, 442, 410, 933, 2141, 2104, 2140, 5710, 4347, 5088], 4608) + femmesh.addVolume([211, 657, 608, 682, 5175, 2896, 4809, 4810, 2954, 2955], 4609) + femmesh.addVolume([173, 250, 512, 262, 1490, 5463, 5099, 1544, 1545, 5100], 4610) + femmesh.addVolume([899, 442, 932, 933, 5663, 5681, 3750, 3752, 4347, 3754], 4611) + femmesh.addVolume([442, 899, 410, 933, 5663, 5087, 2104, 4347, 3752, 5088], 4612) + femmesh.addVolume([863, 376, 905, 404, 5121, 4802, 3663, 5122, 1991, 4803], 4613) + femmesh.addVolume([135, 109, 24, 23, 4704, 4965, 1160, 1159, 4706, 1005], 4614) + femmesh.addVolume([134, 656, 572, 607, 5791, 2871, 5413, 5430, 2897, 2722], 4615) + femmesh.addVolume([401, 860, 349, 358, 4165, 4131, 1983, 1982, 4132, 1894], 4616) + femmesh.addVolume([274, 774, 828, 335, 5018, 3411, 5656, 1774, 5762, 4199], 4617) + femmesh.addVolume([340, 832, 341, 280, 4875, 5629, 1794, 1790, 5171, 1792], 4618) + femmesh.addVolume([774, 335, 795, 828, 5762, 4198, 3307, 3411, 4199, 3413], 4619) + femmesh.addVolume([893, 892, 845, 382, 3628, 3623, 3627, 5260, 5334, 5508], 4620) + femmesh.addVolume([436, 912, 894, 926, 5021, 3730, 4672, 5090, 3731, 3732], 4621) + femmesh.addVolume([595, 309, 262, 250, 5015, 1689, 5460, 4750, 1731, 1545], 4622) + femmesh.addVolume([807, 748, 806, 369, 3342, 3340, 3344, 4331, 5398, 5400], 4623) + femmesh.addVolume([463, 485, 975, 968, 2251, 4661, 4071, 4073, 4662, 3924], 4624) + femmesh.addVolume([231, 626, 627, 691, 5324, 2775, 5325, 4050, 2979, 2980], 4625) + femmesh.addVolume([219, 728, 614, 600, 5431, 3110, 5371, 5372, 3107, 2738], 4626) + femmesh.addVolume([145, 146, 578, 218, 1194, 5783, 5552, 1410, 1411, 4298], 4627) + femmesh.addVolume([843, 444, 886, 839, 4153, 4426, 3603, 3547, 5027, 3604], 4628) + femmesh.addVolume([79, 78, 504, 189, 1064, 2418, 2419, 4454, 4453, 4912], 4629) + femmesh.addVolume([245, 727, 611, 614, 4126, 3103, 4125, 4416, 3104, 2739], 4630) + femmesh.addVolume([554, 21, 182, 163, 5517, 1281, 5722, 5462, 1236, 1323], 4631) + femmesh.addVolume([513, 514, 88, 174, 2450, 2448, 2446, 5671, 5685, 5672], 4632) + femmesh.addVolume([587, 505, 504, 189, 2671, 2423, 2670, 4911, 4549, 4912], 4633) + femmesh.addVolume([985, 5, 193, 1, 4387, 1306, 4586, 4390, 986, 1104], 4634) + femmesh.addVolume([250, 595, 512, 262, 4750, 2694, 5463, 1545, 5460, 5100], 4635) + femmesh.addVolume([425, 947, 968, 952, 4041, 3865, 4368, 4042, 3817, 3886], 4636) + femmesh.addVolume([319, 367, 806, 369, 1871, 4780, 5399, 1879, 1880, 5400], 4637) + femmesh.addVolume([230, 697, 244, 316, 5179, 4696, 1477, 1712, 4773, 1711], 4638) + femmesh.addVolume([521, 15, 126, 568, 4576, 1133, 4595, 2646, 4759, 4761], 4639) + femmesh.addVolume([924, 498, 493, 460, 4209, 2328, 4180, 4469, 2327, 2274], 4640) + femmesh.addVolume([477, 461, 896, 930, 2221, 5691, 5576, 4728, 5760, 3743], 4641) + femmesh.addVolume([846, 381, 380, 332, 5683, 1921, 4597, 4743, 1919, 1917], 4642) + femmesh.addVolume([799, 788, 821, 344, 3394, 3414, 3387, 5058, 5056, 5239], 4643) + femmesh.addVolume([401, 406, 902, 443, 1995, 5496, 5566, 2108, 2109, 5720], 4644) + femmesh.addVolume([332, 846, 798, 834, 4743, 3477, 5542, 4744, 3478, 3430], 4645) + femmesh.addVolume([255, 312, 223, 651, 1698, 1699, 1508, 5244, 5250, 5755], 4646) + femmesh.addVolume([690, 626, 231, 691, 2978, 5324, 5776, 2981, 2979, 4050], 4647) + femmesh.addVolume([617, 255, 651, 310, 5243, 5244, 2850, 5792, 1693, 5251], 4648) + femmesh.addVolume([280, 832, 341, 776, 5171, 5629, 1792, 4252, 3425, 4793], 4649) + femmesh.addVolume([956, 488, 967, 484, 4273, 5383, 3887, 5381, 2263, 4976], 4650) + femmesh.addVolume([821, 343, 283, 344, 5375, 1799, 5238, 5239, 1803, 1801], 4651) + femmesh.addVolume([870, 842, 395, 392, 3556, 5753, 5344, 5044, 5045, 1964], 4652) + femmesh.addVolume([151, 535, 223, 619, 5728, 4089, 1425, 5609, 2751, 4513], 4653) + femmesh.addVolume([617, 255, 310, 220, 5243, 1693, 5792, 4440, 1509, 1692], 4654) + femmesh.addVolume([255, 150, 580, 223, 1507, 4088, 4526, 1508, 1424, 4090], 4655) + femmesh.addVolume([392, 920, 842, 866, 5046, 3713, 5045, 5292, 3723, 3541], 4656) + femmesh.addVolume([467, 480, 976, 979, 2321, 5115, 3971, 4306, 4335, 3919], 4657) + femmesh.addVolume([970, 467, 976, 955, 4834, 3971, 3897, 3872, 4307, 3898], 4658) + femmesh.addVolume([266, 716, 773, 778, 5405, 3236, 5138, 5137, 3248, 3249], 4659) + femmesh.addVolume([199, 268, 689, 198, 1570, 4049, 4047, 1354, 1569, 5693], 4660) + femmesh.addVolume([414, 876, 327, 824, 5277, 5274, 2020, 5470, 3573, 5276], 4661) + femmesh.addVolume([197, 716, 266, 714, 4894, 5405, 1564, 4895, 3061, 4971], 4662) + femmesh.addVolume([709, 645, 240, 710, 3034, 5050, 4606, 3038, 3036, 4607], 4663) + femmesh.addVolume([961, 491, 480, 976, 4344, 2261, 4334, 3909, 3972, 5115], 4664) + femmesh.addVolume([832, 794, 341, 776, 3438, 4676, 5629, 3425, 3305, 4793], 4665) + femmesh.addVolume([491, 961, 933, 962, 4344, 3845, 4345, 4341, 3849, 3847], 4666) + femmesh.addVolume([382, 893, 383, 875, 5260, 5261, 1927, 5448, 3626, 5450], 4667) + femmesh.addVolume([400, 352, 737, 787, 1978, 5698, 5596, 5524, 4847, 3467], 4668) + femmesh.addVolume([789, 400, 737, 787, 5483, 5596, 3291, 3468, 5524, 3467], 4669) + femmesh.addVolume([19, 131, 20, 523, 1147, 1148, 1001, 5155, 5220, 5156], 4670) + femmesh.addVolume([292, 816, 350, 757, 4698, 5270, 1818, 4262, 3369, 5271], 4671) + femmesh.addVolume([334, 781, 831, 828, 4540, 3424, 5652, 5655, 3412, 3474], 4672) + femmesh.addVolume([485, 966, 975, 971, 4480, 3894, 4661, 4481, 3914, 3917], 4673) + femmesh.addVolume([523, 605, 570, 130, 2718, 2719, 2648, 5455, 4112, 5338], 4674) + femmesh.addVolume([224, 624, 619, 289, 5585, 2764, 4969, 1629, 5586, 5298], 4675) + femmesh.addVolume([183, 257, 640, 641, 1527, 5288, 5150, 5151, 4225, 2817], 4676) + femmesh.addVolume([480, 466, 979, 467, 2315, 4354, 4335, 2321, 2189, 4306], 4677) + femmesh.addVolume([624, 536, 152, 581, 2762, 4522, 4524, 2763, 2657, 4855], 4678) + femmesh.addVolume([725, 320, 289, 225, 4239, 1805, 5234, 4240, 1727, 1630], 4679) + femmesh.addVolume([332, 272, 734, 798, 1766, 5744, 5654, 5542, 5062, 3317], 4680) + femmesh.addVolume([818, 785, 456, 731, 3375, 5752, 5385, 3376, 3276, 5229], 4681) + femmesh.addVolume([538, 155, 6, 5, 5074, 1219, 5745, 5771, 1220, 987], 4682) + femmesh.addVolume([272, 733, 734, 798, 5061, 3217, 5744, 5062, 3316, 3317], 4683) + femmesh.addVolume([664, 263, 729, 347, 5424, 5606, 3112, 5273, 1811, 5272], 4684) + femmesh.addVolume([16, 128, 17, 569, 1138, 1139, 998, 5035, 5491, 5295], 4685) + femmesh.addVolume([331, 379, 380, 878, 1914, 1918, 1916, 4014, 4015, 4066], 4686) + femmesh.addVolume([788, 395, 344, 325, 5392, 1961, 5056, 4807, 1962, 1890], 4687) + femmesh.addVolume([351, 667, 299, 668, 4149, 5255, 1821, 5409, 2920, 4869], 4688) + femmesh.addVolume([898, 855, 897, 413, 3641, 3639, 3643, 4626, 4628, 5758], 4689) + femmesh.addVolume([351, 760, 668, 295, 4314, 3195, 5409, 1820, 4316, 4870], 4690) + femmesh.addVolume([340, 822, 388, 867, 4983, 4985, 1941, 4876, 3544, 5327], 4691) + femmesh.addVolume([518, 10, 121, 9, 5254, 1118, 5308, 4466, 991, 1117], 4692) + femmesh.addVolume([408, 362, 731, 456, 2001, 5806, 5070, 2153, 2154, 5229], 4693) + femmesh.addVolume([518, 95, 9, 94, 2460, 4968, 4466, 2461, 1081, 4467], 4694) + femmesh.addVolume([265, 717, 314, 767, 5562, 4692, 1725, 4686, 3218, 4688], 4695) + femmesh.addVolume([777, 408, 362, 731, 5069, 2001, 5688, 3246, 5070, 5806], 4696) + femmesh.addVolume([387, 822, 388, 339, 5612, 4985, 1942, 1938, 4984, 1940], 4697) + femmesh.addVolume([973, 975, 487, 493, 3895, 4035, 5458, 5459, 5600, 2275], 4698) + femmesh.addVolume([804, 321, 745, 371, 3974, 3976, 3333, 5170, 1887, 5548], 4699) + femmesh.addVolume([348, 397, 415, 852, 1969, 2023, 2021, 5678, 5209, 5312], 4700) + femmesh.addVolume([477, 461, 930, 497, 2221, 5760, 4728, 2307, 2308, 4102], 4701) + femmesh.addVolume([378, 884, 946, 379, 4507, 3794, 4653, 1915, 4857, 5306], 4702) + femmesh.addVolume([461, 958, 930, 497, 4919, 3836, 5760, 2308, 4101, 4102], 4703) + femmesh.addVolume([444, 843, 457, 839, 4153, 4154, 2158, 5027, 3547, 4900], 4704) + femmesh.addVolume([623, 122, 123, 198, 4266, 1125, 5627, 4268, 1349, 1350], 4705) + femmesh.addVolume([601, 200, 201, 715, 4535, 1360, 5326, 3055, 5442, 5621], 4706) + femmesh.addVolume([568, 125, 126, 601, 4814, 1134, 4761, 2710, 4534, 5749], 4707) + femmesh.addVolume([799, 214, 284, 283, 4602, 1617, 5057, 5237, 1615, 1619], 4708) + femmesh.addVolume([786, 271, 734, 834, 5141, 5149, 3281, 3439, 5651, 3431], 4709) + femmesh.addVolume([689, 623, 599, 198, 2975, 2761, 2974, 5693, 4268, 5697], 4710) + femmesh.addVolume([489, 958, 957, 929, 4920, 3837, 4569, 4865, 3835, 3834], 4711) + femmesh.addVolume([342, 835, 866, 343, 5650, 3539, 5410, 1800, 4890, 5291], 4712) + femmesh.addVolume([623, 123, 599, 198, 5627, 4622, 2761, 4268, 1350, 5697], 4713) + femmesh.addVolume([475, 914, 877, 869, 4685, 3691, 4949, 4557, 3689, 3577], 4714) + femmesh.addVolume([134, 133, 209, 607, 1158, 1382, 1383, 5430, 4034, 5737], 4715) + femmesh.addVolume([296, 758, 239, 709, 4006, 4518, 1647, 4325, 3190, 4520], 4716) + femmesh.addVolume([656, 210, 209, 134, 4094, 1387, 4907, 5791, 1385, 1383], 4717) + femmesh.addVolume([375, 857, 372, 809, 4352, 5797, 1904, 4878, 3510, 5086], 4718) + femmesh.addVolume([725, 320, 767, 772, 4239, 5522, 3222, 3232, 5521, 3235], 4719) + femmesh.addVolume([254, 628, 692, 229, 4201, 2983, 5303, 1504, 5809, 5104], 4720) + femmesh.addVolume([629, 158, 226, 630, 4116, 1432, 4288, 2784, 4118, 4798], 4721) + femmesh.addVolume([293, 694, 226, 228, 3950, 4106, 1641, 1640, 4096, 1518], 4722) + femmesh.addVolume([656, 134, 209, 607, 5791, 1383, 4907, 2897, 5430, 5737], 4723) + femmesh.addVolume([639, 235, 640, 163, 5497, 5287, 2814, 5641, 1453, 5417], 4724) + femmesh.addVolume([555, 183, 22, 163, 5152, 1284, 5666, 5418, 1313, 1235], 4725) + femmesh.addVolume([582, 256, 537, 597, 5003, 5005, 2656, 2702, 4741, 2701], 4726) + femmesh.addVolume([411, 826, 438, 448, 4119, 4029, 2111, 2125, 4281, 2127], 4727) + femmesh.addVolume([263, 664, 300, 347, 5424, 4671, 1726, 1811, 5273, 1810], 4728) + femmesh.addVolume([221, 532, 576, 146, 5531, 2606, 5478, 1417, 4271, 4272], 4729) + femmesh.addVolume([40, 150, 68, 39, 1204, 4270, 2360, 1022, 1203, 2374], 4730) + femmesh.addVolume([241, 297, 259, 726, 1650, 1651, 1533, 4053, 4024, 4055], 4731) + femmesh.addVolume([764, 662, 286, 663, 3206, 4723, 4384, 3207, 2908, 5096], 4732) + femmesh.addVolume([808, 750, 372, 809, 3346, 5084, 5168, 3350, 3348, 5086], 4733) + femmesh.addVolume([113, 527, 28, 575, 2478, 5379, 4373, 2604, 2638, 5787], 4734) + femmesh.addVolume([254, 628, 229, 157, 4201, 5809, 1504, 1503, 4188, 1439], 4735) + femmesh.addVolume([877, 475, 836, 438, 4949, 4558, 3576, 4030, 2212, 4031], 4736) + femmesh.addVolume([342, 282, 281, 775, 1796, 1613, 1795, 5316, 4909, 5317], 4737) + femmesh.addVolume([436, 926, 894, 435, 5090, 3732, 4672, 2088, 4637, 4666], 4738) + femmesh.addVolume([447, 376, 905, 423, 2120, 4802, 4304, 2121, 2049, 4309], 4739) + femmesh.addVolume([472, 488, 956, 484, 2304, 4273, 5190, 2303, 2263, 5381], 4740) + femmesh.addVolume([396, 346, 355, 820, 1965, 1852, 1967, 5648, 5649, 4378], 4741) + femmesh.addVolume([353, 736, 732, 721, 5527, 3127, 5781, 5777, 3125, 3118], 4742) + femmesh.addVolume([516, 73, 90, 193, 2578, 2455, 2457, 4084, 4085, 4496], 4743) + femmesh.addVolume([365, 346, 396, 820, 1867, 1965, 1966, 5488, 5649, 5648], 4744) + femmesh.addVolume([985, 73, 1, 193, 5093, 2368, 4390, 4586, 4085, 1104], 4745) + femmesh.addVolume([342, 835, 794, 847, 5650, 3442, 4675, 5411, 3480, 3481], 4746) + femmesh.addVolume([774, 335, 275, 795, 5762, 1775, 4987, 3307, 4198, 4988], 4747) + femmesh.addVolume([774, 205, 275, 274, 4959, 1590, 4987, 5018, 1588, 1592], 4748) + femmesh.addVolume([865, 365, 396, 820, 4192, 1966, 5579, 3536, 5488, 5648], 4749) + femmesh.addVolume([313, 612, 721, 723, 4022, 3082, 4863, 5800, 3088, 3095], 4750) + femmesh.addVolume([849, 884, 330, 878, 3597, 4856, 4833, 3580, 3600, 4016], 4751) + femmesh.addVolume([582, 43, 72, 154, 5493, 2365, 2623, 5002, 1215, 5247], 4752) + femmesh.addVolume([907, 390, 850, 894, 4663, 4479, 3667, 3706, 4664, 3631], 4753) + femmesh.addVolume([153, 43, 582, 154, 1213, 5493, 5494, 1217, 1215, 5002], 4754) + femmesh.addVolume([659, 216, 671, 713, 4220, 5556, 2927, 3047, 4221, 3050], 4755) + femmesh.addVolume([335, 868, 828, 875, 3994, 3549, 4199, 5721, 3570, 3568], 4756) + femmesh.addVolume([744, 293, 743, 802, 3951, 3952, 3149, 3329, 5788, 3328], 4757) + femmesh.addVolume([893, 887, 383, 875, 3629, 4351, 5261, 3626, 3608, 5450], 4758) + femmesh.addVolume([741, 739, 324, 691, 3140, 5389, 5109, 3138, 3135, 4051], 4759) + femmesh.addVolume([500, 984, 116, 31, 5709, 5226, 2579, 5225, 5714, 4781], 4760) + femmesh.addVolume([540, 7, 8, 93, 4278, 989, 4348, 2510, 4826, 5164], 4761) + femmesh.addVolume([649, 242, 501, 168, 5472, 3935, 2841, 5454, 1471, 3937], 4762) + femmesh.addVolume([334, 335, 828, 875, 1776, 4199, 5655, 5449, 5721, 3568], 4763) + femmesh.addVolume([904, 862, 861, 399, 3660, 3527, 3659, 4075, 4916, 4076], 4764) + femmesh.addVolume([783, 285, 215, 713, 5020, 1620, 4996, 3287, 5818, 4223], 4765) + femmesh.addVolume([617, 255, 220, 149, 5243, 1509, 4440, 5774, 1506, 1416], 4766) + femmesh.addVolume([340, 782, 339, 822, 4293, 5761, 1791, 4983, 3406, 4984], 4767) + femmesh.addVolume([579, 617, 220, 149, 2747, 4440, 5593, 4488, 5774, 1416], 4768) + femmesh.addVolume([749, 290, 357, 304, 4536, 1839, 5653, 5475, 1702, 1838], 4769) + femmesh.addVolume([775, 682, 281, 776, 3241, 5581, 5317, 3288, 3242, 4794], 4770) + femmesh.addVolume([934, 441, 900, 453, 5546, 4148, 3755, 5547, 2139, 5711], 4771) + femmesh.addVolume([12, 158, 11, 544, 1225, 1226, 993, 5790, 4117, 4163], 4772) + femmesh.addVolume([694, 323, 693, 743, 4104, 4105, 2990, 3145, 5032, 3144], 4773) + femmesh.addVolume([255, 651, 580, 534, 5244, 2848, 4526, 4525, 2849, 2641], 4774) + femmesh.addVolume([793, 339, 279, 782, 5535, 1787, 5314, 3393, 5761, 4012], 4775) + femmesh.addVolume([463, 485, 968, 425, 2251, 4662, 4073, 2176, 2242, 4368], 4776) + femmesh.addVolume([694, 323, 293, 226, 4104, 1740, 3950, 4106, 1737, 1641], 4777) + femmesh.addVolume([279, 782, 339, 340, 4012, 5761, 1787, 1789, 4293, 1791], 4778) + femmesh.addVolume([177, 158, 544, 11, 1335, 4117, 5731, 1271, 1226, 4163], 4779) + femmesh.addVolume([266, 714, 778, 267, 4971, 3247, 5137, 1568, 4970, 5766], 4780) + femmesh.addVolume([981, 953, 982, 471, 3927, 3921, 3926, 5420, 4265, 5421], 4781) + femmesh.addVolume([596, 513, 174, 514, 2697, 5671, 5795, 2698, 2450, 5685], 4782) + femmesh.addVolume([983, 964, 481, 981, 2340, 4253, 4080, 2330, 2339, 4082], 4783) + femmesh.addVolume([862, 815, 350, 863, 3526, 5269, 5682, 3530, 3528, 5123], 4784) + femmesh.addVolume([796, 738, 336, 795, 3312, 5451, 3964, 3405, 3306, 3965], 4785) + femmesh.addVolume([191, 510, 53, 172, 5669, 4333, 1300, 1331, 5263, 1255], 4786) + femmesh.addVolume([342, 343, 866, 391, 1800, 5291, 5410, 1949, 1950, 4880], 4787) + femmesh.addVolume([285, 783, 671, 713, 5020, 3269, 5557, 5818, 3287, 3050], 4788) + femmesh.addVolume([257, 705, 237, 294, 4224, 4226, 1551, 1642, 4717, 1658], 4789) + femmesh.addVolume([285, 216, 215, 713, 1621, 1405, 1620, 5818, 4221, 4223], 4790) + femmesh.addVolume([868, 384, 336, 841, 3992, 1929, 5723, 3553, 5696, 3963], 4791) + femmesh.addVolume([208, 606, 720, 679, 5605, 3077, 4785, 5705, 2947, 3079], 4792) + femmesh.addVolume([596, 595, 217, 262, 2699, 5561, 5204, 5461, 5460, 1546], 4793) + femmesh.addVolume([406, 859, 363, 349, 4882, 5321, 2002, 1996, 5196, 1862], 4794) + femmesh.addVolume([675, 774, 781, 274, 3267, 3315, 3262, 5017, 5018, 4539], 4795) + femmesh.addVolume([392, 920, 391, 437, 5046, 4879, 1954, 2090, 5706, 2089], 4796) + femmesh.addVolume([271, 202, 685, 734, 1579, 5048, 5142, 5149, 5617, 3122], 4797) + femmesh.addVolume([125, 653, 520, 124, 4532, 2860, 4401, 1131, 4616, 4613], 4798) + femmesh.addVolume([442, 961, 932, 933, 4346, 3844, 5681, 4347, 3845, 3754], 4799) + femmesh.addVolume([863, 906, 864, 404, 3664, 3665, 3533, 5122, 3991, 4931], 4800) + femmesh.addVolume([384, 841, 385, 336, 5696, 5259, 1933, 1929, 3963, 1931], 4801) + femmesh.addVolume([513, 596, 174, 262, 2697, 5795, 5671, 5098, 5461, 1543], 4802) + femmesh.addVolume([454, 404, 405, 919, 2144, 2103, 2143, 4922, 4933, 4934], 4803) + femmesh.addVolume([606, 712, 655, 207, 3046, 3043, 2898, 5073, 4772, 5053], 4804) + femmesh.addVolume([906, 404, 454, 919, 3991, 2144, 3990, 3710, 4933, 4922], 4805) + femmesh.addVolume([216, 285, 671, 713, 1621, 5557, 5556, 4221, 5818, 3050], 4806) + femmesh.addVolume([521, 16, 569, 127, 4577, 5035, 2632, 4091, 1136, 5545], 4807) + femmesh.addVolume([893, 382, 845, 875, 5260, 5508, 3627, 3626, 5448, 3571], 4808) + femmesh.addVolume([946, 379, 878, 911, 5306, 4015, 3793, 3796, 4065, 3682], 4809) + femmesh.addVolume([650, 518, 598, 121, 2844, 2704, 2847, 5481, 5308, 5590], 4810) + femmesh.addVolume([380, 846, 878, 911, 4597, 3581, 4066, 4067, 3681, 3682], 4811) + femmesh.addVolume([598, 122, 197, 121, 5419, 1347, 4893, 5590, 1122, 1346], 4812) + femmesh.addVolume([202, 673, 272, 203, 5227, 3960, 1581, 1366, 3962, 1582], 4813) + femmesh.addVolume([518, 10, 566, 121, 5254, 5282, 2655, 5308, 1118, 5819], 4814) + femmesh.addVolume([10, 122, 566, 121, 1120, 5528, 5282, 1118, 1122, 5819], 4815) + femmesh.addVolume([791, 439, 407, 869, 4077, 2097, 4079, 3552, 5340, 4559], 4816) + femmesh.addVolume([826, 448, 877, 438, 4281, 4259, 3575, 4029, 2127, 4030], 4817) + femmesh.addVolume([791, 763, 836, 407, 3295, 3444, 3445, 4079, 5434, 4560], 4818) + femmesh.addVolume([518, 598, 121, 566, 2704, 5590, 5308, 2655, 2703, 5819], 4819) + femmesh.addVolume([407, 791, 869, 836, 4079, 3552, 4559, 4560, 3445, 3551], 4820) + femmesh.addVolume([598, 122, 121, 566, 5419, 1122, 5590, 2703, 5528, 5819], 4821) + femmesh.addVolume([496, 474, 495, 918, 2318, 2337, 2322, 4276, 4256, 5126], 4822) + femmesh.addVolume([448, 475, 877, 438, 2213, 4949, 4259, 2127, 2212, 4030], 4823) + femmesh.addVolume([439, 870, 437, 869, 5339, 5707, 2098, 5340, 3557, 4684], 4824) + femmesh.addVolume([484, 476, 982, 471, 2258, 4457, 4977, 2302, 2301, 5421], 4825) + femmesh.addVolume([639, 235, 182, 236, 5497, 1454, 4204, 4203, 1457, 1455], 4826) + femmesh.addVolume([925, 458, 493, 973, 4159, 2273, 4179, 3882, 5231, 5459], 4827) + femmesh.addVolume([10, 543, 96, 11, 4286, 2519, 4287, 992, 5801, 4164], 4828) + femmesh.addVolume([543, 177, 544, 11, 4187, 5731, 2523, 5801, 1271, 4163], 4829) + femmesh.addVolume([639, 638, 182, 553, 2811, 4206, 4204, 2809, 2807, 5080], 4830) + femmesh.addVolume([378, 881, 377, 942, 4506, 4797, 1912, 4652, 3785, 5457], 4831) + femmesh.addVolume([12, 123, 519, 11, 1124, 4837, 4135, 993, 1123, 4137], 4832) + femmesh.addVolume([524, 106, 132, 571, 2473, 4246, 5820, 2649, 2595, 5284], 4833) + femmesh.addVolume([106, 524, 132, 21, 2473, 5820, 4246, 4244, 4747, 1151], 4834) + femmesh.addVolume([419, 848, 374, 373, 4160, 5113, 2037, 2036, 4311, 1901], 4835) + femmesh.addVolume([133, 606, 132, 208, 4032, 5571, 1155, 1380, 5605, 1379], 4836) + femmesh.addVolume([403, 412, 366, 801, 2013, 2014, 1988, 4600, 5480, 5441], 4837) + femmesh.addVolume([329, 881, 874, 377, 4360, 3589, 4059, 1909, 4797, 5751], 4838) + femmesh.addVolume([455, 931, 932, 960, 5245, 3751, 5733, 5110, 3841, 3842], 4839) + femmesh.addVolume([428, 466, 948, 465, 2184, 4216, 4357, 2182, 2186, 5734], 4840) + femmesh.addVolume([978, 969, 974, 465, 3904, 3893, 3903, 4317, 4490, 4318], 4841) + femmesh.addVolume([16, 101, 569, 102, 4342, 2592, 5035, 4141, 1088, 2591], 4842) + femmesh.addVolume([807, 854, 369, 806, 3502, 4330, 4331, 3344, 3501, 5400], 4843) + femmesh.addVolume([133, 524, 21, 132, 4033, 4747, 1153, 1155, 5820, 1151], 4844) + femmesh.addVolume([524, 606, 571, 132, 2720, 2721, 2649, 5820, 5571, 5284], 4845) + femmesh.addVolume([547, 15, 179, 548, 5644, 1275, 5359, 2535, 5584, 5205], 4846) + femmesh.addVolume([133, 606, 524, 132, 4032, 2720, 4033, 1155, 5571, 5820], 4847) + femmesh.addVolume([675, 604, 204, 654, 2936, 4566, 4565, 2937, 2863, 5034], 4848) + femmesh.addVolume([301, 730, 665, 666, 4753, 3113, 4754, 5500, 3114, 3064], 4849) + femmesh.addVolume([590, 301, 665, 666, 4937, 4754, 2913, 2914, 5500, 3064], 4850) + femmesh.addVolume([65, 37, 533, 64, 2355, 5183, 2494, 1049, 2354, 2495], 4851) + femmesh.addVolume([818, 839, 482, 823, 3456, 4901, 5262, 3402, 3455, 4903], 4852) + femmesh.addVolume([980, 469, 494, 468, 4374, 2297, 4168, 3985, 2195, 2296], 4853) + femmesh.addVolume([170, 505, 506, 588, 4548, 2426, 4956, 5211, 2673, 2674], 4854) + femmesh.addVolume([532, 62, 63, 146, 2493, 1047, 2492, 4271, 5782, 4207], 4855) + femmesh.addVolume([364, 785, 724, 394, 5658, 3274, 4825, 1959, 5598, 5257], 4856) + femmesh.addVolume([623, 122, 566, 519, 4266, 5528, 2760, 2759, 5305, 2644], 4857) + femmesh.addVolume([885, 446, 886, 922, 4427, 4428, 3605, 3718, 5739, 3717], 4858) + femmesh.addVolume([401, 903, 445, 443, 4166, 4242, 2116, 2108, 5719, 2151], 4859) + femmesh.addVolume([177, 543, 544, 629, 4187, 2523, 5731, 4200, 2779, 2780], 4860) + femmesh.addVolume([176, 541, 542, 627, 5489, 2517, 5437, 5323, 2773, 2774], 4861) + femmesh.addVolume([631, 695, 228, 630, 2992, 4044, 4546, 2787, 2991, 4097], 4862) + femmesh.addVolume([541, 540, 8, 93, 2514, 4348, 5438, 2512, 2510, 5164], 4863) + femmesh.addVolume([3, 563, 1, 58, 2486, 4388, 2369, 1042, 2487, 2370], 4864) + femmesh.addVolume([227, 626, 625, 156, 5802, 2772, 5664, 1435, 4283, 5763], 4865) + femmesh.addVolume([486, 478, 922, 943, 2246, 4939, 5368, 5812, 5416, 3788], 4866) + femmesh.addVolume([32, 59, 58, 530, 2345, 1043, 2344, 5757, 2488, 2489], 4867) + femmesh.addVolume([478, 459, 922, 954, 2223, 5369, 4939, 4938, 4063, 3828], 4868) + femmesh.addVolume([885, 486, 922, 943, 5775, 5368, 3718, 3786, 5812, 3788], 4869) + femmesh.addVolume([627, 628, 542, 157, 2778, 2776, 2774, 5810, 4188, 4730], 4870) + femmesh.addVolume([120, 565, 8, 119, 5348, 5165, 1114, 1116, 5349, 1112], 4871) + femmesh.addVolume([318, 227, 231, 690, 1718, 1445, 1720, 5519, 5747, 5776], 4872) + femmesh.addVolume([156, 541, 8, 176, 4284, 5438, 1221, 1334, 5489, 1270], 4873) + femmesh.addVolume([554, 106, 553, 182, 2551, 2549, 2553, 5722, 5724, 5080], 4874) + femmesh.addVolume([857, 375, 372, 410, 4352, 1904, 5797, 4353, 2008, 2009], 4875) + femmesh.addVolume([136, 24, 110, 25, 1162, 4791, 4178, 1163, 1006, 4777], 4876) + femmesh.addVolume([813, 755, 754, 294, 3361, 3182, 3360, 5402, 5784, 5097], 4877) + femmesh.addVolume([234, 161, 636, 251, 1452, 4624, 4982, 1525, 1492, 5147], 4878) + femmesh.addVolume([24, 184, 110, 25, 1286, 4806, 4791, 1006, 1285, 4777], 4879) + femmesh.addVolume([296, 758, 368, 292, 4006, 5117, 1876, 1648, 4260, 1874], 4880) + femmesh.addVolume([139, 214, 610, 658, 1398, 4896, 4811, 5554, 5486, 2875], 4881) + femmesh.addVolume([409, 477, 897, 413, 2220, 4729, 5712, 2133, 2219, 5758], 4882) + femmesh.addVolume([477, 409, 897, 896, 2220, 5712, 4729, 5576, 5677, 3640], 4883) + femmesh.addVolume([455, 477, 413, 897, 2222, 2219, 2149, 5794, 4729, 5758], 4884) + femmesh.addVolume([112, 527, 27, 113, 2479, 5378, 4843, 1099, 2478, 4447], 4885) + femmesh.addVolume([656, 210, 135, 608, 4094, 1386, 4822, 2899, 4095, 4789], 4886) + femmesh.addVolume([731, 362, 718, 394, 5806, 5808, 3115, 5599, 1960, 5043], 4887) + femmesh.addVolume([794, 341, 776, 281, 4676, 4793, 3305, 4677, 1793, 4794], 4888) + femmesh.addVolume([422, 496, 454, 909, 2289, 2312, 2146, 4190, 3978, 4921], 4889) + femmesh.addVolume([107, 133, 22, 572, 5510, 1154, 5630, 2598, 5412, 5414], 4890) + femmesh.addVolume([412, 398, 366, 792, 2015, 1974, 2014, 5394, 4766, 4768], 4891) + femmesh.addVolume([401, 903, 861, 399, 4166, 3657, 4167, 2007, 4074, 4076], 4892) + femmesh.addVolume([362, 456, 394, 731, 2154, 2156, 1960, 5806, 5229, 5599], 4893) + femmesh.addVolume([584, 243, 711, 585, 5407, 4323, 3039, 2666, 5443, 3040], 4894) + femmesh.addVolume([243, 584, 502, 585, 5407, 2663, 4561, 5443, 2666, 2664], 4895) + femmesh.addVolume([541, 176, 542, 9, 5489, 5437, 2517, 4858, 1269, 4859], 4896) + femmesh.addVolume([362, 310, 718, 394, 1858, 5041, 5808, 1960, 1957, 5043], 4897) + femmesh.addVolume([477, 455, 931, 897, 2222, 5245, 4727, 4729, 5794, 3746], 4898) + femmesh.addVolume([142, 57, 514, 174, 1218, 5684, 4721, 1261, 1258, 5685], 4899) + femmesh.addVolume([782, 279, 680, 678, 4012, 4495, 3264, 3263, 3942, 2951], 4900) + femmesh.addVolume([793, 339, 770, 278, 5535, 5786, 3302, 5536, 1786, 5767], 4901) + femmesh.addVolume([822, 338, 770, 339, 5177, 5178, 3390, 4984, 1788, 5786], 4902) + femmesh.addVolume([208, 133, 607, 209, 1380, 4034, 5743, 1384, 1382, 5737], 4903) + femmesh.addVolume([276, 796, 277, 720, 4851, 4852, 1598, 4769, 3311, 4784], 4904) + femmesh.addVolume([120, 650, 195, 196, 5425, 5692, 1341, 1343, 4471, 1345], 4905) + femmesh.addVolume([195, 648, 194, 684, 5063, 5435, 1342, 5064, 2964, 4113], 4906) + femmesh.addVolume([785, 718, 724, 394, 3275, 3092, 3274, 5598, 5043, 5257], 4907) + femmesh.addVolume([456, 785, 394, 731, 5752, 5598, 2156, 5229, 3276, 5599], 4908) + femmesh.addVolume([73, 44, 193, 537, 2367, 1105, 4085, 2502, 5456, 4086], 4909) + femmesh.addVolume([243, 584, 687, 242, 5407, 2970, 5618, 1520, 5516, 5471], 4910) + femmesh.addVolume([323, 374, 825, 743, 1900, 5114, 5031, 5032, 5817, 3434], 4911) + femmesh.addVolume([936, 903, 902, 443, 3762, 3658, 3761, 5768, 5719, 5720], 4912) + femmesh.addVolume([10, 122, 11, 566, 1120, 1121, 992, 5282, 5528, 5283], 4913) + femmesh.addVolume([241, 243, 687, 242, 1632, 5618, 4633, 1470, 1520, 5471], 4914) + femmesh.addVolume([368, 404, 864, 405, 1992, 4931, 4644, 2010, 2103, 4932], 4915) + femmesh.addVolume([312, 364, 724, 394, 1866, 4825, 5256, 1958, 1959, 5257], 4916) + femmesh.addVolume([462, 879, 479, 482, 5131, 5010, 2271, 2232, 5011, 2272], 4917) + femmesh.addVolume([227, 728, 625, 690, 5665, 3108, 5664, 5747, 3109, 2977], 4918) + femmesh.addVolume([481, 452, 443, 935, 2231, 2152, 2230, 4321, 5515, 4322], 4919) + femmesh.addVolume([452, 406, 443, 935, 2137, 2109, 2152, 5515, 5716, 4322], 4920) + femmesh.addVolume([819, 829, 328, 874, 3418, 4979, 4058, 3566, 3567, 4060], 4921) + femmesh.addVolume([785, 364, 768, 450, 5658, 4824, 3310, 5006, 2132, 5007], 4922) + femmesh.addVolume([406, 902, 443, 935, 5496, 5720, 2109, 5716, 3759, 4322], 4923) + femmesh.addVolume([150, 67, 580, 68, 4269, 2620, 4088, 4270, 1052, 2619], 4924) + femmesh.addVolume([268, 761, 267, 328, 5198, 5602, 1571, 1754, 5199, 1753], 4925) + femmesh.addVolume([364, 400, 768, 450, 1980, 5595, 4824, 2132, 2150, 5007], 4926) + femmesh.addVolume([902, 936, 443, 935, 3761, 5768, 5720, 3759, 3763, 4322], 4927) + femmesh.addVolume([535, 615, 580, 223, 2740, 2741, 2659, 4089, 4512, 4090], 4928) + femmesh.addVolume([176, 627, 157, 229, 5323, 5810, 1336, 1440, 5673, 1439], 4929) + femmesh.addVolume([876, 829, 416, 327, 3591, 4978, 4249, 5274, 5275, 2028], 4930) + femmesh.addVolume([587, 246, 233, 286, 5101, 1514, 4726, 4724, 1623, 1624], 4931) + femmesh.addVolume([243, 233, 306, 585, 1474, 1675, 1676, 5443, 3970, 5157], 4932) + femmesh.addVolume([906, 909, 454, 923, 3768, 4921, 3990, 3725, 3719, 5821], 4933) + femmesh.addVolume([506, 170, 190, 50, 4956, 1319, 4861, 5727, 1250, 1299], 4934) + femmesh.addVolume([81, 51, 50, 190, 2388, 1034, 2385, 4958, 1298, 1299], 4935) + femmesh.addVolume([447, 906, 454, 923, 3989, 3990, 2145, 4303, 3725, 5821], 4936) + femmesh.addVolume([496, 915, 495, 454, 3979, 5125, 2322, 2312, 5822, 2284], 4937) + femmesh.addVolume([496, 909, 915, 454, 3978, 3692, 3979, 2312, 4921, 5822], 4938) + femmesh.addVolume([470, 981, 476, 471, 4083, 4456, 2300, 2201, 5420, 2301], 4939) + femmesh.addVolume([923, 495, 915, 454, 5700, 5125, 3720, 5821, 2284, 5822], 4940) + femmesh.addVolume([715, 200, 201, 270, 5442, 1360, 5621, 3946, 1575, 1576], 4941) + femmesh.addVolume([208, 277, 278, 679, 1597, 1601, 1599, 5705, 5660, 5703], 4942) + femmesh.addVolume([923, 495, 454, 447, 5700, 2284, 5821, 4303, 2282, 2145], 4943) + femmesh.addVolume([387, 338, 822, 339, 1937, 5177, 5612, 1938, 1788, 4984], 4944) + femmesh.addVolume([621, 320, 194, 684, 4237, 1728, 4115, 2963, 5060, 4113], 4945) + femmesh.addVolume([923, 909, 454, 915, 3719, 4921, 5821, 3720, 3692, 5822], 4946) + femmesh.addVolume([565, 618, 517, 119, 2748, 2749, 2608, 5349, 5163, 4867], 4947) + femmesh.addVolume([770, 338, 278, 339, 5178, 1784, 5767, 5786, 1788, 1786], 4948) + femmesh.addVolume([266, 354, 327, 778, 1828, 1829, 1751, 5137, 5139, 5674], 4949) + femmesh.addVolume([694, 293, 744, 228, 3950, 3951, 3147, 4096, 1640, 4746], 4950) + femmesh.addVolume([411, 797, 908, 396, 4904, 3670, 5059, 2012, 5604, 5725], 4951) + femmesh.addVolume([629, 254, 693, 226, 4202, 5304, 2986, 4288, 1505, 4107], 4952) + femmesh.addVolume([546, 98, 545, 13, 2527, 2525, 2529, 4018, 4017, 5530], 4953) + return True diff --git a/src/Mod/Fem/femexamples/mystran_plate.py b/src/Mod/Fem/femexamples/mystran_plate.py new file mode 100644 index 0000000000..70a7d5ef39 --- /dev/null +++ b/src/Mod/Fem/femexamples/mystran_plate.py @@ -0,0 +1,196 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD + +from BOPTools import SplitFeatures + +import Fem +import ObjectsFem + +from . import manager +from .manager import get_meshname +from .manager import init_doc + + +def get_information(): + return { + "name": "Mystran Plate", + "meshtype": "face", + "meshelement": "Quad4", + "constraints": ["displacement", "force"], + "solvers": ["calculix", "elmer", "mystran"], + "material": "solid", + "equation": "mechanical" + } + + +def get_explanation(header=""): + return header + """ + +To run the example from Python console use: +from femexamples.buckling_platebuckling import setup +setup() + + +See forum topic post: +https://forum.freecadweb.org/viewtopic.php?f=18&t=60320&start=10#p517884 +This version here uses some real value for the Young's Modulus +The CalculiX steel is used +plate 10 mm x 10 mm * 0.3 mm +one each mesh node on one edge 100 N tension force + + +Does not work on Z88 because Z88 does not support quad4 elements + +""" + + +def setup(doc=None, solvertype="ccxtools"): + + # init FreeCAD document + if doc is None: + doc = init_doc() + + # explanation object + # just keep the following line and change text string in get_explanation method + manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information()))) + + # geometric object + plate = doc.addObject("Part::Plane", "Plate") + plate.Width = 10 + plate.Length = 10 + force_pt1 = doc.addObject("Part::Vertex", "ForcePT1") + force_pt1.X = 10 + force_pt1.Y = 2 + force_pt2 = doc.addObject("Part::Vertex", "ForcePT2") + force_pt2.X = 10 + force_pt2.Y = 4 + force_pt3 = doc.addObject("Part::Vertex", "ForcePT3") + force_pt3.X = 10 + force_pt3.Y = 6 + force_pt4 = doc.addObject("Part::Vertex", "ForcePT4") + force_pt4.X = 10 + force_pt4.Y = 8 + doc.recompute() + + # all geom boolean fragment + geom_obj = SplitFeatures.makeBooleanFragments(name='ThePointPlate') + geom_obj.Objects = [plate, force_pt1, force_pt2, force_pt3, force_pt4] + doc.recompute() + if FreeCAD.GuiUp: + plate.ViewObject.hide() + force_pt1.ViewObject.hide() + force_pt2.ViewObject.hide() + force_pt3.ViewObject.hide() + force_pt4.ViewObject.hide() + doc.recompute() + + if FreeCAD.GuiUp: + geom_obj.ViewObject.PointSize = 10 + geom_obj.ViewObject.Document.activeView().viewAxonometric() + geom_obj.ViewObject.Document.activeView().fitAll() + + # analysis + analysis = ObjectsFem.makeAnalysis(doc, "Analysis") + + # solver + if solvertype == "calculix": + solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX") + elif solvertype == "ccxtools": + solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools") + solver_obj.WorkingDir = u"" + elif solvertype == "elmer": + solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer") + ObjectsFem.makeEquationElasticity(doc, solver_obj) + elif solvertype == "mystran": + solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran") + elif solvertype == "z88": + solver_obj = ObjectsFem.makeSolverZ88(doc, "SolverZ88") + else: + FreeCAD.Console.PrintWarning( + "Not known or not supported solver type: {}. " + "No solver object was created.\n".format(solvertype) + ) + + if solvertype == "calculix" or solvertype == "ccxtools": + solver_obj.SplitInputWriter = False + solver_obj.AnalysisType = "static" + solver_obj.GeometricalNonlinearity = "linear" + solver_obj.ThermoMechSteadyState = False + solver_obj.MatrixSolverType = "default" + solver_obj.IterationsControlParameterTimeUse = False + analysis.addObject(solver_obj) + + # shell thickness + thickness_obj = ObjectsFem.makeElementGeometry2D(doc, 0.3, 'Thickness') + analysis.addObject(thickness_obj) + + # material + material_obj = ObjectsFem.makeMaterialSolid(doc, "FemMaterial") + mat = material_obj.Material + mat["Name"] = "CalculiX-Steel" + mat["YoungsModulus"] = "210000 MPa" + mat["PoissonRatio"] = "0.30" + material_obj.Material = mat + analysis.addObject(material_obj) + + # constraint fixed + con_fixed = ObjectsFem.makeConstraintFixed(doc, "ConstraintFixed") + con_fixed.References = [(geom_obj, "Edge1")] + analysis.addObject(con_fixed) + + # constraint force + con_force = ObjectsFem.makeConstraintForce(doc, "ConstraintForce") + con_force.References = [ + (geom_obj, "Vertex7"), + (geom_obj, "Vertex1"), + (geom_obj, "Vertex2"), + (geom_obj, "Vertex3"), + (geom_obj, "Vertex4"), + (geom_obj, "Vertex8"), + ] + con_force.Force = 600 # 600 N on six nodes == 100 N/Node + con_force.Reversed = False + con_force.Direction = (geom_obj, ["Edge2"]) + analysis.addObject(con_force) + + # mesh + from .meshes.mesh_plate_mystran_quad4 import create_nodes, create_elements + fem_mesh = Fem.FemMesh() + control = create_nodes(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating nodes.\n") + control = create_elements(fem_mesh) + if not control: + FreeCAD.Console.PrintError("Error on creating elements.\n") + femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0] + femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False + femmesh_obj.CharacteristicLengthMax = "1.0 mm" + femmesh_obj.ElementDimension = "2D" + femmesh_obj.ElementOrder = "1st" + + doc.recompute() + return doc diff --git a/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py b/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py index 1fe781983a..ea5baa76e9 100644 --- a/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py +++ b/src/Mod/Fem/femexamples/square_pipe_end_twisted_edgeforces.py @@ -79,7 +79,7 @@ def setup(doc=None, solvertype="ccxtools"): l4 = Part.makeLine((-142.5, 142.5, 0), (-142.5, -142.5, 0)) wire = Part.Wire([l1, l2, l3, l4]) shape = wire.extrude(Vector(0, 0, 1000)) - geom_obj = doc.addObject('Part::Feature', 'SquareTube') + geom_obj = doc.addObject("Part::Feature", "SquareTube") geom_obj.Shape = shape doc.recompute() diff --git a/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py b/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py index c2b4310fd4..fc0d6fb079 100644 --- a/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py +++ b/src/Mod/Fem/femexamples/square_pipe_end_twisted_nodeforces.py @@ -79,7 +79,7 @@ def setup(doc=None, solvertype="ccxtools"): l4 = Part.makeLine((-142.5, 142.5, 0), (-142.5, -142.5, 0)) wire = Part.Wire([l1, l2, l3, l4]) shape = wire.extrude(Vector(0, 0, 1000)) - geom_obj = doc.addObject('Part::Feature', 'SquareTube') + geom_obj = doc.addObject("Part::Feature", "SquareTube") geom_obj.Shape = shape points_forces = [] @@ -182,9 +182,9 @@ def setup(doc=None, solvertype="ccxtools"): points_fixes.append(Part.Vertex(-71.25, 142.5, 1000.0)) points_fixes.append(Part.Vertex(-118.75, 142.5, 1000.0)) - geoforces_obj = doc.addObject('Part::Feature', 'Forces') + geoforces_obj = doc.addObject("Part::Feature", "Forces") geoforces_obj.Shape = Part.makeCompound(points_forces) - geofixes_obj = doc.addObject('Part::Feature', 'Fixes') + geofixes_obj = doc.addObject("Part::Feature", "Fixes") geofixes_obj.Shape = Part.makeCompound(points_fixes) doc.recompute() @@ -237,59 +237,59 @@ def setup(doc=None, solvertype="ccxtools"): # constraint fixed con_fixed = ObjectsFem.makeConstraintFixed(doc, "ConstraintFixed") con_fixed.References = [ - (geofixes_obj, 'Vertex6'), - (geofixes_obj, 'Vertex15'), - (geofixes_obj, 'Vertex5'), - (geofixes_obj, 'Vertex29'), - (geofixes_obj, 'Vertex42'), - (geofixes_obj, 'Vertex30'), - (geofixes_obj, 'Vertex9'), - (geofixes_obj, 'Vertex31'), - (geofixes_obj, 'Vertex33'), - (geofixes_obj, 'Vertex32'), - (geofixes_obj, 'Vertex3'), - (geofixes_obj, 'Vertex34'), - (geofixes_obj, 'Vertex46'), - (geofixes_obj, 'Vertex1'), - (geofixes_obj, 'Vertex36'), - (geofixes_obj, 'Vertex11'), - (geofixes_obj, 'Vertex38'), - (geofixes_obj, 'Vertex12'), - (geofixes_obj, 'Vertex39'), - (geofixes_obj, 'Vertex13'), - (geofixes_obj, 'Vertex40'), - (geofixes_obj, 'Vertex16'), - (geofixes_obj, 'Vertex35'), - (geofixes_obj, 'Vertex14'), - (geofixes_obj, 'Vertex47'), - (geofixes_obj, 'Vertex20'), - (geofixes_obj, 'Vertex37'), - (geofixes_obj, 'Vertex18'), - (geofixes_obj, 'Vertex41'), - (geofixes_obj, 'Vertex17'), - (geofixes_obj, 'Vertex10'), - (geofixes_obj, 'Vertex26'), - (geofixes_obj, 'Vertex43'), - (geofixes_obj, 'Vertex21'), - (geofixes_obj, 'Vertex44'), - (geofixes_obj, 'Vertex19'), - (geofixes_obj, 'Vertex4'), - (geofixes_obj, 'Vertex28'), - (geofixes_obj, 'Vertex48'), - (geofixes_obj, 'Vertex22'), - (geofixes_obj, 'Vertex8'), - (geofixes_obj, 'Vertex23'), - (geofixes_obj, 'Vertex7'), - (geofixes_obj, 'Vertex24'), - (geofixes_obj, 'Vertex45'), - (geofixes_obj, 'Vertex27'), - (geofixes_obj, 'Vertex2'), - (geofixes_obj, 'Vertex25')] + (geofixes_obj, "Vertex6"), + (geofixes_obj, "Vertex15"), + (geofixes_obj, "Vertex5"), + (geofixes_obj, "Vertex29"), + (geofixes_obj, "Vertex42"), + (geofixes_obj, "Vertex30"), + (geofixes_obj, "Vertex9"), + (geofixes_obj, "Vertex31"), + (geofixes_obj, "Vertex33"), + (geofixes_obj, "Vertex32"), + (geofixes_obj, "Vertex3"), + (geofixes_obj, "Vertex34"), + (geofixes_obj, "Vertex46"), + (geofixes_obj, "Vertex1"), + (geofixes_obj, "Vertex36"), + (geofixes_obj, "Vertex11"), + (geofixes_obj, "Vertex38"), + (geofixes_obj, "Vertex12"), + (geofixes_obj, "Vertex39"), + (geofixes_obj, "Vertex13"), + (geofixes_obj, "Vertex40"), + (geofixes_obj, "Vertex16"), + (geofixes_obj, "Vertex35"), + (geofixes_obj, "Vertex14"), + (geofixes_obj, "Vertex47"), + (geofixes_obj, "Vertex20"), + (geofixes_obj, "Vertex37"), + (geofixes_obj, "Vertex18"), + (geofixes_obj, "Vertex41"), + (geofixes_obj, "Vertex17"), + (geofixes_obj, "Vertex10"), + (geofixes_obj, "Vertex26"), + (geofixes_obj, "Vertex43"), + (geofixes_obj, "Vertex21"), + (geofixes_obj, "Vertex44"), + (geofixes_obj, "Vertex19"), + (geofixes_obj, "Vertex4"), + (geofixes_obj, "Vertex28"), + (geofixes_obj, "Vertex48"), + (geofixes_obj, "Vertex22"), + (geofixes_obj, "Vertex8"), + (geofixes_obj, "Vertex23"), + (geofixes_obj, "Vertex7"), + (geofixes_obj, "Vertex24"), + (geofixes_obj, "Vertex45"), + (geofixes_obj, "Vertex27"), + (geofixes_obj, "Vertex2"), + (geofixes_obj, "Vertex25")] analysis.addObject(con_fixed) # con_force1 con_force1 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce1") - con_force1.References = [(geoforces_obj, 'Vertex1'), (geoforces_obj, 'Vertex14')] + con_force1.References = [(geoforces_obj, "Vertex1"), (geoforces_obj, "Vertex14")] con_force1.Force = 5555.56 con_force1.Direction = (geom_obj, ["Edge9"]) con_force1.Reversed = False @@ -297,7 +297,7 @@ def setup(doc=None, solvertype="ccxtools"): # con_force2 con_force2 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce2") - con_force2.References = [(geoforces_obj, 'Vertex2'), (geoforces_obj, 'Vertex8')] + con_force2.References = [(geoforces_obj, "Vertex2"), (geoforces_obj, "Vertex8")] con_force2.Force = 5555.56 con_force2.Direction = (geom_obj, ["Edge3"]) con_force2.Reversed = False @@ -306,11 +306,11 @@ def setup(doc=None, solvertype="ccxtools"): # con_force3 con_force3 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce3") con_force3.References = [ - (geoforces_obj, 'Vertex20'), - (geoforces_obj, 'Vertex21'), - (geoforces_obj, 'Vertex22'), - (geoforces_obj, 'Vertex23'), - (geoforces_obj, 'Vertex24'), ] + (geoforces_obj, "Vertex20"), + (geoforces_obj, "Vertex21"), + (geoforces_obj, "Vertex22"), + (geoforces_obj, "Vertex23"), + (geoforces_obj, "Vertex24"), ] con_force3.Force = 27777.78 con_force3.Direction = (geom_obj, ["Edge9"]) con_force3.Reversed = False @@ -319,11 +319,11 @@ def setup(doc=None, solvertype="ccxtools"): # con_force4 con_force4 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce4") con_force4.References = [ - (geoforces_obj, 'Vertex9'), - (geoforces_obj, 'Vertex10'), - (geoforces_obj, 'Vertex11'), - (geoforces_obj, 'Vertex12'), - (geoforces_obj, 'Vertex13'), ] + (geoforces_obj, "Vertex9"), + (geoforces_obj, "Vertex10"), + (geoforces_obj, "Vertex11"), + (geoforces_obj, "Vertex12"), + (geoforces_obj, "Vertex13"), ] con_force4.Force = 27777.78 con_force4.Direction = (geom_obj, ["Edge3"]) con_force4.Reversed = False @@ -332,12 +332,12 @@ def setup(doc=None, solvertype="ccxtools"): # con_force5 con_force5 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce5") con_force5.References = [ - (geoforces_obj, 'Vertex43'), - (geoforces_obj, 'Vertex44'), - (geoforces_obj, 'Vertex45'), - (geoforces_obj, 'Vertex46'), - (geoforces_obj, 'Vertex47'), - (geoforces_obj, 'Vertex48'), ] + (geoforces_obj, "Vertex43"), + (geoforces_obj, "Vertex44"), + (geoforces_obj, "Vertex45"), + (geoforces_obj, "Vertex46"), + (geoforces_obj, "Vertex47"), + (geoforces_obj, "Vertex48"), ] con_force5.Force = 66666.67 con_force5.Direction = (geom_obj, ["Edge9"]) con_force5.Reversed = False @@ -346,12 +346,12 @@ def setup(doc=None, solvertype="ccxtools"): # con_force6 con_force6 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce6") con_force6.References = [ - (geoforces_obj, 'Vertex31'), - (geoforces_obj, 'Vertex32'), - (geoforces_obj, 'Vertex33'), - (geoforces_obj, 'Vertex34'), - (geoforces_obj, 'Vertex35'), - (geoforces_obj, 'Vertex36'), ] + (geoforces_obj, "Vertex31"), + (geoforces_obj, "Vertex32"), + (geoforces_obj, "Vertex33"), + (geoforces_obj, "Vertex34"), + (geoforces_obj, "Vertex35"), + (geoforces_obj, "Vertex36"), ] con_force6.Force = 66666.67 con_force6.Direction = (geom_obj, ["Edge3"]) con_force6.Reversed = False @@ -359,7 +359,7 @@ def setup(doc=None, solvertype="ccxtools"): # con_force7 con_force7 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce7") - con_force7.References = [(geoforces_obj, 'Vertex1'), (geoforces_obj, 'Vertex2')] + con_force7.References = [(geoforces_obj, "Vertex1"), (geoforces_obj, "Vertex2")] con_force7.Force = 5555.56 con_force7.Direction = (geom_obj, ["Edge11"]) con_force7.Reversed = False @@ -367,7 +367,7 @@ def setup(doc=None, solvertype="ccxtools"): # con_force8 con_force8 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce8") - con_force8.References = [(geoforces_obj, 'Vertex8'), (geoforces_obj, 'Vertex14')] + con_force8.References = [(geoforces_obj, "Vertex8"), (geoforces_obj, "Vertex14")] con_force8.Force = 5555.56 con_force8.Direction = (geom_obj, ["Edge6"]) con_force8.Reversed = False @@ -376,11 +376,11 @@ def setup(doc=None, solvertype="ccxtools"): # con_force9 con_force9 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce9") con_force9.References = [ - (geoforces_obj, 'Vertex3'), - (geoforces_obj, 'Vertex4'), - (geoforces_obj, 'Vertex5'), - (geoforces_obj, 'Vertex6'), - (geoforces_obj, 'Vertex7'), ] + (geoforces_obj, "Vertex3"), + (geoforces_obj, "Vertex4"), + (geoforces_obj, "Vertex5"), + (geoforces_obj, "Vertex6"), + (geoforces_obj, "Vertex7"), ] con_force9.Force = 27777.78 con_force9.Direction = (geom_obj, ["Edge11"]) con_force9.Reversed = False @@ -389,11 +389,11 @@ def setup(doc=None, solvertype="ccxtools"): # con_force10 con_force10 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce10") con_force10.References = [ - (geoforces_obj, 'Vertex15'), - (geoforces_obj, 'Vertex16'), - (geoforces_obj, 'Vertex17'), - (geoforces_obj, 'Vertex18'), - (geoforces_obj, 'Vertex19'), ] + (geoforces_obj, "Vertex15"), + (geoforces_obj, "Vertex16"), + (geoforces_obj, "Vertex17"), + (geoforces_obj, "Vertex18"), + (geoforces_obj, "Vertex19"), ] con_force10.Force = 27777.78 con_force10.Direction = (geom_obj, ["Edge6"]) con_force10.Reversed = False @@ -402,12 +402,12 @@ def setup(doc=None, solvertype="ccxtools"): # con_force11 con_force11 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce11") con_force11.References = [ - (geoforces_obj, 'Vertex25'), - (geoforces_obj, 'Vertex26'), - (geoforces_obj, 'Vertex27'), - (geoforces_obj, 'Vertex28'), - (geoforces_obj, 'Vertex29'), - (geoforces_obj, 'Vertex30'), ] + (geoforces_obj, "Vertex25"), + (geoforces_obj, "Vertex26"), + (geoforces_obj, "Vertex27"), + (geoforces_obj, "Vertex28"), + (geoforces_obj, "Vertex29"), + (geoforces_obj, "Vertex30"), ] con_force11.Force = 66666.67 con_force11.Direction = (geom_obj, ["Edge11"]) con_force11.Reversed = False @@ -416,12 +416,12 @@ def setup(doc=None, solvertype="ccxtools"): # con_force12 con_force12 = ObjectsFem.makeConstraintForce(doc, name="ConstraintForce12") con_force12.References = [ - (geoforces_obj, 'Vertex37'), - (geoforces_obj, 'Vertex38'), - (geoforces_obj, 'Vertex39'), - (geoforces_obj, 'Vertex40'), - (geoforces_obj, 'Vertex41'), - (geoforces_obj, 'Vertex42'), ] + (geoforces_obj, "Vertex37"), + (geoforces_obj, "Vertex38"), + (geoforces_obj, "Vertex39"), + (geoforces_obj, "Vertex40"), + (geoforces_obj, "Vertex41"), + (geoforces_obj, "Vertex42"), ] con_force12.Force = 66666.67 con_force12.Direction = (geom_obj, ["Edge6"]) con_force12.Reversed = False diff --git a/src/Mod/Fem/femguiutils/migrate_gui.py b/src/Mod/Fem/femguiutils/migrate_gui.py index 9fe49f601d..f0015301ae 100644 --- a/src/Mod/Fem/femguiutils/migrate_gui.py +++ b/src/Mod/Fem/femguiutils/migrate_gui.py @@ -114,6 +114,8 @@ class FemMigrateGui(object): return self if fullname == "PyGui._ViewProviderFemSolverCalculix": return self + if fullname == "PyGui._ViewProviderFemSolverZ88": + return self if fullname == "PyGui._ViewProviderFemBeamSection": return self @@ -310,6 +312,9 @@ class FemMigrateGui(object): import femviewprovider.view_solver_ccxtools module._ViewProviderFemSolverCalculix = \ femviewprovider.view_solver_ccxtools.VPSolverCcxTools + if module.__name__ == "PyGui._ViewProviderFemSolverZ88": + import femsolver.z88.solver + module._ViewProviderFemSolverZ88 = femsolver.z88.solver.ViewProxy if module.__name__ == "PyGui._ViewProviderFemBeamSection": import femviewprovider.view_element_geometry1D @@ -434,6 +439,7 @@ module="PyGui._ViewProviderFemMeshRegion" module="PyGui._ViewProviderFemMeshResult" module="PyGui._ViewProviderFemResultMechanical" module="PyGui._ViewProviderFemSolverCalculix" +module="PyGui._ViewProviderFemSolverZ88" renamed between the second and third big moveings module="PyGui._ViewProviderFemBeamSection" diff --git a/src/Mod/Fem/feminout/exportNastranMesh.py b/src/Mod/Fem/feminout/exportNastranMesh.py new file mode 100644 index 0000000000..2da80c520e --- /dev/null +++ b/src/Mod/Fem/feminout/exportNastranMesh.py @@ -0,0 +1,215 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mesh export for Nastran mesh file format" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +## @package exportPyNastranMesh +# \ingroup FEM +# \brief FreeCAD pyNastran Mesh writer for FEM workbench + +import FreeCAD + +# we need to import FreeCAD before the non FreeCAD library because of the print +try: + from pyNastran.bdf.bdf import BDF +except Exception: + FreeCAD.Console.PrintError( + "Module pyNastran not found. Writing Mystran solver input will not be work.\n" + ) + +from FreeCAD import Console + +from femmesh import meshtools + + +# ************************************************************************************************ +# ********* generic FreeCAD export methods ******************************************************* +# names are fix given from FreeCAD, these methods are called from FreeCAD +# they are set in FEM modules Init.py + +def export( + objectslist, + filename +): + "called when freecad exports a file" + if len(objectslist) != 1: + Console.PrintError("This exporter can only export one object.\n") + return + obj = objectslist[0] + if not obj.isDerivedFrom("Fem::FemMeshObject"): + Console.PrintError("No FEM mesh object selected.\n") + return + write(obj.FemMesh, filename) + + +# ************************************************************************************************ +# ********* module specific methods ************************************************************** +# writer: +# - a method directly writes a FemMesh to the mesh file +# - a method generates the pyNastran code + + +# ********* writer ******************************************************************************* +def write( + fem_mesh, + filename +): + """directly write a FemMesh to a pyNastran mesh file format + fem_mesh: a FemMesh""" + + if not fem_mesh.isDerivedFrom("Fem::FemMesh"): + Console.PrintError("Not a FemMesh was given as parameter.\n") + return + femnodes_mesh = fem_mesh.Nodes + femelement_table = meshtools.get_femelement_table(fem_mesh) + export_element_type = get_export_element_type(fem_mesh, femelement_table) + + model = BDF() + mesh_pynas_code = get_pynastran_mesh(femnodes_mesh, femelement_table, export_element_type) + mesh_pynas_code += missing_code_pnynasmesh + + # pynas file + basefilename = filename[:len(filename) - 4] # TODO basename is more failsave + pynasf = open(basefilename + ".py", "w") + pynasf.write("# written by FreeCAD\n\n\n") + pynasf.write("from pyNastran.bdf.bdf import BDF\n") + pynasf.write("model = BDF()\n\n\n") + pynasf.write(mesh_pynas_code) + + pynasf.write( + "model.write_bdf('{}', enddata=True)\n" + .format(basefilename + "_pyNas.bdf") + ) + pynasf.close() + + # execute pyNastran code to add grid to the model + # print(model) + # print(model.get_bdf_stats()) + exec(mesh_pynas_code) + # print(model) + # print(model.get_bdf_stats()) + + # write Nastran mesh file + model.write_bdf(filename, enddata=True) # TODO FIXME "BEGIN BULK" is missing + + +def get_pynastran_mesh( + femnodes_mesh, + femelement_table, + export_element_type, +): + if export_element_type is None: + Console.PrintError("Error: wrong export_element_type.\n") + return + + # nodes + pynas_nodes = "# grid cards, geometric mesh points\n" + for node in femnodes_mesh: + vec = femnodes_mesh[node] + pynas_nodes += "model.add_grid({}, [{}, {}, {}])\n".format(node, vec.x, vec.y, vec.z) + # print(pynas_nodes) + + # elements + # Nastran seams to have the same node order as SMESH (FreeCAD) has + # thus just write the nodes at once + pynas_elements = "# elements cards\n" + for element in femelement_table: + nodes = femelement_table[element] + # print(element) # eleid + # print(n) # tuple of nodes + if export_element_type == "cbar": + pynas_elements += ( + "model.add_{ele_keyword}({eid}, {pid}, {nodes}, " + "{orientation_vec}, {gnull})\n" + .format( + ele_keyword=export_element_type, + eid=element, + pid=1, + nodes=nodes, + orientation_vec="x=[0.0, 0.0, 1.0]", + gnull="g0=None" + ) + ) + else: + if export_element_type == "ctetra4": + ele_keyword = "ctetra" + # N1, N3, N2, N4 + the_nodes = [nodes[0], nodes[2], nodes[1], nodes[3]] + elif export_element_type == "ctetra10": + ele_keyword = "ctetra" + # N1, N3, N2, N4, N7, N6, N5, N8, N10, N9 + the_nodes = [ + nodes[0], nodes[2], nodes[1], nodes[3], + nodes[6], nodes[5], nodes[4], + nodes[7], nodes[9], nodes[8], + ] + else: + ele_keyword = export_element_type + the_nodes = nodes + pynas_elements += ( + "model.add_{ele_keyword}({eid}, {pid}, {nodes})\n" + .format(ele_keyword=ele_keyword, eid=element, pid=1, nodes=the_nodes) + ) + # print(pynas_elements) + + mesh_pynas_code = "{}\n\n{}\n\n".format(pynas_nodes, pynas_elements) + return mesh_pynas_code + + +# Helper +def get_export_element_type( + femmesh, + femelement_table=None +): + return nastran_ele_types[meshtools.get_femmesh_eletype(femmesh, femelement_table)] + + +nastran_ele_types = { + "tetra4": "ctetra4", + "tetra10": "ctetra10", + "hexa8": None, + "hexa20": None, + "tria3": "ctria3", + "tria6": None, + "quad4": "cquad4", + "quad8": None, + "seg2": "cbar", + "seg3": None, + "None": None, +} + + +missing_code_pnynasmesh = """ +model.sol = 101 # is this needed? + +# case control +from pyNastran.bdf.bdf import CaseControlDeck +cc = CaseControlDeck([ + #"ECHO = NONE", + "TITLE = pyNastran for generating solverinput for for Mystran", + #"SUBCASE 1", +]) +model.case_control_deck = cc\n\n +""" diff --git a/src/Mod/Fem/feminout/importCcxFrdResults.py b/src/Mod/Fem/feminout/importCcxFrdResults.py index 60b3c8f625..e5e93df382 100644 --- a/src/Mod/Fem/feminout/importCcxFrdResults.py +++ b/src/Mod/Fem/feminout/importCcxFrdResults.py @@ -397,7 +397,7 @@ def read_frd_result( CalculiX uses a different node order in input file *.inp and result file *.frd for hexa20 (C3D20) according to Guido (the developer of ccx): - see note in in first line of cgx manuel part element types + see note in the first line of cgx manual part element types ccx (and thus the *.inp) follows the ABAQUS convention documented in the ccx-documentation cgx (and thus the *.frd) follows the FAM2 convention diff --git a/src/Mod/Fem/feminout/importZ88Mesh.py b/src/Mod/Fem/feminout/importZ88Mesh.py index 18f7090606..0d1576d8b7 100644 --- a/src/Mod/Fem/feminout/importZ88Mesh.py +++ b/src/Mod/Fem/feminout/importZ88Mesh.py @@ -555,60 +555,19 @@ def get_z88_element_type( femmesh, femelement_table=None ): - if not femmesh: - Console.PrintError("Error: No femmesh.\n") - if not femelement_table: - Console.PrintError("The femelement_table need to be calculated.\n") - femelement_table = meshtools.get_femelement_table(femmesh) - # in some cases lowest key in femelement_table is not [1] - for elem in sorted(femelement_table): - elem_length = len(femelement_table[elem]) - Console.PrintLog("Node count of first element: {}\n".format(elem_length)) - break # break after the first elem - if meshtools.is_solid_femmesh(femmesh): - if femmesh.TetraCount == femmesh.VolumeCount: - if elem_length == 4: - return 17 - elif elem_length == 10: - return 16 - else: - Console.PrintMessage("Tetra with neither 4 nor 10 nodes.\n") - elif femmesh.HexaCount == femmesh.VolumeCount: - if elem_length == 8: - return 1 - elif elem_length == 20: - return 10 - else: - Console.PrintError("Hexa with neither 8 nor 20 nodes.\n") - return 0 - else: - Console.PrintError("no tetra, no hexa or Mixed Volume Elements.\n") - elif meshtools.is_face_femmesh(femmesh): - if femmesh.TriangleCount == femmesh.FaceCount: - if elem_length == 3: - Console.PrintError("tria3mesh, not supported by Z88.\n") - return 0 - elif elem_length == 6: - return 24 - else: - Console.PrintError("Tria with neither 3 nor 6 nodes.\n") - return 0 - elif femmesh.QuadrangleCount == femmesh.FaceCount: - if elem_length == 4: - Console.PrintError("quad4mesh, not supported by Z88.\n") - return 0 - elif elem_length == 8: - return 23 - else: - Console.PrintError("Quad with neither 4 nor 8 nodes.\n") - return 0 - else: - Console.PrintError("no tria, no quad\n") - return 0 - elif meshtools.is_edge_femmesh(femmesh): - Console.PrintMessage("Edge femmesh will be exported as 3D truss element nr 4.\n") - return 4 - else: - Console.PrintError("Neither edge nor face nor solid femmesh.\n") - return 0 - return 0 + return z88_ele_types[meshtools.get_femmesh_eletype(femmesh, femelement_table)] + + +z88_ele_types = { + "tetra4": 17, + "tetra10": 16, + "hexa8": 1, + "hexa20": 10, + "tria3": 0, # no tria3 available in Z88 + "tria6": 24, + "quad4": 0, # no quad4 available in Z88 + "quad8": 23, + "seg2": 4, # 3D Truss element + "seg3": 4, # 3D Truss element + "None": 0, +} diff --git a/src/Mod/Fem/femmesh/meshsetsgetter.py b/src/Mod/Fem/femmesh/meshsetsgetter.py new file mode 100644 index 0000000000..7dd017e71c --- /dev/null +++ b/src/Mod/Fem/femmesh/meshsetsgetter.py @@ -0,0 +1,1081 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM sets getter" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +## \addtogroup FEM +# @{ + +import time + +import FreeCAD + +from femmesh import meshtools +from femtools.femutils import type_of_obj + + +class MeshSetsGetter(): + def __init__( + self, + analysis_obj, + solver_obj, + mesh_obj, + member, + ): + # class attributes from parameter values + self.analysis = analysis_obj + self.solver_obj = solver_obj # TODO without _obj + self.mesh_object = mesh_obj # TODO without _object + self.member = member + + # more attributes + self.analysis_type = self.solver_obj.AnalysisType + self.document = self.analysis.Document + self.fc_ver = FreeCAD.Version() + self.ccx_nall = "Nall" + self.ccx_eall = "Eall" + self.ccx_evolumes = "Evolumes" + self.ccx_efaces = "Efaces" + self.ccx_eedges = "Eedges" + self.mat_geo_sets = [] + self.theshape = None + if self.mesh_object: + if hasattr(self.mesh_object, "Shape"): + self.theshape = self.mesh_object.Shape + elif hasattr(self.mesh_object, "Part"): + self.theshape = self.mesh_object.Part + else: + FreeCAD.Console.PrintWarning( + "A finite mesh without a link to a Shape was given. " + "Happen on pure mesh objects. " + "Not all methods do work without this link.\n" + ) + # ATM only used in meshtools.get_femelement_direction1D_set + # TODO somehow this is not smart, pur mesh objects might be used often + if ( + self.member.geos_beamsection + and ( + type_of_obj(self.solver_obj) == "Fem::SolverCcxTools" + or type_of_obj(self.solver_obj) == "Fem::SolverCalculix" + ) + ): + FreeCAD.Console.PrintError( + "The mesh does not know the geometry it is made from. " + "Beam rotations can not retrieved but they are needed " + "for writing CalculiX solver input. " + "There might be problems in retrieving mesh data.\n" + ) + # Z88 will run but CalculiX not + self.femmesh = self.mesh_object.FemMesh + else: + FreeCAD.Console.PrintWarning( + "No finite element mesh object was given to the writer class. " + "In rare cases this might not be an error.\n" + ) + self.femnodes_mesh = {} + self.femelement_table = {} + self.constraint_conflict_nodes = [] + self.femnodes_ele_table = {} + self.femelements_edges_only = [] + self.femelements_faces_only = [] + self.femelement_volumes_table = {} + self.femelement_faces_table = {} + self.femelement_edges_table = {} + self.femelement_count_test = True + self.mat_geo_sets = [] + + # ******************************************************************************************** + # ******************************************************************************************** + # use set for node sets to be sure all nodes are unique + # use sorted to be sure the order is the same on different runs + # be aware a sorted set returns a list, because set are not sorted by default + # - done in return value of meshtools.get_femnodes_by_femobj_with_references + # TODO FIXME might be appropriate for element sets and surfaceface sets too + + # ******************************************************************************************** + # ******************************************************************************************** + # get all known sets + def get_mesh_sets(self): + + FreeCAD.Console.PrintMessage("\n") # because of time print in separate line + FreeCAD.Console.PrintMessage( + "Get mesh data for constraints, materials and element geometry...\n" + ) + FreeCAD.Console.PrintLog( + "MeshSetsGetter: Get mesh data for " + "node sets (groups), surface sets (groups) and element sets (groups)\n" + ) + + time_start = time.process_time() + + # materials and element geometry element sets getter + self.get_element_sets_material_and_femelement_geometry() + + # constraints element sets getter + self.get_constraints_centrif_elements() + + # constraints node sets getter + self.get_constraints_fixed_nodes() + self.get_constraints_displacement_nodes() + self.get_constraints_planerotation_nodes() + + # constraints surface sets getter + self.get_constraints_contact_faces() + self.get_constraints_tie_faces() + self.get_constraints_sectionprint_faces() + self.get_constraints_transform_nodes() + self.get_constraints_temperature_nodes() + + # constraints sets with constraint data + self.get_constraints_force_nodeloads() + self.get_constraints_pressure_faces() + self.get_constraints_heatflux_faces() + + setstime = round((time.process_time() - time_start), 3) + FreeCAD.Console.PrintMessage( + "Getting mesh data time: {} seconds.\n".format(setstime) + ) + + # ******************************************************************************************** + # ******************************************************************************************** + # node sets + def get_constraints_fixed_nodes(self): + if not self.member.cons_fixed: + return + # get nodes + for femobj in self.member.cons_fixed: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( + self.femmesh, + femobj + ) + # add nodes to constraint_conflict_nodes, needed by constraint plane rotation + for node in femobj["Nodes"]: + self.constraint_conflict_nodes.append(node) + # if mixed mesh with solids the node set needs to be split + # because solid nodes do not have rotational degree of freedom + if ( + self.femmesh.Volumes + and ( + len(self.member.geos_shellthickness) > 0 + or len(self.member.geos_beamsection) > 0 + ) + ): + FreeCAD.Console.PrintMessage("We need to find the solid nodes.\n") + if not self.femelement_volumes_table: + self.femelement_volumes_table = meshtools.get_femelement_volumes_table( + self.femmesh + ) + for femobj in self.member.cons_fixed: + # femobj --> dict, FreeCAD document object is femobj["Object"] + nds_solid = [] + nds_faceedge = [] + for n in femobj["Nodes"]: + solid_node = False + for ve in self.femelement_volumes_table: + if n in self.femelement_volumes_table[ve]: + solid_node = True + nds_solid.append(n) + break + if not solid_node: + nds_faceedge.append(n) + femobj["NodesSolid"] = set(nds_solid) + femobj["NodesFaceEdge"] = set(nds_faceedge) + + def get_constraints_displacement_nodes(self): + if not self.member.cons_displacement: + return + # get nodes + for femobj in self.member.cons_displacement: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( + self.femmesh, + femobj + ) + # add nodes to constraint_conflict_nodes, needed by constraint plane rotation + for node in femobj["Nodes"]: + self.constraint_conflict_nodes.append(node) + + def get_constraints_planerotation_nodes(self): + if not self.member.cons_planerotation: + return + # get nodes + for femobj in self.member.cons_planerotation: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( + self.femmesh, + femobj + ) + + def get_constraints_transform_nodes(self): + if not self.member.cons_transform: + return + # get nodes + for femobj in self.member.cons_transform: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( + self.femmesh, + femobj + ) + + def get_constraints_temperature_nodes(self): + if not self.member.cons_temperature: + return + # get nodes + for femobj in self.member.cons_temperature: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( + self.femmesh, + femobj + ) + + def get_constraints_fluidsection_nodes(self): + if not self.member.geos_fluidsection: + return + # get nodes + for femobj in self.member.geos_fluidsection: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( + self.femmesh, + femobj + ) + + def get_constraints_force_nodeloads(self): + if not self.member.cons_force: + return + # check shape type of reference shape + for femobj in self.member.cons_force: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"], log=True) + if femobj["RefShapeType"] == "Vertex": + FreeCAD.Console.PrintLog( + " load on vertices --> The femelement_table " + "and femnodes_mesh are not needed for node load calculation.\n" + ) + elif femobj["RefShapeType"] == "Face" \ + and meshtools.is_solid_femmesh(self.femmesh) \ + and not meshtools.has_no_face_data(self.femmesh): + FreeCAD.Console.PrintLog( + " solid_mesh with face data --> The femelement_table is not " + "needed but the femnodes_mesh is needed for node load calculation.\n" + ) + if not self.femnodes_mesh: + self.femnodes_mesh = self.femmesh.Nodes + else: + FreeCAD.Console.PrintLog( + " mesh without needed data --> The femelement_table " + "and femnodes_mesh are not needed for node load calculation.\n" + ) + if not self.femnodes_mesh: + self.femnodes_mesh = self.femmesh.Nodes + if not self.femelement_table: + self.femelement_table = meshtools.get_femelement_table( + self.femmesh + ) + # get node loads + FreeCAD.Console.PrintLog( + " Finite element mesh nodes will be retrieved by searching " + "the appropriate nodes in the finite element mesh.\n" + ) + FreeCAD.Console.PrintLog( + " The appropriate finite element mesh node load values will " + "be calculated according to the finite element definition.\n" + ) + for femobj in self.member.cons_force: + # femobj --> dict, FreeCAD document object is femobj["Object"] + frc_obj = femobj["Object"] + print_obj_info(frc_obj) + if frc_obj.Force == 0: + FreeCAD.Console.PrintMessage(" Warning --> Force = 0\n") + if femobj["RefShapeType"] == "Vertex": # point load on vertices + femobj["NodeLoadTable"] = meshtools.get_force_obj_vertex_nodeload_table( + self.femmesh, + frc_obj + ) + elif femobj["RefShapeType"] == "Edge": # line load on edges + femobj["NodeLoadTable"] = meshtools.get_force_obj_edge_nodeload_table( + self.femmesh, + self.femelement_table, + self.femnodes_mesh, frc_obj + ) + elif femobj["RefShapeType"] == "Face": # area load on faces + femobj["NodeLoadTable"] = meshtools.get_force_obj_face_nodeload_table( + self.femmesh, + self.femelement_table, + self.femnodes_mesh, frc_obj + ) + + # ******************************************************************************************** + # ******************************************************************************************** + # faces sets + def get_constraints_pressure_faces(self): + if not self.member.cons_pressure: + return + # TODO see comments in get_constraints_force_nodeloads() + # it applies here too. Mhh it applies to all constraints ... + + """ + # deprecated version + # get the faces and face numbers + for femobj in self.member.cons_pressure: + # femobj --> dict, FreeCAD document object is femobj["Object"] + femobj["PressureFaces"] = meshtools.get_pressure_obj_faces_depreciated( + self.femmesh, + femobj + ) + # print(femobj["PressureFaces"]) + """ + + if not self.femnodes_mesh: + self.femnodes_mesh = self.femmesh.Nodes + if not self.femelement_table: + self.femelement_table = meshtools.get_femelement_table(self.femmesh) + if not self.femnodes_ele_table: + self.femnodes_ele_table = meshtools.get_femnodes_ele_table( + self.femnodes_mesh, + self.femelement_table + ) + + for femobj in self.member.cons_pressure: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + pressure_faces = meshtools.get_pressure_obj_faces( + self.femmesh, + self.femelement_table, + self.femnodes_ele_table, femobj + ) + # the data model is for compatibility reason with deprecated version + # get_pressure_obj_faces_depreciated returns the face ids in a tuple per ref_shape + # some_string was the reference_shape_element_string in deprecated method + # [(some_string, [ele_id, ele_face_id], [ele_id, ele_face_id], ...])] + some_string = "{}: face load".format(femobj["Object"].Name) + femobj["PressureFaces"] = [(some_string, pressure_faces)] + FreeCAD.Console.PrintLog("{}\n".format(femobj["PressureFaces"])) + + def get_constraints_contact_faces(self): + if not self.member.cons_contact: + return + if not self.femnodes_mesh: + self.femnodes_mesh = self.femmesh.Nodes + if not self.femelement_table: + self.femelement_table = meshtools.get_femelement_table(self.femmesh) + if not self.femnodes_ele_table: + self.femnodes_ele_table = meshtools.get_femnodes_ele_table( + self.femnodes_mesh, + self.femelement_table + ) + + for femobj in self.member.cons_contact: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + contact_slave_faces, contact_master_faces = meshtools.get_contact_obj_faces( + self.femmesh, + self.femelement_table, + self.femnodes_ele_table, femobj + ) + # [ele_id, ele_face_id], [ele_id, ele_face_id], ...] + # whereas the ele_face_id might be ccx specific + femobj["ContactSlaveFaces"] = contact_slave_faces + femobj["ContactMasterFaces"] = contact_master_faces + # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactSlaveFaces"])) + # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactMasterFaces"])) + + # information in the regard of element faces constraints + # forum post: https://forum.freecadweb.org/viewtopic.php?f=18&t=42783&p=370286#p366723 + # contact: master and slave could be the same face: rubber of a damper + # tie: master and slave have to be separate faces AFA UR_ K + # section print: only the element faces of solid elements + # from one side of the geometric face are needed + + def get_constraints_tie_faces(self): + if not self.member.cons_tie: + return + if not self.femnodes_mesh: + self.femnodes_mesh = self.femmesh.Nodes + if not self.femelement_table: + self.femelement_table = meshtools.get_femelement_table(self.femmesh) + if not self.femnodes_ele_table: + self.femnodes_ele_table = meshtools.get_femnodes_ele_table( + self.femnodes_mesh, + self.femelement_table + ) + + for femobj in self.member.cons_tie: + # femobj --> dict, FreeCAD document object is femobj["Object"] + print_obj_info(femobj["Object"]) + slave_faces, master_faces = meshtools.get_tie_obj_faces( + self.femmesh, + self.femelement_table, + self.femnodes_ele_table, femobj + ) + # [ele_id, ele_face_id], [ele_id, ele_face_id], ...] + # whereas the ele_face_id might be ccx specific + femobj["TieSlaveFaces"] = slave_faces + femobj["TieMasterFaces"] = master_faces + # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactSlaveFaces"])) + # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactMasterFaces"])) + + def get_constraints_sectionprint_faces(self): + if not self.member.cons_sectionprint: + return + # TODO: use meshtools to get the surfaces + # see constraint contact or constraint tie + for femobj in self.member.cons_sectionprint: + # femobj --> dict, FreeCAD document object is femobj["Object"] + sectionprint_obj = femobj["Object"] + if len(sectionprint_obj.References) > 1: + FreeCAD.Console.PrintError( + "Only one reference shape allowed for a section print " + "but {} found: {}\n" + .format(len(sectionprint_obj.References), sectionprint_obj.References) + ) + for o, elem_tup in sectionprint_obj.References: + for elem in elem_tup: + # there should only be one reference for each section print object + # in the gui this is checked + ref_shape = o.Shape.getElement(elem) + if ref_shape.ShapeType == "Face": + v = self.mesh_object.FemMesh.getccxVolumesByFace(ref_shape) + if len(v) > 0: + femobj["SectionPrintFaces"] = v + # volume elements found + FreeCAD.Console.PrintLog( + "{}, surface {}, {} touching volume elements found\n" + .format(sectionprint_obj.Label, sectionprint_obj.Name, len(v)) + ) + else: + # no volume elements found, shell elements not allowed + FreeCAD.Console.PrintError( + "{}, surface {}, Error: " + "No volume elements found!\n" + .format(sectionprint_obj.Label, sectionprint_obj.Name) + ) + else: + # in Gui only Faces can be added + FreeCAD.Console.PrintError( + "Wrong reference shape type for {} " + "Only Faces are allowed, but a {} was found.\n" + .format(sectionprint_obj.Name, ref_shape.ShapeType) + ) + + def get_constraints_heatflux_faces(self): + if not self.member.cons_heatflux: + return + # TODO: use meshtools to get the surfaces (or move to mesh tools) + # see constraint contact or constraint tie and constraint force + # heatflux_obj_face_table: see force_obj_node_load_table + # [ + # ("refshape_name:elemname", face_table), + # ..., + # ("refshape_name:elemname", face_table) + # ] + for femobj in self.member.cons_heatflux: + # femobj --> dict, FreeCAD document object is femobj["Object"] + heatflux_obj = femobj["Object"] + femobj["HeatFluxFaceTable"] = [] + for o, elem_tup in heatflux_obj.References: + for elem in elem_tup: + ho = o.Shape.getElement(elem) + if ho.ShapeType == "Face": + elem_info = "{}:{}".format(o.Name, elem) + face_table = self.mesh_object.FemMesh.getccxVolumesByFace(ho) + femobj["HeatFluxFaceTable"].append((elem_info, face_table)) + + # ******************************************************************************************** + # ******************************************************************************************** + # element sets constraints + def get_constraints_centrif_elements(self): + # get element ids and write them into the femobj + if not self.member.cons_centrif: + return + if ( + len(self.member.cons_centrif) == 1 + and not self.member.cons_centrif[0]["Object"].References + ): + self.member.cons_centrif[0]["FEMElements"] = self.ccx_evolumes + else: + self.get_solid_element_sets(self.member.cons_centrif) + + # ******************************************************************************************** + # ******************************************************************************************** + # element sets material and element geometry + def get_solid_element_sets(self, femobjs): + # get element ids and write them into the femobj + all_found = False + if self.femmesh.GroupCount: + all_found = meshtools.get_femelement_sets_from_group_data( + self.femmesh, + femobjs + ) + FreeCAD.Console.PrintMessage(all_found) + FreeCAD.Console.PrintMessage("\n") + if all_found is False: + if not self.femelement_table: + self.femelement_table = meshtools.get_femelement_table(self.femmesh) + # we're going to use the binary search for get_femelements_by_femnodes() + # thus we need the parameter values self.femnodes_ele_table + if not self.femnodes_mesh: + self.femnodes_mesh = self.femmesh.Nodes + if not self.femnodes_ele_table: + self.femnodes_ele_table = meshtools.get_femnodes_ele_table( + self.femnodes_mesh, + self.femelement_table + ) + control = meshtools.get_femelement_sets( + self.femmesh, + self.femelement_table, + femobjs, + self.femnodes_ele_table + ) + # we only need to set it, if it is still True + if (self.femelement_count_test is True) and (control is False): + self.femelement_count_test = False + + def get_element_geometry2D_elements(self): + # get element ids and write them into the objects + FreeCAD.Console.PrintMessage("Shell thicknesses\n") + if not self.femelement_faces_table: + self.femelement_faces_table = meshtools.get_femelement_faces_table( + self.femmesh + ) + meshtools.get_femelement_sets( + self.femmesh, + self.femelement_faces_table, + self.member.geos_shellthickness + ) + + def get_element_geometry1D_elements(self): + # get element ids and write them into the objects + FreeCAD.Console.PrintMessage("Beam sections\n") + if not self.femelement_edges_table: + self.femelement_edges_table = meshtools.get_femelement_edges_table( + self.femmesh + ) + meshtools.get_femelement_sets( + self.femmesh, + self.femelement_edges_table, + self.member.geos_beamsection + ) + + def get_element_rotation1D_elements(self): + # get for each geometry edge direction the element ids and rotation norma + FreeCAD.Console.PrintMessage("Beam rotations\n") + if self.theshape is None: + FreeCAD.Console.PrintError( + "Beam rotations set can not be retrieved, " + "because the mesh does not know the Geometry it is made from\n" + ) + return + if not self.femelement_edges_table: + self.femelement_edges_table = meshtools.get_femelement_edges_table( + self.femmesh + ) + meshtools.get_femelement_direction1D_set( + self.femmesh, + self.femelement_edges_table, + self.member.geos_beamrotation, + self.theshape + ) + + def get_element_fluid1D_elements(self): + # get element ids and write them into the objects + FreeCAD.Console.PrintMessage("Fluid sections\n") + if not self.femelement_edges_table: + self.femelement_edges_table = meshtools.get_femelement_edges_table( + self.femmesh + ) + meshtools.get_femelement_sets( + self.femmesh, + self.femelement_edges_table, + self.member.geos_fluidsection + ) + + def get_material_elements(self): + # it only works if either Volumes or Shellthicknesses or Beamsections + # are in the material objects, it means it does not work + # for mixed meshes and multiple materials, this is checked in check_prerequisites + # the femelement_table is only calculated for + # the highest dimension in get_femelement_table + FreeCAD.Console.PrintMessage("Materials\n") + if self.femmesh.Volumes: + # we only could do this for volumes + # if a mesh contains volumes we're going to use them in the analysis + # but a mesh could contain + # the element faces of the volumes as faces + # and the edges of the faces as edges + # there we have to check of some geometric objects + # get element ids and write them into the femobj + self.get_solid_element_sets(self.member.mats_linear) + if self.member.geos_shellthickness: + if not self.femelement_faces_table: + self.femelement_faces_table = meshtools.get_femelement_faces_table( + self.femmesh + ) + meshtools.get_femelement_sets( + self.femmesh, + self.femelement_faces_table, + self.member.mats_linear + ) + if self.member.geos_beamsection or self.member.geos_fluidsection: + if not self.femelement_edges_table: + self.femelement_edges_table = meshtools.get_femelement_edges_table( + self.femmesh + ) + meshtools.get_femelement_sets( + self.femmesh, + self.femelement_edges_table, + self.member.mats_linear + ) + + def get_element_sets_material_and_femelement_geometry(self): + if not self.member.mats_linear: + return + # in any case if we have beams, we're going to need the element ids for the rotation elsets + if self.member.geos_beamsection: + # we will need to split the beam even for one beamobj + # because no beam in z-direction can be used in ccx without a special adjustment + # thus they need an own matgeoset + self.get_element_rotation1D_elements() + + # get the element ids for face and edge elements and write them into the objects + if len(self.member.geos_shellthickness) > 1: + self.get_element_geometry2D_elements() + if len(self.member.geos_beamsection) > 1: + self.get_element_geometry1D_elements() + if len(self.member.geos_fluidsection) > 1: + self.get_element_fluid1D_elements() + + # get the element ids for material objects and write them into the material object + if len(self.member.mats_linear) > 1: + self.get_material_elements() + + # create the mat_geo_sets + if len(self.member.mats_linear) == 1: + if self.femmesh.Volumes: + # we only could do this for volumes, if a mesh contains volumes + # we're going to use them in the analysis + # but a mesh could contain the element faces of the volumes as faces + # and the edges of the faces as edges + # there we have to check for some geometric objects + self.get_mat_geo_sets_single_mat_solid() + if len(self.member.geos_shellthickness) == 1: + self.get_mat_geo_sets_single_mat_single_shell() + elif len(self.member.geos_shellthickness) > 1: + self.get_mat_geo_sets_single_mat_multiple_shell() + if len(self.member.geos_beamsection) == 1: + self.get_mat_geo_sets_single_mat_single_beam() + elif len(self.member.geos_beamsection) > 1: + self.get_mat_geo_sets_single_mat_multiple_beam() + if len(self.member.geos_fluidsection) == 1: + self.get_mat_geo_sets_single_mat_single_fluid() + elif len(self.member.geos_fluidsection) > 1: + self.get_mat_geo_sets_single_mat_multiple_fluid() + elif len(self.member.mats_linear) > 1: + if self.femmesh.Volumes: + # we only could do this for volumes, if a mseh contains volumes + # we're going to use them in the analysis + # but a mesh could contain the element faces of the volumes as faces + # and the edges of the faces as edges + # there we have to check for some geometric objects + # volume is a bit special + # because retrieving ids from group mesh data is implemented + self.get_mat_geo_sets_multiple_mat_solid() + if len(self.member.geos_shellthickness) == 1: + self.get_mat_geo_sets_multiple_mat_single_shell() + elif len(self.member.geos_shellthickness) > 1: + self.get_mat_geo_sets_multiple_mat_multiple_shell() + if len(self.member.geos_beamsection) == 1: + self.get_mat_geo_sets_multiple_mat_single_beam() + elif len(self.member.geos_beamsection) > 1: + self.get_mat_geo_sets_multiple_mat_multiple_beam() + if len(self.member.geos_fluidsection) == 1: + self.get_mat_geo_sets_multiple_mat_single_fluid() + elif len(self.member.geos_fluidsection) > 1: + self.get_mat_geo_sets_multiple_mat_multiple_fluid() + + # self.mat_geo_sets = [ { + # "ccx_elset" : [e1, e2, e3, ... , en] or elements set name strings + # "ccx_elset_name" : "ccx_identifier_elset" + # "mat_obj_name" : "mat_obj.Name" + # "ccx_mat_name" : "mat_obj.Material["Name"]" !!! not unique !!! + # "beamsection_obj" : "beamsection_obj" if exists + # "fluidsection_obj" : "fluidsection_obj" if exists + # "shellthickness_obj" : shellthickness_obj" if exists + # "beam_normal" : normal vector for beams only + # }, + # {}, ... , {} ] + + # beam + # TODO support multiple beamrotations + # we do not need any more any data from the rotation document object, + # thus we do not need to save the rotation document object name in the else + def get_mat_geo_sets_single_mat_single_beam(self): + mat_obj = self.member.mats_linear[0]["Object"] + beamsec_obj = self.member.geos_beamsection[0]["Object"] + beamrot_data = self.member.geos_beamrotation[0] + for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): + # ID's for this direction + elset_data = beamdirection["ids"] + names = [ + {"short": "M0"}, + {"short": "B0"}, + {"short": beamrot_data["ShortName"]}, + {"short": "D" + str(i)} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj + # normal for this direction + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_single_mat_multiple_beam(self): + mat_obj = self.member.mats_linear[0]["Object"] + beamrot_data = self.member.geos_beamrotation[0] + for beamsec_data in self.member.geos_beamsection: + beamsec_obj = beamsec_data["Object"] + beamsec_ids = set(beamsec_data["FEMElements"]) + for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): + beamdir_ids = set(beamdirection["ids"]) + # empty intersection sets possible + elset_data = list(sorted(beamsec_ids.intersection(beamdir_ids))) + if elset_data: + names = [ + {"short": "M0"}, + {"short": beamsec_data["ShortName"]}, + {"short": beamrot_data["ShortName"]}, + {"short": "D" + str(i)} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj + # normal for this direction + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_multiple_mat_single_beam(self): + beamsec_obj = self.member.geos_beamsection[0]["Object"] + beamrot_data = self.member.geos_beamrotation[0] + for mat_data in self.member.mats_linear: + mat_obj = mat_data["Object"] + mat_ids = set(mat_data["FEMElements"]) + for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): + beamdir_ids = set(beamdirection["ids"]) + elset_data = list(sorted(mat_ids.intersection(beamdir_ids))) + if elset_data: + names = [ + {"short": mat_data["ShortName"]}, + {"short": "B0"}, + {"short": beamrot_data["ShortName"]}, + {"short": "D" + str(i)} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj + # normal for this direction + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_multiple_mat_multiple_beam(self): + beamrot_data = self.member.geos_beamrotation[0] + for beamsec_data in self.member.geos_beamsection: + beamsec_obj = beamsec_data["Object"] + beamsec_ids = set(beamsec_data["FEMElements"]) + for mat_data in self.member.mats_linear: + mat_obj = mat_data["Object"] + mat_ids = set(mat_data["FEMElements"]) + for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): + beamdir_ids = set(beamdirection["ids"]) + # empty intersection sets possible + elset_data = list(sorted( + beamsec_ids.intersection(mat_ids).intersection(beamdir_ids) + )) + if elset_data: + names = [ + {"short": mat_data["ShortName"]}, + {"short": beamsec_data["ShortName"]}, + {"short": beamrot_data["ShortName"]}, + {"short": "D" + str(i)} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["beamsection_obj"] = beamsec_obj + # normal for this direction + matgeoset["beam_normal"] = beamdirection["normal"] + self.mat_geo_sets.append(matgeoset) + + # fluid + def get_mat_geo_sets_single_mat_single_fluid(self): + mat_obj = self.member.mats_linear[0]["Object"] + fluidsec_obj = self.member.geos_fluidsection[0]["Object"] + elset_data = self.ccx_eedges + names = [{"short": "M0"}, {"short": "F0"}] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_single_mat_multiple_fluid(self): + mat_obj = self.member.mats_linear[0]["Object"] + for fluidsec_data in self.member.geos_fluidsection: + fluidsec_obj = fluidsec_data["Object"] + elset_data = fluidsec_data["FEMElements"] + names = [{"short": "M0"}, {"short": fluidsec_data["ShortName"]}] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_multiple_mat_single_fluid(self): + fluidsec_obj = self.member.geos_fluidsection[0]["Object"] + for mat_data in self.member.mats_linear: + mat_obj = mat_data["Object"] + elset_data = mat_data["FEMElements"] + names = [{"short": mat_data["ShortName"]}, {"short": "F0"}] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_multiple_mat_multiple_fluid(self): + for fluidsec_data in self.member.geos_fluidsection: + fluidsec_obj = fluidsec_data["Object"] + for mat_data in self.member.mats_linear: + mat_obj = mat_data["Object"] + fluidsec_ids = set(fluidsec_data["FEMElements"]) + mat_ids = set(mat_data["FEMElements"]) + # empty intersection sets possible + elset_data = list(sorted(fluidsec_ids.intersection(mat_ids))) + if elset_data: + names = [ + {"short": mat_data["ShortName"]}, + {"short": fluidsec_data["ShortName"]} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_short(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["fluidsection_obj"] = fluidsec_obj + self.mat_geo_sets.append(matgeoset) + + # shell + def get_mat_geo_sets_single_mat_single_shell(self): + mat_obj = self.member.mats_linear[0]["Object"] + shellth_obj = self.member.geos_shellthickness[0]["Object"] + elset_data = self.ccx_efaces + names = [ + {"long": mat_obj.Name, "short": "M0"}, + {"long": shellth_obj.Name, "short": "S0"} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_single_mat_multiple_shell(self): + mat_obj = self.member.mats_linear[0]["Object"] + for shellth_data in self.member.geos_shellthickness: + shellth_obj = shellth_data["Object"] + elset_data = shellth_data["FEMElements"] + names = [ + {"long": mat_obj.Name, "short": "M0"}, + {"long": shellth_obj.Name, "short": shellth_data["ShortName"]} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_multiple_mat_single_shell(self): + shellth_obj = self.member.geos_shellthickness[0]["Object"] + for mat_data in self.member.mats_linear: + mat_obj = mat_data["Object"] + elset_data = mat_data["FEMElements"] + names = [ + {"long": mat_obj.Name, "short": mat_data["ShortName"]}, + {"long": shellth_obj.Name, "short": "S0"} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) + + def get_mat_geo_sets_multiple_mat_multiple_shell(self): + for shellth_data in self.member.geos_shellthickness: + shellth_obj = shellth_data["Object"] + for mat_data in self.member.mats_linear: + mat_obj = mat_data["Object"] + shellth_ids = set(shellth_data["FEMElements"]) + mat_ids = set(mat_data["FEMElements"]) + # empty intersection sets possible + elset_data = list(sorted(shellth_ids.intersection(mat_ids))) + if elset_data: + names = [ + {"long": mat_obj.Name, "short": mat_data["ShortName"]}, + {"long": shellth_obj.Name, "short": shellth_data["ShortName"]} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + matgeoset["shellthickness_obj"] = shellth_obj + self.mat_geo_sets.append(matgeoset) + + # solid + def get_mat_geo_sets_single_mat_solid(self): + mat_obj = self.member.mats_linear[0]["Object"] + elset_data = self.ccx_evolumes + names = [ + {"long": mat_obj.Name, "short": "M0"}, + {"long": "Solid", "short": "Solid"} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + self.mat_geo_sets.append(matgeoset) + print(self.mat_geo_sets) + + def get_mat_geo_sets_multiple_mat_solid(self): + for mat_data in self.member.mats_linear: + mat_obj = mat_data["Object"] + elset_data = mat_data["FEMElements"] + names = [ + {"long": mat_obj.Name, "short": mat_data["ShortName"]}, + {"long": "Solid", "short": "Solid"} + ] + matgeoset = {} + matgeoset["ccx_elset"] = elset_data + matgeoset["ccx_elset_name"] = get_elset_name_standard(names) + matgeoset["mat_obj_name"] = mat_obj.Name + matgeoset["ccx_mat_name"] = mat_obj.Material["Name"] + self.mat_geo_sets.append(matgeoset) + + +# ************************************************************************************************ +# Helpers + + +# ccx elset names: +# M .. Material +# B .. Beam +# R .. BeamRotation +# D .. Direction +# F .. Fluid +# S .. Shell, +# TODO write comment into input file to elset ids and elset attributes + + +def get_elset_name_standard(names): + # standard max length = 80 + elset_name = "" + for name in names: + elset_name += name["long"] + if len(elset_name) < 81: + return elset_name + else: + elset_name = "" + for name in names: + elset_name += name["short"] + if len(elset_name) < 81: + return elset_name + else: + error = ( + "FEM: Trouble in elset name, because an " + "elset name is longer than 80 character! {}\n" + .format(elset_name) + ) + raise Exception(error) + + +def get_elset_name_short(names): + # restricted max length = 20 (elsets) + # in CalculiX solver input this is needed for beam elsets + elset_name = "" + for name in names: + elset_name += name["short"] + if len(elset_name) < 21: + return elset_name + else: + error = ( + "FEM: Trouble in elset name, because an" + "short elset name is longer than 20 characters! {}\n" + .format(elset_name) + ) + raise Exception(error) + + +def print_obj_info(obj, log=False): + if log is False: + FreeCAD.Console.PrintMessage("{}:\n".format(obj.Label)) + FreeCAD.Console.PrintMessage( + " Type: {}, Name: {}\n".format(type_of_obj(obj), obj.Name) + ) + else: + FreeCAD.Console.PrintLog("{}:\n".format(obj.Label)) + FreeCAD.Console.PrintLog( + " Type: {}, Name: {}\n".format(type_of_obj(obj), obj.Name) + ) + +## @} diff --git a/src/Mod/Fem/femmesh/meshtools.py b/src/Mod/Fem/femmesh/meshtools.py index 02fe33205e..ee0a614da5 100644 --- a/src/Mod/Fem/femmesh/meshtools.py +++ b/src/Mod/Fem/femmesh/meshtools.py @@ -734,6 +734,7 @@ def get_elset_short_name( obj, i ): + # ATM for CalculiX needed for all objects which will write element sets into solver input file from femtools.femutils import is_of_type if is_of_type(obj, "Fem::MaterialCommon"): return "M" + str(i) @@ -745,6 +746,8 @@ def get_elset_short_name( return "F" + str(i) elif is_of_type(obj, "Fem::ElementGeometry2D"): return "S" + str(i) + elif is_of_type(obj, "Fem::ConstraintCentrif"): + return "C" + str(i) else: FreeCAD.Console.PrintError( "Error in creating short elset name " @@ -2190,6 +2193,74 @@ def is_zplane_2D_mesh( return False +# ************************************************************************************************ +def get_femmesh_eletype( + femmesh, + femelement_table=None +): + if not femmesh: + FreeCAD.Console.PrintError("Error: No femmesh.\n") + if not femelement_table: + FreeCAD.Console.PrintError("The femelement_table need to be calculated.\n") + femelement_table = get_femelement_table(femmesh) + # in some cases lowest key in femelement_table is not [1] + for elem in sorted(femelement_table): + elem_length = len(femelement_table[elem]) + FreeCAD.Console.PrintLog("Node count of first element: {}\n".format(elem_length)) + break # break after the first elem + if is_solid_femmesh(femmesh): + if femmesh.TetraCount == femmesh.VolumeCount: + if elem_length == 4: + return "tetra4" + elif elem_length == 10: + return "tetra10" + else: + FreeCAD.Console.PrintMessage("Tetra with neither 4 nor 10 nodes.\n") + return "None" + elif femmesh.HexaCount == femmesh.VolumeCount: + if elem_length == 8: + return "hexa8" + elif elem_length == 20: + return "hexa20" + else: + FreeCAD.Console.PrintError("Hexa with neither 8 nor 20 nodes.\n") + return "None" + else: + FreeCAD.Console.PrintError("no tetra, no hexa or Mixed Volume Elements.\n") + elif is_face_femmesh(femmesh): + if femmesh.TriangleCount == femmesh.FaceCount: + if elem_length == 3: + return "tria3" + elif elem_length == 6: + return "tria6" + else: + FreeCAD.Console.PrintError("Tria with neither 3 nor 6 nodes.\n") + return "None" + elif femmesh.QuadrangleCount == femmesh.FaceCount: + if elem_length == 4: + return "quad4" + elif elem_length == 8: + return "quad8" + else: + FreeCAD.Console.PrintError("Quad with neither 4 nor 8 nodes.\n") + return "None" + else: + FreeCAD.Console.PrintError("no tria, no quad\n") + return "None" + elif is_edge_femmesh(femmesh): + if elem_length == 2: + return "seg2" + elif elem_length == 3: + return "seg3" + else: + FreeCAD.Console.PrintError("Seg with neither 2 nor 3 nodes.\n") + return "None" + else: + FreeCAD.Console.PrintError("Neither edge nor face nor solid femmesh.\n") + return "None" + return "None" + + # ************************************************************************************************ def get_three_non_colinear_nodes( nodes_coords diff --git a/src/Mod/Fem/femobjects/constraint_centrif.py b/src/Mod/Fem/femobjects/constraint_centrif.py new file mode 100644 index 0000000000..3c732ed0d5 --- /dev/null +++ b/src/Mod/Fem/femobjects/constraint_centrif.py @@ -0,0 +1,57 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM constraint centrif document object" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +## @package constraint_centrif +# \ingroup FEM +# \brief constraint centrif object + +from . import base_fempythonobject + + +class ConstraintCentrif(base_fempythonobject.BaseFemPythonObject): + """ + The ConstraintCentrif object + """ + + Type = "Fem::ConstraintCentrif" + + def __init__(self, obj): + super(ConstraintCentrif, self).__init__(obj) + + obj.addProperty( + "App::PropertyFrequency", + "RotationFrequency", + "Constraint CENTRIF", + "set rotation frequency f
rot" + ) + + obj.addProperty( + "App::PropertyLinkSubList", + "RotationAxis", + "Constraint CENTRIF", + "set line as axis of rotation" + ) diff --git a/src/Mod/Fem/femsolver/calculix/tasks.py b/src/Mod/Fem/femsolver/calculix/tasks.py index 94a05b3d3c..a6c6c1018f 100644 --- a/src/Mod/Fem/femsolver/calculix/tasks.py +++ b/src/Mod/Fem/femsolver/calculix/tasks.py @@ -40,6 +40,7 @@ from .. import run from .. import settings from feminout import importCcxDatResults from feminout import importCcxFrdResults +from femmesh import meshsetsgetter from femtools import femutils from femtools import membertools @@ -51,8 +52,21 @@ class Check(run.Check): def run(self): self.pushStatus("Checking analysis...\n") - self.checkMesh() - self.checkMaterial() + self.check_mesh_exists() + + # workaround use Calculix ccxtools pre checks + from femtools.checksanalysis import check_member_for_solver_calculix + message = check_member_for_solver_calculix( + self.analysis, + self.solver, + membertools.get_mesh_to_solve(self.analysis)[0], + membertools.AnalysisMember(self.analysis) + ) + if message: + text = "CalculiX can not be started...\n" + self.report.error("{}{}".format(text, message)) + self.fail() + return class Prepare(run.Prepare): @@ -60,36 +74,51 @@ class Prepare(run.Prepare): def run(self): global _inputFileName self.pushStatus("Preparing input files...\n") + + mesh_obj = membertools.get_mesh_to_solve(self.analysis)[0] # pre check done already + + # get mesh set data + # TODO evaluate if it makes sense to add new task + # between check and prepare to the solver frame work + meshdatagetter = meshsetsgetter.MeshSetsGetter( + self.analysis, + self.solver, + mesh_obj, + membertools.AnalysisMember(self.analysis), + ) + meshdatagetter.get_mesh_sets() + + # write input file w = writer.FemInputWriterCcx( self.analysis, self.solver, - membertools.get_mesh_to_solve(self.analysis)[0], # pre check has been done already - membertools.AnalysisMember(self.analysis), - self.directory + mesh_obj, + meshdatagetter.member, + self.directory, + meshdatagetter.mat_geo_sets ) - path = w.write_calculix_input_file() + path = w.write_solver_input() # report to user if task succeeded - if path != "": - self.pushStatus("Write completed!") + if path != "" and os.path.isfile(path): + self.pushStatus("Write completed.") else: - self.pushStatus("Writing CalculiX input file failed!") + self.pushStatus("Writing CalculiX solver input file failed,") + self.fail() _inputFileName = os.path.splitext(os.path.basename(path))[0] class Solve(run.Solve): def run(self): - if not _inputFileName: - # TODO do not run solver - # do not try to read results in a smarter way than an Exception - raise Exception("Error on writing CalculiX input file.\n") self.pushStatus("Executing solver...\n") + binary = settings.get_binary("Calculix") self._process = subprocess.Popen( [binary, "-i", _inputFileName], cwd=self.directory, stdout=subprocess.PIPE, - stderr=subprocess.PIPE) + stderr=subprocess.PIPE + ) self.signalAbort.add(self._process.terminate) # output = self._observeSolver(self._process) self._process.communicate() @@ -110,16 +139,23 @@ class Results(run.Results): "User parameter:BaseApp/Preferences/Mod/Fem/General") if not prefs.GetBool("KeepResultsOnReRun", False): self.purge_results() - self.load_results_ccxfrd() - self.load_results_ccxdat() + self.load_results() def purge_results(self): + + # dat file will not be removed + # results from other solvers will be removed too + # the user should decide if purge should only delete the solver results or all results for m in membertools.get_member(self.analysis, "Fem::FemResultObject"): if m.Mesh and femutils.is_of_type(m.Mesh, "Fem::MeshResult"): self.analysis.Document.removeObject(m.Mesh.Name) self.analysis.Document.removeObject(m.Name) self.analysis.Document.recompute() + def load_results(self): + self.load_results_ccxfrd() + self.load_results_ccxdat() + def load_results_ccxfrd(self): frd_result_file = os.path.join( self.directory, _inputFileName + ".frd") diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_centrif.py b/src/Mod/Fem/femsolver/calculix/write_constraint_centrif.py new file mode 100644 index 0000000000..b5a0b98753 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_centrif.py @@ -0,0 +1,108 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint centrif" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +import math +import six + +import FreeCAD + + +def get_analysis_types(): + return ["buckling", "static", "thermomech"] + + +def get_sets_name(): + return "constraints_centrif_element_sets" + + +def get_constraint_title(): + return "Centrif Constraints" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, centrif_obj, ccxwriter): + f.write("*ELSET,ELSET={}\n".format(centrif_obj.Name)) + # use six to be sure to be Python 2.7 and 3.x compatible + if isinstance(femobj["FEMElements"], six.string_types): + f.write("{}\n".format(femobj["FEMElements"])) + else: + for e in femobj["FEMElements"]: + f.write("{},\n".format(e)) + + +def write_constraint(f, femobj, centrif_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + # get some data from the centrif_obj + refobj = centrif_obj.RotationAxis[0][0] + subobj = centrif_obj.RotationAxis[0][1][0] + axis = refobj.Shape.getElement(subobj) + + if axis.Curve.TypeId == "Part::GeomLine": + axiscopy = axis.copy() # apply global placement to copy + axiscopy.Placement = refobj.getGlobalPlacement() + direction = axiscopy.Curve.Direction + location = axiscopy.Curve.Location + else: # no line found, set default + # TODO: No test at all in the writer + # they should all be before in prechecks + location = FreeCAD.Vector(0., 0., 0.) + direction = FreeCAD.Vector(0., 0., 1.) + + # write to file + f.write("*DLOAD\n") + f.write( + "{},CENTRIF,{:.13G},{:.13G},{:.13G},{:.13G},{:.13G},{:.13G},{:.13G}\n" + .format( + centrif_obj.Name, + (2. * math.pi * float(centrif_obj.RotationFrequency.getValueAs("1/s"))) ** 2, + location.x, + location.y, + location.z, + direction.x, + direction.y, + direction.z + ) + ) + f.write("\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_contact.py b/src/Mod/Fem/femsolver/calculix/write_constraint_contact.py new file mode 100644 index 0000000000..dd8ddee7fd --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_contact.py @@ -0,0 +1,87 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint contact" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return "all" # write for all analysis types + + +def get_sets_name(): + return "constraints_contact_surface_sets" + + +def get_constraint_title(): + return "Contact Constraints" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, contact_obj, ccxwriter): + # slave DEP + f.write("*SURFACE, NAME=DEP{}\n".format(contact_obj.Name)) + for i in femobj["ContactSlaveFaces"]: + f.write("{},S{}\n".format(i[0], i[1])) + # master IND + f.write("*SURFACE, NAME=IND{}\n".format(contact_obj.Name)) + for i in femobj["ContactMasterFaces"]: + f.write("{},S{}\n".format(i[0], i[1])) + + +def write_constraint(f, femobj, contact_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + f.write( + "*CONTACT PAIR, INTERACTION=INT{},TYPE=SURFACE TO SURFACE\n" + .format(contact_obj.Name) + ) + ind_surf = "IND" + contact_obj.Name + dep_surf = "DEP" + contact_obj.Name + f.write("{},{}\n".format(dep_surf, ind_surf)) + f.write("*SURFACE INTERACTION, NAME=INT{}\n".format(contact_obj.Name)) + f.write("*SURFACE BEHAVIOR,PRESSURE-OVERCLOSURE=LINEAR\n") + slope = contact_obj.Slope + f.write("{:.13G}\n".format(slope)) + friction = contact_obj.Friction + if friction > 0: + f.write("*FRICTION \n") + stick = (slope / 10.0) + f.write("{:.13G}, {:.13G}\n".format(friction, stick)) diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_displacement.py b/src/Mod/Fem/femsolver/calculix/write_constraint_displacement.py new file mode 100644 index 0000000000..e9f932ca20 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_displacement.py @@ -0,0 +1,93 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint displacement" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return "all" # write for all analysis types + + +def get_sets_name(): + return "constraints_displacement_node_sets" + + +def get_constraint_title(): + return "Displacement constraint applied" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "\n" + + +def write_meshdata_constraint(f, femobj, disp_obj, ccxwriter): + f.write("*NSET,NSET={}\n".format(disp_obj.Name)) + for n in femobj["Nodes"]: + f.write("{},\n".format(n)) + + +def write_constraint(f, femobj, disp_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + f.write("*BOUNDARY\n") + if disp_obj.xFix: + f.write("{},1\n".format(disp_obj.Name)) + elif not disp_obj.xFree: + f.write("{},1,1,{:.13G}\n".format(disp_obj.Name, disp_obj.xDisplacement)) + if disp_obj.yFix: + f.write("{},2\n".format(disp_obj.Name)) + elif not disp_obj.yFree: + f.write("{},2,2,{:.13G}\n".format(disp_obj.Name, disp_obj.yDisplacement)) + if disp_obj.zFix: + f.write("{},3\n".format(disp_obj.Name)) + elif not disp_obj.zFree: + f.write("{},3,3,{:.13G}\n".format(disp_obj.Name, disp_obj.zDisplacement)) + + if ccxwriter.member.geos_beamsection or ccxwriter.member.geos_shellthickness: + if disp_obj.rotxFix: + f.write("{},4\n".format(disp_obj.Name)) + elif not disp_obj.rotxFree: + f.write("{},4,4,{:.13G}\n".format(disp_obj.Name, disp_obj.xRotation)) + if disp_obj.rotyFix: + f.write("{},5\n".format(disp_obj.Name)) + elif not disp_obj.rotyFree: + f.write("{},5,5,{:.13G}\n".format(disp_obj.Name, disp_obj.yRotation)) + if disp_obj.rotzFix: + f.write("{},6\n".format(disp_obj.Name)) + elif not disp_obj.rotzFree: + f.write("{},6,6,{:.13G}\n".format(disp_obj.Name, disp_obj.zRotation)) diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_fixed.py b/src/Mod/Fem/femsolver/calculix/write_constraint_fixed.py new file mode 100644 index 0000000000..fd79db4dda --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_fixed.py @@ -0,0 +1,114 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint fixed" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return "all" # write for all analysis types + + +def get_sets_name(): + return "constraints_fixed_node_sets" + + +def get_constraint_title(): + return "Fixed Constraints" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, fix_obj, ccxwriter): + if ( + ccxwriter.femmesh.Volumes + and ( + len(ccxwriter.member.geos_shellthickness) > 0 + or len(ccxwriter.member.geos_beamsection) > 0 + ) + ): + if len(femobj["NodesSolid"]) > 0: + f.write("*NSET,NSET={}Solid\n".format(fix_obj.Name)) + for n in femobj["NodesSolid"]: + f.write("{},\n".format(n)) + if len(femobj["NodesFaceEdge"]) > 0: + f.write("*NSET,NSET={}FaceEdge\n".format(fix_obj.Name)) + for n in femobj["NodesFaceEdge"]: + f.write("{},\n".format(n)) + else: + f.write("*NSET,NSET=" + fix_obj.Name + "\n") + for n in femobj["Nodes"]: + f.write("{},\n".format(n)) + + +def write_constraint(f, femobj, fix_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + if ( + ccxwriter.femmesh.Volumes + and ( + len(ccxwriter.member.geos_shellthickness) > 0 + or len(ccxwriter.member.geos_beamsection) > 0 + ) + ): + if len(femobj["NodesSolid"]) > 0: + f.write("*BOUNDARY\n") + f.write(fix_obj.Name + "Solid" + ",1\n") + f.write(fix_obj.Name + "Solid" + ",2\n") + f.write(fix_obj.Name + "Solid" + ",3\n") + f.write("\n") + if len(femobj["NodesFaceEdge"]) > 0: + f.write("*BOUNDARY\n") + f.write(fix_obj.Name + "FaceEdge" + ",1\n") + f.write(fix_obj.Name + "FaceEdge" + ",2\n") + f.write(fix_obj.Name + "FaceEdge" + ",3\n") + f.write(fix_obj.Name + "FaceEdge" + ",4\n") + f.write(fix_obj.Name + "FaceEdge" + ",5\n") + f.write(fix_obj.Name + "FaceEdge" + ",6\n") + f.write("\n") + else: + f.write("*BOUNDARY\n") + f.write(fix_obj.Name + ",1\n") + f.write(fix_obj.Name + ",2\n") + f.write(fix_obj.Name + ",3\n") + if ccxwriter.member.geos_beamsection or ccxwriter.member.geos_shellthickness: + f.write(fix_obj.Name + ",4\n") + f.write(fix_obj.Name + ",5\n") + f.write(fix_obj.Name + ",6\n") + f.write("\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_fluidsection.py b/src/Mod/Fem/femsolver/calculix/write_constraint_fluidsection.py new file mode 100644 index 0000000000..b5819bcbd7 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_fluidsection.py @@ -0,0 +1,223 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint fluidsection" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +import codecs +import os +import six +from os.path import join + +import FreeCAD + +from femmesh import meshtools + + +# ******************************************************************************************** +# handle elements for constraints fluidsection with Liquid Inlet or Outlet +# belongs to write_constraints_fluidsection, should be next method +# leave the constraints fluidsection code as the last constraint method in this module +# as it is none standard constraint method compared to all other constraints +def handle_fluidsection_liquid_inlet_outlet(inpfile, ccxwriter): + + if not ccxwriter.member.geos_fluidsection: + return inpfile + + # Fluid sections: + # fluidsection Liquid inlet outlet objs requires special element definition + # to fill ccxwriter.FluidInletoutlet_ele list the mat_geo_sets are needed + # thus this has to be after the creation of mat_geo_sets + # different pipe cross sections will generate mat_geo_sets + + ccxwriter.FluidInletoutlet_ele = [] + ccxwriter.fluid_inout_nodes_file = join( + ccxwriter.dir_name, + "{}_inout_nodes.txt".format(ccxwriter.mesh_name) + ) + + def get_fluidsection_inoutlet_obj_if_setdata(matgeoset): + if ( + matgeoset["ccx_elset"] + # use six to be sure to be Python 2.7 and 3.x compatible + and not isinstance(matgeoset["ccx_elset"], six.string_types) + and "fluidsection_obj" in matgeoset # fluid mesh + ): + fluidsec_obj = matgeoset["fluidsection_obj"] + if ( + fluidsec_obj.SectionType == "Liquid" + and ( + fluidsec_obj.LiquidSectionType == "PIPE INLET" + or fluidsec_obj.LiquidSectionType == "PIPE OUTLET" + ) + ): + return fluidsec_obj + return None + + def is_fluidsection_inoutlet_setnames_possible(mat_geo_sets): + for matgeoset in mat_geo_sets: + if ( + matgeoset["ccx_elset"] + and "fluidsection_obj" in matgeoset # fluid mesh + ): + fluidsec_obj = matgeoset["fluidsection_obj"] + if ( + fluidsec_obj.SectionType == "Liquid" + and ( + fluidsec_obj.LiquidSectionType == "PIPE INLET" + or fluidsec_obj.LiquidSectionType == "PIPE OUTLET" + ) + ): + return True + return False + + # collect elementIDs for fluidsection Liquid inlet outlet objs + # if they have element data (happens if not "eall") + for matgeoset in ccxwriter.mat_geo_sets: + fluidsec_obj = get_fluidsection_inoutlet_obj_if_setdata(matgeoset) + if fluidsec_obj is None: + continue + elsetchanged = False + counter = 0 + for elid in matgeoset["ccx_elset"]: + counter = counter + 1 + if (elsetchanged is False) \ + and (fluidsec_obj.LiquidSectionType == "PIPE INLET"): + # 3rd index is to track which line nr the element is defined + ccxwriter.FluidInletoutlet_ele.append( + [str(elid), fluidsec_obj.LiquidSectionType, 0] + ) + elsetchanged = True + elif (fluidsec_obj.LiquidSectionType == "PIPE OUTLET") \ + and (counter == len(matgeoset["ccx_elset"])): + # 3rd index is to track which line nr the element is defined + ccxwriter.FluidInletoutlet_ele.append( + [str(elid), fluidsec_obj.LiquidSectionType, 0] + ) + + # create the correct element definition for fluidsection Liquid inlet outlet objs + # at least one "fluidsection_obj" needs to be in mat_geo_sets and has the attributes + # TODO: what if there are other objs in elsets? + if is_fluidsection_inoutlet_setnames_possible(ccxwriter.mat_geo_sets) is not None: + # it is not distinguished if split input file + # for split input file the main file is just closed and reopend even if not needed + inpfile.close() + meshtools.use_correct_fluidinout_ele_def( + ccxwriter.FluidInletoutlet_ele, + ccxwriter.femmesh_file, + ccxwriter.fluid_inout_nodes_file + ) + inpfile = codecs.open(ccxwriter.file_name, "a", encoding="utf-8") + + return inpfile + + +# ******************************************************************************************** +# TODO: +# split method into separate methods and move some part into base writer +# see also method handle_fluidsection_liquid_inlet_outlet +def write_constraints_fluidsection(f, ccxwriter): + if not ccxwriter.member.geos_fluidsection: + return + if ccxwriter.analysis_type not in ["thermomech"]: + return + + # write constraint to file + f.write("\n***********************************************************\n") + f.write("** FluidSection constraints\n") + if os.path.exists(ccxwriter.fluid_inout_nodes_file): + inout_nodes_file = open(ccxwriter.fluid_inout_nodes_file, "r") + lines = inout_nodes_file.readlines() + inout_nodes_file.close() + else: + FreeCAD.Console.PrintError( + "1DFlow inout nodes file not found: {}\n" + .format(ccxwriter.fluid_inout_nodes_file) + ) + # get nodes + ccxwriter.get_constraints_fluidsection_nodes() + for femobj in ccxwriter.member.geos_fluidsection: + # femobj --> dict, FreeCAD document object is femobj["Object"] + fluidsection_obj = femobj["Object"] + f.write("** " + fluidsection_obj.Label + "\n") + if fluidsection_obj.SectionType == "Liquid": + if fluidsection_obj.LiquidSectionType == "PIPE INLET": + f.write("**Fluid Section Inlet \n") + if fluidsection_obj.InletPressureActive is True: + f.write("*BOUNDARY \n") + for n in femobj["Nodes"]: + for line in lines: + b = line.split(",") + if int(b[0]) == n and b[3] == "PIPE INLET\n": + # degree of freedom 2 is for defining pressure + f.write("{},{},{},{}\n".format( + b[0], + "2", + "2", + fluidsection_obj.InletPressure + )) + if fluidsection_obj.InletFlowRateActive is True: + f.write("*BOUNDARY,MASS FLOW \n") + for n in femobj["Nodes"]: + for line in lines: + b = line.split(",") + if int(b[0]) == n and b[3] == "PIPE INLET\n": + # degree of freedom 1 is for defining flow rate + # factor applied to convert unit from kg/s to t/s + f.write("{},{},{},{}\n".format( + b[1], + "1", + "1", + fluidsection_obj.InletFlowRate * 0.001 + )) + elif fluidsection_obj.LiquidSectionType == "PIPE OUTLET": + f.write("**Fluid Section Outlet \n") + if fluidsection_obj.OutletPressureActive is True: + f.write("*BOUNDARY \n") + for n in femobj["Nodes"]: + for line in lines: + b = line.split(",") + if int(b[0]) == n and b[3] == "PIPE OUTLET\n": + # degree of freedom 2 is for defining pressure + f.write("{},{},{},{}\n".format( + b[0], + "2", + "2", + fluidsection_obj.OutletPressure + )) + if fluidsection_obj.OutletFlowRateActive is True: + f.write("*BOUNDARY,MASS FLOW \n") + for n in femobj["Nodes"]: + for line in lines: + b = line.split(",") + if int(b[0]) == n and b[3] == "PIPE OUTLET\n": + # degree of freedom 1 is for defining flow rate + # factor applied to convert unit from kg/s to t/s + f.write("{},{},{},{}\n".format( + b[1], + "1", + "1", + fluidsection_obj.OutletFlowRate * 0.001 + )) diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_force.py b/src/Mod/Fem/femsolver/calculix/write_constraint_force.py new file mode 100644 index 0000000000..19e7fb99a6 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_force.py @@ -0,0 +1,67 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint force" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return ["buckling", "static", "thermomech"] + + +def get_sets_name(): + return "constraints_force_node_loads" + + +def get_before_write_meshdata_constraint(): + return "*CLOAD\n" + + +def get_after_write_meshdata_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, force_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + direction_vec = femobj["Object"].DirectionVector + dir_zero_tol = 1e-15 # TODO: should this be more generally for more values? + # be careful with raising the tolerance, a big load would have an impact + # but compared to the real direction the impact would be small again + for ref_shape in femobj["NodeLoadTable"]: + f.write("** {}\n".format(ref_shape[0])) + for n in sorted(ref_shape[1]): + node_load = ref_shape[1][n] + if abs(direction_vec.x) > dir_zero_tol: + v1 = "{:.13E}".format(direction_vec.x * node_load) + f.write("{},1,{}\n".format(n, v1)) + if abs(direction_vec.y) > dir_zero_tol: + v2 = "{:.13E}".format(direction_vec.y * node_load) + f.write("{},2,{}\n".format(n, v2)) + if abs(direction_vec.z) > dir_zero_tol: + v3 = "{:.13E}".format(direction_vec.z * node_load) + f.write("{},3,{}\n".format(n, v3)) + f.write("\n") + f.write("\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_heatflux.py b/src/Mod/Fem/femsolver/calculix/write_constraint_heatflux.py new file mode 100644 index 0000000000..62fcf7d994 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_heatflux.py @@ -0,0 +1,74 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint heatflux" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return ["thermomech"] + + +def get_sets_name(): + return "constraints_heatflux_element_face_heatflux" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, heatflux_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + if heatflux_obj.ConstraintType == "Convection": + heatflux_key_word = "FILM" + heatflux_facetype = "F" + # SvdW: add factor to force heatflux to units system of t/mm/s/K + heatflux_values = "{:.13G},{:.13G}".format( + heatflux_obj.AmbientTemp, + heatflux_obj.FilmCoef * 0.001 + ) + elif heatflux_obj.ConstraintType == "DFlux": + heatflux_key_word = "DFLUX" + heatflux_facetype = "S" + heatflux_values = "{:.13G}".format(heatflux_obj.DFlux * 0.001) + + f.write("*{}\n".format(heatflux_key_word)) + for ref_shape in femobj["HeatFluxFaceTable"]: + elem_string = ref_shape[0] + face_table = ref_shape[1] + f.write("** Heat flux on face {}\n".format(elem_string)) + for i in face_table: + # OvG: Only write out the VolumeIDs linked to a particular face + f.write("{},{}{},{}\n".format( + i[0], + heatflux_facetype, + i[1], + heatflux_values + )) diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_initialtemperature.py b/src/Mod/Fem/femsolver/calculix/write_constraint_initialtemperature.py new file mode 100644 index 0000000000..7db9523ffa --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_initialtemperature.py @@ -0,0 +1,52 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint initialtemperature" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return ["thermomech"] + + +def get_constraint_title(): + return "Initial temperature constraint" + + +def get_before_write_constraint(): + return "*INITIAL CONDITIONS,TYPE=TEMPERATURE\n" + + +def get_after_write_constraint(): + return "" + + +def write_constraint(f, femobj, inittemp_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + f.write("{},{:.13G}\n".format(ccxwriter.ccx_nall, inittemp_obj.initialTemperature)) + + +# Should only be one object in the analysis diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_planerotation.py b/src/Mod/Fem/femsolver/calculix/write_constraint_planerotation.py new file mode 100644 index 0000000000..fbf25cab2d --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_planerotation.py @@ -0,0 +1,104 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint planerotation" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +from femmesh import meshtools + + +def get_analysis_types(): + return "all" # write for all analysis types + + +def get_sets_name(): + return "constraints_planerotation_node_sets" + + +def get_constraint_title(): + return "PlaneRotation Constraints" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, fric_obj, ccxwriter): + # write nodes to file + if not ccxwriter.femnodes_mesh: + ccxwriter.femnodes_mesh = ccxwriter.femmesh.Nodes + # info about ccxwriter.constraint_conflict_nodes: + # is used to check if MPC and constraint fixed and + # constraint displacement share same nodes + # because MPC"s and constraints fixed and + # constraints displacement can't share same nodes. + # Thus call write_node_sets_constraints_planerotation has to be + # after constraint fixed and constraint displacement + l_nodes = femobj["Nodes"] + f.write("*NSET,NSET={}\n".format(fric_obj.Name)) + # Code to extract nodes and coordinates on the PlaneRotation support face + nodes_coords = [] + for node in l_nodes: + nodes_coords.append(( + node, + ccxwriter.femnodes_mesh[node].x, + ccxwriter.femnodes_mesh[node].y, + ccxwriter.femnodes_mesh[node].z + )) + node_planerotation = meshtools.get_three_non_colinear_nodes(nodes_coords) + for i in range(len(l_nodes)): + if l_nodes[i] not in node_planerotation: + node_planerotation.append(l_nodes[i]) + MPC_nodes = [] + for i in range(len(node_planerotation)): + cnt = 0 + for j in range(len(ccxwriter.constraint_conflict_nodes)): + if node_planerotation[i] == ccxwriter.constraint_conflict_nodes[j]: + cnt = cnt + 1 + if cnt == 0: + MPC = node_planerotation[i] + MPC_nodes.append(MPC) + for i in range(len(MPC_nodes)): + f.write("{},\n".format(MPC_nodes[i])) + + +def write_constraint(f, femobj, fric_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + f.write("*MPC\n") + f.write("PLANE,{}\n".format(fric_obj.Name)) diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_pressure.py b/src/Mod/Fem/femsolver/calculix/write_constraint_pressure.py new file mode 100644 index 0000000000..c4560ecbe4 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_pressure.py @@ -0,0 +1,68 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint pressure" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return ["buckling", "static", "thermomech"] + + +def get_sets_name(): + return "constraints_pressure_element_face_loads" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, prs_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + rev = -1 if prs_obj.Reversed else 1 + press_rev = rev * prs_obj.Pressure + + f.write("*DLOAD\n") + for ref_shape in femobj["PressureFaces"]: + # the loop is needed for compatibility reason + # in deprecated method get_pressure_obj_faces_depreciated + # the face ids where per ref_shape + f.write("** " + ref_shape[0] + "\n") + for face, fno in ref_shape[1]: + if fno > 0: # solid mesh face + f.write("{},P{},{:.13G}\n".format(face, fno, press_rev)) + # on shell mesh face: fno == 0 + # normal of element face == face normal + elif fno == 0: + f.write("{},P,{:.13G}\n".format(face, press_rev)) + # on shell mesh face: fno == -1 + # normal of element face opposite direction face normal + elif fno == -1: + f.write("{},P,{:.13G}\n".format(face, -1 * press_rev)) diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_sectionprint.py b/src/Mod/Fem/femsolver/calculix/write_constraint_sectionprint.py new file mode 100644 index 0000000000..0b7ddbf9a5 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_sectionprint.py @@ -0,0 +1,71 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint sectionprint" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return "all" # write for all analysis types + + +def get_sets_name(): + return "constraints_sectionprint_surface_sets" + + +def get_constraint_title(): + return "SectionPrint Constraints" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, sectionprint_obj, ccxwriter): + f.write("*SURFACE, NAME=SECTIONFACE{}\n".format(sectionprint_obj.Name)) + for i in femobj["SectionPrintFaces"]: + f.write("{},S{}\n".format(i[0], i[1])) + + +def write_constraint(f, femobj, sectionprint_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + f.write( + "*SECTION PRINT, SURFACE=SECTIONFACE{}, NAME=SECTIONPRINT{}\n" + .format(sectionprint_obj.Name, sectionprint_obj.Name) + ) + f.write("SOF, SOM, SOAREA\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_selfweight.py b/src/Mod/Fem/femsolver/calculix/write_constraint_selfweight.py new file mode 100644 index 0000000000..c8f344ebf0 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_selfweight.py @@ -0,0 +1,67 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint selfweight" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return ["buckling", "static", "thermomech"] + + +def get_constraint_title(): + return "Self weight Constraint" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_constraint(f, femobj, selwei_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + f.write("*DLOAD\n") + f.write( + # elset, GRAV, magnitude, direction x, dir y ,dir z + "{},GRAV,{:.13G},{:.13G},{:.13G},{:.13G}\n" + .format( + ccxwriter.ccx_eall, + ccxwriter.gravity, # actual magnitude of gravity vector + selwei_obj.Gravity_x, # coordinate x of normalized gravity vector + selwei_obj.Gravity_y, # y + selwei_obj.Gravity_z # z + ) + ) + f.write("\n") + + +# grav (erdbeschleunigung) is equal for all elements +# should be only one constraint +# different element sets for different density +# are written in the material element sets already diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_temperature.py b/src/Mod/Fem/femsolver/calculix/write_constraint_temperature.py new file mode 100644 index 0000000000..44dcdd4213 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_temperature.py @@ -0,0 +1,78 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint temperature" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return ["thermomech"] + + +def get_sets_name(): + return "constraints temperature node sets" + + +def get_constraint_title(): + return "Fixed temperature constraint applied" + + +def write_meshdata_constraint(f, femobj, temp_obj, ccxwriter): + f.write("*NSET,NSET={}\n".format(temp_obj.Name)) + for n in femobj["Nodes"]: + f.write("{},\n".format(n)) + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_constraint(f, femobj, temp_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + NumberOfNodes = len(femobj["Nodes"]) + if temp_obj.ConstraintType == "Temperature": + f.write("*BOUNDARY\n") + f.write("{},11,11,{:.13G}\n".format(temp_obj.Name, temp_obj.Temperature)) + f.write("\n") + elif temp_obj.ConstraintType == "CFlux": + f.write("*CFLUX\n") + f.write("{},11,{:.13G}\n".format( + temp_obj.Name, + temp_obj.CFlux * 0.001 / NumberOfNodes + )) + f.write("\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_tie.py b/src/Mod/Fem/femsolver/calculix/write_constraint_tie.py new file mode 100644 index 0000000000..7df2cea608 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_tie.py @@ -0,0 +1,79 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint tie" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def get_analysis_types(): + return "all" # write for all analysis types + + +def get_sets_name(): + return "constraints_tie_surface_sets" + + +def get_constraint_title(): + return "Tie Constraints" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, tie_obj, ccxwriter): + # slave DEP + f.write("*SURFACE, NAME=TIE_DEP{}\n".format(tie_obj.Name)) + for i in femobj["TieSlaveFaces"]: + f.write("{},S{}\n".format(i[0], i[1])) + # master IND + f.write("*SURFACE, NAME=TIE_IND{}\n".format(tie_obj.Name)) + for i in femobj["TieMasterFaces"]: + f.write("{},S{}\n".format(i[0], i[1])) + + +def write_constraint(f, femobj, tie_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + tolerance = tie_obj.Tolerance.getValueAs("mm").Value + f.write( + "*TIE, POSITION TOLERANCE={:.13G}, ADJUST=NO, NAME=TIE{}\n" + .format(tolerance, tie_obj.Name) + ) + ind_surf = "TIE_IND{}".format(tie_obj.Name) + dep_surf = "TIE_DEP{}".format(tie_obj.Name) + f.write("{},{}\n".format(dep_surf, ind_surf)) diff --git a/src/Mod/Fem/femsolver/calculix/write_constraint_transform.py b/src/Mod/Fem/femsolver/calculix/write_constraint_transform.py new file mode 100644 index 0000000000..51f7026e00 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_constraint_transform.py @@ -0,0 +1,95 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix constraint transform" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +from femtools import geomtools + + +def get_analysis_types(): + return "all" # write for all analysis types + + +def get_sets_name(): + return "constraints_transform_node_sets" + + +def get_constraint_title(): + return "Transform Constraints" + + +def get_before_write_meshdata_constraint(): + return "" + + +def get_after_write_meshdata_constraint(): + return "" + + +def get_before_write_constraint(): + return "" + + +def get_after_write_constraint(): + return "" + + +def write_meshdata_constraint(f, femobj, trans_obj, ccxwriter): + if trans_obj.TransformType == "Rectangular": + f.write("*NSET,NSET=Rect{}\n".format(trans_obj.Name)) + elif trans_obj.TransformType == "Cylindrical": + f.write("*NSET,NSET=Cylin{}\n".format(trans_obj.Name)) + for n in femobj["Nodes"]: + f.write("{},\n".format(n)) + + +def write_constraint(f, femobj, trans_obj, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + trans_name = "" + trans_type = "" + if trans_obj.TransformType == "Rectangular": + trans_name = "Rect" + trans_type = "R" + coords = geomtools.get_rectangular_coords(trans_obj) + elif trans_obj.TransformType == "Cylindrical": + trans_name = "Cylin" + trans_type = "C" + coords = geomtools.get_cylindrical_coords(trans_obj) + f.write("*TRANSFORM, NSET={}{}, TYPE={}\n".format( + trans_name, + trans_obj.Name, + trans_type, + )) + f.write("{:.13G},{:.13G},{:.13G},{:.13G},{:.13G},{:.13G}\n".format( + coords[0], + coords[1], + coords[2], + coords[3], + coords[4], + coords[5], + )) diff --git a/src/Mod/Fem/femsolver/calculix/write_femelement_geometry.py b/src/Mod/Fem/femsolver/calculix/write_femelement_geometry.py new file mode 100644 index 0000000000..5a695d9974 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_femelement_geometry.py @@ -0,0 +1,188 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix write inpfile femelement geometry" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def write_femelement_geometry(f, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + + f.write("\n{}\n".format(59 * "*")) + f.write("** Sections\n") + for matgeoset in ccxwriter.mat_geo_sets: + if matgeoset["ccx_elset"]: + elsetdef = "ELSET={}, ".format(matgeoset["ccx_elset_name"]) + material = "MATERIAL={}".format(matgeoset["mat_obj_name"]) + + if "beamsection_obj"in matgeoset: # beam mesh + beamsec_obj = matgeoset["beamsection_obj"] + normal = matgeoset["beam_normal"] + if beamsec_obj.SectionType == "Rectangular": + height = beamsec_obj.RectHeight.getValueAs("mm").Value + width = beamsec_obj.RectWidth.getValueAs("mm").Value + section_type = ", SECTION=RECT" + section_geo = "{:.13G},{:.13G}\n".format(height, width) + section_def = "*BEAM SECTION, {}{}{}\n".format( + elsetdef, + material, + section_type + ) + elif beamsec_obj.SectionType == "Circular": + radius = 0.5 * beamsec_obj.CircDiameter.getValueAs("mm").Value + section_type = ", SECTION=CIRC" + section_geo = "{:.13G}\n".format(radius) + section_def = "*BEAM SECTION, {}{}{}\n".format( + elsetdef, + material, + section_type + ) + elif beamsec_obj.SectionType == "Pipe": + radius = 0.5 * beamsec_obj.PipeDiameter.getValueAs("mm").Value + thickness = beamsec_obj.PipeThickness.getValueAs("mm").Value + section_type = ", SECTION=PIPE" + section_geo = "{:.13G},{:.13G}\n".format(radius, thickness) + section_def = "*BEAM GENERAL SECTION, {}{}{}\n".format( + elsetdef, + material, + section_type + ) + # see forum topic for output formatting of rotation + # https://forum.freecadweb.org/viewtopic.php?f=18&t=46133&p=405142#p405142 + section_nor = "{:.13G}, {:.13G}, {:.13G}\n".format( + normal[0], + normal[1], + normal[2] + ) + f.write(section_def) + f.write(section_geo) + f.write(section_nor) + elif "fluidsection_obj"in matgeoset: # fluid mesh + fluidsec_obj = matgeoset["fluidsection_obj"] + if fluidsec_obj.SectionType == "Liquid": + section_type = fluidsec_obj.LiquidSectionType + if (section_type == "PIPE INLET") or (section_type == "PIPE OUTLET"): + section_type = "PIPE INOUT" + section_def = "*FLUID SECTION, {}TYPE={}, {}\n".format( + elsetdef, + section_type, + material + ) + section_geo = liquid_section_def(fluidsec_obj, section_type) + """ + # deactivate as it would result in section_def and section_geo not defined + # deactivated in the App and Gui object and thus in the task panel as well + elif fluidsec_obj.SectionType == "Gas": + section_type = fluidsec_obj.GasSectionType + elif fluidsec_obj.SectionType == "Open Channel": + section_type = fluidsec_obj.ChannelSectionType + """ + f.write(section_def) + f.write(section_geo) + elif "shellthickness_obj"in matgeoset: # shell mesh + shellth_obj = matgeoset["shellthickness_obj"] + section_def = "*SHELL SECTION, {}{}\n".format(elsetdef, material) + thickness = shellth_obj.Thickness.getValueAs("mm").Value + section_geo = "{:.13G}\n".format(thickness) + f.write(section_def) + f.write(section_geo) + else: # solid mesh + section_def = "*SOLID SECTION, {}{}\n".format(elsetdef, material) + f.write(section_def) + + +# ************************************************************************************************ +# Helpers +def liquid_section_def(obj, section_type): + if section_type == "PIPE MANNING": + manning_area = obj.ManningArea.getValueAs("mm^2").Value + manning_radius = obj.ManningRadius.getValueAs("mm").Value + manning_coefficient = obj.ManningCoefficient + section_geo = "{:.13G},{:.13G},{:.13G}\n".format( + manning_area, + manning_radius, + manning_coefficient + ) + return section_geo + elif section_type == "PIPE ENLARGEMENT": + enlarge_area1 = obj.EnlargeArea1.getValueAs("mm^2").Value + enlarge_area2 = obj.EnlargeArea2.getValueAs("mm^2").Value + section_geo = "{:.13G},{:.13G}\n".format(enlarge_area1, enlarge_area2) + return section_geo + elif section_type == "PIPE CONTRACTION": + contract_area1 = obj.ContractArea1.getValueAs("mm^2").Value + contract_area2 = obj.ContractArea2.getValueAs("mm^2").Value + section_geo = "{:.13G},{:.13G}\n".format(contract_area1, contract_area2) + return section_geo + elif section_type == "PIPE ENTRANCE": + entrance_pipe_area = obj.EntrancePipeArea.getValueAs("mm^2").Value + entrance_area = obj.EntranceArea.getValueAs("mm^2").Value + section_geo = "{:.13G},{:.13G}\n".format(entrance_pipe_area, entrance_area) + return section_geo + elif section_type == "PIPE DIAPHRAGM": + diaphragm_pipe_area = obj.DiaphragmPipeArea.getValueAs("mm^2").Value + diaphragm_area = obj.DiaphragmArea.getValueAs("mm^2").Value + section_geo = "{:.13G},{:.13G}\n".format(diaphragm_pipe_area, diaphragm_area) + return section_geo + elif section_type == "PIPE BEND": + bend_pipe_area = obj.BendPipeArea.getValueAs("mm^2").Value + bend_radius_diameter = obj.BendRadiusDiameter + bend_angle = obj.BendAngle + bend_loss_coefficient = obj.BendLossCoefficient + section_geo = ("{:.13G},{:.13G},{:.13G},{:.13G}\n".format( + bend_pipe_area, + bend_radius_diameter, + bend_angle, + bend_loss_coefficient + )) + return section_geo + elif section_type == "PIPE GATE VALVE": + gatevalve_pipe_area = obj.GateValvePipeArea.getValueAs("mm^2").Value + gatevalve_closing_coeff = obj.GateValveClosingCoeff + section_geo = "{:.13G},{:.13G}\n".format(gatevalve_pipe_area, gatevalve_closing_coeff) + return section_geo + elif section_type == "PIPE WHITE-COLEBROOK": + colebrooke_area = obj.ColebrookeArea.getValueAs("mm^2").Value + colebrooke_diameter = 2 * obj.ColebrookeRadius.getValueAs("mm") + colebrooke_grain_diameter = obj.ColebrookeGrainDiameter.getValueAs("mm") + colebrooke_form_factor = obj.ColebrookeFormFactor + section_geo = ("{:.13G},{:.13G},{},{:.13G},{:.13G}\n".format( + colebrooke_area, + colebrooke_diameter, + "-1", + colebrooke_grain_diameter, + colebrooke_form_factor + )) + return section_geo + elif section_type == "LIQUID PUMP": + section_geo = "" + for i in range(len(obj.PumpFlowRate)): + flow_rate = obj.PumpFlowRate[i] + top = obj.PumpHeadLoss[i] + section_geo = "{:.13G},{:.13G},\n".format(section_geo + flow_rate, top) + section_geo = "{}\n".format(section_geo) + return section_geo + else: + return "" diff --git a/src/Mod/Fem/femsolver/calculix/write_femelement_material.py b/src/Mod/Fem/femsolver/calculix/write_femelement_material.py new file mode 100644 index 0000000000..98747fd7b5 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_femelement_material.py @@ -0,0 +1,122 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix write inpfile materials" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +import FreeCAD + + +def write_femelement_material(f, ccxwriter): + + # floats read from ccx should use {:.13G}, see comment in writer module + # see unit comment in writer module + + def is_density_needed(): + if ccxwriter.analysis_type == "frequency": + return True + if ( + ccxwriter.analysis_type == "thermomech" + and not ccxwriter.solver_obj.ThermoMechSteadyState + ): + return True + if ccxwriter.member.cons_centrif: + return True + if ccxwriter.member.cons_selfweight: + return True + return False + + f.write("\n{}\n".format(59 * "*")) + f.write("** Materials\n") + f.write("** see information about units at file end\n") + for femobj in ccxwriter.member.mats_linear: + # femobj --> dict, FreeCAD document object is femobj["Object"] + mat_obj = femobj["Object"] + mat_info_name = mat_obj.Material["Name"] + mat_name = mat_obj.Name + mat_label = mat_obj.Label + + # get material properties of solid material, Currently in SI units: M/kg/s/Kelvin + if mat_obj.Category == "Solid": + YM = FreeCAD.Units.Quantity(mat_obj.Material["YoungsModulus"]) + YM_in_MPa = YM.getValueAs("MPa").Value + PR = float(mat_obj.Material["PoissonRatio"]) + if is_density_needed() is True: + density = FreeCAD.Units.Quantity(mat_obj.Material["Density"]) + density_in_tonne_per_mm3 = density.getValueAs("t/mm^3").Value + if ccxwriter.analysis_type == "thermomech": + TC = FreeCAD.Units.Quantity(mat_obj.Material["ThermalConductivity"]) + # SvdW: Add factor to force units to results base units + # of t/mm/s/K - W/m/K results in no factor needed + TC_in_WmK = TC.getValueAs("W/m/K").Value + SH = FreeCAD.Units.Quantity(mat_obj.Material["SpecificHeat"]) + # SvdW: Add factor to force units to results base units of t/mm/s/K + # FIXME: why not get it directly in the units needed ? + SH_in_JkgK = SH.getValueAs("J/kg/K").Value * 1e+06 + if mat_obj.Category == "Solid": + TEC = FreeCAD.Units.Quantity(mat_obj.Material["ThermalExpansionCoefficient"]) + TEC_in_mmK = TEC.getValueAs("mm/mm/K").Value + elif mat_obj.Category == "Fluid": + DV = FreeCAD.Units.Quantity(mat_obj.Material["DynamicViscosity"]) + DV_in_tmms = DV.getValueAs("t/mm/s").Value + + # write material properties + f.write("** FreeCAD material name: {}\n".format(mat_info_name)) + f.write("** {}\n".format(mat_label)) + f.write("*MATERIAL, NAME={}\n".format(mat_name)) + if mat_obj.Category == "Solid": + f.write("*ELASTIC\n") + f.write("{:.13G},{:.13G}\n".format(YM_in_MPa, PR)) + if is_density_needed() is True: + f.write("*DENSITY\n") + f.write("{:.13G}\n".format(density_in_tonne_per_mm3)) + if ccxwriter.analysis_type == "thermomech": + if mat_obj.Category == "Solid": + f.write("*CONDUCTIVITY\n") + f.write("{:.13G}\n".format(TC_in_WmK)) + f.write("*EXPANSION\n") + f.write("{:.13G}\n".format(TEC_in_mmK)) + f.write("*SPECIFIC HEAT\n") + f.write("{:.13G}\n".format(SH_in_JkgK)) + elif mat_obj.Category == "Fluid": + f.write("*FLUID CONSTANTS\n") + f.write("{:.13G},{:.13G}\n".format(SH_in_JkgK, DV_in_tmms)) + + # nonlinear material properties + if ccxwriter.solver_obj.MaterialNonlinearity == "nonlinear": + + for nlfemobj in ccxwriter.member.mats_nonlinear: + # femobj --> dict, FreeCAD document object is nlfemobj["Object"] + nl_mat_obj = nlfemobj["Object"] + if nl_mat_obj.LinearBaseMaterial == mat_obj: + if nl_mat_obj.MaterialModelNonlinearity == "simple hardening": + f.write("*PLASTIC\n") + if nl_mat_obj.YieldPoint1: + f.write("{}\n".format(nl_mat_obj.YieldPoint1)) + if nl_mat_obj.YieldPoint2: + f.write("{}\n".format(nl_mat_obj.YieldPoint2)) + if nl_mat_obj.YieldPoint3: + f.write("{}\n".format(nl_mat_obj.YieldPoint3)) + f.write("\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_femelement_matgeosets.py b/src/Mod/Fem/femsolver/calculix/write_femelement_matgeosets.py new file mode 100644 index 0000000000..daa27e6749 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_femelement_matgeosets.py @@ -0,0 +1,47 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix write inpfile material and geometry sets" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +import six + + +def write_femelement_matgeosets(f, ccxwriter): + + # write mat_geo_sets to file + f.write("\n{}\n".format(59 * "*")) + f.write("** Element sets for materials and FEM element type (solid, shell, beam, fluid)\n") + + for matgeoset in ccxwriter.mat_geo_sets: + + f.write("*ELSET,ELSET={}\n".format(matgeoset["ccx_elset_name"])) + + # use six to be sure to be Python 2.7 and 3.x compatible + if isinstance(matgeoset["ccx_elset"], six.string_types): + f.write("{}\n".format(matgeoset["ccx_elset"])) + else: + for elid in matgeoset["ccx_elset"]: + f.write(str(elid) + ",\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_footer.py b/src/Mod/Fem/femsolver/calculix/write_footer.py new file mode 100644 index 0000000000..81b5136a76 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_footer.py @@ -0,0 +1,54 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix write inpfile footer" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +import os +import time + + +def write_footer(f, ccxwriter): + + f.write("\n{}\n".format(59 * "*")) + f.write("** CalculiX Input file\n") + f.write("** written by --> FreeCAD {}.{}.{}\n".format( + ccxwriter.fc_ver[0], + ccxwriter.fc_ver[1], + ccxwriter.fc_ver[2] + )) + f.write("** written on --> {}\n".format( + time.ctime() + )) + f.write("** file name --> {}\n".format( + os.path.basename(ccxwriter.document.FileName) + )) + f.write("** analysis name --> {}\n".format( + ccxwriter.analysis.Name + )) + f.write("**\n") + f.write("**\n") + f.write(ccxwriter.units_information) + f.write("**\n") diff --git a/src/Mod/Fem/femsolver/calculix/write_mesh.py b/src/Mod/Fem/femsolver/calculix/write_mesh.py new file mode 100644 index 0000000000..80e4230ea9 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_mesh.py @@ -0,0 +1,76 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix write inpfile mesh" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +import codecs +from os.path import join + +from femmesh import meshtools + + +def write_mesh(ccxwriter): + + element_param = 1 # highest element order only + group_param = False # do not write mesh group data + if ccxwriter.split_inpfile is True: + write_name = "femesh" + file_name_split = ccxwriter.mesh_name + "_" + write_name + ".inp" + ccxwriter.femmesh_file = join(ccxwriter.dir_name, file_name_split) + + ccxwriter.femmesh.writeABAQUS( + ccxwriter.femmesh_file, + element_param, + group_param + ) + + # Check to see if fluid sections are in analysis and use D network element type + if ccxwriter.member.geos_fluidsection: + meshtools.write_D_network_element_to_inputfile(ccxwriter.femmesh_file) + + inpfile = codecs.open(ccxwriter.file_name, "w", encoding="utf-8") + inpfile.write("{}\n".format(59 * "*")) + inpfile.write("** {}\n".format(write_name)) + inpfile.write("*INCLUDE,INPUT={}\n".format(file_name_split)) + + else: + ccxwriter.femmesh_file = ccxwriter.file_name + ccxwriter.femmesh.writeABAQUS( + ccxwriter.femmesh_file, + element_param, + group_param + ) + + # Check to see if fluid sections are in analysis and use D network element type + if ccxwriter.member.geos_fluidsection: + # inpfile is closed + meshtools.write_D_network_element_to_inputfile(ccxwriter.femmesh_file) + + # reopen file with "append" to add all the rest + inpfile = codecs.open(ccxwriter.femmesh_file, "a", encoding="utf-8") + inpfile.write("\n\n") + + return inpfile diff --git a/src/Mod/Fem/femsolver/calculix/write_step_equation.py b/src/Mod/Fem/femsolver/calculix/write_step_equation.py new file mode 100644 index 0000000000..a9f79f8a77 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_step_equation.py @@ -0,0 +1,153 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix write inpfile step equation" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +import FreeCAD + + +def write_step_equation(f, ccxwriter): + + f.write("\n{}\n".format(59 * "*")) + f.write("** At least one step is needed to run an CalculiX analysis of FreeCAD\n") + + # build STEP line + step = "*STEP" + if ccxwriter.solver_obj.GeometricalNonlinearity == "nonlinear": + if ccxwriter.analysis_type == "static" or ccxwriter.analysis_type == "thermomech": + # https://www.comsol.com/blogs/what-is-geometric-nonlinearity + step += ", NLGEOM" + elif ccxwriter.analysis_type == "frequency": + FreeCAD.Console.PrintMessage( + "Analysis type frequency and geometrical nonlinear " + "analysis are not allowed together, linear is used instead!\n" + ) + if ccxwriter.solver_obj.IterationsThermoMechMaximum: + if ccxwriter.analysis_type == "thermomech": + step += ", INC={}".format(ccxwriter.solver_obj.IterationsThermoMechMaximum) + elif ( + ccxwriter.analysis_type == "static" + or ccxwriter.analysis_type == "frequency" + or ccxwriter.analysis_type == "buckling" + ): + # parameter is for thermomechanical analysis only, see ccx manual *STEP + pass + # write STEP line + f.write(step + "\n") + + # CONTROLS line + # all analysis types, ... really in frequency too?!? + if ccxwriter.solver_obj.IterationsControlParameterTimeUse: + f.write("*CONTROLS, PARAMETERS=TIME INCREMENTATION\n") + f.write(ccxwriter.solver_obj.IterationsControlParameterIter + "\n") + f.write(ccxwriter.solver_obj.IterationsControlParameterCutb + "\n") + + # ANALYSIS type line + # analysis line --> analysis type + if ccxwriter.analysis_type == "static": + analysis_type = "*STATIC" + elif ccxwriter.analysis_type == "frequency": + analysis_type = "*FREQUENCY" + elif ccxwriter.analysis_type == "thermomech": + analysis_type = "*COUPLED TEMPERATURE-DISPLACEMENT" + elif ccxwriter.analysis_type == "check": + analysis_type = "*NO ANALYSIS" + elif ccxwriter.analysis_type == "buckling": + analysis_type = "*BUCKLE" + # analysis line --> solver type + # https://forum.freecadweb.org/viewtopic.php?f=18&t=43178 + if ccxwriter.solver_obj.MatrixSolverType == "default": + pass + elif ccxwriter.solver_obj.MatrixSolverType == "spooles": + analysis_type += ", SOLVER=SPOOLES" + elif ccxwriter.solver_obj.MatrixSolverType == "iterativescaling": + analysis_type += ", SOLVER=ITERATIVE SCALING" + elif ccxwriter.solver_obj.MatrixSolverType == "iterativecholesky": + analysis_type += ", SOLVER=ITERATIVE CHOLESKY" + # analysis line --> user defined incrementations --> parameter DIRECT + # --> completely switch off ccx automatic incrementation + if ccxwriter.solver_obj.IterationsUserDefinedIncrementations: + if ccxwriter.analysis_type == "static": + analysis_type += ", DIRECT" + elif ccxwriter.analysis_type == "thermomech": + analysis_type += ", DIRECT" + elif ccxwriter.analysis_type == "frequency": + FreeCAD.Console.PrintMessage( + "Analysis type frequency and IterationsUserDefinedIncrementations " + "are not allowed together, it is ignored\n" + ) + # analysis line --> steadystate --> thermomech only + if ccxwriter.solver_obj.ThermoMechSteadyState: + # bernd: I do not know if STEADY STATE is allowed with DIRECT + # but since time steps are 1.0 it makes no sense IMHO + if ccxwriter.analysis_type == "thermomech": + analysis_type += ", STEADY STATE" + # Set time to 1 and ignore user inputs for steady state + ccxwriter.solver_obj.TimeInitialStep = 1.0 + ccxwriter.solver_obj.TimeEnd = 1.0 + elif ( + ccxwriter.analysis_type == "static" + or ccxwriter.analysis_type == "frequency" + or ccxwriter.analysis_type == "buckling" + ): + pass # not supported for static and frequency! + + # ANALYSIS parameter line + analysis_parameter = "" + if ccxwriter.analysis_type == "static" or ccxwriter.analysis_type == "check": + if ccxwriter.solver_obj.IterationsUserDefinedIncrementations is True \ + or ccxwriter.solver_obj.IterationsUserDefinedTimeStepLength is True: + analysis_parameter = "{},{}".format( + ccxwriter.solver_obj.TimeInitialStep, + ccxwriter.solver_obj.TimeEnd + ) + elif ccxwriter.analysis_type == "frequency": + if ccxwriter.solver_obj.EigenmodeLowLimit == 0.0 \ + and ccxwriter.solver_obj.EigenmodeHighLimit == 0.0: + analysis_parameter = "{}\n".format(ccxwriter.solver_obj.EigenmodesCount) + else: + analysis_parameter = "{},{},{}\n".format( + ccxwriter.solver_obj.EigenmodesCount, + ccxwriter.solver_obj.EigenmodeLowLimit, + ccxwriter.solver_obj.EigenmodeHighLimit + ) + elif ccxwriter.analysis_type == "thermomech": + # OvG: 1.0 increment, total time 1 for steady state will cut back automatically + analysis_parameter = "{},{}".format( + ccxwriter.solver_obj.TimeInitialStep, + ccxwriter.solver_obj.TimeEnd + ) + elif ccxwriter.analysis_type == "buckling": + analysis_parameter = "{}\n".format(ccxwriter.solver_obj.BucklingFactors) + + # write analysis type line, analysis parameter line + f.write(analysis_type + "\n") + f.write(analysis_parameter + "\n") + + +def write_step_end(f, ccxwriter): + f.write("\n{}\n".format(59 * "*")) + f.write("*END STEP \n") diff --git a/src/Mod/Fem/femsolver/calculix/write_step_output.py b/src/Mod/Fem/femsolver/calculix/write_step_output.py new file mode 100644 index 0000000000..cf5d8b5613 --- /dev/null +++ b/src/Mod/Fem/femsolver/calculix/write_step_output.py @@ -0,0 +1,79 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM calculix write inpfile step output" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + + +def write_step_output(f, ccxwriter): + + f.write("\n{}\n".format(59 * "*")) + f.write("** Outputs --> frd file\n") + if ( + ccxwriter.member.geos_beamsection + or ccxwriter.member.geos_shellthickness + or ccxwriter.member.geos_fluidsection + ): + if ccxwriter.solver_obj.BeamShellResultOutput3D is False: + f.write("*NODE FILE, OUTPUT=2d\n") + else: + f.write("*NODE FILE, OUTPUT=3d\n") + else: + f.write("*NODE FILE\n") + # MPH write out nodal temperatures if thermomechanical + if ccxwriter.analysis_type == "thermomech": + if not ccxwriter.member.geos_fluidsection: + f.write("U, NT\n") + else: + f.write("MF, PS\n") + else: + f.write("U\n") + if not ccxwriter.member.geos_fluidsection: + f.write("*EL FILE\n") + if ccxwriter.solver_obj.MaterialNonlinearity == "nonlinear": + f.write("S, E, PEEQ\n") + else: + f.write("S, E\n") + + # dat file + # reaction forces: freecadweb.org/tracker/view.php?id=2934 + if ccxwriter.member.cons_fixed: + f.write("** outputs --> dat file\n") + # reaction forces for all Constraint fixed + f.write("** reaction forces for Constraint fixed\n") + for femobj in ccxwriter.member.cons_fixed: + # femobj --> dict, FreeCAD document object is femobj["Object"] + fix_obj_name = femobj["Object"].Name + f.write("*NODE PRINT, NSET={}, TOTALS=ONLY\n".format(fix_obj_name)) + f.write("RF\n") + # TODO: add Constraint Displacement if nodes are restrained + f.write("\n") + + # there is no need to write all integration point results + # as long as there is no reader for them + # see https://forum.freecadweb.org/viewtopic.php?f=18&t=29060 + # f.write("*NODE PRINT , NSET=" + ccxwriter.ccx_nall + "\n") + # f.write("U \n") + # f.write("*EL PRINT , ELSET=" + ccxwriter.ccx_eall + "\n") + # f.write("S \n") diff --git a/src/Mod/Fem/femsolver/calculix/writer.py b/src/Mod/Fem/femsolver/calculix/writer.py index cc4193ec67..89d560306a 100644 --- a/src/Mod/Fem/femsolver/calculix/writer.py +++ b/src/Mod/Fem/femsolver/calculix/writer.py @@ -29,19 +29,36 @@ __url__ = "https://www.freecadweb.org" ## \addtogroup FEM # @{ -# import io -import codecs -import os -import six -import sys import time from os.path import join import FreeCAD +from FreeCAD import Units +from . import write_constraint_centrif as con_centrif +from . import write_constraint_contact as con_contact +from . import write_constraint_displacement as con_displacement +from . import write_constraint_fixed as con_fixed +from . import write_constraint_fluidsection as con_fluidsection +from . import write_constraint_force as con_force +from . import write_constraint_heatflux as con_heatflux +from . import write_constraint_initialtemperature as con_itemp +from . import write_constraint_planerotation as con_planerotation +from . import write_constraint_pressure as con_pressure +from . import write_constraint_sectionprint as con_sectionprint +from . import write_constraint_selfweight as con_selfweight +from . import write_constraint_temperature as con_temperature +from . import write_constraint_tie as con_tie +from . import write_constraint_transform as con_transform +from . import write_femelement_geometry +from . import write_femelement_material +from . import write_femelement_matgeosets +from . import write_footer +from . import write_mesh +from . import write_step_equation +from . import write_step_output from .. import writerbase -from femmesh import meshtools -from femtools import geomtools +from femtools import constants # Interesting forum topic: https://forum.freecadweb.org/viewtopic.php?&t=48451 @@ -67,14 +84,25 @@ units_information = """********************************************************* ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K """ +# TODO +# {0:.13G} or {:.13G} should be used on all places writing floating points to ccx +# All floating points fields read from ccx are F20.0 FORTRAN input fields. +# see in dload.f in ccx's source +# https://forum.freecadweb.org/viewtopic.php?f=18&p=516518#p516433 +# https://forum.freecadweb.org/viewtopic.php?f=18&t=22759&#p176578 +# example "{:.13G}".format(math.sqrt(2.)*-1e100) and count chars +# a property type is best checked in FreeCAD objects definition +# see femobjects package for Python objects or in objects App + + class FemInputWriterCcx(writerbase.FemInputWriter): def __init__( self, @@ -82,7 +110,8 @@ class FemInputWriterCcx(writerbase.FemInputWriter): solver_obj, mesh_obj, member, - dir_name=None + dir_name=None, + mat_geo_sets=None ): writerbase.FemInputWriter.__init__( self, @@ -90,1827 +119,106 @@ class FemInputWriterCcx(writerbase.FemInputWriter): solver_obj, mesh_obj, member, - dir_name + dir_name, + mat_geo_sets ) self.mesh_name = self.mesh_object.Name - self.include = join(self.dir_name, self.mesh_name) - self.file_name = self.include + ".inp" - self.FluidInletoutlet_ele = [] - self.fluid_inout_nodes_file = join( - self.dir_name, - "{}_inout_nodes.txt".format(self.mesh_name) - ) - from femtools import constants - from FreeCAD import Units + self.file_name = join(self.dir_name, self.mesh_name + ".inp") + self.femmesh_file = "" # the file the femmesh is in, no matter if one or split input file self.gravity = int(Units.Quantity(constants.gravity()).getValueAs("mm/s^2")) # 9820 mm/s2 + self.units_information = units_information # ******************************************************************************************** # write calculix input - def write_calculix_input_file(self): - timestart = time.process_time() - FreeCAD.Console.PrintMessage("Start writing CalculiX input file\n") - FreeCAD.Console.PrintMessage("Write ccx input file to: {}\n".format(self.file_name)) - FreeCAD.Console.PrintLog( - "writerbaseCcx --> self.mesh_name --> " + self.mesh_name + "\n" - ) - FreeCAD.Console.PrintLog( - "writerbaseCcx --> self.dir_name --> " + self.dir_name + "\n" - ) - FreeCAD.Console.PrintLog( - "writerbaseCcx --> self.include --> " + self.mesh_name + "\n" - ) - FreeCAD.Console.PrintLog( - "writerbaseCcx --> self.file_name --> " + self.file_name + "\n" + def write_solver_input(self): + + time_start = time.process_time() + FreeCAD.Console.PrintMessage("\n") # because of time print in separate line + FreeCAD.Console.PrintMessage("CalculiX solver input writing...\n") + FreeCAD.Console.PrintMessage( + "Input file:{}\n" + .format(self.file_name) ) - self.write_calculix_input() + if self.solver_obj.SplitInputWriter is True: + FreeCAD.Console.PrintMessage("Split input file.\n") + self.split_inpfile = True + else: + FreeCAD.Console.PrintMessage("One monster input file.\n") + self.split_inpfile = False - writing_time_string = ( - "Writing time CalculiX input file: {} seconds" - .format(round((time.process_time() - timestart), 2)) + # mesh + inpfile = write_mesh.write_mesh(self) + + # element sets for materials and element geometry + write_femelement_matgeosets.write_femelement_matgeosets(inpfile, self) + + # some fluidsection objs need special treatment, mat_geo_sets are needed for this + inpfile = con_fluidsection.handle_fluidsection_liquid_inlet_outlet(inpfile, self) + + # element sets constraints + self.write_constraints_meshsets(inpfile, self.member.cons_centrif, con_centrif) + + # node sets + self.write_constraints_meshsets(inpfile, self.member.cons_fixed, con_fixed) + self.write_constraints_meshsets(inpfile, self.member.cons_displacement, con_displacement) + self.write_constraints_meshsets(inpfile, self.member.cons_planerotation, con_planerotation) + self.write_constraints_meshsets(inpfile, self.member.cons_transform, con_transform) + self.write_constraints_meshsets(inpfile, self.member.cons_temperature, con_temperature) + + # surface sets + self.write_constraints_meshsets(inpfile, self.member.cons_contact, con_contact) + self.write_constraints_meshsets(inpfile, self.member.cons_tie, con_tie) + self.write_constraints_meshsets(inpfile, self.member.cons_sectionprint, con_sectionprint) + + # materials and fem element types + write_femelement_material.write_femelement_material(inpfile, self) + self.write_constraints_propdata(inpfile, self.member.cons_initialtemperature, con_itemp) + write_femelement_geometry.write_femelement_geometry(inpfile, self) + + # constraints independent from steps + self.write_constraints_propdata(inpfile, self.member.cons_planerotation, con_planerotation) + self.write_constraints_propdata(inpfile, self.member.cons_contact, con_contact) + self.write_constraints_propdata(inpfile, self.member.cons_tie, con_tie) + self.write_constraints_propdata(inpfile, self.member.cons_transform, con_transform) + + # step equation + write_step_equation.write_step_equation(inpfile, self) + + # constraints dependent from steps + self.write_constraints_propdata(inpfile, self.member.cons_fixed, con_fixed) + self.write_constraints_propdata(inpfile, self.member.cons_displacement, con_displacement) + self.write_constraints_propdata(inpfile, self.member.cons_sectionprint, con_sectionprint) + self.write_constraints_propdata(inpfile, self.member.cons_selfweight, con_selfweight) + self.write_constraints_propdata(inpfile, self.member.cons_centrif, con_centrif) + self.write_constraints_meshsets(inpfile, self.member.cons_force, con_force) + self.write_constraints_meshsets(inpfile, self.member.cons_pressure, con_pressure) + self.write_constraints_propdata(inpfile, self.member.cons_temperature, con_temperature) + self.write_constraints_meshsets(inpfile, self.member.cons_heatflux, con_heatflux) + con_fluidsection.write_constraints_fluidsection(inpfile, self) + + # output and step end + write_step_output.write_step_output(inpfile, self) + write_step_equation.write_step_end(inpfile, self) + + # footer + write_footer.write_footer(inpfile, self) + + # close file + inpfile.close() + + writetime = round((time.process_time() - time_start), 3) + FreeCAD.Console.PrintMessage( + "Writing time CalculiX input file: {} seconds.\n".format(writetime) ) + + # return if self.femelement_count_test is True: - FreeCAD.Console.PrintMessage(writing_time_string + " \n\n") return self.file_name else: - FreeCAD.Console.PrintMessage(writing_time_string + " \n") FreeCAD.Console.PrintError( "Problems on writing input file, check report prints.\n\n" ) return "" - def write_calculix_input(self): - if self.solver_obj.SplitInputWriter is True: - self.split_inpfile = True - else: - self.split_inpfile = False - - # mesh - inpfileMain = self.write_mesh() - - # element and material sets - self.write_element_sets_material_and_femelement_type(inpfileMain) - - # node sets and surface sets - self.write_node_sets_constraints_fixed(inpfileMain) - self.write_node_sets_constraints_displacement(inpfileMain) - self.write_node_sets_constraints_planerotation(inpfileMain) - self.write_surfaces_constraints_contact(inpfileMain) - self.write_surfaces_constraints_tie(inpfileMain) - self.write_surfaces_constraints_sectionprint(inpfileMain) - self.write_node_sets_constraints_transform(inpfileMain) - self.write_node_sets_constraints_temperature(inpfileMain) - - # materials and fem element types - self.write_materials(inpfileMain) - self.write_constraints_initialtemperature(inpfileMain) - self.write_femelementsets(inpfileMain) - - # Fluid sections: - # Inlet and Outlet requires special element definition - # some data from the elsets are needed thus this can not be moved - # to mesh writing TODO it would be much better if this would be - # at mesh writing as the mesh will be changed - if self.fluidsection_objects: - if is_fluid_section_inlet_outlet(self.ccx_elsets) is True: - if self.split_inpfile is True: - meshtools.use_correct_fluidinout_ele_def( - self.FluidInletoutlet_ele, - # use mesh file split, see write_mesh method split_mesh_file_path - join(self.dir_name, self.mesh_name + "_femesh.inp"), - self.fluid_inout_nodes_file - ) - else: - inpfileMain.close() - meshtools.use_correct_fluidinout_ele_def( - self.FluidInletoutlet_ele, - self.file_name, - self.fluid_inout_nodes_file - ) - # inpfileMain = io.open(self.file_name, "a", encoding="utf-8") - inpfileMain = codecs.open(self.file_name, "a", encoding="utf-8") - - # constraints independent from steps - self.write_constraints_planerotation(inpfileMain) - self.write_constraints_contact(inpfileMain) - self.write_constraints_tie(inpfileMain) - self.write_constraints_transform(inpfileMain) - - # step begin - self.write_step_begin(inpfileMain) - - # constraints dependent from steps - self.write_constraints_fixed(inpfileMain) - self.write_constraints_displacement(inpfileMain) - self.write_constraints_sectionprint(inpfileMain) - self.write_constraints_selfweight(inpfileMain) - self.write_constraints_force(inpfileMain) - self.write_constraints_pressure(inpfileMain) - self.write_constraints_temperature(inpfileMain) - self.write_constraints_heatflux(inpfileMain) - self.write_constraints_fluidsection(inpfileMain) - - # output and step end - self.write_outputs_types(inpfileMain) - self.write_step_end(inpfileMain) - - # footer - self.write_footer(inpfileMain) - inpfileMain.close() - - # ******************************************************************************************** - # mesh - def write_mesh(self): - # write mesh to file - element_param = 1 # highest element order only - group_param = False # do not write mesh group data - if self.split_inpfile is True: - write_name = "femesh" - file_name_split = self.mesh_name + "_" + write_name + ".inp" - split_mesh_file_path = join(self.dir_name, file_name_split) - - self.femmesh.writeABAQUS( - split_mesh_file_path, - element_param, - group_param - ) - - # Check to see if fluid sections are in analysis and use D network element type - if self.fluidsection_objects: - meshtools.write_D_network_element_to_inputfile(split_mesh_file_path) - - # inpfile = io.open(self.file_name, "w", encoding="utf-8") - inpfile = codecs.open(self.file_name, "w", encoding="utf-8") - inpfile.write("***********************************************************\n") - inpfile.write("** {}\n".format(write_name)) - inpfile.write("*INCLUDE,INPUT={}\n".format(file_name_split)) - - else: - self.femmesh.writeABAQUS( - self.file_name, - element_param, - group_param - ) - - # Check to see if fluid sections are in analysis and use D network element type - if self.fluidsection_objects: - # inpfile is closed - meshtools.write_D_network_element_to_inputfile(self.file_name) - - # reopen file with "append" to add all the rest - # inpfile = io.open(self.file_name, "a", encoding="utf-8") - inpfile = codecs.open(self.file_name, "a", encoding="utf-8") - inpfile.write("\n\n") - - return inpfile - - # ******************************************************************************************** - # write constraint node sets, constraint face sets, constraint element sets - def write_constraints_sets( - self, - f, - femobjs, - analysis_types, - sets_getter_method, - write_name, - sets_writer_method, - caller_method_name="", - write_before="", - write_after="", - ): - def constraint_sets_loop_writing(the_file, femobjs, write_before, write_after): - if write_before != "": - f.write(write_before) - for femobj in femobjs: - # femobj --> dict, FreeCAD document object is femobj["Object"] - the_obj = femobj["Object"] - f.write("** {}\n".format(the_obj.Label)) - sets_writer_method(the_file, femobj, the_obj) - if write_after != "": - f.write(write_after) - - if not femobjs: - return - - if analysis_types != "all" and self.analysis_type not in analysis_types: - return - - # get the sets - sets_getter_method() - - # write sets to file - f.write("\n{}\n".format(59 * "*")) - f.write("** {}\n".format(write_name.replace("_", " "))) - f.write("** written by {} function\n".format(caller_method_name)) - - if self.split_inpfile is True: - file_name_split = "{}_{}.inp".format(self.mesh_name, write_name) - f.write("** {}\n".format(write_name.replace("_", " "))) - f.write("*INCLUDE,INPUT={}\n".format(file_name_split)) - inpfile_split = open(join(self.dir_name, file_name_split), "w") - constraint_sets_loop_writing(inpfile_split, femobjs, write_before, write_after) - inpfile_split.close() - else: - constraint_sets_loop_writing(f, femobjs, write_before, write_after) - - # ******************************************************************************************** - # write constraint data - def write_constraints_data( - self, - f, - femobjs, - analysis_types, - constraint_title_name, - constraint_writer_method, - caller_method_name="", - write_before="", - write_after="", - ): - if not femobjs: - return - - if analysis_types != "all" and self.analysis_type not in analysis_types: - return - - # write constraint to file - f.write("\n{}\n".format(59 * "*")) - f.write("** {}\n".format(constraint_title_name)) - f.write("** written by {} function\n".format(caller_method_name)) - if write_before != "": - f.write(write_before) - for femobj in femobjs: - # femobj --> dict, FreeCAD document object is femobj["Object"] - the_obj = femobj["Object"] - f.write("** {}\n".format(the_obj.Label)) - constraint_writer_method(f, femobj, the_obj) - if write_after != "": - f.write(write_after) - - # ******************************************************************************************** - # constraints fixed - def write_node_sets_constraints_fixed(self, f): - self.write_constraints_sets( - f, - femobjs=self.fixed_objects, - analysis_types="all", # write for all analysis types - sets_getter_method=self.get_constraints_fixed_nodes, - write_name="constraints_fixed_node_sets", - sets_writer_method=self.write_node_sets_nodes_constraints_fixed, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_fixed(self, f): - self.write_constraints_data( - f, - femobjs=self.fixed_objects, - analysis_types="all", # write for all analysis types - constraint_title_name="Fixed Constraints", - constraint_writer_method=self.constraint_fixed_writer, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_node_sets_nodes_constraints_fixed(self, f, femobj, fix_obj): - if self.femmesh.Volumes \ - and (len(self.shellthickness_objects) > 0 or len(self.beamsection_objects) > 0): - if len(femobj["NodesSolid"]) > 0: - f.write("*NSET,NSET={}Solid\n".format(fix_obj.Name)) - for n in femobj["NodesSolid"]: - f.write("{},\n".format(n)) - if len(femobj["NodesFaceEdge"]) > 0: - f.write("*NSET,NSET={}FaceEdge\n".format(fix_obj.Name)) - for n in femobj["NodesFaceEdge"]: - f.write("{},\n".format(n)) - else: - f.write("*NSET,NSET=" + fix_obj.Name + "\n") - for n in femobj["Nodes"]: - f.write("{},\n".format(n)) - - def constraint_fixed_writer(self, f, femobj, fix_obj): - if self.femmesh.Volumes \ - and (len(self.shellthickness_objects) > 0 or len(self.beamsection_objects) > 0): - if len(femobj["NodesSolid"]) > 0: - f.write("*BOUNDARY\n") - f.write(fix_obj.Name + "Solid" + ",1\n") - f.write(fix_obj.Name + "Solid" + ",2\n") - f.write(fix_obj.Name + "Solid" + ",3\n") - f.write("\n") - if len(femobj["NodesFaceEdge"]) > 0: - f.write("*BOUNDARY\n") - f.write(fix_obj.Name + "FaceEdge" + ",1\n") - f.write(fix_obj.Name + "FaceEdge" + ",2\n") - f.write(fix_obj.Name + "FaceEdge" + ",3\n") - f.write(fix_obj.Name + "FaceEdge" + ",4\n") - f.write(fix_obj.Name + "FaceEdge" + ",5\n") - f.write(fix_obj.Name + "FaceEdge" + ",6\n") - f.write("\n") - else: - f.write("*BOUNDARY\n") - f.write(fix_obj.Name + ",1\n") - f.write(fix_obj.Name + ",2\n") - f.write(fix_obj.Name + ",3\n") - if self.beamsection_objects or self.shellthickness_objects: - f.write(fix_obj.Name + ",4\n") - f.write(fix_obj.Name + ",5\n") - f.write(fix_obj.Name + ",6\n") - f.write("\n") - - # ******************************************************************************************** - # constraints displacement - def write_node_sets_constraints_displacement(self, f): - self.write_constraints_sets( - f, - femobjs=self.displacement_objects, - analysis_types="all", # write for all analysis types - sets_getter_method=self.get_constraints_displacement_nodes, - write_name="constraints_displacement_node_sets", - sets_writer_method=self.write_node_sets_nodes_constraints_displacement, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_displacement(self, f): - self.write_constraints_data( - f, - femobjs=self.displacement_objects, - analysis_types="all", # write for all analysis types - constraint_title_name="Displacement constraint applied", - constraint_writer_method=self.constraint_displacement_writer, - caller_method_name=sys._getframe().f_code.co_name, - write_after="\n", - ) - - def write_node_sets_nodes_constraints_displacement(self, f, femobj, disp_obj): - f.write("*NSET,NSET={}\n".format(disp_obj.Name)) - for n in femobj["Nodes"]: - f.write("{},\n".format(n)) - - def constraint_displacement_writer(self, f, femobj, disp_obj): - f.write("*BOUNDARY\n") - if disp_obj.xFix: - f.write("{},1\n".format(disp_obj.Name)) - elif not disp_obj.xFree: - f.write("{},1,1,{}\n".format(disp_obj.Name, disp_obj.xDisplacement)) - if disp_obj.yFix: - f.write("{},2\n".format(disp_obj.Name)) - elif not disp_obj.yFree: - f.write("{},2,2,{}\n".format(disp_obj.Name, disp_obj.yDisplacement)) - if disp_obj.zFix: - f.write("{},3\n".format(disp_obj.Name)) - elif not disp_obj.zFree: - f.write("{},3,3,{}\n".format(disp_obj.Name, disp_obj.zDisplacement)) - - if self.beamsection_objects or self.shellthickness_objects: - if disp_obj.rotxFix: - f.write("{},4\n".format(disp_obj.Name)) - elif not disp_obj.rotxFree: - f.write("{},4,4,{}\n".format(disp_obj.Name, disp_obj.xRotation)) - if disp_obj.rotyFix: - f.write("{},5\n".format(disp_obj.Name)) - elif not disp_obj.rotyFree: - f.write("{},5,5,{}\n".format(disp_obj.Name, disp_obj.yRotation)) - if disp_obj.rotzFix: - f.write("{},6\n".format(disp_obj.Name)) - elif not disp_obj.rotzFree: - f.write("{},6,6,{}\n".format(disp_obj.Name, disp_obj.zRotation)) - - # ******************************************************************************************** - # constraints planerotation - def write_node_sets_constraints_planerotation(self, f): - self.write_constraints_sets( - f, - femobjs=self.planerotation_objects, - analysis_types="all", # write for all analysis types - sets_getter_method=self.get_constraints_planerotation_nodes, - write_name="constraints_planerotation_node_sets", - sets_writer_method=self.write_node_sets_nodes_constraints_planerotation, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_planerotation(self, f): - self.write_constraints_data( - f, - femobjs=self.planerotation_objects, - analysis_types="all", # write for all analysis types - constraint_title_name="PlaneRotation Constraints", - constraint_writer_method=self.constraint_planerotation_writer, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_node_sets_nodes_constraints_planerotation(self, f, femobj, fric_obj): - # write nodes to file - if not self.femnodes_mesh: - self.femnodes_mesh = self.femmesh.Nodes - # info about self.constraint_conflict_nodes: - # is used to check if MPC and constraint fixed and - # constraint displacement share same nodes - # because MPC"s and constraints fixed and - # constraints displacement can't share same nodes. - # Thus call write_node_sets_constraints_planerotation has to be - # after constraint fixed and constraint displacement - l_nodes = femobj["Nodes"] - f.write("*NSET,NSET={}\n".format(fric_obj.Name)) - # Code to extract nodes and coordinates on the PlaneRotation support face - nodes_coords = [] - for node in l_nodes: - nodes_coords.append(( - node, - self.femnodes_mesh[node].x, - self.femnodes_mesh[node].y, - self.femnodes_mesh[node].z - )) - node_planerotation = meshtools.get_three_non_colinear_nodes(nodes_coords) - for i in range(len(l_nodes)): - if l_nodes[i] not in node_planerotation: - node_planerotation.append(l_nodes[i]) - MPC_nodes = [] - for i in range(len(node_planerotation)): - cnt = 0 - for j in range(len(self.constraint_conflict_nodes)): - if node_planerotation[i] == self.constraint_conflict_nodes[j]: - cnt = cnt + 1 - if cnt == 0: - MPC = node_planerotation[i] - MPC_nodes.append(MPC) - for i in range(len(MPC_nodes)): - f.write("{},\n".format(MPC_nodes[i])) - - def constraint_planerotation_writer(self, f, femobj, fric_obj): - f.write("*MPC\n") - f.write("PLANE,{}\n".format(fric_obj.Name)) - - # ******************************************************************************************** - # constraints contact - def write_surfaces_constraints_contact(self, f): - self.write_constraints_sets( - f, - femobjs=self.contact_objects, - analysis_types="all", # write for all analysis types - sets_getter_method=self.get_constraints_contact_faces, - write_name="constraints_contact_surface_sets", - sets_writer_method=self.write_surfacefaces_constraints_contact, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_contact(self, f): - self.write_constraints_data( - f, - femobjs=self.contact_objects, - analysis_types="all", # write for all analysis types - constraint_title_name="Contact Constraints", - constraint_writer_method=self.constraint_contact_writer, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_surfacefaces_constraints_contact(self, f, femobj, contact_obj): - # slave DEP - f.write("*SURFACE, NAME=DEP{}\n".format(contact_obj.Name)) - for i in femobj["ContactSlaveFaces"]: - f.write("{},S{}\n".format(i[0], i[1])) - # master IND - f.write("*SURFACE, NAME=IND{}\n".format(contact_obj.Name)) - for i in femobj["ContactMasterFaces"]: - f.write("{},S{}\n".format(i[0], i[1])) - - def constraint_contact_writer(self, f, femobj, contact_obj): - f.write( - "*CONTACT PAIR, INTERACTION=INT{},TYPE=SURFACE TO SURFACE\n" - .format(contact_obj.Name) - ) - ind_surf = "IND" + contact_obj.Name - dep_surf = "DEP" + contact_obj.Name - f.write("{},{}\n".format(dep_surf, ind_surf)) - f.write("*SURFACE INTERACTION, NAME=INT{}\n".format(contact_obj.Name)) - f.write("*SURFACE BEHAVIOR,PRESSURE-OVERCLOSURE=LINEAR\n") - slope = contact_obj.Slope - f.write("{} \n".format(slope)) - friction = contact_obj.Friction - if friction > 0: - f.write("*FRICTION \n") - stick = (slope / 10.0) - f.write("{}, {} \n".format(friction, stick)) - - # ******************************************************************************************** - # constraints tie - def write_surfaces_constraints_tie(self, f): - self.write_constraints_sets( - f, - femobjs=self.tie_objects, - analysis_types="all", # write for all analysis types - sets_getter_method=self.get_constraints_tie_faces, - write_name="constraints_tie_surface_sets", - sets_writer_method=self.write_surfacefaces_constraints_tie, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_tie(self, f): - self.write_constraints_data( - f, - femobjs=self.tie_objects, - analysis_types="all", # write for all analysis types - constraint_title_name="Tie Constraints", - constraint_writer_method=self.constraint_tie_writer, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_surfacefaces_constraints_tie(self, f, femobj, tie_obj): - # slave DEP - f.write("*SURFACE, NAME=TIE_DEP{}\n".format(tie_obj.Name)) - for i in femobj["TieSlaveFaces"]: - f.write("{},S{}\n".format(i[0], i[1])) - # master IND - f.write("*SURFACE, NAME=TIE_IND{}\n".format(tie_obj.Name)) - for i in femobj["TieMasterFaces"]: - f.write("{},S{}\n".format(i[0], i[1])) - - def constraint_tie_writer(self, f, femobj, tie_obj): - tolerance = str(tie_obj.Tolerance.getValueAs("mm")).rstrip() - f.write( - "*TIE, POSITION TOLERANCE={}, ADJUST=NO, NAME=TIE{}\n" - .format(tolerance, tie_obj.Name) - ) - ind_surf = "TIE_IND{}".format(tie_obj.Name) - dep_surf = "TIE_DEP{}".format(tie_obj.Name) - f.write("{},{}\n".format(dep_surf, ind_surf)) - - # ******************************************************************************************** - # constraints sectionprint - def write_surfaces_constraints_sectionprint(self, f): - self.write_constraints_sets( - f, - femobjs=self.sectionprint_objects, - analysis_types="all", # write for all analysis types - sets_getter_method=self.get_constraints_sectionprint_faces, - write_name="constraints_sectionprint_surface_sets", - sets_writer_method=self.write_surfacefaces_constraints_sectionprint, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_sectionprint(self, f): - self.write_constraints_data( - f, - femobjs=self.sectionprint_objects, - analysis_types="all", # write for all analysis types - constraint_title_name="SectionPrint Constraints", - constraint_writer_method=self.constraint_sectionprint_writer, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_surfacefaces_constraints_sectionprint(self, f, femobj, sectionprint_obj): - f.write("*SURFACE, NAME=SECTIONFACE{}\n".format(sectionprint_obj.Name)) - for i in femobj["SectionPrintFaces"]: - f.write("{},S{}\n".format(i[0], i[1])) - - def constraint_sectionprint_writer(self, f, femobj, sectionprint_obj): - f.write( - "*SECTION PRINT, SURFACE=SECTIONFACE{}, NAME=SECTIONPRINT{}\n" - .format(sectionprint_obj.Name, sectionprint_obj.Name) - ) - f.write("SOF, SOM, SOAREA\n") - - # ******************************************************************************************** - # constraints transform - def write_node_sets_constraints_transform(self, f): - self.write_constraints_sets( - f, - femobjs=self.transform_objects, - analysis_types="all", # write for all analysis types - sets_getter_method=self.get_constraints_transform_nodes, - write_name="constraints_transform_node_sets", - sets_writer_method=self.write_node_sets_nodes_constraints_transform, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_transform(self, f): - self.write_constraints_data( - f, - femobjs=self.transform_objects, - analysis_types="all", # write for all analysis types - constraint_title_name="Transform Constraints", - constraint_writer_method=self.constraint_transform_writer, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_node_sets_nodes_constraints_transform(self, f, femobj, trans_obj): - if trans_obj.TransformType == "Rectangular": - f.write("*NSET,NSET=Rect{}\n".format(trans_obj.Name)) - elif trans_obj.TransformType == "Cylindrical": - f.write("*NSET,NSET=Cylin{}\n".format(trans_obj.Name)) - for n in femobj["Nodes"]: - f.write("{},\n".format(n)) - - def constraint_transform_writer(self, f, femobj, trans_obj): - trans_name = "" - trans_type = "" - if trans_obj.TransformType == "Rectangular": - trans_name = "Rect" - trans_type = "R" - coords = geomtools.get_rectangular_coords(trans_obj) - elif trans_obj.TransformType == "Cylindrical": - trans_name = "Cylin" - trans_type = "C" - coords = geomtools.get_cylindrical_coords(trans_obj) - f.write("** {}\n".format(trans_obj.Label)) - f.write("*TRANSFORM, NSET={}{}, TYPE={}\n".format( - trans_name, - trans_obj.Name, - trans_type, - )) - f.write("{:f},{:f},{:f},{:f},{:f},{:f}\n".format( - coords[0], - coords[1], - coords[2], - coords[3], - coords[4], - coords[5], - )) - - # ******************************************************************************************** - # constraints temperature - def write_node_sets_constraints_temperature(self, f): - self.write_constraints_sets( - f, - femobjs=self.temperature_objects, - analysis_types=["thermomech"], - sets_getter_method=self.get_constraints_temperature_nodes, - write_name="constraints_temperature_node_sets", - sets_writer_method=self.write_node_sets_nodes_constraints_temperature, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_constraints_temperature(self, f): - self.write_constraints_data( - f, - femobjs=self.temperature_objects, - analysis_types=["thermomech"], - constraint_title_name="Fixed temperature constraint applied", - constraint_writer_method=self.constraint_temperature_writer, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_node_sets_nodes_constraints_temperature(self, f, femobj, temp_obj): - f.write("*NSET,NSET={}\n".format(temp_obj.Name)) - for n in femobj["Nodes"]: - f.write("{},\n".format(n)) - - def constraint_temperature_writer(self, f, femobj, temp_obj): - NumberOfNodes = len(femobj["Nodes"]) - if temp_obj.ConstraintType == "Temperature": - f.write("*BOUNDARY\n") - f.write("{},11,11,{}\n".format(temp_obj.Name, temp_obj.Temperature)) - f.write("\n") - elif temp_obj.ConstraintType == "CFlux": - f.write("*CFLUX\n") - f.write("{},11,{}\n".format( - temp_obj.Name, - temp_obj.CFlux * 0.001 / NumberOfNodes - )) - f.write("\n") - - # ******************************************************************************************** - # constraints initialtemperature - def write_constraints_initialtemperature(self, f): - if not self.initialtemperature_objects: - return - if self.analysis_type not in ["thermomech"]: - return - - # write constraint to file - f.write("\n***********************************************************\n") - f.write("** Initial temperature constraint\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - f.write("*INITIAL CONDITIONS,TYPE=TEMPERATURE\n") - for itobj in self.initialtemperature_objects: # Should only be one - inittemp_obj = itobj["Object"] - # OvG: Initial temperature - f.write("{0},{1}\n".format(self.ccx_nall, inittemp_obj.initialTemperature)) - - # ******************************************************************************************** - # constraints selfweight - def write_constraints_selfweight(self, f): - if not self.selfweight_objects: - return - if self.analysis_type not in ["buckling", "static", "thermomech"]: - return - - # write constraint to file - f.write("\n***********************************************************\n") - f.write("** Self weight Constraint\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - for femobj in self.selfweight_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - selwei_obj = femobj["Object"] - f.write("** " + selwei_obj.Label + "\n") - f.write("*DLOAD\n") - f.write( - # elset, GRAV, magnitude, direction x, dir y ,dir z - "{},GRAV,{},{},{},{}\n" - .format( - self.ccx_eall, - self.gravity, # actual magnitude of gravity vector - selwei_obj.Gravity_x, # coordinate x of normalized gravity vector - selwei_obj.Gravity_y, # y - selwei_obj.Gravity_z # z - ) - ) - f.write("\n") - # grav (erdbeschleunigung) is equal for all elements - # should be only one constraint - # different element sets for different density - # are written in the material element sets already - - # ******************************************************************************************** - # constraints force - def write_constraints_force(self, f): - self.write_constraints_sets( - f, - femobjs=self.force_objects, - analysis_types=["buckling", "static", "thermomech"], - sets_getter_method=self.get_constraints_force_nodeloads, - write_name="constraints_force_node_loads", - sets_writer_method=self.write_nodeloads_constraints_force, - caller_method_name=sys._getframe().f_code.co_name, - write_before="*CLOAD\n" - ) - - def write_nodeloads_constraints_force(self, f, femobj, force_obj): - direction_vec = femobj["Object"].DirectionVector - for ref_shape in femobj["NodeLoadTable"]: - f.write("** " + ref_shape[0] + "\n") - for n in sorted(ref_shape[1]): - node_load = ref_shape[1][n] - if (direction_vec.x != 0.0): - v1 = "{:.13E}".format(direction_vec.x * node_load) - f.write("{},1,{}\n".format(n, v1)) - if (direction_vec.y != 0.0): - v2 = "{:.13E}".format(direction_vec.y * node_load) - f.write("{},2,{}\n".format(n, v2)) - if (direction_vec.z != 0.0): - v3 = "{:.13E}".format(direction_vec.z * node_load) - f.write("{},3,{}\n".format(n, v3)) - f.write("\n") - f.write("\n") - - # ******************************************************************************************** - # constraints pressure - def write_constraints_pressure(self, f): - self.write_constraints_sets( - f, - femobjs=self.pressure_objects, - analysis_types=["buckling", "static", "thermomech"], - sets_getter_method=self.get_constraints_pressure_faces, - write_name="constraints_pressure_element_face_loads", - sets_writer_method=self.write_faceloads_constraints_pressure, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_faceloads_constraints_pressure(self, f, femobj, prs_obj): - rev = -1 if prs_obj.Reversed else 1 - f.write("*DLOAD\n") - for ref_shape in femobj["PressureFaces"]: - # the loop is needed for compatibility reason - # in deprecated method get_pressure_obj_faces_depreciated - # the face ids where per ref_shape - f.write("** " + ref_shape[0] + "\n") - for face, fno in ref_shape[1]: - if fno > 0: # solid mesh face - f.write("{},P{},{}\n".format(face, fno, rev * prs_obj.Pressure)) - # on shell mesh face: fno == 0 - # normal of element face == face normal - elif fno == 0: - f.write("{},P,{}\n".format(face, rev * prs_obj.Pressure)) - # on shell mesh face: fno == -1 - # normal of element face opposite direction face normal - elif fno == -1: - f.write("{},P,{}\n".format(face, -1 * rev * prs_obj.Pressure)) - - # ******************************************************************************************** - # constraints heatflux - def write_constraints_heatflux(self, f): - self.write_constraints_sets( - f, - femobjs=self.heatflux_objects, - analysis_types=["thermomech"], - sets_getter_method=self.get_constraints_heatflux_faces, - write_name="constraints_heatflux_element_face_heatflux", - sets_writer_method=self.write_faceheatflux_constraints_heatflux, - caller_method_name=sys._getframe().f_code.co_name, - ) - - def write_faceheatflux_constraints_heatflux(self, f, femobj, heatflux_obj): - if heatflux_obj.ConstraintType == "Convection": - heatflux_key_word = "FILM" - heatflux_facetype = "F" - # SvdW: add factor to force heatflux to units system of t/mm/s/K - heatflux_values = "{},{}".format( - heatflux_obj.AmbientTemp, - heatflux_obj.FilmCoef * 0.001 - ) - elif heatflux_obj.ConstraintType == "DFlux": - heatflux_key_word = "DFLUX" - heatflux_facetype = "S" - heatflux_values = "{}".format(heatflux_obj.DFlux * 0.001) - - f.write("*{}\n".format(heatflux_key_word)) - for ref_shape in femobj["HeatFluxFaceTable"]: - elem_string = ref_shape[0] - face_table = ref_shape[1] - f.write("** Heat flux on face {}\n".format(elem_string)) - for i in face_table: - # OvG: Only write out the VolumeIDs linked to a particular face - f.write("{},{}{},{}\n".format( - i[0], - heatflux_facetype, - i[1], - heatflux_values - )) - - # ******************************************************************************************** - # constraints fluidsection - # TODO: split method into separate methods and move some part into base writer - def write_constraints_fluidsection(self, f): - if not self.fluidsection_objects: - return - if self.analysis_type not in ["thermomech"]: - return - - # write constraint to file - f.write("\n***********************************************************\n") - f.write("** FluidSection constraints\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - if os.path.exists(self.fluid_inout_nodes_file): - inout_nodes_file = open(self.fluid_inout_nodes_file, "r") - lines = inout_nodes_file.readlines() - inout_nodes_file.close() - else: - FreeCAD.Console.PrintError( - "1DFlow inout nodes file not found: {}\n" - .format(self.fluid_inout_nodes_file) - ) - # get nodes - self.get_constraints_fluidsection_nodes() - for femobj in self.fluidsection_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - fluidsection_obj = femobj["Object"] - f.write("** " + fluidsection_obj.Label + "\n") - if fluidsection_obj.SectionType == "Liquid": - if fluidsection_obj.LiquidSectionType == "PIPE INLET": - f.write("**Fluid Section Inlet \n") - if fluidsection_obj.InletPressureActive is True: - f.write("*BOUNDARY \n") - for n in femobj["Nodes"]: - for line in lines: - b = line.split(",") - if int(b[0]) == n and b[3] == "PIPE INLET\n": - # degree of freedom 2 is for defining pressure - f.write("{},{},{},{}\n".format( - b[0], - "2", - "2", - fluidsection_obj.InletPressure - )) - if fluidsection_obj.InletFlowRateActive is True: - f.write("*BOUNDARY,MASS FLOW \n") - for n in femobj["Nodes"]: - for line in lines: - b = line.split(",") - if int(b[0]) == n and b[3] == "PIPE INLET\n": - # degree of freedom 1 is for defining flow rate - # factor applied to convert unit from kg/s to t/s - f.write("{},{},{},{}\n".format( - b[1], - "1", - "1", - fluidsection_obj.InletFlowRate * 0.001 - )) - elif fluidsection_obj.LiquidSectionType == "PIPE OUTLET": - f.write("**Fluid Section Outlet \n") - if fluidsection_obj.OutletPressureActive is True: - f.write("*BOUNDARY \n") - for n in femobj["Nodes"]: - for line in lines: - b = line.split(",") - if int(b[0]) == n and b[3] == "PIPE OUTLET\n": - # degree of freedom 2 is for defining pressure - f.write("{},{},{},{}\n".format( - b[0], - "2", - "2", - fluidsection_obj.OutletPressure - )) - if fluidsection_obj.OutletFlowRateActive is True: - f.write("*BOUNDARY,MASS FLOW \n") - for n in femobj["Nodes"]: - for line in lines: - b = line.split(",") - if int(b[0]) == n and b[3] == "PIPE OUTLET\n": - # degree of freedom 1 is for defining flow rate - # factor applied to convert unit from kg/s to t/s - f.write("{},{},{},{}\n".format( - b[1], - "1", - "1", - fluidsection_obj.OutletFlowRate * 0.001 - )) - - # ******************************************************************************************** - # step begin and end - def write_step_begin(self, f): - f.write("\n***********************************************************\n") - f.write("** At least one step is needed to run an CalculiX analysis of FreeCAD\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - # STEP line - step = "*STEP" - if self.solver_obj.GeometricalNonlinearity == "nonlinear": - if self.analysis_type == "static" or self.analysis_type == "thermomech": - # https://www.comsol.com/blogs/what-is-geometric-nonlinearity - step += ", NLGEOM" - elif self.analysis_type == "frequency": - FreeCAD.Console.PrintMessage( - "Analysis type frequency and geometrical nonlinear " - "analysis are not allowed together, linear is used instead!\n" - ) - if self.solver_obj.IterationsThermoMechMaximum: - if self.analysis_type == "thermomech": - step += ", INC={}".format(self.solver_obj.IterationsThermoMechMaximum) - elif ( - self.analysis_type == "static" - or self.analysis_type == "frequency" - or self.analysis_type == "buckling" - ): - # parameter is for thermomechanical analysis only, see ccx manual *STEP - pass - # write step line - f.write(step + "\n") - # CONTROLS line - # all analysis types, ... really in frequency too?!? - if self.solver_obj.IterationsControlParameterTimeUse: - f.write("*CONTROLS, PARAMETERS=TIME INCREMENTATION\n") - f.write(self.solver_obj.IterationsControlParameterIter + "\n") - f.write(self.solver_obj.IterationsControlParameterCutb + "\n") - # ANALYSIS type line - # analysis line --> analysis type - if self.analysis_type == "static": - analysis_type = "*STATIC" - elif self.analysis_type == "frequency": - analysis_type = "*FREQUENCY" - elif self.analysis_type == "thermomech": - analysis_type = "*COUPLED TEMPERATURE-DISPLACEMENT" - elif self.analysis_type == "check": - analysis_type = "*NO ANALYSIS" - elif self.analysis_type == "buckling": - analysis_type = "*BUCKLE" - # analysis line --> solver type - # https://forum.freecadweb.org/viewtopic.php?f=18&t=43178 - if self.solver_obj.MatrixSolverType == "default": - pass - elif self.solver_obj.MatrixSolverType == "spooles": - analysis_type += ", SOLVER=SPOOLES" - elif self.solver_obj.MatrixSolverType == "iterativescaling": - analysis_type += ", SOLVER=ITERATIVE SCALING" - elif self.solver_obj.MatrixSolverType == "iterativecholesky": - analysis_type += ", SOLVER=ITERATIVE CHOLESKY" - # analysis line --> user defined incrementations --> parameter DIRECT - # --> completely switch off ccx automatic incrementation - if self.solver_obj.IterationsUserDefinedIncrementations: - if self.analysis_type == "static": - analysis_type += ", DIRECT" - elif self.analysis_type == "thermomech": - analysis_type += ", DIRECT" - elif self.analysis_type == "frequency": - FreeCAD.Console.PrintMessage( - "Analysis type frequency and IterationsUserDefinedIncrementations " - "are not allowed together, it is ignored\n" - ) - # analysis line --> steadystate --> thermomech only - if self.solver_obj.ThermoMechSteadyState: - # bernd: I do not know if STEADY STATE is allowed with DIRECT - # but since time steps are 1.0 it makes no sense IMHO - if self.analysis_type == "thermomech": - analysis_type += ", STEADY STATE" - # Set time to 1 and ignore user inputs for steady state - self.solver_obj.TimeInitialStep = 1.0 - self.solver_obj.TimeEnd = 1.0 - elif ( - self.analysis_type == "static" - or self.analysis_type == "frequency" - or self.analysis_type == "buckling" - ): - pass # not supported for static and frequency! - # ANALYSIS parameter line - analysis_parameter = "" - if self.analysis_type == "static" or self.analysis_type == "check": - if self.solver_obj.IterationsUserDefinedIncrementations is True \ - or self.solver_obj.IterationsUserDefinedTimeStepLength is True: - analysis_parameter = "{},{}".format( - self.solver_obj.TimeInitialStep, - self.solver_obj.TimeEnd - ) - elif self.analysis_type == "frequency": - if self.solver_obj.EigenmodeLowLimit == 0.0 \ - and self.solver_obj.EigenmodeHighLimit == 0.0: - analysis_parameter = "{}\n".format(self.solver_obj.EigenmodesCount) - else: - analysis_parameter = "{},{},{}\n".format( - self.solver_obj.EigenmodesCount, - self.solver_obj.EigenmodeLowLimit, - self.solver_obj.EigenmodeHighLimit - ) - elif self.analysis_type == "thermomech": - # OvG: 1.0 increment, total time 1 for steady state will cut back automatically - analysis_parameter = "{},{}".format( - self.solver_obj.TimeInitialStep, - self.solver_obj.TimeEnd - ) - elif self.analysis_type == "buckling": - analysis_parameter = "{}\n".format(self.solver_obj.BucklingFactors) - - # write analysis type line, analysis parameter line - f.write(analysis_type + "\n") - f.write(analysis_parameter + "\n") - - def write_step_end(self, f): - f.write("\n***********************************************************\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - f.write("*END STEP \n") - - # ******************************************************************************************** - # output types - def write_outputs_types(self, f): - f.write("\n***********************************************************\n") - f.write("** Outputs --> frd file\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - if self.beamsection_objects or self.shellthickness_objects or self.fluidsection_objects: - if self.solver_obj.BeamShellResultOutput3D is False: - f.write("*NODE FILE, OUTPUT=2d\n") - else: - f.write("*NODE FILE, OUTPUT=3d\n") - else: - f.write("*NODE FILE\n") - # MPH write out nodal temperatures if thermomechanical - if self.analysis_type == "thermomech": - if not self.fluidsection_objects: - f.write("U, NT\n") - else: - f.write("MF, PS\n") - else: - f.write("U\n") - if not self.fluidsection_objects: - f.write("*EL FILE\n") - if self.solver_obj.MaterialNonlinearity == "nonlinear": - f.write("S, E, PEEQ\n") - else: - f.write("S, E\n") - - # dat file - # reaction forces: freecadweb.org/tracker/view.php?id=2934 - if self.fixed_objects: - f.write("** outputs --> dat file\n") - # reaction forces for all Constraint fixed - f.write("** reaction forces for Constraint fixed\n") - for femobj in self.fixed_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - fix_obj_name = femobj["Object"].Name - f.write("*NODE PRINT, NSET={}, TOTALS=ONLY\n".format(fix_obj_name)) - f.write("RF\n") - # TODO: add Constraint Displacement if nodes are restrained - f.write("\n") - - # there is no need to write all integration point results - # as long as there is no reader for them - # see https://forum.freecadweb.org/viewtopic.php?f=18&t=29060 - # f.write("*NODE PRINT , NSET=" + self.ccx_nall + "\n") - # f.write("U \n") - # f.write("*EL PRINT , ELSET=" + self.ccx_eall + "\n") - # f.write("S \n") - - # ******************************************************************************************** - # footer - def write_footer(self, f): - f.write("\n***********************************************************\n") - f.write("** CalculiX Input file\n") - f.write("** written by {} function\n".format( - sys._getframe().f_code.co_name - )) - f.write("** written by --> FreeCAD {}.{}.{}\n".format( - self.fc_ver[0], - self.fc_ver[1], - self.fc_ver[2] - )) - f.write("** written on --> {}\n".format( - time.ctime() - )) - f.write("** file name --> {}\n".format( - os.path.basename(self.document.FileName) - )) - f.write("** analysis name --> {}\n".format( - self.analysis.Name - )) - f.write("**\n") - f.write("**\n") - f.write(units_information) - f.write("**\n") - - # ******************************************************************************************** - # material and fem element type - def write_element_sets_material_and_femelement_type(self, f): - f.write("\n***********************************************************\n") - f.write("** Element sets for materials and FEM element type (solid, shell, beam, fluid)\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - - # in any case if we have beams, we're going to need the element ids for the rotation elsets - if self.beamsection_objects: - # we will need to split the beam even for one beamobj - # because no beam in z-direction can be used in ccx without a special adjustment - # thus they need an own ccx_elset - self.get_element_rotation1D_elements() - - # get the element ids for face and edge elements and write them into the objects - if len(self.shellthickness_objects) > 1: - self.get_element_geometry2D_elements() - if len(self.beamsection_objects) > 1: - self.get_element_geometry1D_elements() - if len(self.fluidsection_objects) > 1: - self.get_element_fluid1D_elements() - - # get the element ids for material objects and write them into the material object - if len(self.material_objects) > 1: - self.get_material_elements() - - # create the ccx_elsets - if len(self.material_objects) == 1: - if self.femmesh.Volumes: - # we only could do this for volumes, if a mesh contains volumes - # we're going to use them in the analysis - # but a mesh could contain the element faces of the volumes as faces - # and the edges of the faces as edges - # there we have to check for some geometric objects - self.get_ccx_elsets_single_mat_solid() - if len(self.shellthickness_objects) == 1: - self.get_ccx_elsets_single_mat_single_shell() - elif len(self.shellthickness_objects) > 1: - self.get_ccx_elsets_single_mat_multiple_shell() - if len(self.beamsection_objects) == 1: - self.get_ccx_elsets_single_mat_single_beam() - elif len(self.beamsection_objects) > 1: - self.get_ccx_elsets_single_mat_multiple_beam() - if len(self.fluidsection_objects) == 1: - self.get_ccx_elsets_single_mat_single_fluid() - elif len(self.fluidsection_objects) > 1: - self.get_ccx_elsets_single_mat_multiple_fluid() - elif len(self.material_objects) > 1: - if self.femmesh.Volumes: - # we only could do this for volumes, if a mseh contains volumes - # we're going to use them in the analysis - # but a mesh could contain the element faces of the volumes as faces - # and the edges of the faces as edges - # there we have to check for some geometric objects - # volume is a bit special - # because retrieving ids from group mesh data is implemented - self.get_ccx_elsets_multiple_mat_solid() - if len(self.shellthickness_objects) == 1: - self.get_ccx_elsets_multiple_mat_single_shell() - elif len(self.shellthickness_objects) > 1: - self.get_ccx_elsets_multiple_mat_multiple_shell() - if len(self.beamsection_objects) == 1: - self.get_ccx_elsets_multiple_mat_single_beam() - elif len(self.beamsection_objects) > 1: - self.get_ccx_elsets_multiple_mat_multiple_beam() - if len(self.fluidsection_objects) == 1: - self.get_ccx_elsets_multiple_mat_single_fluid() - elif len(self.fluidsection_objects) > 1: - self.get_ccx_elsets_multiple_mat_multiple_fluid() - - # TODO: some elementIDs are collected for 1D-Flow calculation, - # this should be a def somewhere else, preferable inside the get_ccx_elsets_... methods - for ccx_elset in self.ccx_elsets: - # use six to be sure to be Python 2.7 and 3.x compatible - if ccx_elset["ccx_elset"] \ - and not isinstance(ccx_elset["ccx_elset"], six.string_types): - if "fluidsection_obj"in ccx_elset: - fluidsec_obj = ccx_elset["fluidsection_obj"] - if fluidsec_obj.SectionType == "Liquid": - if (fluidsec_obj.LiquidSectionType == "PIPE INLET") \ - or (fluidsec_obj.LiquidSectionType == "PIPE OUTLET"): - elsetchanged = False - counter = 0 - for elid in ccx_elset["ccx_elset"]: - counter = counter + 1 - if (elsetchanged is False) \ - and (fluidsec_obj.LiquidSectionType == "PIPE INLET"): - # 3rd index is to track which line nr the element is defined - self.FluidInletoutlet_ele.append( - [str(elid), fluidsec_obj.LiquidSectionType, 0] - ) - elsetchanged = True - elif (fluidsec_obj.LiquidSectionType == "PIPE OUTLET") \ - and (counter == len(ccx_elset["ccx_elset"])): - # 3rd index is to track which line nr the element is defined - self.FluidInletoutlet_ele.append( - [str(elid), fluidsec_obj.LiquidSectionType, 0] - ) - - # write ccx_elsets to file - for ccx_elset in self.ccx_elsets: - f.write("*ELSET,ELSET=" + ccx_elset["ccx_elset_name"] + "\n") - # use six to be sure to be Python 2.7 and 3.x compatible - if isinstance(ccx_elset["ccx_elset"], six.string_types): - f.write(ccx_elset["ccx_elset"] + "\n") - else: - for elid in ccx_elset["ccx_elset"]: - f.write(str(elid) + ",\n") - - # self.ccx_elsets = [ { - # "ccx_elset" : [e1, e2, e3, ... , en] or elements set name strings - # "ccx_elset_name" : "ccx_identifier_elset" - # "mat_obj_name" : "mat_obj.Name" - # "ccx_mat_name" : "mat_obj.Material["Name"]" !!! not unique !!! - # "beamsection_obj" : "beamsection_obj" if exists - # "fluidsection_obj" : "fluidsection_obj" if exists - # "shellthickness_obj" : shellthickness_obj" if exists - # "beam_normal" : normal vector for beams only - # }, - # {}, ... , {} ] - - # beam - # TODO support multiple beamrotations - # we do not need any more any data from the rotation document object, - # thus we do not need to save the rotation document object name in the else - def get_ccx_elsets_single_mat_single_beam(self): - mat_obj = self.material_objects[0]["Object"] - beamsec_obj = self.beamsection_objects[0]["Object"] - beamrot_data = self.beamrotation_objects[0] - for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): - # ID's for this direction - elset_data = beamdirection["ids"] - names = [ - {"short": "M0"}, - {"short": "B0"}, - {"short": beamrot_data["ShortName"]}, - {"short": "D" + str(i)} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj - # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_single_mat_multiple_beam(self): - mat_obj = self.material_objects[0]["Object"] - beamrot_data = self.beamrotation_objects[0] - for beamsec_data in self.beamsection_objects: - beamsec_obj = beamsec_data["Object"] - beamsec_ids = set(beamsec_data["FEMElements"]) - for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): - beamdir_ids = set(beamdirection["ids"]) - # empty intersection sets possible - elset_data = list(sorted(beamsec_ids.intersection(beamdir_ids))) - if elset_data: - names = [ - {"short": "M0"}, - {"short": beamsec_data["ShortName"]}, - {"short": beamrot_data["ShortName"]}, - {"short": "D" + str(i)} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj - # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_multiple_mat_single_beam(self): - beamsec_obj = self.beamsection_objects[0]["Object"] - beamrot_data = self.beamrotation_objects[0] - for mat_data in self.material_objects: - mat_obj = mat_data["Object"] - mat_ids = set(mat_data["FEMElements"]) - for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): - beamdir_ids = set(beamdirection["ids"]) - elset_data = list(sorted(mat_ids.intersection(beamdir_ids))) - if elset_data: - names = [ - {"short": mat_data["ShortName"]}, - {"short": "B0"}, - {"short": beamrot_data["ShortName"]}, - {"short": "D" + str(i)} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj - # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_multiple_mat_multiple_beam(self): - beamrot_data = self.beamrotation_objects[0] - for beamsec_data in self.beamsection_objects: - beamsec_obj = beamsec_data["Object"] - beamsec_ids = set(beamsec_data["FEMElements"]) - for mat_data in self.material_objects: - mat_obj = mat_data["Object"] - mat_ids = set(mat_data["FEMElements"]) - for i, beamdirection in enumerate(beamrot_data["FEMRotations1D"]): - beamdir_ids = set(beamdirection["ids"]) - # empty intersection sets possible - elset_data = list(sorted( - beamsec_ids.intersection(mat_ids).intersection(beamdir_ids) - )) - if elset_data: - names = [ - {"short": mat_data["ShortName"]}, - {"short": beamsec_data["ShortName"]}, - {"short": beamrot_data["ShortName"]}, - {"short": "D" + str(i)} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["beamsection_obj"] = beamsec_obj - # normal for this direction - ccx_elset["beam_normal"] = beamdirection["normal"] - self.ccx_elsets.append(ccx_elset) - - # fluid - def get_ccx_elsets_single_mat_single_fluid(self): - mat_obj = self.material_objects[0]["Object"] - fluidsec_obj = self.fluidsection_objects[0]["Object"] - elset_data = self.ccx_eedges - names = [{"short": "M0"}, {"short": "F0"}] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_single_mat_multiple_fluid(self): - mat_obj = self.material_objects[0]["Object"] - for fluidsec_data in self.fluidsection_objects: - fluidsec_obj = fluidsec_data["Object"] - elset_data = fluidsec_data["FEMElements"] - names = [{"short": "M0"}, {"short": fluidsec_data["ShortName"]}] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_multiple_mat_single_fluid(self): - fluidsec_obj = self.fluidsection_objects[0]["Object"] - for mat_data in self.material_objects: - mat_obj = mat_data["Object"] - elset_data = mat_data["FEMElements"] - names = [{"short": mat_data["ShortName"]}, {"short": "F0"}] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_multiple_mat_multiple_fluid(self): - for fluidsec_data in self.fluidsection_objects: - fluidsec_obj = fluidsec_data["Object"] - for mat_data in self.material_objects: - mat_obj = mat_data["Object"] - fluidsec_ids = set(fluidsec_data["FEMElements"]) - mat_ids = set(mat_data["FEMElements"]) - # empty intersection sets possible - elset_data = list(sorted(fluidsec_ids.intersection(mat_ids))) - if elset_data: - names = [ - {"short": mat_data["ShortName"]}, - {"short": fluidsec_data["ShortName"]} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_short(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["fluidsection_obj"] = fluidsec_obj - self.ccx_elsets.append(ccx_elset) - - # shell - def get_ccx_elsets_single_mat_single_shell(self): - mat_obj = self.material_objects[0]["Object"] - shellth_obj = self.shellthickness_objects[0]["Object"] - elset_data = self.ccx_efaces - names = [ - {"long": mat_obj.Name, "short": "M0"}, - {"long": shellth_obj.Name, "short": "S0"} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_single_mat_multiple_shell(self): - mat_obj = self.material_objects[0]["Object"] - for shellth_data in self.shellthickness_objects: - shellth_obj = shellth_data["Object"] - elset_data = shellth_data["FEMElements"] - names = [ - {"long": mat_obj.Name, "short": "M0"}, - {"long": shellth_obj.Name, "short": shellth_data["ShortName"]} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_multiple_mat_single_shell(self): - shellth_obj = self.shellthickness_objects[0]["Object"] - for mat_data in self.material_objects: - mat_obj = mat_data["Object"] - elset_data = mat_data["FEMElements"] - names = [ - {"long": mat_obj.Name, "short": mat_data["ShortName"]}, - {"long": shellth_obj.Name, "short": "S0"} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_multiple_mat_multiple_shell(self): - for shellth_data in self.shellthickness_objects: - shellth_obj = shellth_data["Object"] - for mat_data in self.material_objects: - mat_obj = mat_data["Object"] - shellth_ids = set(shellth_data["FEMElements"]) - mat_ids = set(mat_data["FEMElements"]) - # empty intersection sets possible - elset_data = list(sorted(shellth_ids.intersection(mat_ids))) - if elset_data: - names = [ - {"long": mat_obj.Name, "short": mat_data["ShortName"]}, - {"long": shellth_obj.Name, "short": shellth_data["ShortName"]} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - ccx_elset["shellthickness_obj"] = shellth_obj - self.ccx_elsets.append(ccx_elset) - - # solid - def get_ccx_elsets_single_mat_solid(self): - mat_obj = self.material_objects[0]["Object"] - elset_data = self.ccx_evolumes - names = [ - {"long": mat_obj.Name, "short": "M0"}, - {"long": "Solid", "short": "Solid"} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - self.ccx_elsets.append(ccx_elset) - - def get_ccx_elsets_multiple_mat_solid(self): - for mat_data in self.material_objects: - mat_obj = mat_data["Object"] - elset_data = mat_data["FEMElements"] - names = [ - {"long": mat_obj.Name, "short": mat_data["ShortName"]}, - {"long": "Solid", "short": "Solid"} - ] - ccx_elset = {} - ccx_elset["ccx_elset"] = elset_data - ccx_elset["ccx_elset_name"] = get_ccx_elset_name_standard(names) - ccx_elset["mat_obj_name"] = mat_obj.Name - ccx_elset["ccx_mat_name"] = mat_obj.Material["Name"] - self.ccx_elsets.append(ccx_elset) - - def is_density_needed(self): - if self.analysis_type == "frequency": - return True - if self.analysis_type == "thermomech" and not self.solver_obj.ThermoMechSteadyState: - return True - if self.selfweight_objects: - return True - return False - - def write_materials(self, f): - f.write("\n***********************************************************\n") - f.write("** Materials\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - f.write("** Young\'s modulus unit is MPa = N/mm2\n") - if self.is_density_needed() is True: - f.write("** Density\'s unit is t/mm^3\n") - if self.analysis_type == "thermomech": - f.write("** Thermal conductivity unit is kW/mm/K = t*mm/K*s^3\n") - f.write("** Specific Heat unit is kJ/t/K = mm^2/s^2/K\n") - for femobj in self.material_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - mat_obj = femobj["Object"] - mat_info_name = mat_obj.Material["Name"] - mat_name = mat_obj.Name - mat_label = mat_obj.Label - # get material properties of solid material, Currently in SI units: M/kg/s/Kelvin - if mat_obj.Category == "Solid": - YM = FreeCAD.Units.Quantity(mat_obj.Material["YoungsModulus"]) - YM_in_MPa = float(YM.getValueAs("MPa")) - PR = float(mat_obj.Material["PoissonRatio"]) - if self.is_density_needed() is True: - density = FreeCAD.Units.Quantity(mat_obj.Material["Density"]) - density_in_tonne_per_mm3 = float(density.getValueAs("t/mm^3")) - if self.analysis_type == "thermomech": - TC = FreeCAD.Units.Quantity(mat_obj.Material["ThermalConductivity"]) - # SvdW: Add factor to force units to results base units - # of t/mm/s/K - W/m/K results in no factor needed - TC_in_WmK = float(TC.getValueAs("W/m/K")) - SH = FreeCAD.Units.Quantity(mat_obj.Material["SpecificHeat"]) - # SvdW: Add factor to force units to results base units of t/mm/s/K - SH_in_JkgK = float(SH.getValueAs("J/kg/K")) * 1e+06 - if mat_obj.Category == "Solid": - TEC = FreeCAD.Units.Quantity(mat_obj.Material["ThermalExpansionCoefficient"]) - TEC_in_mmK = float(TEC.getValueAs("mm/mm/K")) - elif mat_obj.Category == "Fluid": - DV = FreeCAD.Units.Quantity(mat_obj.Material["DynamicViscosity"]) - DV_in_tmms = float(DV.getValueAs("t/mm/s")) - # write material properties - f.write("** FreeCAD material name: " + mat_info_name + "\n") - f.write("** " + mat_label + "\n") - f.write("*MATERIAL, NAME=" + mat_name + "\n") - if mat_obj.Category == "Solid": - f.write("*ELASTIC\n") - f.write("{0:.0f}, {1:.3f}\n".format(YM_in_MPa, PR)) - - if self.is_density_needed() is True: - f.write("*DENSITY\n") - f.write("{0:.3e}\n".format(density_in_tonne_per_mm3)) - if self.analysis_type == "thermomech": - if mat_obj.Category == "Solid": - f.write("*CONDUCTIVITY\n") - f.write("{0:.3f}\n".format(TC_in_WmK)) - f.write("*EXPANSION\n") - f.write("{0:.3e}\n".format(TEC_in_mmK)) - f.write("*SPECIFIC HEAT\n") - f.write("{0:.3e}\n".format(SH_in_JkgK)) - elif mat_obj.Category == "Fluid": - f.write("*FLUID CONSTANTS\n") - f.write("{0:.3e}, {1:.3e}\n".format(SH_in_JkgK, DV_in_tmms)) - - # nonlinear material properties - if self.solver_obj.MaterialNonlinearity == "nonlinear": - - for nlfemobj in self.material_nonlinear_objects: - # femobj --> dict, FreeCAD document object is nlfemobj["Object"] - nl_mat_obj = nlfemobj["Object"] - if nl_mat_obj.LinearBaseMaterial == mat_obj: - if nl_mat_obj.MaterialModelNonlinearity == "simple hardening": - f.write("*PLASTIC\n") - if nl_mat_obj.YieldPoint1: - f.write(nl_mat_obj.YieldPoint1 + "\n") - if nl_mat_obj.YieldPoint2: - f.write(nl_mat_obj.YieldPoint2 + "\n") - if nl_mat_obj.YieldPoint3: - f.write(nl_mat_obj.YieldPoint3 + "\n") - f.write("\n") - - def write_femelementsets(self, f): - f.write("\n***********************************************************\n") - f.write("** Sections\n") - f.write("** written by {} function\n".format(sys._getframe().f_code.co_name)) - for ccx_elset in self.ccx_elsets: - if ccx_elset["ccx_elset"]: - if "beamsection_obj"in ccx_elset: # beam mesh - beamsec_obj = ccx_elset["beamsection_obj"] - elsetdef = "ELSET=" + ccx_elset["ccx_elset_name"] + ", " - material = "MATERIAL=" + ccx_elset["mat_obj_name"] - normal = ccx_elset["beam_normal"] - if beamsec_obj.SectionType == "Rectangular": - height = beamsec_obj.RectHeight.getValueAs("mm") - width = beamsec_obj.RectWidth.getValueAs("mm") - section_type = ", SECTION=RECT" - section_geo = str(height) + ", " + str(width) + "\n" - section_def = "*BEAM SECTION, {}{}{}\n".format( - elsetdef, - material, - section_type - ) - elif beamsec_obj.SectionType == "Circular": - radius = 0.5 * beamsec_obj.CircDiameter.getValueAs("mm") - section_type = ", SECTION=CIRC" - section_geo = str(radius) + "\n" - section_def = "*BEAM SECTION, {}{}{}\n".format( - elsetdef, - material, - section_type - ) - elif beamsec_obj.SectionType == "Pipe": - radius = 0.5 * beamsec_obj.PipeDiameter.getValueAs("mm") - thickness = beamsec_obj.PipeThickness.getValueAs("mm") - section_type = ", SECTION=PIPE" - section_geo = str(radius) + ", " + str(thickness) + "\n" - section_def = "*BEAM GENERAL SECTION, {}{}{}\n".format( - elsetdef, - material, - section_type - ) - # see forum topic for output formatting of rotation - # https://forum.freecadweb.org/viewtopic.php?f=18&t=46133&p=405142#p405142 - section_nor = "{:f}, {:f}, {:f}\n".format( - normal[0], - normal[1], - normal[2] - ) - f.write(section_def) - f.write(section_geo) - f.write(section_nor) - elif "fluidsection_obj"in ccx_elset: # fluid mesh - fluidsec_obj = ccx_elset["fluidsection_obj"] - elsetdef = "ELSET=" + ccx_elset["ccx_elset_name"] + ", " - material = "MATERIAL=" + ccx_elset["mat_obj_name"] - if fluidsec_obj.SectionType == "Liquid": - section_type = fluidsec_obj.LiquidSectionType - if (section_type == "PIPE INLET") or (section_type == "PIPE OUTLET"): - section_type = "PIPE INOUT" - section_def = "*FLUID SECTION, {}TYPE={}, {}\n".format( - elsetdef, - section_type, - material - ) - section_geo = liquid_section_def(fluidsec_obj, section_type) - """ - # deactivate as it would result in section_def and section_geo not defined - # deactivated in the App and Gui object and thus in the task panel as well - elif fluidsec_obj.SectionType == "Gas": - section_type = fluidsec_obj.GasSectionType - elif fluidsec_obj.SectionType == "Open Channel": - section_type = fluidsec_obj.ChannelSectionType - """ - f.write(section_def) - f.write(section_geo) - elif "shellthickness_obj"in ccx_elset: # shell mesh - shellth_obj = ccx_elset["shellthickness_obj"] - elsetdef = "ELSET=" + ccx_elset["ccx_elset_name"] + ", " - material = "MATERIAL=" + ccx_elset["mat_obj_name"] - section_def = "*SHELL SECTION, " + elsetdef + material + "\n" - section_geo = str(shellth_obj.Thickness.getValueAs("mm")) + "\n" - f.write(section_def) - f.write(section_geo) - else: # solid mesh - elsetdef = "ELSET=" + ccx_elset["ccx_elset_name"] + ", " - material = "MATERIAL=" + ccx_elset["mat_obj_name"] - section_def = "*SOLID SECTION, " + elsetdef + material + "\n" - f.write(section_def) - - -# ************************************************************************************************ -# Helpers -# ccx elset names: -# M .. Material -# B .. Beam -# R .. BeamRotation -# D .. Direction -# F .. Fluid -# S .. Shell, -# TODO write comment into input file to elset ids and elset attributes -def get_ccx_elset_name_standard(names): - # standard max length = 80 - ccx_elset_name = "" - for name in names: - ccx_elset_name += name["long"] - if len(ccx_elset_name) < 81: - return ccx_elset_name - else: - ccx_elset_name = "" - for name in names: - ccx_elset_name += name["short"] - if len(ccx_elset_name) < 81: - return ccx_elset_name - else: - error = ( - "FEM: Trouble in ccx input file, because an " - "elset name is longer than 80 character! {}\n" - .format(ccx_elset_name) - ) - raise Exception(error) - - -def get_ccx_elset_name_short(names): - # restricted max length = 20 (beam elsets) - ccx_elset_name = "" - for name in names: - ccx_elset_name += name["short"] - if len(ccx_elset_name) < 21: - return ccx_elset_name - else: - error = ( - "FEM: Trouble in ccx input file, because an" - "beam elset name is longer than 20 character! {}\n" - .format(ccx_elset_name) - ) - raise Exception(error) - - -def is_fluid_section_inlet_outlet(ccx_elsets): - """ Fluid section: Inlet and Outlet requires special element definition - """ - for ccx_elset in ccx_elsets: - if ccx_elset["ccx_elset"]: - if "fluidsection_obj" in ccx_elset: # fluid mesh - fluidsec_obj = ccx_elset["fluidsection_obj"] - if fluidsec_obj.SectionType == "Liquid": - if (fluidsec_obj.LiquidSectionType == "PIPE INLET") \ - or (fluidsec_obj.LiquidSectionType == "PIPE OUTLET"): - return True - return False - - -def liquid_section_def(obj, section_type): - if section_type == "PIPE MANNING": - manning_area = str(obj.ManningArea.getValueAs("mm^2").Value) - manning_radius = str(obj.ManningRadius.getValueAs("mm")) - manning_coefficient = str(obj.ManningCoefficient) - section_geo = manning_area + "," + manning_radius + "," + manning_coefficient + "\n" - return section_geo - elif section_type == "PIPE ENLARGEMENT": - enlarge_area1 = str(obj.EnlargeArea1.getValueAs("mm^2").Value) - enlarge_area2 = str(obj.EnlargeArea2.getValueAs("mm^2").Value) - section_geo = enlarge_area1 + "," + enlarge_area2 + "\n" - return section_geo - elif section_type == "PIPE CONTRACTION": - contract_area1 = str(obj.ContractArea1.getValueAs("mm^2").Value) - contract_area2 = str(obj.ContractArea2.getValueAs("mm^2").Value) - section_geo = contract_area1 + "," + contract_area2 + "\n" - return section_geo - elif section_type == "PIPE ENTRANCE": - entrance_pipe_area = str(obj.EntrancePipeArea.getValueAs("mm^2").Value) - entrance_area = str(obj.EntranceArea.getValueAs("mm^2").Value) - section_geo = entrance_pipe_area + "," + entrance_area + "\n" - return section_geo - elif section_type == "PIPE DIAPHRAGM": - diaphragm_pipe_area = str(obj.DiaphragmPipeArea.getValueAs("mm^2").Value) - diaphragm_area = str(obj.DiaphragmArea.getValueAs("mm^2").Value) - section_geo = diaphragm_pipe_area + "," + diaphragm_area + "\n" - return section_geo - elif section_type == "PIPE BEND": - bend_pipe_area = str(obj.BendPipeArea.getValueAs("mm^2").Value) - bend_radius_diameter = str(obj.BendRadiusDiameter) - bend_angle = str(obj.BendAngle) - bend_loss_coefficient = str(obj.BendLossCoefficient) - section_geo = ("{},{},{},{}\n".format( - bend_pipe_area, - bend_radius_diameter, - bend_angle, - bend_loss_coefficient - )) - return section_geo - elif section_type == "PIPE GATE VALVE": - gatevalve_pipe_area = str(obj.GateValvePipeArea.getValueAs("mm^2").Value) - gatevalve_closing_coeff = str(obj.GateValveClosingCoeff) - section_geo = gatevalve_pipe_area + "," + gatevalve_closing_coeff + "\n" - return section_geo - elif section_type == "PIPE WHITE-COLEBROOK": - colebrooke_area = str(obj.ColebrookeArea.getValueAs("mm^2").Value) - colebrooke_diameter = str(2 * obj.ColebrookeRadius.getValueAs("mm")) - colebrooke_grain_diameter = str(obj.ColebrookeGrainDiameter.getValueAs("mm")) - colebrooke_form_factor = str(obj.ColebrookeFormFactor) - section_geo = ("{},{},{},{},{}\n".format( - colebrooke_area, - colebrooke_diameter, - "-1", - colebrooke_grain_diameter, - colebrooke_form_factor - )) - return section_geo - elif section_type == "LIQUID PUMP": - section_geo = "" - for i in range(len(obj.PumpFlowRate)): - flow_rate = str(obj.PumpFlowRate[i]) - top = str(obj.PumpHeadLoss[i]) - section_geo = section_geo + flow_rate + "," + top + "," - section_geo = section_geo + "\n" - return section_geo - else: - return "" ## @} diff --git a/src/Mod/Fem/femsolver/elmer/tasks.py b/src/Mod/Fem/femsolver/elmer/tasks.py index cd5c5e33b6..6a99843565 100644 --- a/src/Mod/Fem/femsolver/elmer/tasks.py +++ b/src/Mod/Fem/femsolver/elmer/tasks.py @@ -47,9 +47,9 @@ class Check(run.Check): def run(self): self.pushStatus("Checking analysis...\n") - if (self.checkMesh()): + if (self.check_mesh_exists()): self.checkMeshType() - self.checkMaterial() + self.check_material_exists() self.checkEquations() def checkMeshType(self): @@ -84,7 +84,7 @@ class Prepare(run.Prepare): FreeCAD.Console.PrintLog("Machine testmode: {}\n".format(self.testmode)) w = writer.Writer(self.solver, self.directory) try: - w.write() + w.write_solver_input() self.checkHandled(w) except writer.WriteError as e: self.report.error(str(e)) diff --git a/src/Mod/Fem/femsolver/elmer/writer.py b/src/Mod/Fem/femsolver/elmer/writer.py index b8138d95a4..ae2120886c 100644 --- a/src/Mod/Fem/femsolver/elmer/writer.py +++ b/src/Mod/Fem/femsolver/elmer/writer.py @@ -79,7 +79,7 @@ class Writer(object): def getHandledConstraints(self): return self._handledObjects - def write(self): + def write_solver_input(self): self._handleRedifinedConstants() self._handleSimulation() self._handleHeat() diff --git a/src/Mod/Fem/femsolver/mystran/__init__.py b/src/Mod/Fem/femsolver/mystran/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/Mod/Fem/femsolver/mystran/add_con_fixed.py b/src/Mod/Fem/femsolver/mystran/add_con_fixed.py new file mode 100644 index 0000000000..81be959d58 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/add_con_fixed.py @@ -0,0 +1,72 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mystran add fixed constraint" +__author__ = "Bernd Hahnebach" +__url__ = "http://www.freecadweb.org" + +## \addtogroup FEM +# @{ + + +def add_con_fixed(f, model, mystran_writer): + + # generate pyNastran code + # spc1 card + spc_ids = [] + fixed_code = "# spc1 card, Defines a set of single-point constraints\n" + for i, femobj in enumerate(mystran_writer.fixed_objects): + + conid = i + 2 # 1 will be the conid of the spcadd card + spc_ids.append(conid) + fixed_obj = femobj["Object"] + # print(fixed_obj.Name) + fixed_code += "# {}\n".format(fixed_obj.Name) + # node set + fixed_code += "nodes_{} = {}\n".format(fixed_obj.Name, femobj["Nodes"]) + # all nodes in one line may be to long ... FIXME + fixed_code += ( + "model.add_spc1(conid={}, components={}, nodes=nodes_{})\n\n" + .format(conid, "123456", fixed_obj.Name) + ) + + # spcadd card + spcadd_code = "# spcadd card, Single-Point Constraint Set Combination from SPC or SPC1 cards\n" + spcadd_code += ( + "model.add_spcadd(conid=1, sets={})\n\n".format(spc_ids) + ) + + pynas_code = "{}\n{}".format(fixed_code, spcadd_code) + # print(pynas_code) + + # write the pyNastran code + f.write(pynas_code) + + # execute pyNastran code to add data to the model + # print(model.get_bdf_stats()) + exec(pynas_code) + # print(model.get_bdf_stats()) + return model + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/add_con_force.py b/src/Mod/Fem/femsolver/mystran/add_con_force.py new file mode 100644 index 0000000000..db40356c04 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/add_con_force.py @@ -0,0 +1,81 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mystran add force constraint" +__author__ = "Bernd Hahnebach" +__url__ = "http://www.freecadweb.org" + +## \addtogroup FEM +# @{ + + +def add_con_force(f, model, mystran_writer): + + # generate pyNastran code + # force card + scale_factors = [] + load_ids = [] + force_code = "# force cards, mesh node loads\n" + for i, femobj in enumerate(mystran_writer.force_objects): + + sid = i + 2 # 1 will be the id of the load card + scale_factors.append(1.0) + load_ids.append(sid) + force_obj = femobj["Object"] + # print(force_obj.Name) + + force_code += "# {}\n".format(force_obj.Name) + dirvec = femobj["Object"].DirectionVector + print(femobj["NodeLoadTable"]) + for ref_shape in femobj["NodeLoadTable"]: + force_code += "# {}\n".format(ref_shape[0]) + for n in sorted(ref_shape[1]): + node_load = ref_shape[1][n] + force_code += ( + "model.add_force(sid={}, node={}, mag={}, xyz=({}, {}, {}))\n" + .format(sid, n, node_load, dirvec.x, dirvec.y, dirvec.z) + ) + force_code += "\n" + + # generate calce factors lists + # load card, static load combinations + load_code = ( + "model.add_load(sid=1, scale=1.0, scale_factors={}, load_ids={})\n\n\n" + .format(scale_factors, load_ids) + ) + + pynas_code = "{}\n{}".format(force_code, load_code) + # print(pynas_code) + + # write the pyNastran code + f.write(pynas_code) + + # execute pyNastran code to add data to the model + # print(model.get_bdf_stats()) + exec(pynas_code) + # print(model.get_bdf_stats()) + + return model + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/add_femelement_geometry.py b/src/Mod/Fem/femsolver/mystran/add_femelement_geometry.py new file mode 100644 index 0000000000..8e5fda86c5 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/add_femelement_geometry.py @@ -0,0 +1,86 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mystran add femelement geometry" +__author__ = "Bernd Hahnebach" +__url__ = "http://www.freecadweb.org" + +## \addtogroup FEM +# @{ + + +def add_femelement_geometry(f, model, mystran_writer): + + # generate pyNastran code + # HACK, the if statemant needs improvement, see calculix solver + if mystran_writer.member.geos_beamsection: + beamsec_obj = mystran_writer.member.geos_beamsection[0]["Object"] + if beamsec_obj.SectionType == "Rectangular": + height = beamsec_obj.RectHeight.getValueAs("mm").Value + width = beamsec_obj.RectWidth.getValueAs("mm").Value + pynas_code = "# pbarl card, properties of a simple beam element (CBAR entry)\n" + pynas_code += "# defined by cross-sectional dimensions\n" + pynas_code += ( + "dim = [{}, {}]\n" + .format(width, height) + ) + pynas_code += ( + "model.add_pbarl(pid=1, mid=1, Type={}, dim=dim, nsm=0.0)\n" + .format('"BAR"') + ) + pynas_code += "# pbarl.validate()\n\n\n" + else: + return + elif mystran_writer.member.geos_shellthickness: + # only use the first shellthickness object + shellth_obj = mystran_writer.member.geos_shellthickness[0]["Object"] + thickness = shellth_obj.Thickness.getValueAs("mm").Value + pynas_code = "# pshell card, thin shell element properties\n" + pynas_code += ( + "model.add_pshell(pid=1, mid1=1, t={}, mid2=1, mid3=1)\n\n\n" + .format(thickness) + ) + else: + pynas_code = "# psolid card, defines solid element\n" + pynas_code += "model.add_psolid(pid=1, mid=1)\n\n\n" + + # write the pyNastran code + f.write(pynas_code) + + # execute pyNastran code to add data to the model + # print(model.get_bdf_stats()) + exec(pynas_code) + # print(model.get_bdf_stats()) + + return model + + +pynas_code = """ +# pshell card, thin shell element properties +model.add_pshell(1, mid1=1, t=0.3, mid2=1, mid3=1) + + +""" + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/add_femelement_material.py b/src/Mod/Fem/femsolver/mystran/add_femelement_material.py new file mode 100644 index 0000000000..a5c4c95a0d --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/add_femelement_material.py @@ -0,0 +1,60 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mystran add femelement materials" +__author__ = "Bernd Hahnebach" +__url__ = "http://www.freecadweb.org" + +## \addtogroup FEM +# @{ + + +from FreeCAD import Units + + +def add_femelement_material(f, model, mystran_writer): + + # generate pyNastran code + # only use the first material object + mat_obj = mystran_writer.member.mats_linear[0]["Object"] + YM = Units.Quantity(mat_obj.Material["YoungsModulus"]) + YM_in_MPa = YM.getValueAs("MPa").Value + PR = float(mat_obj.Material["PoissonRatio"]) + pynas_code = "# mat1 card, material properties for linear isotropic material\n" + pynas_code += ( + "mat = model.add_mat1(mid=1, E={:.1f}, G=None, nu={})\n\n\n" + .format(YM_in_MPa, PR) + ) + + # write the pyNastran code + f.write(pynas_code) + + # execute pyNastran code to add data to the model + # print(model.get_bdf_stats()) + exec(pynas_code) + # print(model.get_bdf_stats()) + + return model + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/add_mesh.py b/src/Mod/Fem/femsolver/mystran/add_mesh.py new file mode 100644 index 0000000000..43cea22233 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/add_mesh.py @@ -0,0 +1,68 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mystran add fem mesh" +__author__ = "Bernd Hahnebach" +__url__ = "http://www.freecadweb.org" + +## \addtogroup FEM +# @{ + +from feminout import exportNastranMesh +from femmesh import meshtools + + +def add_mesh(f, model, mystran_writer): + + # needed basic data + if not mystran_writer.femnodes_mesh: + mystran_writer.femnodes_mesh = mystran_writer.femmesh.Nodes + if not mystran_writer.femelement_table: + mystran_writer.femelement_table = meshtools.get_femelement_table( + mystran_writer.femmesh + ) + mesh_eletype = exportNastranMesh.get_export_element_type( + mystran_writer.femmesh, + mystran_writer.femelement_table + ) + + # get the pynas code + mesh_pynas_code = exportNastranMesh.get_pynastran_mesh( + mystran_writer.femnodes_mesh, + mystran_writer.femelement_table, + mesh_eletype + ) + # print(mesh_pynas_code) + + # write the pyNastran code + f.write(mesh_pynas_code) + + # execute pyNastran code to add grid to the model + # print(model.get_bdf_stats()) + exec(mesh_pynas_code) + # print(model.get_bdf_stats()) + + return model + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/add_solver_control.py b/src/Mod/Fem/femsolver/mystran/add_solver_control.py new file mode 100644 index 0000000000..824e593fe5 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/add_solver_control.py @@ -0,0 +1,72 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mystran add solver control" +__author__ = "Bernd Hahnebach" +__url__ = "http://www.freecadweb.org" + +## \addtogroup FEM +# @{ + + +def add_solver_control(f, model, mystran_writer): + + # write the pyNastran code which will be executed into the file + f.write(pynas_code) + + # print(model.get_bdf_stats()) + exec(pynas_code) + # print(model.get_bdf_stats()) + + return model + + +pynas_code = """ +# executive control +model.sol = 101 + + +# params cards +model.add_param(key="POST", values=-1) +# model.add_param(key="PRTMAXIM", values="YES") # not recognized by Mystran + + +# case control +from pyNastran.bdf.bdf import CaseControlDeck +cc = CaseControlDeck([ + "ECHO = NONE", + "TITLE = pyNastran for generating solverinput for for Mystran", + "SUBCASE 1", + " SUBTITLE = Default", + " LOAD = 1", + " SPC = 1", + " SPCFORCES(SORT1,REAL) = ALL", + " STRESS(SORT1,REAL,VONMISES,BILIN) = ALL", + " DISPLACEMENT(SORT1,REAL) = ALL", +]) +model.case_control_deck = cc +# model.validate() # creates an error +""" + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/solver.py b/src/Mod/Fem/femsolver/mystran/solver.py new file mode 100644 index 0000000000..9a438b0fd6 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/solver.py @@ -0,0 +1,95 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM solver object Mystran" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +## @package SolverMystran +# \ingroup FEM + +import glob +import os + +import FreeCAD + +from . import tasks +from .. import run +from .. import solverbase +from femtools import femutils + +if FreeCAD.GuiUp: + import FemGui + +ANALYSIS_TYPES = ["static"] + + +def create(doc, name="SolverMystran"): + return femutils.createObject( + doc, name, Proxy, ViewProxy) + + +class Proxy(solverbase.Proxy): + """The Fem::FemSolver's Proxy python type, add solver specific properties + """ + + Type = "Fem::SolverMystran" + + def __init__(self, obj): + super(Proxy, self).__init__(obj) + obj.Proxy = self + + # mystran_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem/Mystran") + + obj.addProperty("App::PropertyEnumeration", "AnalysisType", "Fem", "Type of the analysis") + obj.AnalysisType = ANALYSIS_TYPES + obj.AnalysisType = ANALYSIS_TYPES[0] + + def createMachine(self, obj, directory, testmode=False): + return run.Machine( + solver=obj, directory=directory, + check=tasks.Check(), + prepare=tasks.Prepare(), + solve=tasks.Solve(), + results=tasks.Results(), + testmode=testmode) + + def editSupported(self): + return True + + def edit(self, directory): + pattern = os.path.join(directory, "*.bdf") # TODO Mystran file ending + FreeCAD.Console.PrintMessage("{}\n".format(pattern)) + f = glob.glob(pattern)[0] + FemGui.open(f) + # see comment in oofem solver file + + def execute(self, obj): + return + + +class ViewProxy(solverbase.ViewProxy): + pass + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/tasks.py b/src/Mod/Fem/femsolver/mystran/tasks.py new file mode 100644 index 0000000000..72c2560bd0 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/tasks.py @@ -0,0 +1,179 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM solver Mystran tasks" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +## \addtogroup FEM +# @{ + +import os +import os.path +import subprocess + +import FreeCAD + + +try: + import hfcMystranNeuIn + result_reading = True +except Exception: + FreeCAD.Console.PrintWarning("Module to read results not found.\n") + result_reading = False + + +from . import writer +from .. import run +from .. import settings +from femmesh import meshsetsgetter +from femtools import femutils +from femtools import membertools + + +_inputFileName = None + + +class Check(run.Check): + + def run(self): + self.pushStatus("Checking analysis...\n") + self.check_mesh_exists() + self.check_material_exists() + self.check_material_single() # no multiple material + self.check_geos_beamsection_single() # no multiple beamsection + self.check_geos_shellthickness_single() # no multiple shellsection + self.check_geos_beamsection_and_shellthickness() # either beams or shells + + +class Prepare(run.Prepare): + + def run(self): + global _inputFileName + self.pushStatus("Preparing input files...\n") + + mesh_obj = membertools.get_mesh_to_solve(self.analysis)[0] # pre check done already + + # get mesh set data + # TODO evaluate if it makes sense to add new task + # between check and prepare to the solver frame work + meshdatagetter = meshsetsgetter.MeshSetsGetter( + self.analysis, + self.solver, + mesh_obj, + membertools.AnalysisMember(self.analysis), + ) + meshdatagetter.get_mesh_sets() + + # write input file + w = writer.FemInputWriterMystran( + self.analysis, + self.solver, + mesh_obj, + meshdatagetter.member, + self.directory, + meshdatagetter.mat_geo_sets + ) + path = w.write_solver_input() + # report to user if task succeeded + if path != "": + self.pushStatus("Write completed!") + else: + self.pushStatus("Writing CalculiX input file failed!") + _inputFileName = os.path.splitext(os.path.basename(path))[0] + + +class Solve(run.Solve): + + def run(self): + # print(_inputFileName) + if not _inputFileName: + # TODO do not run solver, do not try to read results in a smarter way than an Exception + raise Exception("Error on writing Mystran input file.\n") + infile = _inputFileName + ".bdf" + + # TODO use solver framework status system + FreeCAD.Console.PrintMessage("Mystran: solver input file: {} \n\n".format(infile)) + + # get binary + self.pushStatus("Get solver...\n") + binary = settings.get_binary("Mystran") + # use preferences editor to add a group Mystran and the prefs: + # "UseStandardMystranLocation" --> bool, set to False + # "mystranBinaryPath, string" --> the binary path + if binary is None: + return # a print has been made in settings module + + # run solver + self.pushStatus("Executing solver...\n") + self._process = subprocess.Popen( + args=[binary, infile], # pass empty param fails! [binary, "", infile] + cwd=self.directory, + stdout=subprocess.PIPE, + stderr=subprocess.PIPE + ) + self.signalAbort.add(self._process.terminate) + self._process.communicate() + self.signalAbort.remove(self._process.terminate) + + # for chatching the output see CalculiX or Elmer solver tasks module + + +class Results(run.Results): + + def run(self): + prefs = FreeCAD.ParamGet( + "User parameter:BaseApp/Preferences/Mod/Fem/General") + if not prefs.GetBool("KeepResultsOnReRun", False): + self.purge_results() + if result_reading is True: + self.load_results() # ToDo in all solvers generischer name + + def purge_results(self): + for m in membertools.get_member(self.analysis, "Fem::FemResultObject"): + if femutils.is_of_type(m.Mesh, "Fem::MeshResult"): + self.analysis.Document.removeObject(m.Mesh.Name) + self.analysis.Document.removeObject(m.Name) + self.analysis.Document.recompute() + # deletes all results from any solver + # TODO: delete only the mystran results, fix in all solver + + def load_results(self): + self.pushStatus("Import results...\n") + neu_result_file = os.path.join(self.directory, _inputFileName + ".NEU") + if os.path.isfile(neu_result_file): + hfcMystranNeuIn.import_neu(neu_result_file) + # Workaround to move result object into analysis + for o in self.analysis.Document.Objects: + if o.Name == "Displacement0": + self.analysis.addObject(o) + break + else: + # TODO: use solver framework error and status message system + FreeCAD.Console.PrintError( + "FEM: No results found at {}!\n".format(neu_result_file) + ) + return + + +## @} diff --git a/src/Mod/Fem/femsolver/mystran/writer.py b/src/Mod/Fem/femsolver/mystran/writer.py new file mode 100644 index 0000000000..f25047d168 --- /dev/null +++ b/src/Mod/Fem/femsolver/mystran/writer.py @@ -0,0 +1,133 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Mystran Writer" +__author__ = "Bernd Hahnebach" +__url__ = "http://www.freecadweb.org" + +## \addtogroup FEM +# @{ + +import time +from os.path import join + +import FreeCAD + +# we need to import FreeCAD before the non FreeCAD library because of the print +try: + from pyNastran.bdf.bdf import BDF +except Exception: + FreeCAD.Console.PrintError( + "Module pyNastran not found. Writing Mystran solver input will not be work.\n" + ) + +from . import add_mesh +from . import add_femelement_material +from . import add_femelement_geometry +from . import add_con_force +from . import add_con_fixed +from . import add_solver_control +from .. import writerbase + + +class FemInputWriterMystran(writerbase.FemInputWriter): + def __init__( + self, + analysis_obj, + solver_obj, + mesh_obj, + member, + dir_name=None, + mat_geo_sets=None + ): + writerbase.FemInputWriter.__init__( + self, + analysis_obj, + solver_obj, + mesh_obj, + member, + dir_name, + mat_geo_sets + ) + # basename (only for implementation purpose later delete this code + # the mesh should never be None for Calculix solver + # working dir and input file + if self.mesh_object is not None: + self.basename = self.mesh_object.Name + else: + self.basename = "Mesh" + self.solverinput_file = join(self.dir_name, self.basename + ".bdf") + self.pynasinput_file = join(self.dir_name, self.basename + ".py") + FreeCAD.Console.PrintLog( + "FemInputWriterMystran --> self.dir_name --> {}\n" + .format(self.dir_name) + ) + FreeCAD.Console.PrintMessage( + "FemInputWriterMystra --> self.solverinput_file --> {}\n" + .format(self.solverinput_file) + ) + FreeCAD.Console.PrintMessage( + "FemInputWriterMystra --> self.pynasf_name --> {}\n" + .format(self.pynasinput_file) + ) + + def write_solver_input(self): + + timestart = time.process_time() + + model = BDF() + + pynasf = open(self.pynasinput_file, "w") + + # comment and model init + pynasf.write("# written by FreeCAD\n\n") + pynasf.write("from pyNastran.bdf.bdf import BDF\n") + pynasf.write("model = BDF()\n\n") + + model = add_mesh.add_mesh(pynasf, model, self) + model = add_femelement_material.add_femelement_material(pynasf, model, self) + model = add_femelement_geometry.add_femelement_geometry(pynasf, model, self) + model = add_con_force.add_con_force(pynasf, model, self) + model = add_con_fixed.add_con_fixed(pynasf, model, self) + model = add_solver_control.add_solver_control(pynasf, model, self) + + pynasf.write( + "\n\nmodel.write_bdf('{}', enddata=True)\n" + .format(join(self.dir_name, self.basename + "_pyNas.bdf")) + ) + + pynasf.close() + + # print(model.get_bdf_stats()) + model.write_bdf(self.solverinput_file, enddata=True) + + writing_time_string = ( + "Writing time input file: {} seconds" + .format(round((time.process_time() - timestart), 2)) + ) + FreeCAD.Console.PrintMessage(writing_time_string + " \n\n") + + return self.solverinput_file + + +## @} diff --git a/src/Mod/Fem/femsolver/run.py b/src/Mod/Fem/femsolver/run.py index 00d0b9fc20..99fa849a70 100644 --- a/src/Mod/Fem/femsolver/run.py +++ b/src/Mod/Fem/femsolver/run.py @@ -95,18 +95,19 @@ def run_fem_solver(solver, working_dir=None): :note: There is some legacy code to execute the old Calculix solver - (pre-framework) which behaives differently because it doesn't use a - :class:`Machine`. + (pre-framework) which behaives differently because it does not + use a :class:`Machine`. """ if solver.Proxy.Type == "Fem::SolverCcxTools": - App.Console.PrintMessage("CalxuliX ccx tools solver!\n") from femtools.ccxtools import CcxTools as ccx + App.Console.PrintMessage("Run of CalxuliX ccx tools solver started.\n") fea = ccx(solver) fea.reset_mesh_purge_results_checked() if working_dir is None: - fea.run() + fea.run() # standard, no working dir is given in solver else: + # not the standard way fea.update_objects() fea.setup_working_dir(working_dir) fea.setup_ccx() @@ -116,7 +117,8 @@ def run_fem_solver(solver, working_dir=None): fea.ccx_run() fea.load_results() else: - App.Console.PrintError("Houston, we have a problem ...!\n{}\n".format(message)) + App.Console.PrintError("Houston, we have a problem...!\n{}\n".format(message)) + App.Console.PrintMessage("Run of CalxuliX ccx tools solver finished.\n") else: # App.Console.PrintMessage("Frame work solver!\n") try: @@ -416,9 +418,11 @@ class Machine(BaseTask): class Check(BaseTask): - def checkMesh(self): - meshes = membertools.get_member( - self.analysis, "Fem::FemMeshObject") + def get_several_member(self, t): + return membertools.get_several_member(self.analysis, t) + + def check_mesh_exists(self): + meshes = self.get_several_member("Fem::FemMeshObject") if len(meshes) == 0: self.report.error("Missing a mesh object.") self.fail() @@ -426,18 +430,55 @@ class Check(BaseTask): elif len(meshes) > 1: self.report.error( "Too many meshes. " - "More than one mesh is not supported.") + "More than one mesh is not supported." + ) self.fail() return False return True - def checkMaterial(self): - matObjs = membertools.get_member( - self.analysis, "App::MaterialObjectPython") - if len(matObjs) == 0: + def check_material_exists(self): + objs = self.get_several_member("App::MaterialObjectPython") + if len(objs) == 0: self.report.error( - "No material object found. " - "At least one material is required.") + "Missing a material object. " + "At least one material is required." + ) + self.fail() + return False + return True + + def check_material_single(self): + objs = self.get_several_member("App::MaterialObjectPython") + if len(objs) > 1: + self.report.error("Only one Material allowed for this solver.") + self.fail() + return False + return True + + def check_geos_beamsection_single(self): + objs = self.get_several_member("Fem::ElementGeometry1D") + if len(objs) > 1: + self.report.error("Only one beamsection allowed for this solver.") + self.fail() + return False + return True + + def check_geos_shellthickness_single(self): + objs = self.get_several_member("Fem::ElementGeometry2D") + if len(objs) > 1: + self.report.error("Only one shellthickness allowed for this solver.") + self.fail() + return False + return True + + def check_geos_beamsection_and_shellthickness(self): + beamsec_obj = self.get_several_member("Fem::ElementGeometry1D") + shellth_obj = self.get_several_member("Fem::ElementGeometry2D") + if len(beamsec_obj) > 0 and len(shellth_obj) > 0: + self.report.error( + "Either beamsection or shellthickness objects are allowed for this solver, " + "but not both in one analysis." + ) self.fail() return False return True @@ -451,7 +492,9 @@ class Check(BaseTask): supported = True if not supported: self.report.warning( - "Ignored unsupported constraint: %s" % m.Label) + "Ignored unsupported constraint: {}" + .format(m.Label) + ) return True diff --git a/src/Mod/Fem/femsolver/settings.py b/src/Mod/Fem/femsolver/settings.py index de7a24b783..7590b97a06 100644 --- a/src/Mod/Fem/femsolver/settings.py +++ b/src/Mod/Fem/femsolver/settings.py @@ -34,6 +34,7 @@ are supported: - Calculix - ElmerSolver + - Mystran - Z88 To query settings about those solver the solver name must be given exactly in @@ -85,7 +86,7 @@ def get_binary(name): Return the specific path set by the user in FreeCADs settings/parameter system if set or the default binary name if no specific path is set. If no - path was found because the solver *name* isn't supported ``None`` is + path was found because the solver *name* is not supported ``None`` is returned. This method does not check whether the binary actually exists and is callable. @@ -93,12 +94,15 @@ def get_binary(name): """ if name in _SOLVER_PARAM: binary = _SOLVER_PARAM[name].get_binary() - FreeCAD.Console.PrintMessage('Solver binary path: {} \n'.format(binary)) + FreeCAD.Console.PrintMessage( + 'Solver binary path (returned from binary getter): {} \n' + .format(binary) + ) return binary else: FreeCAD.Console.PrintError( - 'Settings solver name: {} not found in ' - 'solver settings modules _SOLVER_PARAM dirctionary.\n' + "Settings solver name: {} not found in " + "solver settings modules _SOLVER_PARAM dirctionary.\n" .format(name) ) return None @@ -108,8 +112,8 @@ def get_write_comments(name): """ Check whether "write_comments" is set for solver. Returns ``True`` if the "write_comments" setting/parameter is set for the - solver with the id *name*. Returns ``False`` otherwise. If the solver isn't - supported ``None`` is returned. + solver with the id *name*. Returns ``False`` otherwise. If the solver is + not supported ``None`` is returned. :param name: solver id as a ``str`` (see :mod:`femsolver.settings`) """ @@ -117,8 +121,8 @@ def get_write_comments(name): return _SOLVER_PARAM[name].get_write_comments() else: FreeCAD.Console.PrintError( - 'Settings solver name: {} not found in ' - 'solver settings modules _SOLVER_PARAM dirctionary.\n' + "Settings solver name: {} not found in " + "solver settings modules _SOLVER_PARAM dirctionary.\n" .format(name) ) return None @@ -190,19 +194,31 @@ class _SolverDlg(object): def get_binary(self): # set the binary path to the FreeCAD defaults - # ATM pure unix shell commands without path names are used + # ATM pure unix shell commands without path names are used as standard + # TODO the binaries provieded with the FreeCAD distribution should be found + # without any additional user input + # see ccxttols, it works for Windows and Linux there binary = self.default - FreeCAD.Console.PrintLog("Solver binary path: {} \n".format(binary)) + FreeCAD.Console.PrintLog("Solver binary path default: {} \n".format(binary)) # check if use_default is set to True # if True the standard binary path will be overwritten with a user binary path if self.param_group.GetBool(self.use_default, True) is False: binary = self.param_group.GetString(self.custom_path) - FreeCAD.Console.PrintLog("Solver binary path: {} \n".format(binary)) + FreeCAD.Console.PrintLog("Solver binary path user setting: {} \n".format(binary)) # get the whole binary path name for the given command or binary path and return it + # None is returned if the binary has not been found + # The user does not know what exactly has going wrong. from distutils.spawn import find_executable as find_bin - return find_bin(binary) + the_found_binary = find_bin(binary) + if the_found_binary is None: + FreeCAD.Console.PrintError( + "The binary has not been found. Full binary search path: {}\n" + .format(binary) + ) + FreeCAD.Console.PrintLog("Solver binary found path: {}\n".format(the_found_binary)) + return the_found_binary def get_write_comments(self): return self.param_group.GetBool(self.WRITE_COMMENTS_PARAM, True) @@ -224,6 +240,11 @@ _SOLVER_PARAM = { param_path=_PARAM_PATH + "Elmer", use_default="UseStandardGridLocation", custom_path="gridBinaryPath"), + "Mystran": _SolverDlg( + default="mystran", + param_path=_PARAM_PATH + "Mystran", + use_default="UseStandardMystranLocation", + custom_path="mystranBinaryPath"), "Z88": _SolverDlg( default="z88r", param_path=_PARAM_PATH + "Z88", diff --git a/src/Mod/Fem/femsolver/solver_taskpanel.py b/src/Mod/Fem/femsolver/solver_taskpanel.py index d4b400213d..84f60437b2 100644 --- a/src/Mod/Fem/femsolver/solver_taskpanel.py +++ b/src/Mod/Fem/femsolver/solver_taskpanel.py @@ -72,7 +72,7 @@ class ControlTaskPanel(QtCore.QObject): self.form.abortClicked.connect(self.abort) self.form.directoryChanged.connect(self.updateMachine) - # Seems that the task panel doesn't get destroyed. Disconnect + # Seems that the task panel does not get destroyed. Disconnect # as soon as the widget of the task panel gets destroyed. self.form.destroyed.connect(self._disconnectMachine) self.form.destroyed.connect(self._timer.stop) diff --git a/src/Mod/Fem/femsolver/writerbase.py b/src/Mod/Fem/femsolver/writerbase.py index 1c7bb88fe6..5ecedc6836 100644 --- a/src/Mod/Fem/femsolver/writerbase.py +++ b/src/Mod/Fem/femsolver/writerbase.py @@ -29,11 +29,11 @@ __url__ = "https://www.freecadweb.org" # @{ import os +from os.path import join import FreeCAD -from femmesh import meshtools -from femtools.femutils import type_of_obj +from femmesh import meshsetsgetter class FemInputWriter(): @@ -43,39 +43,20 @@ class FemInputWriter(): solver_obj, mesh_obj, member, - dir_name=None + dir_name=None, + mat_geo_sets=None ): # class attributes from parameter values self.analysis = analysis_obj self.solver_obj = solver_obj - self.analysis_type = self.solver_obj.AnalysisType self.mesh_object = mesh_obj + self.member = member + # more attributes + self.analysis_type = self.solver_obj.AnalysisType self.document = self.analysis.Document - # materials - self.material_objects = member.mats_linear - self.material_nonlinear_objects = member.mats_nonlinear - # geometries - self.beamsection_objects = member.geos_beamsection - self.beamrotation_objects = member.geos_beamrotation - self.fluidsection_objects = member.geos_fluidsection - self.shellthickness_objects = member.geos_shellthickness - # constraints - self.contact_objects = member.cons_contact - self.displacement_objects = member.cons_displacement - self.fixed_objects = member.cons_fixed - self.force_objects = member.cons_force - self.heatflux_objects = member.cons_heatflux - self.initialtemperature_objects = member.cons_initialtemperature - self.planerotation_objects = member.cons_planerotation - self.pressure_objects = member.cons_pressure - self.sectionprint_objects = member.cons_sectionprint - self.selfweight_objects = member.cons_selfweight - self.temperature_objects = member.cons_temperature - self.tie_objects = member.cons_tie - self.transform_objects = member.cons_transform # working dir self.dir_name = dir_name - # if dir_name was not given or if it exists but isn't empty: create a temporary dir + # if dir_name was not given or if it exists but is not empty: create a temporary dir # Purpose: makes sure the analysis can be run even on wired situation if not dir_name: FreeCAD.Console.PrintWarning( @@ -95,26 +76,18 @@ class FemInputWriter(): self.ccx_evolumes = "Evolumes" self.ccx_efaces = "Efaces" self.ccx_eedges = "Eedges" - self.ccx_elsets = [] + self.mat_geo_sets = mat_geo_sets if self.mesh_object: - if hasattr(self.mesh_object, "Shape"): - self.theshape = self.mesh_object.Shape - elif hasattr(self.mesh_object, "Part"): - self.theshape = self.mesh_object.Part - else: - FreeCAD.Console.PrintWarning( - "A finite mesh without a link to a Shape was given. " - "Happen on pure mesh objects. " - "Not all methods do work without this link.\n" - ) - # ATM only used in meshtools.get_femelement_direction1D_set - # TODO somehow this is not smart, rare meshes might be used often self.femmesh = self.mesh_object.FemMesh else: FreeCAD.Console.PrintWarning( "No finite element mesh object was given to the writer class. " "In rare cases this might not be an error. " ) + + # ************************************************* + # deprecated, leave for compatibility reasons + # if these are calculated here they are calculated twice :-( self.femnodes_mesh = {} self.femelement_table = {} self.constraint_conflict_nodes = [] @@ -126,473 +99,151 @@ class FemInputWriter(): self.femelement_edges_table = {} self.femelement_count_test = True - # ******************************************************************************************** - # ******************************************************************************************** - # use set for node sets to be sure all nodes are unique - # use sorted to be sure the order is the same on different runs - # be aware a sorted set returns a list, because set are not sorted by default - # - done in return value of meshtools.get_femnodes_by_femobj_with_references - # TODO FIXME might be appropriate for element sets too + # deprecated, leave for compatibility reasons + # do not add new objects + # only the ones which exists on 0.19 release are kept + # materials + self.material_objects = member.mats_linear + self.material_nonlinear_objects = member.mats_nonlinear + # geometries + self.beamsection_objects = member.geos_beamsection + self.beamrotation_objects = member.geos_beamrotation + self.fluidsection_objects = member.geos_fluidsection + self.shellthickness_objects = member.geos_shellthickness + # constraints + self.contact_objects = member.cons_contact + self.displacement_objects = member.cons_displacement + self.fixed_objects = member.cons_fixed + self.force_objects = member.cons_force + self.heatflux_objects = member.cons_heatflux + self.initialtemperature_objects = member.cons_initialtemperature + self.planerotation_objects = member.cons_planerotation + self.pressure_objects = member.cons_pressure + self.selfweight_objects = member.cons_selfweight + self.temperature_objects = member.cons_temperature + self.tie_objects = member.cons_tie + self.transform_objects = member.cons_transform + + # meshdatagetter, for compatibility, same with all getter methods + self.meshdatagetter = meshsetsgetter.MeshSetsGetter( + self.analysis, + self.solver_obj, + self.mesh_object, + self.member, + ) # ******************************************************************************************** # ******************************************************************************************** - # node sets - def get_constraints_fixed_nodes(self): - # get nodes - for femobj in self.fixed_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( - self.femmesh, - femobj - ) - # add nodes to constraint_conflict_nodes, needed by constraint plane rotation - for node in femobj["Nodes"]: - self.constraint_conflict_nodes.append(node) - # if mixed mesh with solids the node set needs to be split - # because solid nodes do not have rotational degree of freedom - if self.femmesh.Volumes \ - and (len(self.shellthickness_objects) > 0 or len(self.beamsection_objects) > 0): - FreeCAD.Console.PrintMessage("We need to find the solid nodes.\n") - if not self.femelement_volumes_table: - self.femelement_volumes_table = meshtools.get_femelement_volumes_table( - self.femmesh - ) - for femobj in self.fixed_objects: + # generic writer for constraints mesh sets and constraints property data + # write constraint node sets, constraint face sets, constraint element sets + def write_constraints_meshsets( + self, + f, + femobjs, + con_module + ): + if not femobjs: + return + + analysis_types = con_module.get_analysis_types() + if analysis_types != "all" and self.analysis_type not in analysis_types: + return + + def constraint_sets_loop_writing(the_file, femobjs, write_before, write_after): + if write_before != "": + f.write(write_before) + for femobj in femobjs: # femobj --> dict, FreeCAD document object is femobj["Object"] - nds_solid = [] - nds_faceedge = [] - for n in femobj["Nodes"]: - solid_node = False - for ve in self.femelement_volumes_table: - if n in self.femelement_volumes_table[ve]: - solid_node = True - nds_solid.append(n) - break - if not solid_node: - nds_faceedge.append(n) - femobj["NodesSolid"] = set(nds_solid) - femobj["NodesFaceEdge"] = set(nds_faceedge) + the_obj = femobj["Object"] + f.write("** {}\n".format(the_obj.Label)) + con_module.write_meshdata_constraint(the_file, femobj, the_obj, self) + if write_after != "": + f.write(write_after) + + write_before = con_module.get_before_write_meshdata_constraint() + write_after = con_module.get_after_write_meshdata_constraint() + + # write sets to file + write_name = con_module.get_sets_name() + f.write("\n{}\n".format(59 * "*")) + f.write("** {}\n".format(write_name.replace("_", " "))) + + if self.split_inpfile is True: + file_name_split = "{}_{}.inp".format(self.mesh_name, write_name) + f.write("** {}\n".format(write_name.replace("_", " "))) + f.write("*INCLUDE,INPUT={}\n".format(file_name_split)) + inpfile_split = open(join(self.dir_name, file_name_split), "w") + constraint_sets_loop_writing(inpfile_split, femobjs, write_before, write_after) + inpfile_split.close() + else: + constraint_sets_loop_writing(f, femobjs, write_before, write_after) + + # write constraint property data + def write_constraints_propdata( + self, + f, + femobjs, + con_module + ): + + if not femobjs: + return + + analysis_types = con_module.get_analysis_types() + if analysis_types != "all" and self.analysis_type not in analysis_types: + return + + write_before = con_module.get_before_write_constraint() + write_after = con_module.get_after_write_constraint() + + # write constraint to file + f.write("\n{}\n".format(59 * "*")) + f.write("** {}\n".format(con_module.get_constraint_title())) + if write_before != "": + f.write(write_before) + for femobj in femobjs: + # femobj --> dict, FreeCAD document object is femobj["Object"] + the_obj = femobj["Object"] + f.write("** {}\n".format(the_obj.Label)) + con_module.write_constraint(f, femobj, the_obj, self) + if write_after != "": + f.write(write_after) + + # ******************************************************************************************** + # deprecated, do not add new constraints + # only the ones which exists on 0.19 release are kept + def get_constraints_fixed_nodes(self): + self.meshdatagetter.get_constraints_fixed_nodes() def get_constraints_displacement_nodes(self): - # get nodes - for femobj in self.displacement_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( - self.femmesh, - femobj - ) - # add nodes to constraint_conflict_nodes, needed by constraint plane rotation - for node in femobj["Nodes"]: - self.constraint_conflict_nodes.append(node) + self.meshdatagetter.get_constraints_displacement_nodes() def get_constraints_planerotation_nodes(self): - # get nodes - for femobj in self.planerotation_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( - self.femmesh, - femobj - ) + self.meshdatagetter.get_constraints_planerotation_nodes() def get_constraints_transform_nodes(self): - # get nodes - for femobj in self.transform_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( - self.femmesh, - femobj - ) + self.meshdatagetter.get_constraints_transform_nodes() def get_constraints_temperature_nodes(self): - # get nodes - for femobj in self.temperature_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( - self.femmesh, - femobj - ) + self.meshdatagetter.get_constraints_temperature_nodes() def get_constraints_fluidsection_nodes(self): - # get nodes - for femobj in self.fluidsection_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - femobj["Nodes"] = meshtools.get_femnodes_by_femobj_with_references( - self.femmesh, - femobj - ) + self.meshdatagetter.get_constraints_fluidsection_nodes() def get_constraints_force_nodeloads(self): - # check shape type of reference shape - for femobj in self.force_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"], log=True) - if femobj["RefShapeType"] == "Vertex": - FreeCAD.Console.PrintLog( - " load on vertices --> The femelement_table " - "and femnodes_mesh are not needed for node load calculation.\n" - ) - elif femobj["RefShapeType"] == "Face" \ - and meshtools.is_solid_femmesh(self.femmesh) \ - and not meshtools.has_no_face_data(self.femmesh): - FreeCAD.Console.PrintLog( - " solid_mesh with face data --> The femelement_table is not " - "needed but the femnodes_mesh is needed for node load calculation.\n" - ) - if not self.femnodes_mesh: - self.femnodes_mesh = self.femmesh.Nodes - else: - FreeCAD.Console.PrintLog( - " mesh without needed data --> The femelement_table " - "and femnodes_mesh are not needed for node load calculation.\n" - ) - if not self.femnodes_mesh: - self.femnodes_mesh = self.femmesh.Nodes - if not self.femelement_table: - self.femelement_table = meshtools.get_femelement_table( - self.femmesh - ) - # get node loads - FreeCAD.Console.PrintLog( - " Finite element mesh nodes will be retrieved by searching " - "the appropriate nodes in the finite element mesh.\n" - ) - FreeCAD.Console.PrintLog( - " The appropriate finite element mesh node load values will " - "be calculated according to the finite element definition.\n" - ) - for femobj in self.force_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - frc_obj = femobj["Object"] - print_obj_info(frc_obj) - if frc_obj.Force == 0: - FreeCAD.Console.PrintMessage(" Warning --> Force = 0\n") - if femobj["RefShapeType"] == "Vertex": # point load on vertices - femobj["NodeLoadTable"] = meshtools.get_force_obj_vertex_nodeload_table( - self.femmesh, - frc_obj - ) - elif femobj["RefShapeType"] == "Edge": # line load on edges - femobj["NodeLoadTable"] = meshtools.get_force_obj_edge_nodeload_table( - self.femmesh, - self.femelement_table, - self.femnodes_mesh, frc_obj - ) - elif femobj["RefShapeType"] == "Face": # area load on faces - femobj["NodeLoadTable"] = meshtools.get_force_obj_face_nodeload_table( - self.femmesh, - self.femelement_table, - self.femnodes_mesh, frc_obj - ) + self.meshdatagetter.get_constraints_force_nodeloads() - # ******************************************************************************************** - # ******************************************************************************************** - # faces sets def get_constraints_pressure_faces(self): - # TODO see comments in get_constraints_force_nodeloads() - # it applies here too. Mhh it applies to all constraints ... - - """ - # deprecated version - # get the faces and face numbers - for femobj in self.pressure_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - femobj["PressureFaces"] = meshtools.get_pressure_obj_faces_depreciated( - self.femmesh, - femobj - ) - # print(femobj["PressureFaces"]) - """ - - if not self.femnodes_mesh: - self.femnodes_mesh = self.femmesh.Nodes - if not self.femelement_table: - self.femelement_table = meshtools.get_femelement_table(self.femmesh) - if not self.femnodes_ele_table: - self.femnodes_ele_table = meshtools.get_femnodes_ele_table( - self.femnodes_mesh, - self.femelement_table - ) - - for femobj in self.pressure_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - pressure_faces = meshtools.get_pressure_obj_faces( - self.femmesh, - self.femelement_table, - self.femnodes_ele_table, femobj - ) - # the data model is for compatibility reason with deprecated version - # get_pressure_obj_faces_depreciated returns the face ids in a tuple per ref_shape - # some_string was the reference_shape_element_string in deprecated method - # [(some_string, [ele_id, ele_face_id], [ele_id, ele_face_id], ...])] - some_string = "{}: face load".format(femobj["Object"].Name) - femobj["PressureFaces"] = [(some_string, pressure_faces)] - FreeCAD.Console.PrintLog("{}\n".format(femobj["PressureFaces"])) + self.meshdatagetter.get_constraints_pressure_faces() def get_constraints_contact_faces(self): - if not self.femnodes_mesh: - self.femnodes_mesh = self.femmesh.Nodes - if not self.femelement_table: - self.femelement_table = meshtools.get_femelement_table(self.femmesh) - if not self.femnodes_ele_table: - self.femnodes_ele_table = meshtools.get_femnodes_ele_table( - self.femnodes_mesh, - self.femelement_table - ) - - for femobj in self.contact_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - contact_slave_faces, contact_master_faces = meshtools.get_contact_obj_faces( - self.femmesh, - self.femelement_table, - self.femnodes_ele_table, femobj - ) - # [ele_id, ele_face_id], [ele_id, ele_face_id], ...] - # whereas the ele_face_id might be ccx specific - femobj["ContactSlaveFaces"] = contact_slave_faces - femobj["ContactMasterFaces"] = contact_master_faces - # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactSlaveFaces"])) - # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactMasterFaces"])) - - # information in the regard of element faces constraints - # forum post: https://forum.freecadweb.org/viewtopic.php?f=18&t=42783&p=370286#p366723 - # contact: master and slave could be the same face: rubber of a damper - # tie: master and slave have to be separate faces AFA UR_ K - # section print: only the element faces of solid elements - # from one side of the geometric face are needed + self.meshdatagetter.get_constraints_contact_faces() def get_constraints_tie_faces(self): - if not self.femnodes_mesh: - self.femnodes_mesh = self.femmesh.Nodes - if not self.femelement_table: - self.femelement_table = meshtools.get_femelement_table(self.femmesh) - if not self.femnodes_ele_table: - self.femnodes_ele_table = meshtools.get_femnodes_ele_table( - self.femnodes_mesh, - self.femelement_table - ) - - for femobj in self.tie_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - print_obj_info(femobj["Object"]) - slave_faces, master_faces = meshtools.get_tie_obj_faces( - self.femmesh, - self.femelement_table, - self.femnodes_ele_table, femobj - ) - # [ele_id, ele_face_id], [ele_id, ele_face_id], ...] - # whereas the ele_face_id might be ccx specific - femobj["TieSlaveFaces"] = slave_faces - femobj["TieMasterFaces"] = master_faces - # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactSlaveFaces"])) - # FreeCAD.Console.PrintLog("{}\n".format(femobj["ContactMasterFaces"])) - - def get_constraints_sectionprint_faces(self): - # TODO: use meshtools to get the surfaces - # see constraint contact or constrint tie - for femobj in self.sectionprint_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - sectionprint_obj = femobj["Object"] - if len(sectionprint_obj.References) > 1: - FreeCAD.Console.PrintError( - "Only one reference shape allowed for a section print " - "but {} found: {}\n" - .format(len(sectionprint_obj.References), sectionprint_obj.References) - ) - for o, elem_tup in sectionprint_obj.References: - for elem in elem_tup: - # there should only be one reference for each section print object - # in the gui this is checked - ref_shape = o.Shape.getElement(elem) - if ref_shape.ShapeType == "Face": - v = self.mesh_object.FemMesh.getccxVolumesByFace(ref_shape) - if len(v) > 0: - femobj["SectionPrintFaces"] = v - # volume elements found - FreeCAD.Console.PrintLog( - "{}, surface {}, {} touching volume elements found\n" - .format(sectionprint_obj.Label, sectionprint_obj.Name, len(v)) - ) - else: - # no volume elements found, shell elements not allowed - FreeCAD.Console.PrintError( - "{}, surface {}, Error: " - "No volume elements found!\n" - .format(sectionprint_obj.Label, sectionprint_obj.Name) - ) - else: - # in Gui only Faces can be added - FreeCAD.Console.PrintError( - "Wrong reference shapt type for {} " - "Only Faces are allowed, but a {} was found.\n" - .format(sectionprint_obj.Name, ref_shape.ShapeType) - ) + self.meshdatagetter.get_constraints_tie_faces() def get_constraints_heatflux_faces(self): - # TODO: use meshtools to get the surfaces (or move to mesh tools) - # see constraint contact or constrint tie and constraint force - # heatflux_obj_face_table: see force_obj_node_load_table - # [ - # ("refshape_name:elemname", face_table), - # ..., - # ("refshape_name:elemname", face_table) - # ] - for femobj in self.heatflux_objects: - # femobj --> dict, FreeCAD document object is femobj["Object"] - heatflux_obj = femobj["Object"] - femobj["HeatFluxFaceTable"] = [] - for o, elem_tup in heatflux_obj.References: - for elem in elem_tup: - ho = o.Shape.getElement(elem) - if ho.ShapeType == "Face": - elem_info = "{}:{}".format(o.Name, elem) - face_table = self.mesh_object.FemMesh.getccxVolumesByFace(ho) - femobj["HeatFluxFaceTable"].append((elem_info, face_table)) + self.meshdatagetter.get_constraints_heatflux_faces() - # ******************************************************************************************** - # ******************************************************************************************** - # element sets - def get_solid_element_sets(self, femobjs): - # get element ids and write them into the femobj - all_found = False - if self.femmesh.GroupCount: - all_found = meshtools.get_femelement_sets_from_group_data( - self.femmesh, - femobjs - ) - FreeCAD.Console.PrintMessage(all_found) - FreeCAD.Console.PrintMessage("\n") - if all_found is False: - if not self.femelement_table: - self.femelement_table = meshtools.get_femelement_table(self.femmesh) - # we're going to use the binary search for get_femelements_by_femnodes() - # thus we need the parameter values self.femnodes_ele_table - if not self.femnodes_mesh: - self.femnodes_mesh = self.femmesh.Nodes - if not self.femnodes_ele_table: - self.femnodes_ele_table = meshtools.get_femnodes_ele_table( - self.femnodes_mesh, - self.femelement_table - ) - control = meshtools.get_femelement_sets( - self.femmesh, - self.femelement_table, - femobjs, - self.femnodes_ele_table - ) - # we only need to set it, if it is still True - if (self.femelement_count_test is True) and (control is False): - self.femelement_count_test = False - - def get_element_geometry2D_elements(self): - # get element ids and write them into the objects - FreeCAD.Console.PrintMessage("Shell thicknesses\n") - if not self.femelement_faces_table: - self.femelement_faces_table = meshtools.get_femelement_faces_table( - self.femmesh - ) - meshtools.get_femelement_sets( - self.femmesh, - self.femelement_faces_table, - self.shellthickness_objects - ) - - def get_element_geometry1D_elements(self): - # get element ids and write them into the objects - FreeCAD.Console.PrintMessage("Beam sections\n") - if not self.femelement_edges_table: - self.femelement_edges_table = meshtools.get_femelement_edges_table( - self.femmesh - ) - meshtools.get_femelement_sets( - self.femmesh, - self.femelement_edges_table, - self.beamsection_objects - ) - - def get_element_rotation1D_elements(self): - # get for each geometry edge direction the element ids and rotation norma - FreeCAD.Console.PrintMessage("Beam rotations\n") - if not self.femelement_edges_table: - self.femelement_edges_table = meshtools.get_femelement_edges_table( - self.femmesh - ) - meshtools.get_femelement_direction1D_set( - self.femmesh, - self.femelement_edges_table, - self.beamrotation_objects, - self.theshape - ) - - def get_element_fluid1D_elements(self): - # get element ids and write them into the objects - FreeCAD.Console.PrintMessage("Fluid sections\n") - if not self.femelement_edges_table: - self.femelement_edges_table = meshtools.get_femelement_edges_table( - self.femmesh - ) - meshtools.get_femelement_sets( - self.femmesh, - self.femelement_edges_table, - self.fluidsection_objects - ) - - def get_material_elements(self): - # it only works if either Volumes or Shellthicknesses or Beamsections - # are in the material objects, it means it does not work - # for mixed meshes and multiple materials, this is checked in check_prerequisites - # the femelement_table is only calculated for - # the highest dimension in get_femelement_table - FreeCAD.Console.PrintMessage("Materials\n") - if self.femmesh.Volumes: - # we only could do this for volumes - # if a mesh contains volumes we're going to use them in the analysis - # but a mesh could contain - # the element faces of the volumes as faces - # and the edges of the faces as edges - # there we have to check of some geometric objects - # get element ids and write them into the femobj - self.get_solid_element_sets(self.material_objects) - if self.shellthickness_objects: - if not self.femelement_faces_table: - self.femelement_faces_table = meshtools.get_femelement_faces_table( - self.femmesh - ) - meshtools.get_femelement_sets( - self.femmesh, - self.femelement_faces_table, - self.material_objects - ) - if self.beamsection_objects or self.fluidsection_objects: - if not self.femelement_edges_table: - self.femelement_edges_table = meshtools.get_femelement_edges_table( - self.femmesh - ) - meshtools.get_femelement_sets( - self.femmesh, - self.femelement_edges_table, - self.material_objects - ) - - -# helper -def print_obj_info(obj, log=False): - if log is False: - FreeCAD.Console.PrintMessage("{}:\n".format(obj.Label)) - FreeCAD.Console.PrintMessage( - " Type: {}, Name: {}\n".format(type_of_obj(obj), obj.Name) - ) - else: - FreeCAD.Console.PrintLog("{}:\n".format(obj.Label)) - FreeCAD.Console.PrintLog( - " Type: {}, Name: {}\n".format(type_of_obj(obj), obj.Name) - ) ## @} diff --git a/src/Mod/Fem/femsolver/z88/tasks.py b/src/Mod/Fem/femsolver/z88/tasks.py index 774e994a43..6a626fe662 100644 --- a/src/Mod/Fem/femsolver/z88/tasks.py +++ b/src/Mod/Fem/femsolver/z88/tasks.py @@ -46,8 +46,12 @@ class Check(run.Check): def run(self): self.pushStatus("Checking analysis...\n") - self.checkMesh() - self.checkMaterial() + self.check_mesh_exists() + self.check_material_exists() + self.check_material_single() # no multiple material + self.check_geos_beamsection_single() # no multiple beamsection + self.check_geos_shellthickness_single() # no multiple shellsection + self.check_geos_beamsection_and_shellthickness() # either beams or shells class Prepare(run.Prepare): @@ -61,12 +65,13 @@ class Prepare(run.Prepare): membertools.AnalysisMember(self.analysis), self.directory ) - path = w.write_z88_input() + path = w.write_solver_input() # report to user if task succeeded if path is not None: self.pushStatus("Write completed!") else: - self.pushStatus("Writing Z88 input files failed!") + self.pushStatus("Writing Z88 solver input files failed!") + self.fail() # print(path) @@ -112,7 +117,7 @@ class Results(run.Results): "User parameter:BaseApp/Preferences/Mod/Fem/General") if not prefs.GetBool("KeepResultsOnReRun", False): self.purge_results() - self.load_results_z88o2() + self.load_results() def purge_results(self): for m in membertools.get_member(self.analysis, "Fem::FemResultObject"): @@ -121,7 +126,8 @@ class Results(run.Results): self.analysis.Document.removeObject(m.Name) self.analysis.Document.recompute() - def load_results_z88o2(self): + def load_results(self): + # displacements from z88o2 file disp_result_file = os.path.join( self.directory, "z88o2.txt") if os.path.isfile(disp_result_file): diff --git a/src/Mod/Fem/femsolver/z88/writer.py b/src/Mod/Fem/femsolver/z88/writer.py index 7d145fa115..82bab20394 100644 --- a/src/Mod/Fem/femsolver/z88/writer.py +++ b/src/Mod/Fem/femsolver/z88/writer.py @@ -63,7 +63,7 @@ class FemInputWriterZ88(writerbase.FemInputWriter): "FemInputWriterZ88 --> self.file_name --> " + self.file_name + "\n" ) - def write_z88_input(self): + def write_solver_input(self): timestart = time.process_time() FreeCAD.Console.PrintMessage("Write z88 input files to: {}\n".format(self.dir_name)) if not self.femnodes_mesh: @@ -71,7 +71,9 @@ class FemInputWriterZ88(writerbase.FemInputWriter): if not self.femelement_table: self.femelement_table = meshtools.get_femelement_table(self.femmesh) self.element_count = len(self.femelement_table) - self.set_z88_elparam() + control = self.set_z88_elparam() + if control is False: + return None self.write_z88_mesh() self.write_z88_constraints() self.write_z88_face_loads() @@ -105,9 +107,12 @@ class FemInputWriterZ88(writerbase.FemInputWriter): if self.z88_element_type in param: self.z88_elparam = param[self.z88_element_type] else: - raise Exception("Element type not supported by Z88.") + FreeCAD.Console.PrintError( + "Element type not supported by Z88. Can not write Z88 solver input.\n") + return False FreeCAD.Console.PrintMessage(self.z88_elparam) FreeCAD.Console.PrintMessage("\n") + return True def write_z88_mesh(self): mesh_file_path = self.file_name + "i1.txt" @@ -171,54 +176,59 @@ class FemInputWriterZ88(writerbase.FemInputWriter): f.close() def write_z88_materials(self): - if len(self.material_objects) == 1: - material_data_file_name = "51.txt" - materials_file_path = self.file_name + "mat.txt" - fms = open(materials_file_path, "w") - fms.write("1\n") - fms.write("1 " + str(self.element_count) + " " + material_data_file_name) - fms.write("\n") - fms.close() - material_data_file_path = self.dir_name + "/" + material_data_file_name - fmd = open(material_data_file_path, "w") - mat_obj = self.material_objects[0]["Object"] - YM = FreeCAD.Units.Quantity(mat_obj.Material["YoungsModulus"]) - YM_in_MPa = YM.getValueAs("MPa") - PR = float(mat_obj.Material["PoissonRatio"]) - fmd.write("{0} {1:.3f}".format(YM_in_MPa, PR)) - fmd.write("\n") - fmd.close() - else: - FreeCAD.Console.PrintError("Multiple Materials for Z88 not yet supported!\n") + mat_obj = self.material_objects[0]["Object"] + material_data_file_name = "51.txt" + materials_file_path = self.file_name + "mat.txt" + fms = open(materials_file_path, "w") + fms.write("1\n") + fms.write("1 " + str(self.element_count) + " " + material_data_file_name) + fms.write("\n") + fms.close() + material_data_file_path = self.dir_name + "/" + material_data_file_name + fmd = open(material_data_file_path, "w") + YM = FreeCAD.Units.Quantity(mat_obj.Material["YoungsModulus"]) + YM_in_MPa = YM.getValueAs("MPa") + PR = float(mat_obj.Material["PoissonRatio"]) + fmd.write("{0} {1:.3f}".format(YM_in_MPa, PR)) + fmd.write("\n") + fmd.close() def write_z88_elements_properties(self): element_properties_file_path = self.file_name + "elp.txt" elements_data = [] if meshtools.is_edge_femmesh(self.femmesh): - if len(self.beamsection_objects) == 1: - beam_obj = self.beamsection_objects[0]["Object"] - width = beam_obj.RectWidth.getValueAs("mm") - height = beam_obj.RectHeight.getValueAs("mm") - area = str(width * height) - elements_data.append( - "1 " + str(self.element_count) + " " + area + " 0 0 0 0 0 0 " - ) - FreeCAD.Console.PrintMessage( - "Be aware, only trusses are supported for edge meshes!\n" - ) - else: - FreeCAD.Console.PrintError("Multiple beamsections for Z88 not yet supported!\n") - elif meshtools.is_face_femmesh(self.femmesh): - if len(self.shellthickness_objects) == 1: - thick_obj = self.shellthickness_objects[0]["Object"] - thickness = str(thick_obj.Thickness.getValueAs("mm")) - elements_data.append( - "1 " + str(self.element_count) + " " + thickness + " 0 0 0 0 0 0 " - ) + beam_obj = self.beamsection_objects[0]["Object"] + area = 0 + if beam_obj.SectionType == "Rectangular": + width = beam_obj.RectWidth.getValueAs("mm").Value + height = beam_obj.RectHeight.getValueAs("mm").Value + area = width * height + elif beam_obj.SectionType == "Circular": + diameter = beam_obj.CircDiameter.getValueAs("mm").Value + from math import pi + area = 0.25 * pi * diameter * diameter else: FreeCAD.Console.PrintError( - "Multiple thicknesses for Z88 not yet supported!\n" + "Cross section type {} not supported, " + "cross section area will be 0 in solver input.\n" + .format(beam_obj.SectionType) ) + # TODO make the check in prechecks and delete it here + # no extensive errorhandling in writer + # this way the solver will fail and an exeption is raised somehow + elements_data.append( + "1 {} {} 0 0 0 0 0 0 " + .format(self.element_count, area) + ) + FreeCAD.Console.PrintWarning( + "Be aware, only trusses are supported for edge meshes!\n" + ) + elif meshtools.is_face_femmesh(self.femmesh): + thick_obj = self.shellthickness_objects[0]["Object"] + thickness = str(thick_obj.Thickness.getValueAs("mm")) + elements_data.append( + "1 " + str(self.element_count) + " " + thickness + " 0 0 0 0 0 0 " + ) elif meshtools.is_solid_femmesh(self.femmesh): elements_data.append("1 " + str(self.element_count) + " 0 0 0 0 0 0 0") else: diff --git a/src/Mod/Fem/femtaskpanels/task_constraint_centrif.py b/src/Mod/Fem/femtaskpanels/task_constraint_centrif.py new file mode 100644 index 0000000000..7d12846c20 --- /dev/null +++ b/src/Mod/Fem/femtaskpanels/task_constraint_centrif.py @@ -0,0 +1,173 @@ +# *************************************************************************** +# * Copyright (c) 2020 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM constraint centrif task panel for the document object" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +## @package task_constraint_centrif +# \ingroup FEM +# \brief task panel for constraint centrif object + +from PySide import QtCore +from PySide import QtGui + +import FreeCAD +import FreeCADGui + +from femguiutils import selection_widgets + + +class _TaskPanel: + """ + The TaskPanel for editing References property of FemConstraintCentrif objects + """ + + def __init__(self, obj): + + self.obj = obj + + # parameter widget + self.parameterWidget = FreeCADGui.PySideUic.loadUi( + FreeCAD.getHomePath() + "Mod/Fem/Resources/ui/ConstraintCentrif.ui" + ) + QtCore.QObject.connect( + self.parameterWidget.if_rotation_frequency, + QtCore.SIGNAL("valueChanged(Base::Quantity)"), + self.rotation_frequency_changed + ) + self.init_parameter_widget() + + # axis of rotation selection widget + self.AxisSelectionWidget = selection_widgets.GeometryElementsSelection( + obj.RotationAxis, + ["Edge"], + False, + False + ) + + # loaded body selection widget + self.BodySelectionWidget = selection_widgets.GeometryElementsSelection( + obj.References, + ["Solid"], + False, + False + ) + + # form made from param and selection widget + self.form = [self.parameterWidget, self.BodySelectionWidget, self.AxisSelectionWidget] + + def accept(self): + # check values RotationAxis + items = len(self.AxisSelectionWidget.references) + FreeCAD.Console.PrintMessage( + "Task panel: found axis references: {}\n{}\n" + .format(items, self.AxisSelectionWidget.references) + ) + + if items != 1: + msgBox = QtGui.QMessageBox() + msgBox.setIcon(QtGui.QMessageBox.Question) + msgBox.setText( + "Constraint Centrif requires exactly one line\n\nfound references: {}" + .format(items) + ) + msgBox.setWindowTitle("FreeCAD FEM Constraint Centrif - Axis selection") + retryButton = msgBox.addButton(QtGui.QMessageBox.Retry) + ignoreButton = msgBox.addButton(QtGui.QMessageBox.Ignore) + msgBox.exec_() + + if msgBox.clickedButton() == retryButton: + return False + elif msgBox.clickedButton() == ignoreButton: + pass + + # check values BodyReference + items = len(self.BodySelectionWidget.references) + FreeCAD.Console.PrintMessage( + "Task panel: found body references: {}\n{}\n" + .format(items, self.BodySelectionWidget.references) + ) + + # if no solid is added as reference all volume elements are used + """ + if items == 0: + msgBox = QtGui.QMessageBox() + msgBox.setIcon(QtGui.QMessageBox.Question) + msgBox.setText("Constraint Centrif requires at least one solid") + msgBox.setWindowTitle("FreeCAD FEM Constraint Centrif - Body selection") + retryButton = msgBox.addButton(QtGui.QMessageBox.Retry) + ignoreButton = msgBox.addButton(QtGui.QMessageBox.Ignore) + msgBox.exec_() + + if msgBox.clickedButton() == retryButton: + return False + elif msgBox.clickedButton() == ignoreButton: + pass + """ + + # check value RotationFrequency + if self.rotation_frequency == 0: + msgBox = QtGui.QMessageBox() + msgBox.setIcon(QtGui.QMessageBox.Question) + msgBox.setText("Rotational speed is zero") + msgBox.setWindowTitle("FreeCAD FEM Constraint Centrif - Rotational speed setting") + retryButton = msgBox.addButton(QtGui.QMessageBox.Retry) + ignoreButton = msgBox.addButton(QtGui.QMessageBox.Ignore) + msgBox.exec_() + + if msgBox.clickedButton() == retryButton: + return False + elif msgBox.clickedButton() == ignoreButton: + pass + + self.obj.RotationFrequency = self.rotation_frequency + self.obj.RotationAxis = self.AxisSelectionWidget.references + self.obj.References = self.BodySelectionWidget.references + self.recompute_and_set_back_all() + return True + + def reject(self): + self.recompute_and_set_back_all() + return True + + def recompute_and_set_back_all(self): + doc = FreeCADGui.getDocument(self.obj.Document) + doc.Document.recompute() + + self.AxisSelectionWidget.setback_listobj_visibility() + if self.AxisSelectionWidget.sel_server: + FreeCADGui.Selection.removeObserver(self.AxisSelectionWidget.sel_server) + + self.BodySelectionWidget.setback_listobj_visibility() + if self.BodySelectionWidget.sel_server: + FreeCADGui.Selection.removeObserver(self.BodySelectionWidget.sel_server) + + doc.resetEdit() + + def init_parameter_widget(self): + self.rotation_frequency = self.obj.RotationFrequency + self.parameterWidget.if_rotation_frequency.setText(self.rotation_frequency.UserString) + + def rotation_frequency_changed(self, base_quantity_value): + self.rotation_frequency = base_quantity_value diff --git a/src/Mod/Fem/femtaskpanels/task_material_common.py b/src/Mod/Fem/femtaskpanels/task_material_common.py index 7bf592b1a2..e4cac0bf6b 100644 --- a/src/Mod/Fem/femtaskpanels/task_material_common.py +++ b/src/Mod/Fem/femtaskpanels/task_material_common.py @@ -477,6 +477,22 @@ class _TaskPanel: self.material["VolumetricThermalExpansionCoefficient"] = "0 m^3/m^3/K" # Thermal properties if "ThermalConductivity" in self.material: + # TODO implement for all task panel values + # https://forum.freecadweb.org/viewtopic.php?f=18&t=56912&p=516826#p516800 + try: + Units.Quantity(self.material["ThermalConductivity"]) + except Exception: + FreeCAD.Console.PrintError( + "Problem with the quantity for ThermalConductivity: '{}' Reset value.\n" + "May try the following in Python console:\n" + "from FreeCAD import Units\n" + "Units.Quantity('{}')\n" + .format( + self.material["ThermalConductivity"], + self.material["ThermalConductivity"] + ) + ) + self.material["ThermalConductivity"] = "0 W/m/K" if "ThermalConductivity" not in str(Units.Unit(self.material["ThermalConductivity"])): FreeCAD.Console.PrintMessage( "ThermalConductivity in material data seems to have no unit " diff --git a/src/Mod/Fem/femtest/app/support_utils.py b/src/Mod/Fem/femtest/app/support_utils.py index 813ad971bf..23ee4982c2 100644 --- a/src/Mod/Fem/femtest/app/support_utils.py +++ b/src/Mod/Fem/femtest/app/support_utils.py @@ -149,6 +149,12 @@ def get_fem_test_defs( cf.write("get_fem_test_defs()\n") cf.write("\n") cf.write("\n") + cf.write("# all FEM App tests\n") + cf.write("make -j 4 && ./bin/FreeCAD --run-test 'TestFemApp'\n") + cf.write("\n") + cf.write("make -j 4 && ./bin/FreeCADCmd --run-test 'TestFemApp'\n") + cf.write("\n") + cf.write("\n") cf.write("'''\n") cf.write("\n") cf.write("# modules\n") diff --git a/src/Mod/Fem/femtest/app/test_object.py b/src/Mod/Fem/femtest/app/test_object.py index e899901e68..89371f1714 100644 --- a/src/Mod/Fem/femtest/app/test_object.py +++ b/src/Mod/Fem/femtest/app/test_object.py @@ -233,6 +233,10 @@ class TestObjectType(unittest.TestCase): "Fem::ConstraintSelfWeight", type_of_obj(ObjectsFem.makeConstraintSelfWeight(doc)) ) + self.assertEqual( + "Fem::ConstraintCentrif", + type_of_obj(ObjectsFem.makeConstraintCentrif(doc)) + ) self.assertEqual( "Fem::ConstraintTemperature", type_of_obj(ObjectsFem.makeConstraintTemperature(doc)) @@ -318,6 +322,10 @@ class TestObjectType(unittest.TestCase): "Fem::SolverElmer", type_of_obj(solverelmer) ) + self.assertEqual( + "Fem::SolverMystran", + type_of_obj(ObjectsFem.makeSolverMystran(doc)) + ) self.assertEqual( "Fem::SolverZ88", type_of_obj(ObjectsFem.makeSolverZ88(doc)) @@ -442,6 +450,10 @@ class TestObjectType(unittest.TestCase): ObjectsFem.makeConstraintSelfWeight(doc), "Fem::ConstraintSelfWeight" )) + self.assertTrue(is_of_type( + ObjectsFem.makeConstraintCentrif(doc), + "Fem::ConstraintCentrif" + )) self.assertTrue(is_of_type( ObjectsFem.makeConstraintTemperature(doc), "Fem::ConstraintTemperature" @@ -529,6 +541,10 @@ class TestObjectType(unittest.TestCase): solverelmer, "Fem::SolverElmer" )) + self.assertTrue(is_of_type( + ObjectsFem.makeSolverMystran(doc), + "Fem::SolverMystran" + )) self.assertTrue(is_of_type( ObjectsFem.makeSolverZ88(doc), "Fem::SolverZ88" @@ -871,6 +887,21 @@ class TestObjectType(unittest.TestCase): "Fem::ConstraintSelfWeight" )) + # ConstraintCentrif + constraint_centrif = ObjectsFem.makeConstraintCentrif(doc) + self.assertTrue(is_derived_from( + constraint_centrif, + "App::DocumentObject" + )) + self.assertTrue(is_derived_from( + constraint_centrif, + "Fem::ConstraintPython" + )) + self.assertTrue(is_derived_from( + constraint_centrif, + "Fem::ConstraintCentrif" + )) + # ConstraintTemperature constraint_temperature = ObjectsFem.makeConstraintTemperature(doc) self.assertTrue(is_derived_from( @@ -1194,6 +1225,25 @@ class TestObjectType(unittest.TestCase): "Fem::SolverElmer" )) + # SolverMystran + solver_mystran = ObjectsFem.makeSolverMystran(doc) + self.assertTrue(is_derived_from( + solver_mystran, + "App::DocumentObject" + )) + self.assertTrue(is_derived_from( + solver_mystran, + "Fem::FemSolverObject" + )) + self.assertTrue(is_derived_from( + solver_mystran, + "Fem::FemSolverObjectPython" + )) + self.assertTrue(is_derived_from( + solver_mystran, + "Fem::SolverMystran" + )) + # SolverZ88 solver_z88 = ObjectsFem.makeSolverZ88(doc) self.assertTrue(is_derived_from( @@ -1415,6 +1465,11 @@ class TestObjectType(unittest.TestCase): doc ).isDerivedFrom("Fem::ConstraintPython") ) + self.assertTrue( + ObjectsFem.makeConstraintCentrif( + doc + ).isDerivedFrom("Fem::ConstraintPython") + ) self.assertTrue( ObjectsFem.makeConstraintTemperature( doc @@ -1520,6 +1575,11 @@ class TestObjectType(unittest.TestCase): self.assertTrue( solverelmer.isDerivedFrom("Fem::FemSolverObjectPython") ) + self.assertTrue( + ObjectsFem.makeSolverMystran( + doc + ).isDerivedFrom("Fem::FemSolverObjectPython") + ) self.assertTrue( ObjectsFem.makeSolverZ88( doc @@ -1595,6 +1655,7 @@ def create_all_fem_objects_doc( analysis.addObject(ObjectsFem.makeConstraintPulley(doc)) analysis.addObject(ObjectsFem.makeConstraintSectionPrint(doc)) analysis.addObject(ObjectsFem.makeConstraintSelfWeight(doc)) + analysis.addObject(ObjectsFem.makeConstraintCentrif(doc)) analysis.addObject(ObjectsFem.makeConstraintTemperature(doc)) analysis.addObject(ObjectsFem.makeConstraintTie(doc)) analysis.addObject(ObjectsFem.makeConstraintTransform(doc)) @@ -1628,6 +1689,7 @@ def create_all_fem_objects_doc( analysis.addObject(ObjectsFem.makeSolverCalculixCcxTools(doc)) analysis.addObject(ObjectsFem.makeSolverCalculix(doc)) sol = analysis.addObject(ObjectsFem.makeSolverElmer(doc))[0] + analysis.addObject(ObjectsFem.makeSolverMystran(doc)) analysis.addObject(ObjectsFem.makeSolverZ88(doc)) ObjectsFem.makeEquationElasticity(doc, sol) diff --git a/src/Mod/Fem/femtest/app/test_solver_calculix.py b/src/Mod/Fem/femtest/app/test_solver_calculix.py index c444252e27..0462c5cb88 100644 --- a/src/Mod/Fem/femtest/app/test_solver_calculix.py +++ b/src/Mod/Fem/femtest/app/test_solver_calculix.py @@ -104,7 +104,7 @@ class TestSolverCalculix(unittest.TestCase): self.input_file_writing_test(get_namefromdef("test_")) # ******************************************************************************************** - def test_ccxcantilever_faceload( + def test_ccx_cantilever_faceload( self ): from femexamples.ccx_cantilever_faceload import setup @@ -112,15 +112,63 @@ class TestSolverCalculix(unittest.TestCase): self.input_file_writing_test(get_namefromdef("test_")) # ******************************************************************************************** - def test_ccxcantilever_hexa20( + def test_ccx_cantilever_ele_hexa20( self ): - from femexamples.ccx_cantilever_hexa20faceload import setup + from femexamples.ccx_cantilever_ele_hexa20 import setup setup(self.document, "calculix") self.input_file_writing_test(get_namefromdef("test_")) # ******************************************************************************************** - def test_ccxcantilever_nodeload( + def test_ccx_cantilever_ele_quad4( + self + ): + from femexamples.ccx_cantilever_ele_quad4 import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_quad8( + self + ): + from femexamples.ccx_cantilever_ele_quad8 import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_seg2( + self + ): + from femexamples.ccx_cantilever_ele_seg2 import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_seg3( + self + ): + from femexamples.ccx_cantilever_ele_seg3 import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_tria3( + self + ): + from femexamples.ccx_cantilever_ele_tria3 import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_tria6( + self + ): + from femexamples.ccx_cantilever_ele_tria6 import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_nodeload( self ): from femexamples.ccx_cantilever_nodeload import setup @@ -128,13 +176,24 @@ class TestSolverCalculix(unittest.TestCase): self.input_file_writing_test(get_namefromdef("test_")) # ******************************************************************************************** - def test_ccxcantilever_prescribeddisplacement( + def test_ccx_cantilever_prescribeddisplacement( self ): from femexamples.ccx_cantilever_prescribeddisplacement import setup setup(self.document, "calculix") self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** + def test_constraint_centrif( + self + ): + # TODO does pass on my local machine, but not on ci + return + + from femexamples.constraint_centrif import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** def test_constraint_contact_shell_shell( self @@ -147,7 +206,7 @@ class TestSolverCalculix(unittest.TestCase): def test_constraint_contact_solid_solid( self ): - # TODO does pass on my local machine, but not on travis + # TODO does pass on my local machine, but not on ci return from femexamples.constraint_contact_solid_solid import setup @@ -178,6 +237,22 @@ class TestSolverCalculix(unittest.TestCase): setup(self.document, "calculix") self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** + def test_constraint_transform_beam_hinged( + self + ): + from femexamples.constraint_transform_beam_hinged import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_constraint_transform_torque( + self + ): + from femexamples.constraint_transform_torque import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** def test_frequency_beamsimple( self diff --git a/src/Mod/Fem/femtest/app/test_solver_mystran.py b/src/Mod/Fem/femtest/app/test_solver_mystran.py new file mode 100644 index 0000000000..a2fd294166 --- /dev/null +++ b/src/Mod/Fem/femtest/app/test_solver_mystran.py @@ -0,0 +1,174 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "Solver mystran FEM unit tests" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +import unittest +from os.path import join + +import FreeCAD + +import femsolver.run +from . import support_utils as testtools +from .support_utils import fcc_print +from .support_utils import get_namefromdef + + +class TestSolverMystran(unittest.TestCase): + fcc_print("import TestSolverMystran") + + # ******************************************************************************************** + def setUp( + self + ): + # setUp is executed before every test + + # new document + self.document = FreeCAD.newDocument(self.__class__.__name__) + + # more inits + self.pre_dir_name = "solver_mystran_" + self.ending = ".bdf" + self.infilename = "Mesh" + self.test_file_dir = join( + testtools.get_fem_test_home_dir(), + "mystran" + ) + + # ******************************************************************************************** + def tearDown( + self + ): + # tearDown is executed after every test + FreeCAD.closeDocument(self.document.Name) + + # ******************************************************************************************** + def test_00print( + self + ): + # since method name starts with 00 this will be run first + # this test just prints a line with stars + + fcc_print("\n{0}\n{1} run FEM TestSolverMystran tests {2}\n{0}".format( + 100 * "*", + 10 * "*", + 55 * "*" + )) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_quad4( + self + ): + fcc_print("") + from femexamples.ccx_cantilever_ele_quad4 import setup + setup(self.document, "mystran") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_seg2( + self + ): + fcc_print("") + from femexamples.ccx_cantilever_ele_seg2 import setup + setup(self.document, "mystran") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_tria3( + self + ): + fcc_print("") + from femexamples.ccx_cantilever_ele_tria3 import setup + setup(self.document, "mystran") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_faceload( + self + ): + fcc_print("") + from femexamples.ccx_cantilever_faceload import setup + setup(self.document, "mystran") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_nodeload( + self + ): + fcc_print("") + from femexamples.ccx_cantilever_nodeload import setup + setup(self.document, "mystran") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_mystran_plate( + self + ): + fcc_print("") + from femexamples.mystran_plate import setup + setup(self.document, "mystran") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def input_file_writing_test( + self, + base_name + ): + self.document.recompute() + + # get analysis working directory and save FreeCAD file + working_dir = testtools.get_fem_test_tmp_dir(self.pre_dir_name + base_name) + save_fc_file = join(working_dir, base_name + ".FCStd") + # fcc_print("Save FreeCAD file to {} ...".format(save_fc_file)) + self.document.saveAs(save_fc_file) + + # write input file + machine = self.document.SolverMystran.Proxy.createMachine( + self.document.SolverMystran, + working_dir, + True # set testmode to True + ) + machine.target = femsolver.run.PREPARE + machine.start() + machine.join() # wait for the machine to finish + + # compare input file with the given one + inpfile_given = join( + self.test_file_dir, + base_name + self.ending + ) + inpfile_totest = join( + working_dir, + self.infilename + self.ending + ) + # fcc_print("Comparing {} to {}".format(inpfile_given, inpfile_totest)) + ret = testtools.compare_inp_files( + inpfile_given, + inpfile_totest + ) + self.assertFalse( + ret, + "Mystran write_solver_input for {0} test failed.\n{1}".format(base_name, ret) + ) diff --git a/src/Mod/Fem/femtest/app/test_solver_z88.py b/src/Mod/Fem/femtest/app/test_solver_z88.py index bcfd38f0fc..275024e689 100644 --- a/src/Mod/Fem/femtest/app/test_solver_z88.py +++ b/src/Mod/Fem/femtest/app/test_solver_z88.py @@ -76,7 +76,26 @@ class TestSolverZ88(unittest.TestCase): )) # ******************************************************************************************** - def test_ccxcantilever_faceload( + def test_ccx_cantilever_ele_hexa20( + self + ): + from femexamples.ccx_cantilever_ele_hexa20 import setup + setup(self.document, "z88") + self.inputfile_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_ele_tria6( + self + ): + # TODO does pass on my local machine, but not on ci + return + + from femexamples.ccx_cantilever_ele_tria6 import setup + setup(self.document, "z88") + self.inputfile_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccx_cantilever_faceload( self ): from femexamples.ccx_cantilever_faceload import setup @@ -84,15 +103,7 @@ class TestSolverZ88(unittest.TestCase): self.inputfile_writing_test(get_namefromdef("test_")) # ******************************************************************************************** - def test_ccxcantilever_hexa20( - self - ): - from femexamples.ccx_cantilever_hexa20faceload import setup - setup(self.document, "z88") - self.inputfile_writing_test(get_namefromdef("test_")) - - # ******************************************************************************************** - def test_ccxcantilever_nodeload( + def test_ccx_cantilever_nodeload( self ): from femexamples.ccx_cantilever_nodeload import setup diff --git a/src/Mod/Fem/femtest/data/calculix/box_frequency.inp b/src/Mod/Fem/femtest/data/calculix/box_frequency.inp index 8c2a6b3d31..00c7073376 100644 --- a/src/Mod/Fem/femtest/data/calculix/box_frequency.inp +++ b/src/Mod/Fem/femtest/data/calculix/box_frequency.inp @@ -425,31 +425,26 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialSolid Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 -** Density's unit is t/mm^3 +** see information about units at file end ** FreeCAD material name: Steel-Generic ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000, 0.300 +200000,0.3 *DENSITY -7.900e-09 +7.9E-09 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *FREQUENCY 10,0.01,1000000.0 @@ -457,19 +452,16 @@ Evolumes *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE S, E *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.17.9749 (Git) ** written on --> Sun Jan 22 14:32:18 2017 ** file name --> cube_static.fcstd @@ -493,9 +485,9 @@ S, E ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/box_static.inp b/src/Mod/Fem/femtest/data/calculix/box_static.inp index 97f24b42be..195a5630cd 100644 --- a/src/Mod/Fem/femtest/data/calculix/box_static.inp +++ b/src/Mod/Fem/femtest/data/calculix/box_static.inp @@ -425,13 +425,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** FemConstraintFixed *NSET,NSET=FemConstraintFixed 1, @@ -478,29 +476,25 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Steel-Generic ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000, 0.300 +200000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** FemConstraintFixed *BOUNDARY FemConstraintFixed,1 @@ -510,7 +504,6 @@ FemConstraintFixed,3 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** FemConstraintForce ** node loads on shape: Box:Face6 @@ -560,30 +553,28 @@ FemConstraintFixed,3 *********************************************************** ** constraints pressure element face loads -** written by write_constraints_pressure function ** FemConstraintPressure *DLOAD ** FemConstraintPressure: face load -3,P1,1000.0 -6,P3,1000.0 -9,P2,1000.0 -36,P1,1000.0 -38,P1,1000.0 -56,P1,1000.0 -61,P3,1000.0 -67,P2,1000.0 -68,P3,1000.0 -75,P2,1000.0 -76,P4,1000.0 -78,P4,1000.0 -79,P2,1000.0 -90,P3,1000.0 -105,P3,1000.0 -125,P3,1000.0 +3,P1,1000 +6,P3,1000 +9,P2,1000 +36,P1,1000 +38,P1,1000 +56,P1,1000 +61,P3,1000 +67,P2,1000 +68,P3,1000 +75,P2,1000 +76,P4,1000 +78,P4,1000 +79,P2,1000 +90,P3,1000 +105,P3,1000 +125,P3,1000 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -595,12 +586,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.17.9749 (Git) ** written on --> Sun Jan 22 14:28:56 2017 ** file name --> @@ -624,9 +613,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/ccx_buckling_flexuralbuckling.inp b/src/Mod/Fem/femtest/data/calculix/ccx_buckling_flexuralbuckling.inp index e5a8a08e2a..22f722e722 100644 --- a/src/Mod/Fem/femtest/data/calculix/ccx_buckling_flexuralbuckling.inp +++ b/src/Mod/Fem/femtest/data/calculix/ccx_buckling_flexuralbuckling.inp @@ -697,13 +697,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 1, @@ -734,22 +732,19 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -210000, 0.300 +210000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *BUCKLE 10 @@ -757,7 +752,6 @@ Evolumes *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -767,7 +761,6 @@ ConstraintFixed,3 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node loads on shape: Beam:Face6 @@ -801,7 +794,6 @@ ConstraintFixed,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -813,12 +805,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.20.25065 (Git) ** written on --> Tue Jun 15 10:36:32 2021 ** file name --> ccx_buckling_flexuralbuckling.FCStd @@ -842,9 +832,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_hexa20.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_hexa20.inp similarity index 95% rename from src/Mod/Fem/femtest/data/calculix/ccxcantilever_hexa20.inp rename to src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_hexa20.inp index a6a43d5197..e7d58efd79 100644 --- a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_hexa20.inp +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_hexa20.inp @@ -341,13 +341,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 1, @@ -374,29 +372,25 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** FemMaterial *MATERIAL, NAME=FemMaterial *ELASTIC -210000, 0.300 +210000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -406,7 +400,6 @@ ConstraintFixed,3 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node loads on shape: Box:Face2 @@ -436,7 +429,6 @@ ConstraintFixed,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -448,12 +440,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.19767 (Git) ** written on --> Sun Mar 1 22:34:34 2020 ** file name --> CantilverHexa20FaceLoad.FCStd @@ -477,9 +467,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad4.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad4.inp new file mode 100644 index 0000000000..3105e03a28 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad4.inp @@ -0,0 +1,161 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 0, 500, 0 +2, 0, 500, 1000 +3, 8000, 500, 0 +4, 8000, 500, 1000 +5, 0, 500, 500 +6, 2000, 500, 0 +7, 4000, 500, 0 +8, 6000, 500, 0 +9, 1000, 500, 0 +10, 7000, 500, 0 +11, 3000, 500, 0 +12, 5000, 500, 0 +13, 8000, 500, 500 +14, 2000, 500, 1000 +15, 4000, 500, 1000 +16, 6000, 500, 1000 +17, 1000, 500, 1000 +18, 7000, 500, 1000 +19, 3000, 500, 1000 +20, 5000, 500, 1000 +21, 2000, 500, 500 +22, 1000, 500, 500 +23, 6000, 500, 500 +24, 7000, 500, 500 +25, 4000, 500, 500 +26, 3000, 500, 500 +27, 5000, 500, 500 + + +** Face elements +*Element, TYPE=S4, ELSET=Efaces +21, 14, 17, 22, 21 +22, 6, 21, 22, 9 +23, 1, 9, 22, 5 +24, 2, 5, 22, 17 +25, 4, 18, 24, 13 +26, 3, 13, 24, 10 +27, 8, 10, 24, 23 +28, 16, 23, 24, 18 +29, 7, 25, 26, 11 +30, 6, 11, 26, 21 +31, 14, 21, 26, 19 +32, 15, 19, 26, 25 +33, 16, 20, 27, 23 +34, 8, 23, 27, 12 +35, 7, 12, 27, 25 +36, 15, 25, 27, 20 + +** Define element set Eall +*ELSET, ELSET=Eall +Efaces + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=MechanicalMaterialThickness +Efaces + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +1, +2, +5, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Calculix-Steel +** MechanicalMaterial +*MATERIAL, NAME=MechanicalMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*SHELL SECTION, ELSET=MechanicalMaterialThickness, MATERIAL=MechanicalMaterial +1000 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 +ConstraintFixed,4 +ConstraintFixed,5 +ConstraintFixed,6 + + +*********************************************************** +** constraints force node loads +*CLOAD +** ConstraintForce +** node loads on shape: CanileverPlate:Edge3 +3,3,-2.2500000000000E+06 +4,3,-2.2500000000000E+06 +13,3,-4.5000000000000E+06 + + + +*********************************************************** +** Outputs --> frd file +*NODE FILE, OUTPUT=2d +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25347 (Git) +** written on --> Thu Jul 29 22:17:23 2021 +** file name --> test.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad8.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad8.inp new file mode 100644 index 0000000000..6e27d94ff0 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_quad8.inp @@ -0,0 +1,151 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 0, 500, 0 +2, 0, 500, 1000 +3, 8000, 500, 0 +4, 8000, 500, 1000 +5, 0, 500, 500 +6, 0, 500, 250 +7, 0, 500, 750 +8, 4000, 500, 0 +9, 2000, 500, 0 +10, 6000, 500, 0 +11, 8000, 500, 500 +12, 8000, 500, 250 +13, 8000, 500, 750 +14, 4000, 500, 1000 +15, 2000, 500, 1000 +16, 6000, 500, 1000 +17, 4000, 500, 500 +18, 2000, 500, 500 +19, 4000, 500, 750 +20, 2000, 500, 750 +21, 6000, 500, 500 +22, 6000, 500, 750 +23, 4000, 500, 250 +24, 6000, 500, 250 +25, 2000, 500, 250 + + +** Face elements +*Element, TYPE=S8, ELSET=Efaces +1, 1, 5, 17, 8, 6, 18, 23, 9 +2, 5, 2, 14, 17, 7, 15, 19, 18 +3, 17, 14, 4, 11, 19, 16, 13, 21 +4, 8, 17, 11, 3, 23, 21, 12, 10 + +** Define element set Eall +*ELSET, ELSET=Eall +Efaces + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=MechanicalMaterialThickness +Efaces + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +1, +2, +5, +6, +7, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Calculix-Steel +** MechanicalMaterial +*MATERIAL, NAME=MechanicalMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*SHELL SECTION, ELSET=MechanicalMaterialThickness, MATERIAL=MechanicalMaterial +1000 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 +ConstraintFixed,4 +ConstraintFixed,5 +ConstraintFixed,6 + + +*********************************************************** +** constraints force node loads +*CLOAD +** ConstraintForce +** node loads on shape: CanileverPlate:Edge3 +3,3,-7.5000000000000E+05 +4,3,-7.5000000000000E+05 +11,3,-1.5000000000000E+06 +12,3,-3.0000000000000E+06 +13,3,-3.0000000000000E+06 + + + +*********************************************************** +** Outputs --> frd file +*NODE FILE, OUTPUT=2d +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25343 (Git) +** written on --> Thu Jul 29 13:06:02 2021 +** file name --> ccx_cantilever_ele_quad8.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg2.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg2.inp new file mode 100644 index 0000000000..2d5115f6f4 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg2.inp @@ -0,0 +1,277 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 0, 500, 500 +2, 8000, 500, 500 +3, 148.1481481481, 500, 500 +4, 296.2962962963, 500, 500 +5, 444.4444444444, 500, 500 +6, 592.5925925926, 500, 500 +7, 740.7407407407, 500, 500 +8, 888.8888888889, 500, 500 +9, 1037.037037037, 500, 500 +10, 1185.185185185, 500, 500 +11, 1333.333333333, 500, 500 +12, 1481.481481481, 500, 500 +13, 1629.62962963, 500, 500 +14, 1777.777777778, 500, 500 +15, 1925.925925926, 500, 500 +16, 2074.074074074, 500, 500 +17, 2222.222222222, 500, 500 +18, 2370.37037037, 500, 500 +19, 2518.518518519, 500, 500 +20, 2666.666666667, 500, 500 +21, 2814.814814815, 500, 500 +22, 2962.962962963, 500, 500 +23, 3111.111111111, 500, 500 +24, 3259.259259259, 500, 500 +25, 3407.407407407, 500, 500 +26, 3555.555555556, 500, 500 +27, 3703.703703704, 500, 500 +28, 3851.851851852, 500, 500 +29, 4000, 500, 500 +30, 4148.148148148, 500, 500 +31, 4296.296296296, 500, 500 +32, 4444.444444444, 500, 500 +33, 4592.592592593, 500, 500 +34, 4740.740740741, 500, 500 +35, 4888.888888889, 500, 500 +36, 5037.037037037, 500, 500 +37, 5185.185185185, 500, 500 +38, 5333.333333333, 500, 500 +39, 5481.481481481, 500, 500 +40, 5629.62962963, 500, 500 +41, 5777.777777778, 500, 500 +42, 5925.925925926, 500, 500 +43, 6074.074074074, 500, 500 +44, 6222.222222222, 500, 500 +45, 6370.37037037, 500, 500 +46, 6518.518518519, 500, 500 +47, 6666.666666667, 500, 500 +48, 6814.814814815, 500, 500 +49, 6962.962962963, 500, 500 +50, 7111.111111111, 500, 500 +51, 7259.259259259, 500, 500 +52, 7407.407407407, 500, 500 +53, 7555.555555556, 500, 500 +54, 7703.703703704, 500, 500 +55, 7851.851851852, 500, 500 + + +** Edge elements +*Element, TYPE=B31, ELSET=Eedges +1, 1, 3 +2, 3, 4 +3, 4, 5 +4, 5, 6 +5, 6, 7 +6, 7, 8 +7, 8, 9 +8, 9, 10 +9, 10, 11 +10, 11, 12 +11, 12, 13 +12, 13, 14 +13, 14, 15 +14, 15, 16 +15, 16, 17 +16, 17, 18 +17, 18, 19 +18, 19, 20 +19, 20, 21 +20, 21, 22 +21, 22, 23 +22, 23, 24 +23, 24, 25 +24, 25, 26 +25, 26, 27 +26, 27, 28 +27, 28, 29 +28, 29, 30 +29, 30, 31 +30, 31, 32 +31, 32, 33 +32, 33, 34 +33, 34, 35 +34, 35, 36 +35, 36, 37 +36, 37, 38 +37, 38, 39 +38, 39, 40 +39, 40, 41 +40, 41, 42 +41, 42, 43 +42, 43, 44 +43, 44, 45 +44, 45, 46 +45, 46, 47 +46, 47, 48 +47, 48, 49 +48, 49, 50 +49, 50, 51 +50, 51, 52 +51, 52, 53 +52, 53, 54 +53, 54, 55 +54, 55, 2 + +** Define element set Eall +*ELSET, ELSET=Eall +Eedges + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=M0B0RstdD0 +1, +2, +3, +4, +5, +6, +7, +8, +9, +10, +11, +12, +13, +14, +15, +16, +17, +18, +19, +20, +21, +22, +23, +24, +25, +26, +27, +28, +29, +30, +31, +32, +33, +34, +35, +36, +37, +38, +39, +40, +41, +42, +43, +44, +45, +46, +47, +48, +49, +50, +51, +52, +53, +54, + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +1, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Calculix-Steel +** MechanicalMaterial +*MATERIAL, NAME=MechanicalMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*BEAM SECTION, ELSET=M0B0RstdD0, MATERIAL=MechanicalMaterial, SECTION=RECT +1000,1000 +-0, 1, 0 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 +ConstraintFixed,4 +ConstraintFixed,5 +ConstraintFixed,6 + + +*********************************************************** +** constraints force node loads +*CLOAD +** ConstraintForce +** node load on shape: CantileverLine:Vertex2 +2,3,-9.0000000000000E+06 + + + +*********************************************************** +** Outputs --> frd file +*NODE FILE, OUTPUT=2d +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25335 (Git) +** written on --> Wed Jul 28 17:01:46 2021 +** file name --> test.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg3.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg3.inp new file mode 100644 index 0000000000..8884cec1f4 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_seg3.inp @@ -0,0 +1,135 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 0, 500, 500 +2, 8000, 500, 500 +3, 1600, 500, 500 +4, 3200, 500, 500 +5, 4800, 500, 500 +6, 6400, 500, 500 +7, 800, 500, 500 +8, 2400, 500, 500 +9, 4000, 500, 500 +10, 5600, 500, 500 +11, 7200, 500, 500 + + +** Edge elements +*Element, TYPE=B32, ELSET=Eedges +1, 1, 7, 3 +2, 3, 8, 4 +3, 4, 9, 5 +4, 5, 10, 6 +5, 6, 11, 2 + +** Define element set Eall +*ELSET, ELSET=Eall +Eedges + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=M0B0RstdD0 +1, +2, +3, +4, +5, + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +1, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Calculix-Steel +** MechanicalMaterial +*MATERIAL, NAME=MechanicalMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*BEAM SECTION, ELSET=M0B0RstdD0, MATERIAL=MechanicalMaterial, SECTION=RECT +1000,1000 +-0, 1, 0 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 +ConstraintFixed,4 +ConstraintFixed,5 +ConstraintFixed,6 + + +*********************************************************** +** constraints force node loads +*CLOAD +** ConstraintForce +** node load on shape: CantileverLine:Vertex2 +2,3,-9.0000000000000E+06 + + + +*********************************************************** +** Outputs --> frd file +*NODE FILE, OUTPUT=2d +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25335 (Git) +** written on --> Wed Jul 28 16:59:39 2021 +** file name --> test.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria3.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria3.inp new file mode 100644 index 0000000000..7a99b20451 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria3.inp @@ -0,0 +1,1642 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 0, 500, 0 +2, 0, 500, 1000 +3, 8000, 500, 0 +4, 8000, 500, 1000 +5, 0, 500, 142.8571428571 +6, 0, 500, 285.7142857143 +7, 0, 500, 428.5714285714 +8, 0, 500, 571.4285714286 +9, 0, 500, 714.2857142857 +10, 0, 500, 857.1428571429 +11, 148.1481481481, 500, 0 +12, 296.2962962963, 500, 0 +13, 444.4444444444, 500, 0 +14, 592.5925925926, 500, 0 +15, 740.7407407407, 500, 0 +16, 888.8888888889, 500, 0 +17, 1037.037037037, 500, 0 +18, 1185.185185185, 500, 0 +19, 1333.333333333, 500, 0 +20, 1481.481481481, 500, 0 +21, 1629.62962963, 500, 0 +22, 1777.777777778, 500, 0 +23, 1925.925925926, 500, 0 +24, 2074.074074074, 500, 0 +25, 2222.222222222, 500, 0 +26, 2370.37037037, 500, 0 +27, 2518.518518519, 500, 0 +28, 2666.666666667, 500, 0 +29, 2814.814814815, 500, 0 +30, 2962.962962963, 500, 0 +31, 3111.111111111, 500, 0 +32, 3259.259259259, 500, 0 +33, 3407.407407407, 500, 0 +34, 3555.555555556, 500, 0 +35, 3703.703703704, 500, 0 +36, 3851.851851852, 500, 0 +37, 4000, 500, 0 +38, 4148.148148148, 500, 0 +39, 4296.296296296, 500, 0 +40, 4444.444444444, 500, 0 +41, 4592.592592593, 500, 0 +42, 4740.740740741, 500, 0 +43, 4888.888888889, 500, 0 +44, 5037.037037037, 500, 0 +45, 5185.185185185, 500, 0 +46, 5333.333333333, 500, 0 +47, 5481.481481481, 500, 0 +48, 5629.62962963, 500, 0 +49, 5777.777777778, 500, 0 +50, 5925.925925926, 500, 0 +51, 6074.074074074, 500, 0 +52, 6222.222222222, 500, 0 +53, 6370.37037037, 500, 0 +54, 6518.518518519, 500, 0 +55, 6666.666666667, 500, 0 +56, 6814.814814815, 500, 0 +57, 6962.962962963, 500, 0 +58, 7111.111111111, 500, 0 +59, 7259.259259259, 500, 0 +60, 7407.407407407, 500, 0 +61, 7555.555555556, 500, 0 +62, 7703.703703704, 500, 0 +63, 7851.851851852, 500, 0 +64, 8000, 500, 142.8571428571 +65, 8000, 500, 285.7142857143 +66, 8000, 500, 428.5714285714 +67, 8000, 500, 571.4285714286 +68, 8000, 500, 714.2857142857 +69, 8000, 500, 857.1428571429 +70, 148.1481481481, 500, 1000 +71, 296.2962962963, 500, 1000 +72, 444.4444444444, 500, 1000 +73, 592.5925925926, 500, 1000 +74, 740.7407407407, 500, 1000 +75, 888.8888888889, 500, 1000 +76, 1037.037037037, 500, 1000 +77, 1185.185185185, 500, 1000 +78, 1333.333333333, 500, 1000 +79, 1481.481481481, 500, 1000 +80, 1629.62962963, 500, 1000 +81, 1777.777777778, 500, 1000 +82, 1925.925925926, 500, 1000 +83, 2074.074074074, 500, 1000 +84, 2222.222222222, 500, 1000 +85, 2370.37037037, 500, 1000 +86, 2518.518518519, 500, 1000 +87, 2666.666666667, 500, 1000 +88, 2814.814814815, 500, 1000 +89, 2962.962962963, 500, 1000 +90, 3111.111111111, 500, 1000 +91, 3259.259259259, 500, 1000 +92, 3407.407407407, 500, 1000 +93, 3555.555555556, 500, 1000 +94, 3703.703703704, 500, 1000 +95, 3851.851851852, 500, 1000 +96, 4000, 500, 1000 +97, 4148.148148148, 500, 1000 +98, 4296.296296296, 500, 1000 +99, 4444.444444444, 500, 1000 +100, 4592.592592593, 500, 1000 +101, 4740.740740741, 500, 1000 +102, 4888.888888889, 500, 1000 +103, 5037.037037037, 500, 1000 +104, 5185.185185185, 500, 1000 +105, 5333.333333333, 500, 1000 +106, 5481.481481481, 500, 1000 +107, 5629.62962963, 500, 1000 +108, 5777.777777778, 500, 1000 +109, 5925.925925926, 500, 1000 +110, 6074.074074074, 500, 1000 +111, 6222.222222222, 500, 1000 +112, 6370.37037037, 500, 1000 +113, 6518.518518519, 500, 1000 +114, 6666.666666667, 500, 1000 +115, 6814.814814815, 500, 1000 +116, 6962.962962963, 500, 1000 +117, 7111.111111111, 500, 1000 +118, 7259.259259259, 500, 1000 +119, 7407.407407407, 500, 1000 +120, 7555.555555556, 500, 1000 +121, 7703.703703704, 500, 1000 +122, 7851.851851852, 500, 1000 +123, 7519.097353946, 500, 486.4404736211 +124, 480.9026460536, 500, 486.4404736211 +125, 4377.663810653, 500, 495.2832031602 +126, 3044.392149512, 500, 495.2274018189 +127, 3783.882398197, 500, 503.2059322265 +128, 2437.089331969, 500, 495.2274018189 +129, 1111.02235605, 500, 499.8767731965 +130, 1699.23614742, 500, 495.8398288531 +131, 5117.058640509, 500, 494.1630388538 +132, 6143.738504433, 500, 516.6482122194 +133, 6884.445927939, 500, 499.2415848607 +134, 5647.817460317, 500, 500 +135, 2074.074074074, 500, 387.1742112483 +136, 4740.740740741, 500, 387.1742112483 +137, 3407.407407407, 500, 387.1742112483 +138, 6529.516791737, 500, 627.4332053038 +139, 804.4217687075, 500, 659.9969205789 +140, 7195.578231293, 500, 659.9969205789 +141, 4074.074074074, 500, 332.304526749 +142, 2740.740740741, 500, 667.695473251 +143, 1382.137645064, 500, 288.4521733197 +144, 2741.004091223, 500, 332.3822371418 +145, 4074.074074074, 500, 670.2611488393 +146, 1407.407407407, 500, 670.2611488393 +147, 826.7490268625, 500, 328.5645802714 +148, 7177.028374479, 500, 295.7407964371 +149, 5374.773883658, 500, 676.6557030117 +150, 5391.526003346, 500, 272.9862201232 +151, 3295.60090098, 500, 684.4654431861 +152, 6406.712012091, 500, 315.5345568139 +153, 2185.880580502, 500, 684.4654431861 +154, 4628.934234313, 500, 684.4654431861 +155, 5898.609576424, 500, 684.4424185223 +156, 5895.787242082, 500, 295.8663221083 +157, 7726.775388768, 500, 718.3978200389 +158, 7729.50895177, 500, 265.8809839195 +159, 273.2246112319, 500, 718.3978200389 +160, 270.49104823, 500, 265.8809839195 +161, 3564.677059948, 500, 741.9687593464 +162, 4894.335774469, 500, 743.8671801071 +163, 1916.804421534, 500, 741.9687593464 +164, 6675.647623859, 500, 257.9647404998 +165, 4528.500516255, 500, 248.6840861002 +166, 2297.48138818, 500, 256.417212876 +167, 3184.000093301, 500, 256.417212876 +168, 1863.453366261, 500, 248.9920802647 +169, 3620.764124938, 500, 249.5772677546 +170, 4980.683550416, 500, 263.8356331346 +171, 6311.691982698, 500, 752.5313754678 +172, 6758.461328194, 500, 736.1643668654 +173, 579.1873060519, 500, 230.9993626386 +174, 7420.812693948, 500, 230.9993626386 +175, 4370.37037037, 500, 755.4869684499 +176, 2444.444444444, 500, 755.4869684499 +177, 3037.037037037, 500, 755.4869684499 +178, 1110.088791182, 500, 256.9177769899 +179, 6148.148148148, 500, 244.5130315501 +180, 1128.204964124, 500, 743.4579917656 +181, 7445.777509265, 500, 767.6090351513 +182, 554.2224907354, 500, 767.6090351513 +183, 1642.393190298, 500, 771.6552052356 +184, 3839.088291183, 500, 771.6552052356 +185, 6951.850743427, 500, 250.7333122787 +186, 5620.172216373, 500, 235.6164310896 +187, 5620.548263059, 500, 749.3388620997 +188, 5159.555818783, 500, 758.7270417101 +189, 6994.498109214, 500, 768.2631379536 +190, 211.2329077854, 500, 500 +191, 7788.767092215, 500, 500 +192, 4286.145296185, 500, 217.5085001689 +193, 3861.920453794, 500, 217.0071335448 +194, 1609.348844054, 500, 226.8932860237 +195, 2528.123751687, 500, 217.0120711857 +196, 2953.357729795, 500, 217.0120711857 +197, 5190.802710097, 500, 215.5276462081 +198, 6078.215097343, 500, 792.0363019678 +199, 3583.820835842, 500, 478.2349496124 +200, 6684.083892865, 500, 492.0074363025 +201, 1906.691375942, 500, 499.9397986967 +202, 4908.123285768, 500, 499.9358754755 +203, 690.7517533456, 500, 481.4907334328 +204, 7312.152665936, 500, 474.7119145276 +205, 4819.364136862, 500, 211.52595606 +206, 3331.312837011, 500, 210.9915585925 +207, 2150.274633248, 500, 210.4619028105 +208, 6570.679781659, 500, 806.4128943759 +209, 3206.182795292, 500, 488.3724952733 +210, 2275.298686189, 500, 488.3724952733 +211, 4539.505849927, 500, 488.3817954969 +212, 6331.498674224, 500, 510.4482450257 +213, 7085.94561597, 500, 496.2092121953 +214, 914.0543840301, 500, 496.2092121953 +215, 4179.715890024, 500, 497.319281051 +216, 2634.80693293, 500, 495.2995176096 +217, 1518.677227177, 500, 500.4355167598 +218, 2845.70308435, 500, 495.7794310961 +219, 1298.925089497, 500, 500.623184004 +220, 3953.519037873, 500, 508.9347634405 +221, 5838.996223242, 500, 497.059855339 +222, 5289.258388662, 500, 518.0355527937 +223, 925.8247595579, 500, 810.3303624768 +224, 2587.205481784, 500, 813.1174093119 +225, 1279.1410895, 500, 190.6762569908 +226, 2868.171864373, 500, 792.3428470175 +227, 4231.074077427, 500, 814.6492663298 +228, 1253.256379557, 500, 812.6444368824 +229, 971.4204314741, 500, 186.6840963507 +230, 4763.064250687, 500, 811.9185666344 +231, 2048.453955689, 500, 807.7927457699 +232, 3433.027525793, 500, 807.7927457699 +233, 6544.094702285, 500, 192.1924774344 +234, 7259.309095211, 500, 776.9781831817 +235, 717.8965209484, 500, 803.5750168034 +236, 4524.024126217, 500, 837.4173516253 +237, 3190.690792884, 500, 837.4173516253 +238, 2290.790688597, 500, 837.4173516253 +239, 6301.801903995, 500, 162.5826483747 +240, 5782.151001756, 500, 822.6144529923 +241, 5777.242432958, 500, 180.4130757713 +242, 6008.727830919, 500, 156.4310587976 +243, 725.616018247, 500, 174.8167728542 +244, 7262.823446094, 500, 192.4538441331 +245, 1494.792830622, 500, 827.7556137962 +246, 3986.68865086, 500, 827.7556137962 +247, 7825.553130633, 500, 162.9447551924 +248, 7826.130266239, 500, 836.4834420448 +249, 174.4468693673, 500, 162.9447551924 +250, 173.869733761, 500, 836.4834420448 +251, 5516.752462996, 500, 470.6199602079 +252, 4074.074074074, 500, 121.8568274814 +253, 7086.699429391, 500, 190.4975859899 +254, 428.4475605845, 500, 183.5079071504 +255, 7571.552439415, 500, 183.5079071504 +256, 2740.740740741, 500, 121.1451206214 +257, 5467.691311006, 500, 187.5178905526 +258, 5467.400791725, 500, 828.2803450779 +259, 4734.05158911, 500, 583.8482801067 +260, 2080.763225705, 500, 583.8482801067 +261, 3400.718255777, 500, 583.8482801067 +262, 6511.829366888, 500, 416.1517198933 +263, 400.3512081049, 500, 846.8008971382 +264, 7599.648791895, 500, 846.8008971382 +265, 966.6320735278, 500, 698.6479758228 +266, 5297.676075083, 500, 839.2396947388 +267, 2609.605679117, 500, 653.4814963797 +268, 2884.656176356, 500, 632.9897863357 +269, 1250.49342925, 500, 354.3930179148 +270, 1457.704031244, 500, 174.3859758449 +271, 4205.766329804, 500, 654.8844048421 +272, 1276.59850658, 500, 654.8512204593 +273, 3475.795749056, 500, 130.9814309552 +274, 2006.182579735, 500, 130.3681769603 +275, 4672.905286242, 500, 130.7696267773 +276, 6449.49728644, 500, 872.3962429174 +277, 956.5842338869, 500, 344.1259476993 +278, 5741.105115277, 500, 636.3630916366 +279, 5737.421169773, 500, 356.0063687111 +280, 1788.129389747, 500, 835.2679450896 +281, 3693.352091735, 500, 835.2679450896 +282, 6807.773849263, 500, 176.4552448704 +283, 6257.079127395, 500, 375.7316242979 +284, 3147.801784975, 500, 623.8970090044 +285, 2333.679696506, 500, 623.8970090044 +286, 4481.064200457, 500, 623.9553851735 +287, 142.4887551325, 500, 365.5479406573 +288, 132.6964483978, 500, 621.9515129513 +289, 7857.511244867, 500, 365.5479406573 +290, 7867.303551602, 500, 621.9515129513 +291, 6050.90478614, 500, 631.1049050999 +292, 5999.228508041, 500, 426.6577526875 +293, 5530.871267589, 500, 613.5892457981 +294, 5022.5514712, 500, 823.4910615448 +295, 444.8681007541, 500, 336.595826459 +296, 7555.131899246, 500, 336.595826459 +297, 5208.421967837, 500, 373.861986021 +298, 7124.013307196, 500, 843.4626017776 +299, 7643.596658118, 500, 576.1777158335 +300, 356.4033418822, 500, 576.1777158335 +301, 7325.398274567, 500, 624.7219971245 +302, 669.4128790649, 500, 630.9511423061 +303, 4271.425943017, 500, 381.3314753369 +304, 1604.75927635, 500, 381.3314753369 +305, 3868.644017592, 500, 373.3269497664 +306, 6876.174786203, 500, 844.279083498 +307, 3709.946636101, 500, 659.3070202937 +308, 1771.768711685, 500, 658.2547198118 +309, 2939.648545872, 500, 380.5429652593 +310, 2541.832935609, 500, 380.5429652593 +311, 6823.303377024, 500, 349.0294203693 +312, 5040.282073779, 500, 656.2028896228 +313, 5936.688923737, 500, 836.713643007 +314, 6904.785449318, 500, 659.1042922054 +315, 5208.421967837, 500, 618.4464215357 +316, 3737.536325261, 500, 162.86907533 +317, 1716.247417325, 500, 141.976545035 +318, 4410.701773865, 500, 163.3051394491 +319, 2399.263121787, 500, 170.304494623 +320, 3082.218359694, 500, 170.304494623 +321, 5324.0333045, 500, 155.9163929135 +322, 5090.47858364, 500, 146.9524258936 +323, 3848.098725537, 500, 629.6820378883 +324, 1631.899898746, 500, 626.2985077811 +325, 6985.864847534, 500, 404.1001082151 +326, 7057.84424527, 500, 634.4823372198 +327, 3540.608606644, 500, 373.3332620238 +328, 1813.929384731, 500, 405.8854415265 +329, 6663.27823372, 500, 621.6844664137 +330, 4998.752613089, 500, 410.0543301382 +331, 6170.265987554, 500, 862.3354102332 +332, 592.7655096445, 500, 394.5726165432 +333, 7407.234490356, 500, 394.5726165432 +334, 4938.544501943, 500, 117.6959881341 +335, 2254.573130829, 500, 136.6309374676 +336, 3226.908350652, 500, 136.6309374676 +337, 6699.017575274, 500, 863.3690625324 +338, 6265.667833, 500, 623.542469926 +339, 6382.14457331, 500, 642.5855837743 +340, 3287.707976772, 500, 355.8037022417 +341, 3153.522495894, 500, 380.2202340827 +342, 4466.99115752, 500, 399.2631059533 +343, 2347.823657295, 500, 399.2631059533 +344, 4607.572883809, 500, 377.7127810556 +345, 2198.591727638, 500, 355.9936736952 +346, 4862.28587349, 500, 356.7457451179 +347, 3691.955202283, 500, 403.1983928478 +348, 1949.001316644, 500, 380.1484702474 +349, 7682.268866694, 500, 421.7738234151 +350, 317.7311333063, 500, 421.7738234151 +351, 3557.772894404, 500, 861.8561150805 +352, 1923.708587077, 500, 861.8561150805 +353, 6668.583619555, 500, 137.9360579615 +354, 422.8927914889, 500, 705.2711873456 +355, 7577.107208511, 500, 705.2711873456 +356, 2734.9263151, 500, 888.9545107305 +357, 5503.918843584, 500, 330.7129330397 +358, 7474.552307081, 500, 888.5084838363 +359, 525.4476929185, 500, 888.5084838363 +360, 6035.493573501, 500, 304.1955010476 +361, 540.2212360003, 500, 112.617252417 +362, 7459.778764, 500, 112.617252417 +363, 4354.442907841, 500, 888.3393475161 +364, 2460.784376544, 500, 888.0750968128 +365, 3017.589469779, 500, 885.6019346349 +366, 1114.905056548, 500, 113.2029401224 +367, 1122.287309239, 500, 887.9008082188 +368, 6150.994835872, 500, 112.7053477445 +369, 6563.58674191, 500, 315.8599768733 +370, 3452.475630799, 500, 684.1400231267 +371, 2029.005850682, 500, 684.1400231267 +372, 4785.808964133, 500, 684.1400231267 +373, 4882.931187888, 500, 867.5121506116 +374, 4199.619189653, 500, 120.4700543587 +375, 3948.528958495, 500, 120.4700543587 +376, 2614.905018191, 500, 120.2913099005 +377, 2866.57646329, 500, 120.2913099004 +378, 7706.426190552, 500, 122.7928143207 +379, 293.5738094482, 500, 122.7928143207 +380, 5668.519908699, 500, 108.7874173958 +381, 5672.290534079, 500, 895.9574866333 +382, 6780.506890815, 500, 577.6276790039 +383, 1717.82907269, 500, 316.8197761733 +384, 4650.466764912, 500, 883.5856886039 +385, 2164.348049903, 500, 883.5856886039 +386, 3317.133431578, 500, 883.5856886039 +387, 6428.244542689, 500, 116.4143113961 +388, 836.6508539248, 500, 885.2356310304 +389, 1597.520628273, 500, 893.7491236896 +390, 3883.960853208, 500, 893.7491236896 +391, 6926.46516185, 500, 123.8291964972 +392, 4378.563776959, 500, 305.2556395901 +393, 712.2419870052, 500, 319.6661330458 +394, 7302.22556022, 500, 328.2961990833 +395, 3045.329464591, 500, 305.2803582037 +396, 2436.15201689, 500, 305.2803582037 +397, 1106.157477872, 500, 386.0021795032 +398, 1117.905742213, 500, 622.1179377282 +399, 3756.164024774, 500, 281.1957638487 +400, 5097.699677598, 500, 317.3991767082 +401, 5131.145465942, 500, 885.7289564223 +402, 6154.250245047, 500, 697.1943164034 +403, 3452.152715256, 500, 274.194607083 +404, 1567.617860034, 500, 108.8101361809 +405, 7062.497309776, 500, 300.4040370786 +406, 6482.647520261, 500, 739.9989516416 +407, 4693.327611746, 500, 269.3936206071 +408, 1517.122817861, 500, 694.5768231229 +409, 3963.798060037, 500, 695.195459982 +410, 1857.917413405, 500, 104.267360452 +411, 3622.824789221, 500, 105.372700677 +412, 4525.502882516, 500, 105.3044433593 +413, 847.6263774639, 500, 110.0706481512 +414, 282.8731758451, 500, 877.7855258944 +415, 7717.126824155, 500, 877.7855258944 +416, 2027.071986473, 500, 267.3395309728 +417, 7015.77952109, 500, 888.7214870041 +418, 5952.629790679, 500, 557.1247698155 +419, 4107.677356724, 500, 890.2581681721 +420, 1377.859260647, 500, 890.0552715233 +421, 7473.748205742, 500, 616.9720318049 +422, 521.9604750418, 500, 617.1192217304 +423, 95.44983528073, 500, 498.7244340417 +424, 7904.550164719, 500, 498.7244340417 +425, 6121.06263459, 500, 375.5621234277 +426, 4151.522367567, 500, 258.5399142475 +427, 3994.466719791, 500, 258.4176444309 +428, 4354.351085095, 500, 619.1992912312 +429, 2662.945628741, 500, 257.5976899925 +430, 2819.628071254, 500, 258.8282806762 +431, 5418.224057724, 500, 540.7868886714 +432, 5883.187458672, 500, 112.3186809817 +433, 3021.640795817, 500, 618.6923063383 +434, 2459.840685665, 500, 618.6923063383 +435, 5610.380855453, 500, 379.8881331671 +436, 5262.288932839, 500, 722.8898289041 +437, 7184.700911555, 500, 93.46533188648 +438, 807.688223511, 500, 444.1371468926 +439, 7195.342883397, 500, 541.5688635154 +440, 1496.077915703, 500, 335.9586280279 +441, 5551.345998174, 500, 92.16588192524 +442, 5551.345998174, 500, 907.8341180748 +443, 6304.809569857, 500, 897.4526057237 +444, 829.6313895053, 500, 772.7215069247 +445, 4074.074074074, 500, 556.2021550156 +446, 2740.740740741, 500, 553.6364794273 +447, 1407.407407407, 500, 556.2021550156 +448, 7752.921937697, 500, 605.6891042726 +449, 247.0780623026, 500, 605.6891042726 +450, 2742.554426357, 500, 441.5570800915 +451, 1392.28645235, 500, 422.6774458403 +452, 4071.348829586, 500, 445.2310697794 +453, 965.6969126809, 500, 912.0774375447 +454, 6034.870736488, 500, 895.1962961523 +455, 4813.423945489, 500, 88.01313845014 +456, 3336.804449325, 500, 89.91235845461 +457, 2145.712718073, 500, 88.10035749617 +458, 6588.322684837, 500, 913.331072319 +459, 5217.485699957, 500, 106.995148383 +460, 7126.248597637, 500, 736.6366361423 +461, 7037.037037037, 500, 82.53410217182 +462, 626.1800075871, 500, 891.9385071582 +463, 7344.208374617, 500, 889.0402901816 +464, 103.7999169574, 500, 743.8593806334 +465, 106.4046522369, 500, 246.5811076583 +466, 7893.595347763, 500, 246.5811076583 +467, 7896.200083043, 500, 743.8593806335 +468, 635.6715787265, 500, 103.686677582 +469, 7346.378414416, 500, 97.80962770946 +470, 5498.398551508, 500, 716.9660389969 +471, 5855.635907299, 500, 914.8320239998 +472, 3551.601234022, 500, 594.5031057096 +473, 1935.137204973, 500, 601.7061618925 +474, 4882.690804683, 500, 597.4202283839 +475, 6657.508507649, 500, 398.2113637307 +476, 6988.367503142, 500, 547.5015401797 +477, 1017.691778556, 500, 452.5324074872 +478, 5387.738295781, 500, 904.280458685 +479, 2726.143896583, 500, 776.6288178803 +480, 5283.586833207, 500, 287.1772893263 +481, 1200.972797055, 500, 544.4575711593 +482, 3667.851315376, 500, 531.9107568715 +483, 1815.190507451, 500, 537.2906229149 +484, 6772.260231715, 500, 461.6064770026 +485, 4999.58165966, 500, 536.8608981169 +486, 7203.654240851, 500, 428.7251895574 +487, 788.2251565826, 500, 551.7972272592 +488, 3161.232159794, 500, 728.6712438637 +489, 2320.249321687, 500, 728.6712438637 +490, 4494.552829225, 500, 728.6816681797 +491, 6272.01581221, 500, 271.2624406545 +492, 4089.959200654, 500, 778.43234038 +493, 1391.522280828, 500, 778.43234038 +494, 2538.431512199, 500, 533.9762407064 +495, 2944.736956395, 500, 531.1174126268 +496, 7904.589064687, 500, 906.4443132121 +497, 95.41093531347, 500, 906.4443132121 +498, 90.5073631895, 500, 102.1888063561 +499, 7909.492636811, 500, 102.1888063561 +500, 5414.042014907, 500, 82.15017852358 +501, 1699.279797219, 500, 906.5211180824 +502, 3782.201684262, 500, 906.5211180824 +503, 1363.769233362, 500, 100.3646310728 +504, 2592.592592593, 500, 920.2962504519 +505, 2882.32045783, 500, 915.3559704695 +506, 4276.278113147, 500, 534.7238900715 +507, 5635.08552656, 500, 624.8227998836 +508, 1255.266779586, 500, 80.84876563719 +509, 2664.628802972, 500, 381.475898019 +510, 832.8749826326, 500, 219.1274416479 +511, 4222.222222222, 500, 920.984099342 +512, 1259.259259259, 500, 920.984099342 +513, 600.1101576452, 500, 534.8185943508 +514, 7399.889842355, 500, 534.8185943508 +515, 4149.617420853, 500, 382.9452534328 +516, 3343.038093334, 500, 473.3798669279 +517, 2202.81311541, 500, 570.7926188997 +518, 4676.371426667, 500, 473.3798669279 +519, 4611.985460095, 500, 570.8061541782 +520, 2140.0547569, 500, 476.2901729998 +521, 3278.668366072, 500, 570.7926188997 +522, 6458.982645117, 500, 524.6420497887 +523, 6399.472142055, 500, 426.8706861201 +524, 962.962962963, 500, 78.00542123291 +525, 2492.705275155, 500, 102.9400931028 +526, 2988.776206326, 500, 102.9400931028 +527, 4316.723988779, 500, 103.2954625909 +528, 3831.424930064, 500, 103.1998063927 +529, 7218.944669476, 500, 901.1460389205 +530, 3471.199072171, 500, 481.7456126048 +531, 2014.286992373, 500, 488.1845158652 +532, 4804.089608861, 500, 475.7595677289 +533, 6584.199906329, 500, 513.3550402388 +534, 2817.707643811, 500, 381.817998853 +535, 6634.452749644, 500, 735.5099606525 +536, 5998.042142165, 500, 722.8587787582 +537, 3989.579837828, 500, 384.1501662719 +538, 7102.959324255, 500, 392.0640895099 +539, 1002.715395533, 500, 561.2332349843 +540, 5373.098365337, 500, 399.1686900262 +541, 3466.069175526, 500, 912.9454699643 +542, 2015.412305955, 500, 912.9454699643 +543, 1195.485104514, 500, 453.5700295135 +544, 1021.729203826, 500, 810.4829151657 +545, 895.2097556762, 500, 593.5769141681 +546, 6576.897880225, 500, 87.08557198303 + + +** Face elements +*Element, TYPE=S3, ELSET=Efaces +123, 220, 445, 409 +124, 408, 447, 217 +125, 128, 285, 210 +126, 211, 286, 125 +127, 209, 284, 126 +128, 132, 283, 212 +129, 206, 340, 167 +130, 166, 345, 207 +131, 220, 409, 323 +132, 324, 408, 217 +133, 345, 416, 207 +134, 135, 416, 345 +135, 206, 403, 340 +136, 155, 278, 221 +137, 221, 278, 134 +138, 134, 279, 221 +139, 221, 279, 156 +140, 340, 403, 137 +141, 149, 315, 222 +142, 240, 278, 155 +143, 241, 279, 186 +144, 156, 279, 241 +145, 187, 278, 240 +146, 182, 302, 235 +147, 234, 301, 181 +148, 235, 302, 139 +149, 140, 301, 234 +150, 170, 346, 205 +151, 273, 456, 33 +152, 42, 455, 275 +153, 24, 457, 274 +154, 276, 458, 113 +155, 232, 386, 151 +156, 153, 385, 231 +157, 152, 387, 233 +158, 230, 384, 154 +159, 162, 312, 294 +160, 294, 312, 188 +161, 225, 270, 143 +162, 222, 431, 149 +163, 104, 266, 105 +164, 346, 407, 205 +165, 177, 365, 226 +166, 224, 364, 176 +167, 178, 366, 225 +168, 156, 292, 221 +169, 226, 268, 177 +170, 142, 268, 226 +171, 176, 267, 224 +172, 143, 269, 225 +173, 225, 269, 178 +174, 151, 386, 237 +175, 238, 385, 153 +176, 239, 387, 152 +177, 154, 384, 236 +178, 291, 418, 132 +179, 132, 418, 292 +180, 103, 373, 294 +181, 102, 373, 103 +182, 217, 451, 440 +183, 228, 367, 180 +184, 175, 363, 227 +185, 265, 444, 139 +186, 230, 373, 101 +187, 172, 314, 306 +188, 306, 314, 189 +189, 136, 407, 346 +190, 104, 401, 266 +191, 180, 272, 228 +192, 227, 271, 175 +193, 223, 444, 265 +194, 254, 379, 13 +195, 61, 378, 255 +196, 280, 352, 81 +197, 94, 351, 281 +198, 282, 353, 56 +199, 241, 432, 156 +200, 289, 349, 158 +201, 160, 350, 287 +202, 229, 366, 178 +203, 148, 253, 244 +204, 178, 277, 229 +205, 156, 432, 242 +206, 191, 349, 289 +207, 287, 350, 190 +208, 185, 311, 282 +209, 282, 311, 164 +210, 131, 297, 222 +211, 161, 307, 281 +212, 183, 308, 280 +213, 280, 308, 163 +214, 281, 307, 184 +215, 56, 353, 55 +216, 81, 352, 82 +217, 93, 351, 94 +218, 217, 440, 304 +219, 205, 334, 170 +220, 167, 336, 206 +221, 207, 335, 166 +222, 34, 273, 33 +223, 42, 275, 41 +224, 24, 274, 23 +225, 112, 276, 113 +226, 53, 239, 52 +227, 99, 236, 100 +228, 90, 237, 91 +229, 84, 238, 85 +230, 210, 343, 128 +231, 125, 342, 211 +232, 126, 341, 209 +233, 212, 338, 132 +234, 11, 379, 249 +235, 247, 378, 63 +236, 217, 304, 130 +237, 127, 305, 220 +238, 158, 296, 255 +239, 254, 295, 160 +240, 62, 378, 61 +241, 13, 379, 12 +242, 206, 456, 273 +243, 275, 455, 205 +244, 274, 457, 207 +245, 208, 458, 276 +246, 234, 460, 140 +247, 71, 263, 72 +248, 120, 264, 121 +249, 409, 445, 145 +250, 146, 447, 408 +251, 173, 295, 254 +252, 255, 296, 174 +253, 277, 438, 147 +254, 214, 438, 277 +255, 222, 315, 131 +256, 258, 266, 149 +257, 71, 414, 263 +258, 264, 415, 121 +259, 130, 324, 217 +260, 220, 323, 127 +261, 51, 242, 50 +262, 132, 402, 291 +263, 267, 479, 224 +264, 221, 418, 155 +265, 247, 466, 158 +266, 157, 467, 248 +267, 160, 465, 249 +268, 250, 464, 159 +269, 298, 460, 234 +270, 338, 402, 132 +271, 142, 479, 267 +272, 290, 467, 157 +273, 158, 466, 289 +274, 287, 465, 160 +275, 159, 464, 288 +276, 12, 379, 11 +277, 63, 378, 62 +278, 303, 392, 125 +279, 131, 400, 297 +280, 128, 396, 310 +281, 309, 395, 126 +282, 150, 321, 257 +283, 125, 392, 342 +284, 343, 396, 128 +285, 126, 395, 341 +286, 127, 347, 305 +287, 272, 493, 228 +288, 227, 492, 271 +289, 330, 400, 131 +290, 138, 535, 406 +291, 110, 454, 331 +292, 274, 416, 168 +293, 171, 406, 276 +294, 275, 407, 165 +295, 169, 403, 273 +296, 146, 493, 272 +297, 271, 492, 145 +298, 101, 373, 102 +299, 134, 293, 251 +300, 110, 331, 111 +301, 366, 508, 225 +302, 239, 368, 52 +303, 99, 363, 236 +304, 90, 365, 237 +305, 238, 364, 85 +306, 347, 399, 305 +307, 224, 504, 364 +308, 365, 505, 226 +309, 304, 383, 130 +310, 267, 446, 142 +311, 216, 446, 267 +312, 268, 446, 218 +313, 142, 446, 268 +314, 168, 416, 348 +315, 130, 383, 328 +316, 393, 438, 203 +317, 277, 510, 229 +318, 300, 350, 124 +319, 123, 349, 299 +320, 339, 406, 171 +321, 165, 407, 344 +322, 145, 445, 271 +323, 271, 445, 215 +324, 272, 447, 146 +325, 219, 447, 272 +326, 147, 510, 277 +327, 38, 252, 37 +328, 327, 403, 169 +329, 124, 350, 295 +330, 296, 349, 123 +331, 363, 511, 227 +332, 228, 512, 367 +333, 440, 451, 143 +334, 245, 389, 79 +335, 96, 390, 246 +336, 115, 337, 306 +337, 29, 256, 28 +338, 139, 444, 235 +339, 226, 479, 142 +340, 45, 322, 44 +341, 155, 313, 240 +342, 139, 545, 265 +343, 317, 404, 21 +344, 122, 415, 248 +345, 250, 414, 70 +346, 185, 391, 253 +347, 229, 524, 366 +348, 269, 451, 219 +349, 143, 451, 269 +350, 162, 373, 230 +351, 231, 371, 153 +352, 154, 372, 230 +353, 151, 370, 232 +354, 233, 369, 152 +355, 51, 368, 242 +356, 319, 335, 26 +357, 31, 336, 320 +358, 233, 353, 164 +359, 161, 351, 232 +360, 231, 352, 163 +361, 22, 317, 21 +362, 179, 368, 239 +363, 237, 365, 177 +364, 176, 364, 238 +365, 236, 363, 175 +366, 45, 459, 322 +367, 108, 381, 240 +368, 241, 380, 49 +369, 235, 462, 182 +370, 181, 463, 234 +371, 175, 490, 236 +372, 177, 488, 237 +373, 238, 489, 176 +374, 239, 491, 179 +375, 115, 306, 116 +376, 101, 384, 230 +377, 472, 482, 307 +378, 308, 483, 473 +379, 311, 484, 475 +380, 474, 485, 312 +381, 299, 421, 123 +382, 124, 422, 300 +383, 161, 472, 307 +384, 308, 473, 163 +385, 311, 475, 164 +386, 162, 474, 312 +387, 406, 535, 208 +388, 257, 357, 150 +389, 186, 357, 257 +390, 173, 468, 243 +391, 244, 469, 174 +392, 391, 461, 253 +393, 232, 370, 161 +394, 163, 371, 231 +395, 230, 372, 162 +396, 164, 369, 233 +397, 242, 368, 179 +398, 159, 414, 250 +399, 248, 415, 157 +400, 480, 540, 297 +401, 240, 471, 108 +402, 266, 401, 188 +403, 204, 486, 394 +404, 355, 421, 299 +405, 300, 422, 354 +406, 149, 436, 315 +407, 306, 417, 116 +408, 95, 390, 96 +409, 79, 389, 80 +410, 329, 535, 138 +411, 44, 334, 43 +412, 114, 337, 115 +413, 26, 335, 25 +414, 32, 336, 31 +415, 322, 334, 44 +416, 255, 378, 158 +417, 160, 379, 254 +418, 158, 378, 247 +419, 249, 379, 160 +420, 204, 394, 333 +421, 332, 393, 203 +422, 235, 388, 74 +423, 6, 287, 7 +424, 68, 290, 67 +425, 66, 289, 65 +426, 8, 288, 9 +427, 301, 439, 204 +428, 140, 439, 301 +429, 121, 415, 122 +430, 70, 414, 71 +431, 147, 438, 393 +432, 74, 462, 235 +433, 257, 441, 186 +434, 187, 442, 258 +435, 263, 414, 159 +436, 157, 415, 264 +437, 251, 435, 134 +438, 180, 544, 265 +439, 265, 544, 223 +440, 179, 360, 242 +441, 242, 360, 156 +442, 150, 540, 480 +443, 255, 362, 61 +444, 13, 361, 254 +445, 150, 480, 321 +446, 159, 354, 263 +447, 264, 355, 157 +448, 309, 430, 196 +449, 195, 429, 310 +450, 248, 496, 122 +451, 70, 497, 250 +452, 249, 498, 11 +453, 63, 499, 247 +454, 280, 501, 183 +455, 184, 502, 281 +456, 263, 354, 182 +457, 181, 355, 264 +458, 303, 426, 192 +459, 193, 427, 305 +460, 153, 489, 238 +461, 236, 490, 154 +462, 237, 488, 151 +463, 152, 491, 239 +464, 49, 432, 241 +465, 297, 540, 222 +466, 56, 391, 282 +467, 153, 371, 260 +468, 259, 372, 154 +469, 261, 370, 151 +470, 152, 369, 262 +471, 309, 534, 430 +472, 429, 509, 310 +473, 314, 326, 189 +474, 194, 404, 317 +475, 312, 315, 188 +476, 131, 315, 312 +477, 236, 384, 100 +478, 84, 385, 238 +479, 53, 387, 239 +480, 237, 386, 91 +481, 361, 468, 173 +482, 174, 469, 362 +483, 183, 501, 389 +484, 390, 502, 184 +485, 303, 515, 426 +486, 186, 380, 241 +487, 240, 381, 187 +488, 427, 537, 305 +489, 295, 332, 124 +490, 173, 332, 295 +491, 123, 333, 296 +492, 296, 333, 174 +493, 276, 443, 171 +494, 211, 519, 286 +495, 285, 517, 210 +496, 209, 521, 284 +497, 283, 523, 212 +498, 273, 411, 169 +499, 168, 410, 274 +500, 165, 412, 275 +501, 15, 413, 243 +502, 270, 440, 143 +503, 79, 420, 245 +504, 246, 419, 96 +505, 286, 519, 154 +506, 153, 517, 285 +507, 284, 521, 151 +508, 152, 523, 283 +509, 107, 381, 108 +510, 49, 380, 48 +511, 244, 394, 148 +512, 243, 393, 173 +513, 174, 394, 244 +514, 308, 324, 130 +515, 183, 324, 308 +516, 127, 323, 307 +517, 307, 323, 184 +518, 151, 521, 261 +519, 154, 519, 259 +520, 260, 517, 153 +521, 262, 523, 152 +522, 242, 432, 50 +523, 163, 352, 280 +524, 281, 351, 161 +525, 258, 470, 187 +526, 311, 325, 133 +527, 185, 325, 311 +528, 306, 337, 172 +529, 164, 353, 282 +530, 318, 527, 40 +531, 35, 528, 316 +532, 254, 361, 173 +533, 174, 362, 255 +534, 183, 389, 245 +535, 246, 390, 184 +536, 26, 525, 319 +537, 320, 526, 31 +538, 40, 527, 39 +539, 36, 528, 35 +540, 245, 408, 183 +541, 184, 409, 246 +542, 243, 468, 15 +543, 38, 374, 252 +544, 252, 375, 37 +545, 266, 436, 149 +546, 27, 525, 26 +547, 31, 526, 30 +548, 294, 373, 162 +549, 253, 437, 244 +550, 120, 358, 264 +551, 263, 359, 72 +552, 256, 376, 28 +553, 29, 377, 256 +554, 213, 439, 326 +555, 326, 439, 140 +556, 253, 405, 185 +557, 148, 405, 253 +558, 331, 454, 198 +559, 182, 462, 359 +560, 358, 463, 181 +561, 57, 391, 56 +562, 168, 383, 317 +563, 317, 383, 194 +564, 5, 498, 465 +565, 464, 497, 10 +566, 466, 499, 64 +567, 69, 496, 467 +568, 198, 402, 331 +569, 331, 402, 171 +570, 381, 442, 187 +571, 186, 441, 380 +572, 149, 470, 258 +573, 182, 359, 263 +574, 264, 358, 181 +575, 290, 424, 67 +576, 8, 423, 288 +577, 287, 423, 7 +578, 66, 424, 289 +579, 320, 336, 167 +580, 166, 335, 319 +581, 322, 400, 170 +582, 197, 400, 322 +583, 154, 490, 286 +584, 285, 489, 153 +585, 151, 488, 284 +586, 283, 491, 152 +587, 270, 503, 20 +588, 265, 398, 180 +589, 318, 392, 192 +590, 165, 392, 318 +591, 169, 411, 316 +592, 318, 412, 165 +593, 317, 410, 168 +594, 167, 395, 320 +595, 320, 395, 196 +596, 319, 396, 166 +597, 195, 396, 319 +598, 194, 440, 270 +599, 190, 423, 287 +600, 288, 423, 190 +601, 191, 424, 290 +602, 289, 424, 191 +603, 216, 494, 310 +604, 310, 494, 128 +605, 309, 495, 218 +606, 126, 495, 309 +607, 303, 506, 215 +608, 125, 506, 303 +609, 134, 507, 293 +610, 269, 397, 178 +611, 243, 510, 393 +612, 189, 417, 306 +613, 172, 382, 314 +614, 190, 350, 300 +615, 299, 349, 191 +616, 171, 443, 331 +617, 158, 349, 296 +618, 295, 350, 160 +619, 61, 362, 60 +620, 14, 361, 13 +621, 20, 404, 270 +622, 193, 399, 316 +623, 316, 399, 169 +624, 393, 510, 147 +625, 292, 425, 132 +626, 294, 401, 103 +627, 203, 487, 302 +628, 302, 487, 139 +629, 328, 348, 201 +630, 327, 347, 199 +631, 202, 346, 330 +632, 357, 435, 251 +633, 268, 433, 177 +634, 176, 434, 267 +635, 156, 360, 292 +636, 267, 494, 216 +637, 218, 495, 268 +638, 225, 503, 270 +639, 271, 428, 175 +640, 155, 418, 291 +641, 258, 478, 266 +642, 266, 478, 105 +643, 314, 476, 326 +644, 300, 354, 159 +645, 157, 355, 299 +646, 180, 398, 272 +647, 39, 374, 38 +648, 37, 375, 36 +649, 28, 376, 27 +650, 30, 377, 29 +651, 282, 391, 185 +652, 272, 481, 219 +653, 178, 397, 277 +654, 283, 425, 179 +655, 175, 428, 286 +656, 250, 497, 464 +657, 465, 498, 249 +658, 247, 499, 466 +659, 467, 496, 248 +660, 177, 433, 284 +661, 285, 434, 176 +662, 270, 404, 194 +663, 215, 506, 271 +664, 117, 417, 298 +665, 278, 507, 134 +666, 219, 543, 269 +667, 187, 507, 278 +668, 273, 403, 206 +669, 256, 430, 429 +670, 429, 430, 144 +671, 329, 382, 172 +672, 288, 449, 159 +673, 157, 448, 290 +674, 279, 435, 186 +675, 81, 501, 280 +676, 281, 502, 94 +677, 205, 407, 275 +678, 276, 406, 208 +679, 188, 436, 266 +680, 277, 477, 214 +681, 274, 410, 23 +682, 34, 411, 273 +683, 275, 412, 41 +684, 207, 416, 274 +685, 291, 536, 155 +686, 179, 491, 283 +687, 284, 488, 177 +688, 176, 489, 285 +689, 286, 490, 175 +690, 426, 427, 252 +691, 141, 427, 426 +692, 59, 469, 437 +693, 112, 443, 276 +694, 106, 478, 442 +695, 134, 435, 279 +696, 170, 334, 322 +697, 132, 425, 283 +698, 5, 465, 6 +699, 9, 464, 10 +700, 65, 466, 64 +701, 69, 467, 68 +702, 286, 428, 125 +703, 284, 433, 126 +704, 128, 434, 285 +705, 50, 432, 49 +706, 46, 459, 45 +707, 321, 459, 46 +708, 100, 384, 101 +709, 83, 385, 84 +710, 91, 386, 92 +711, 54, 387, 53 +712, 293, 507, 187 +713, 293, 470, 149 +714, 322, 459, 197 +715, 394, 486, 148 +716, 292, 418, 221 +717, 313, 454, 109 +718, 289, 466, 65 +719, 6, 465, 287 +720, 288, 464, 9 +721, 68, 467, 290 +722, 155, 536, 313 +723, 293, 431, 251 +724, 149, 431, 293 +725, 442, 478, 258 +726, 437, 469, 244 +727, 119, 358, 120 +728, 72, 359, 73 +729, 188, 401, 294 +730, 103, 401, 104 +731, 298, 529, 117 +732, 20, 503, 19 +733, 198, 536, 402 +734, 402, 536, 291 +735, 251, 540, 357 +736, 357, 540, 150 +737, 297, 400, 197 +738, 314, 382, 133 +739, 165, 344, 342 +740, 340, 341, 167 +741, 343, 345, 166 +742, 210, 345, 343 +743, 209, 341, 340 +744, 342, 344, 211 +745, 338, 339, 171 +746, 212, 339, 338 +747, 325, 476, 133 +748, 213, 476, 325 +749, 347, 482, 199 +750, 87, 356, 88 +751, 116, 417, 117 +752, 305, 399, 193 +753, 190, 449, 288 +754, 290, 448, 191 +755, 330, 346, 170 +756, 168, 348, 328 +757, 169, 347, 327 +758, 192, 392, 303 +759, 194, 383, 304 +760, 16, 413, 15 +761, 109, 454, 110 +762, 133, 476, 314 +763, 187, 470, 293 +764, 182, 422, 302 +765, 301, 421, 181 +766, 96, 419, 97 +767, 78, 420, 79 +768, 298, 417, 189 +769, 310, 396, 195 +770, 196, 395, 309 +771, 74, 388, 75 +772, 98, 363, 99 +773, 18, 366, 17 +774, 76, 367, 77 +775, 85, 364, 86 +776, 52, 368, 51 +777, 89, 365, 90 +778, 189, 460, 298 +779, 83, 542, 385 +780, 386, 541, 92 +781, 21, 404, 20 +782, 234, 529, 298 +783, 54, 546, 387 +784, 197, 480, 297 +785, 348, 531, 201 +786, 202, 532, 346 +787, 118, 463, 119 +788, 73, 462, 74 +789, 191, 448, 299 +790, 300, 449, 190 +791, 159, 449, 300 +792, 299, 448, 157 +793, 321, 480, 197 +794, 328, 383, 168 +795, 475, 533, 262 +796, 259, 532, 474 +797, 473, 531, 260 +798, 261, 530, 472 +799, 313, 536, 198 +800, 117, 529, 118 +801, 22, 410, 317 +802, 316, 411, 35 +803, 40, 412, 318 +804, 170, 400, 330 +805, 360, 425, 292 +806, 118, 529, 463 +807, 356, 504, 224 +808, 87, 504, 356 +809, 226, 505, 356 +810, 356, 505, 88 +811, 202, 485, 474 +812, 475, 484, 200 +813, 473, 483, 201 +814, 199, 482, 472 +815, 315, 436, 188 +816, 122, 496, 4 +817, 11, 498, 1 +818, 2, 497, 70 +819, 3, 499, 63 +820, 137, 403, 327 +821, 76, 453, 367 +822, 409, 492, 246 +823, 145, 492, 409 +824, 408, 493, 146 +825, 245, 493, 408 +826, 200, 382, 329 +827, 23, 410, 22 +828, 35, 411, 34 +829, 41, 412, 40 +830, 204, 514, 301 +831, 302, 513, 203 +832, 304, 440, 194 +833, 89, 505, 365 +834, 364, 504, 86 +835, 367, 512, 77 +836, 98, 511, 363 +837, 366, 524, 17 +838, 18, 508, 366 +839, 111, 443, 112 +840, 4, 496, 69 +841, 1, 498, 5 +842, 10, 497, 2 +843, 64, 499, 3 +844, 183, 408, 324 +845, 323, 409, 184 +846, 39, 527, 374 +847, 375, 528, 36 +848, 109, 471, 313 +849, 305, 537, 220 +850, 200, 533, 475 +851, 474, 532, 202 +852, 201, 531, 473 +853, 472, 530, 199 +854, 215, 515, 303 +855, 185, 405, 325 +856, 173, 393, 332 +857, 333, 394, 174 +858, 385, 542, 231 +859, 232, 541, 386 +860, 218, 534, 309 +861, 376, 525, 27 +862, 30, 526, 377 +863, 307, 482, 127 +864, 130, 483, 308 +865, 310, 509, 216 +866, 198, 454, 313 +867, 133, 484, 311 +868, 105, 478, 106 +869, 312, 485, 131 +870, 387, 546, 233 +871, 127, 482, 347 +872, 313, 471, 240 +873, 60, 469, 59 +874, 15, 468, 14 +875, 342, 392, 165 +876, 341, 395, 167 +877, 166, 396, 343 +878, 192, 527, 318 +879, 316, 528, 193 +880, 7, 423, 8 +881, 67, 424, 66 +882, 196, 526, 320 +883, 319, 525, 195 +884, 333, 514, 204 +885, 332, 513, 124 +886, 203, 513, 332 +887, 123, 514, 333 +888, 437, 461, 58 +889, 328, 483, 130 +890, 201, 483, 328 +891, 330, 485, 202 +892, 131, 485, 330 +893, 59, 437, 58 +894, 253, 461, 437 +895, 331, 443, 111 +896, 169, 399, 347 +897, 171, 402, 338 +898, 106, 442, 107 +899, 48, 441, 47 +900, 181, 421, 355 +901, 354, 422, 182 +902, 179, 425, 360 +903, 138, 406, 339 +904, 344, 407, 136 +905, 348, 416, 135 +906, 453, 544, 367 +907, 55, 546, 54 +908, 92, 541, 93 +909, 82, 542, 83 +910, 326, 460, 189 +911, 223, 453, 388 +912, 388, 453, 75 +913, 108, 471, 109 +914, 94, 502, 95 +915, 80, 501, 81 +916, 340, 516, 209 +917, 137, 516, 340 +918, 136, 518, 344 +919, 210, 520, 345 +920, 344, 518, 211 +921, 345, 520, 135 +922, 212, 522, 339 +923, 339, 522, 138 +924, 186, 435, 357 +925, 356, 479, 226 +926, 75, 453, 76 +927, 113, 458, 114 +928, 33, 456, 32 +929, 43, 455, 42 +930, 25, 457, 24 +931, 135, 531, 348 +932, 346, 532, 136 +933, 58, 461, 57 +934, 197, 459, 321 +935, 426, 515, 141 +936, 327, 530, 137 +937, 199, 530, 327 +938, 138, 533, 329 +939, 329, 533, 200 +940, 337, 535, 172 +941, 208, 535, 337 +942, 369, 475, 262 +943, 259, 474, 372 +944, 371, 473, 260 +945, 261, 472, 370 +946, 47, 500, 46 +947, 19, 508, 18 +948, 86, 504, 87 +949, 88, 505, 89 +950, 97, 511, 98 +951, 77, 512, 78 +952, 144, 509, 429 +953, 17, 524, 16 +954, 46, 500, 321 +955, 321, 500, 257 +956, 375, 427, 193 +957, 252, 427, 375 +958, 192, 426, 374 +959, 374, 426, 252 +960, 325, 538, 213 +961, 196, 430, 377 +962, 377, 430, 256 +963, 256, 429, 376 +964, 376, 429, 195 +965, 140, 460, 326 +966, 463, 529, 234 +967, 326, 476, 213 +968, 257, 500, 441 +969, 441, 500, 47 +970, 114, 458, 337 +971, 335, 457, 25 +972, 207, 457, 335 +973, 334, 455, 43 +974, 336, 456, 206 +975, 205, 455, 334 +976, 32, 456, 336 +977, 337, 458, 208 +978, 431, 540, 251 +979, 222, 540, 431 +980, 141, 537, 427 +981, 430, 534, 144 +982, 93, 541, 351 +983, 352, 542, 82 +984, 265, 539, 398 +985, 353, 546, 55 +986, 269, 543, 397 +987, 382, 484, 133 +988, 172, 535, 329 +989, 539, 545, 214 +990, 214, 487, 438 +991, 213, 486, 439 +992, 413, 524, 229 +993, 16, 524, 413 +994, 107, 442, 381 +995, 380, 441, 48 +996, 200, 484, 382 +997, 419, 511, 97 +998, 227, 511, 419 +999, 78, 512, 420 +1000, 420, 512, 228 +1001, 193, 528, 375 +1002, 374, 527, 192 +1003, 213, 538, 486 +1004, 377, 526, 196 +1005, 195, 525, 376 +1006, 224, 479, 356 +1007, 214, 545, 487 +1008, 265, 545, 539 +1009, 351, 541, 232 +1010, 231, 542, 352 +1011, 119, 463, 358 +1012, 359, 462, 73 +1013, 233, 546, 353 +1014, 235, 444, 388 +1015, 388, 444, 223 +1016, 14, 468, 361 +1017, 362, 469, 60 +1018, 389, 501, 80 +1019, 95, 502, 390 +1020, 57, 461, 391 +1021, 398, 481, 272 +1022, 129, 481, 398 +1023, 370, 472, 161 +1024, 163, 473, 371 +1025, 164, 475, 369 +1026, 372, 474, 162 +1027, 129, 477, 397 +1028, 397, 477, 277 +1029, 398, 539, 129 +1030, 397, 543, 129 +1031, 367, 544, 180 +1032, 405, 538, 325 +1033, 413, 510, 243 +1034, 262, 533, 522 +1035, 260, 531, 520 +1036, 137, 530, 516 +1037, 522, 533, 138 +1038, 516, 530, 261 +1039, 520, 531, 135 +1040, 518, 532, 259 +1041, 136, 532, 518 +1042, 301, 514, 421 +1043, 422, 513, 302 +1044, 420, 493, 245 +1045, 228, 493, 420 +1046, 419, 492, 227 +1047, 246, 492, 419 +1048, 447, 451, 217 +1049, 216, 450, 446 +1050, 445, 452, 215 +1051, 229, 510, 413 +1052, 271, 506, 428 +1053, 148, 538, 405 +1054, 124, 513, 422 +1055, 421, 514, 123 +1056, 268, 495, 433 +1057, 433, 495, 126 +1058, 128, 494, 434 +1059, 434, 494, 267 +1060, 428, 506, 125 +1061, 477, 539, 214 +1062, 446, 450, 218 +1063, 220, 452, 445 +1064, 219, 451, 447 +1065, 439, 486, 204 +1066, 438, 487, 203 +1067, 216, 509, 450 +1068, 481, 543, 219 +1069, 452, 515, 215 +1070, 450, 534, 218 +1071, 220, 537, 452 +1072, 223, 544, 453 +1073, 450, 509, 144 +1074, 486, 538, 148 +1075, 141, 515, 452 +1076, 503, 508, 19 +1077, 522, 523, 262 +1078, 212, 523, 522 +1079, 261, 521, 516 +1080, 260, 520, 517 +1081, 516, 521, 209 +1082, 518, 519, 211 +1083, 517, 520, 210 +1084, 259, 519, 518 +1085, 225, 508, 503 +1086, 144, 534, 450 +1087, 487, 545, 139 +1088, 452, 537, 141 +1089, 129, 539, 477 +1090, 129, 543, 481 + +** Define element set Eall +*ELSET, ELSET=Eall +Efaces + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=MechanicalMaterialThickness +Efaces + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +1, +2, +5, +6, +7, +8, +9, +10, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Calculix-Steel +** MechanicalMaterial +*MATERIAL, NAME=MechanicalMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*SHELL SECTION, ELSET=MechanicalMaterialThickness, MATERIAL=MechanicalMaterial +1000 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 +ConstraintFixed,4 +ConstraintFixed,5 +ConstraintFixed,6 + + +*********************************************************** +** constraints force node loads +*CLOAD +** ConstraintForce +** node loads on shape: CanileverPlate:Edge3 +3,3,-6.4285714285714E+05 +4,3,-6.4285714285715E+05 +64,3,-1.2857142857143E+06 +65,3,-1.2857142857143E+06 +66,3,-1.2857142857143E+06 +67,3,-1.2857142857143E+06 +68,3,-1.2857142857143E+06 +69,3,-1.2857142857143E+06 + + + +*********************************************************** +** Outputs --> frd file +*NODE FILE, OUTPUT=2d +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25335 (Git) +** written on --> Wed Jul 28 16:57:44 2021 +** file name --> test.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria6.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria6.inp new file mode 100644 index 0000000000..31a6b19e5c --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_ele_tria6.inp @@ -0,0 +1,369 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 0, 500, 0 +2, 0, 500, 1000 +3, 8000, 500, 0 +4, 8000, 500, 1000 +5, 0, 500, 500 +6, 0, 500, 250 +7, 0, 500, 750 +8, 500, 500, 0 +9, 1000, 500, 0 +10, 1500, 500, 0 +11, 2000, 500, 0 +12, 2500, 500, 0 +13, 3000, 500, 0 +14, 3500, 500, 0 +15, 4000, 500, 0 +16, 4500, 500, 0 +17, 5000, 500, 0 +18, 5500, 500, 0 +19, 6000, 500, 0 +20, 6500, 500, 0 +21, 7000, 500, 0 +22, 7500, 500, 0 +23, 250, 500, 0 +24, 750, 500, 0 +25, 1250, 500, 0 +26, 1750, 500, 0 +27, 2250, 500, 0 +28, 2750, 500, 0 +29, 3250, 500, 0 +30, 3750, 500, 0 +31, 4250, 500, 0 +32, 4750, 500, 0 +33, 5250, 500, 0 +34, 5750, 500, 0 +35, 6250, 500, 0 +36, 6750, 500, 0 +37, 7250, 500, 0 +38, 7750, 500, 0 +39, 8000, 500, 500 +40, 8000, 500, 250 +41, 8000, 500, 750 +42, 500, 500, 1000 +43, 1000, 500, 1000 +44, 1500, 500, 1000 +45, 2000, 500, 1000 +46, 2500, 500, 1000 +47, 3000, 500, 1000 +48, 3500, 500, 1000 +49, 4000, 500, 1000 +50, 4500, 500, 1000 +51, 5000, 500, 1000 +52, 5500, 500, 1000 +53, 6000, 500, 1000 +54, 6500, 500, 1000 +55, 7000, 500, 1000 +56, 7500, 500, 1000 +57, 250, 500, 1000 +58, 750, 500, 1000 +59, 1250, 500, 1000 +60, 1750, 500, 1000 +61, 2250, 500, 1000 +62, 2750, 500, 1000 +63, 3250, 500, 1000 +64, 3750, 500, 1000 +65, 4250, 500, 1000 +66, 4750, 500, 1000 +67, 5250, 500, 1000 +68, 5750, 500, 1000 +69, 6250, 500, 1000 +70, 6750, 500, 1000 +71, 7250, 500, 1000 +72, 7750, 500, 1000 +73, 714.9234693878, 500, 484.056122449 +74, 1750, 500, 500 +75, 2750, 500, 500 +76, 3750, 500, 500 +77, 4750, 500, 500 +78, 5750, 500, 500 +79, 6756.944444444, 500, 489.5833333333 +80, 7301.463293651, 500, 489.7073412698 +81, 1244.153911565, 500, 497.3426870748 +82, 2250, 500, 500 +83, 3250, 500, 500 +84, 4250, 500, 500 +85, 5250, 500, 500 +86, 6251.157407407, 500, 498.2638888889 +87, 355.2776691685, 500, 632.3045669746 +88, 7660.39819718, 500, 648.5965255879 +89, 7699.764777976, 500, 310.4561768902 +90, 314.0402277112, 500, 323.2721378847 +91, 1122.076955782, 500, 748.6713435374 +92, 1372.076955782, 500, 748.6713435374 +93, 2125, 500, 750 +94, 2375, 500, 750 +95, 3125, 500, 750 +96, 3375, 500, 750 +97, 4125, 500, 750 +98, 4375, 500, 750 +99, 5125, 500, 750 +100, 5375, 500, 750 +101, 6125.578703704, 500, 749.1319444444 +102, 6375.578703704, 500, 749.1319444444 +103, 857.4617346939, 500, 742.0280612245 +104, 979.5386904762, 500, 490.6994047619 +105, 1497.076955782, 500, 498.6713435374 +106, 1625, 500, 750 +107, 1875, 500, 750 +108, 2000, 500, 500 +109, 2500, 500, 500 +110, 2625, 500, 750 +111, 2875, 500, 750 +112, 3000, 500, 500 +113, 3500, 500, 500 +114, 3625, 500, 750 +115, 3875, 500, 750 +116, 4000, 500, 500 +117, 4500, 500, 500 +118, 4625, 500, 750 +119, 4875, 500, 750 +120, 5000, 500, 500 +121, 5500, 500, 500 +122, 5625, 500, 750 +123, 5875, 500, 750 +124, 6000.578703704, 500, 499.1319444444 +125, 6504.050925926, 500, 493.9236111111 +126, 6628.472222222, 500, 744.7916666667 +127, 7150.731646825, 500, 244.8536706349 +128, 7029.203869048, 500, 489.6453373016 +129, 6878.472222222, 500, 244.7916666667 +130, 6878.472222222, 500, 744.7916666667 +131, 7150.731646825, 500, 744.8536706349 +132, 7400.731646825, 500, 244.8536706349 +133, 7400.731646825, 500, 744.8536706349 +134, 857.4617346939, 500, 242.0280612245 +135, 607.4617346939, 500, 242.0280612245 +136, 1875, 500, 250 +137, 1625, 500, 250 +138, 2875, 500, 250 +139, 2625, 500, 250 +140, 3875, 500, 250 +141, 3625, 500, 250 +142, 4875, 500, 250 +143, 4625, 500, 250 +144, 5875, 500, 250 +145, 5625, 500, 250 +146, 6628.472222222, 500, 244.7916666667 +147, 607.4617346939, 500, 742.0280612245 +148, 1122.076955782, 500, 248.6713435374 +149, 1372.076955782, 500, 248.6713435374 +150, 2125, 500, 250 +151, 2375, 500, 250 +152, 3125, 500, 250 +153, 3375, 500, 250 +154, 4125, 500, 250 +155, 4375, 500, 250 +156, 5125, 500, 250 +157, 5375, 500, 250 +158, 6125.578703704, 500, 249.1319444444 +159, 6375.578703704, 500, 249.1319444444 +160, 514.4818485495, 500, 403.6641301669 +161, 407.0201138556, 500, 161.6360689424 +162, 177.6388345842, 500, 566.1522834873 +163, 177.6388345842, 500, 816.1522834873 +164, 427.6388345842, 500, 816.1522834873 +165, 535.1005692781, 500, 558.1803447118 +166, 7599.882388988, 500, 155.2280884451 +167, 7500.614035813, 500, 400.08175908 +168, 7830.19909859, 500, 824.2982627939 +169, 7830.19909859, 500, 574.2982627939 +170, 7580.19909859, 500, 824.2982627939 +171, 7480.930745415, 500, 569.1519334289 +172, 334.6589484399, 500, 477.7883524297 +173, 7849.882388988, 500, 405.2280884451 +174, 7849.882388988, 500, 155.2280884451 +175, 157.0201138556, 500, 161.6360689424 +176, 157.0201138556, 500, 411.6360689424 +177, 7680.081487578, 500, 479.5263512391 + + +** Face elements +*Element, TYPE=S6, ELSET=Efaces +37, 43, 81, 44, 91, 92, 59 +38, 45, 82, 46, 93, 94, 61 +39, 47, 83, 48, 95, 96, 63 +40, 49, 84, 50, 97, 98, 65 +41, 51, 85, 52, 99, 100, 67 +42, 53, 86, 54, 101, 102, 69 +43, 43, 73, 81, 103, 104, 91 +44, 44, 81, 74, 92, 105, 106 +45, 45, 74, 82, 107, 108, 93 +46, 46, 82, 75, 94, 109, 110 +47, 47, 75, 83, 111, 112, 95 +48, 48, 83, 76, 96, 113, 114 +49, 49, 76, 84, 115, 116, 97 +50, 50, 84, 77, 98, 117, 118 +51, 51, 77, 85, 119, 120, 99 +52, 52, 85, 78, 100, 121, 122 +53, 53, 78, 86, 123, 124, 101 +54, 54, 86, 79, 102, 125, 126 +55, 21, 80, 79, 127, 128, 129 +56, 55, 79, 80, 130, 128, 131 +57, 21, 22, 80, 37, 132, 127 +58, 55, 80, 56, 131, 133, 71 +59, 8, 9, 73, 24, 134, 135 +60, 10, 11, 74, 26, 136, 137 +61, 12, 13, 75, 28, 138, 139 +62, 14, 15, 76, 30, 140, 141 +63, 16, 17, 77, 32, 142, 143 +64, 18, 19, 78, 34, 144, 145 +65, 20, 21, 79, 36, 129, 146 +66, 42, 73, 43, 147, 103, 58 +67, 44, 74, 45, 106, 107, 60 +68, 46, 75, 47, 110, 111, 62 +69, 48, 76, 49, 114, 115, 64 +70, 50, 77, 51, 118, 119, 66 +71, 52, 78, 53, 122, 123, 68 +72, 54, 79, 55, 126, 130, 70 +73, 9, 81, 73, 148, 104, 134 +74, 10, 74, 81, 137, 105, 149 +75, 11, 82, 74, 150, 108, 136 +76, 12, 75, 82, 139, 109, 151 +77, 13, 83, 75, 152, 112, 138 +78, 14, 76, 83, 141, 113, 153 +79, 15, 84, 76, 154, 116, 140 +80, 16, 77, 84, 143, 117, 155 +81, 17, 85, 77, 156, 120, 142 +82, 18, 78, 85, 145, 121, 157 +83, 19, 86, 78, 158, 124, 144 +84, 20, 79, 86, 146, 125, 159 +85, 9, 10, 81, 25, 149, 148 +86, 11, 12, 82, 27, 151, 150 +87, 13, 14, 83, 29, 153, 152 +88, 15, 16, 84, 31, 155, 154 +89, 17, 18, 85, 33, 157, 156 +90, 19, 20, 86, 35, 159, 158 +91, 8, 73, 90, 135, 160, 161 +92, 2, 5, 87, 7, 162, 163 +93, 2, 87, 42, 163, 164, 57 +94, 42, 87, 73, 164, 165, 147 +95, 22, 89, 80, 166, 167, 132 +96, 4, 88, 39, 168, 169, 41 +97, 4, 56, 88, 72, 170, 168 +98, 56, 80, 88, 133, 171, 170 +99, 73, 87, 90, 165, 172, 160 +100, 3, 39, 89, 40, 173, 174 +101, 3, 89, 22, 174, 166, 38 +102, 1, 90, 5, 175, 176, 6 +103, 1, 8, 90, 23, 161, 175 +104, 80, 89, 88, 167, 177, 171 +105, 5, 90, 87, 176, 172, 162 +106, 39, 88, 89, 169, 177, 173 + +** Define element set Eall +*ELSET, ELSET=Eall +Efaces + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=MechanicalMaterialThickness +Efaces + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +1, +2, +5, +6, +7, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Calculix-Steel +** MechanicalMaterial +*MATERIAL, NAME=MechanicalMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*SHELL SECTION, ELSET=MechanicalMaterialThickness, MATERIAL=MechanicalMaterial +1000 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 +ConstraintFixed,4 +ConstraintFixed,5 +ConstraintFixed,6 + + +*********************************************************** +** constraints force node loads +*CLOAD +** ConstraintForce +** node loads on shape: CanileverPlate:Edge3 +3,3,-7.5000000000000E+05 +4,3,-7.5000000000000E+05 +39,3,-1.5000000000000E+06 +40,3,-3.0000000000000E+06 +41,3,-3.0000000000000E+06 + + + +*********************************************************** +** Outputs --> frd file +*NODE FILE, OUTPUT=2d +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25335 (Git) +** written on --> Wed Jul 28 17:09:34 2021 +** file name --> test.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_faceload.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_faceload.inp similarity index 94% rename from src/Mod/Fem/femtest/data/calculix/ccxcantilever_faceload.inp rename to src/Mod/Fem/femtest/data/calculix/ccx_cantilever_faceload.inp index 06258a9e06..815e66a119 100644 --- a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_faceload.inp +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_faceload.inp @@ -323,13 +323,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 5, @@ -348,29 +346,25 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** FemMaterial *MATERIAL, NAME=FemMaterial *ELASTIC -210000, 0.300 +210000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -380,7 +374,6 @@ ConstraintFixed,3 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node loads on shape: Box:Face2 @@ -402,7 +395,6 @@ ConstraintFixed,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -414,12 +406,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21875 (Git) ** written on --> Tue Jul 7 07:19:22 2020 ** file name --> ccx_cantilever_faceload.FCStd @@ -443,9 +433,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_nodeload.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_nodeload.inp similarity index 94% rename from src/Mod/Fem/femtest/data/calculix/ccxcantilever_nodeload.inp rename to src/Mod/Fem/femtest/data/calculix/ccx_cantilever_nodeload.inp index f3f3d1b9c6..964b40f707 100644 --- a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_nodeload.inp +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_nodeload.inp @@ -323,13 +323,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 5, @@ -348,29 +346,25 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** FemMaterial *MATERIAL, NAME=FemMaterial *ELASTIC -210000, 0.300 +210000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -380,7 +374,6 @@ ConstraintFixed,3 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node load on shape: Box:Vertex5 @@ -399,7 +392,6 @@ ConstraintFixed,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -411,12 +403,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21875 (Git) ** written on --> Tue Jul 7 07:19:27 2020 ** file name --> ccx_cantilever_nodeload.FCStd @@ -440,9 +430,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_prescribeddisplacement.inp similarity index 93% rename from src/Mod/Fem/femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp rename to src/Mod/Fem/femtest/data/calculix/ccx_cantilever_prescribeddisplacement.inp index 226960c613..0a75d6db51 100644 --- a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp +++ b/src/Mod/Fem/femtest/data/calculix/ccx_cantilever_prescribeddisplacement.inp @@ -323,13 +323,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 5, @@ -348,7 +346,6 @@ Evolumes *********************************************************** ** constraints displacement node sets -** written by write_node_sets_constraints_displacement function ** ConstraintDisplacmentPrescribed *NSET,NSET=ConstraintDisplacmentPrescribed 1, @@ -367,29 +364,25 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** FemMaterial *MATERIAL, NAME=FemMaterial *ELASTIC -210000, 0.300 +210000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -399,15 +392,13 @@ ConstraintFixed,3 *********************************************************** ** Displacement constraint applied -** written by write_constraints_displacement function ** ConstraintDisplacmentPrescribed *BOUNDARY -ConstraintDisplacmentPrescribed,3,3,-250.0 +ConstraintDisplacmentPrescribed,3,3,-250 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -419,12 +410,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21875 (Git) ** written on --> Tue Jul 7 07:19:31 2020 ** file name --> ccx_cantilever_prescribeddisplacement.FCStd @@ -448,9 +437,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_centrif.inp b/src/Mod/Fem/femtest/data/calculix/constraint_centrif.inp new file mode 100644 index 0000000000..47a3e0b109 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/constraint_centrif.inp @@ -0,0 +1,18814 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 102.5, -2.5e-14, 10 +2, 102.5, -2.5e-14, 0 +3, 3, -1e-15, 10 +4, -4.999999999999, 97.37171047075, 10 +5, -4.999999999999, -97.37171047075, 10 +6, 97.5, -2.4e-14, 10 +7, 4.999999999999, 97.37171047075, 10 +8, 4.999999999999, -97.37171047075, 10 +9, 3, -1e-15, 0 +10, -4.999999999999, -97.37171047075, 0 +11, -4.999999999999, 97.37171047075, 0 +12, 4.999999999999, -97.37171047075, 0 +13, 97.5, -2.4e-14, 0 +14, 4.999999999999, 97.37171047075, 0 +15, 102.5, -2.5e-14, 30 +16, 102.5, -2.5e-14, 20 +17, 3, -1e-15, 30 +18, -4.999999999999, 97.37171047075, 30 +19, -4.999999999999, -97.37171047075, 30 +20, 97.5, -2.4e-14, 30 +21, 4.999999999999, 97.37171047075, 30 +22, 4.999999999999, -97.37171047075, 30 +23, 3, -1e-15, 20 +24, -4.999999999999, -97.37171047075, 20 +25, -4.999999999999, 97.37171047075, 20 +26, 4.999999999999, -97.37171047075, 20 +27, 97.5, -2.4e-14, 20 +28, 4.999999999999, 97.37171047075, 20 +29, 102.3784406622, 4.990479694338, 10 +30, 102.0140509741, 9.969122522197, 10 +31, 101.4076952277, 14.92411969284, 10 +32, 100.5608116319, 19.84371850041, 10 +33, 99.47540890113, 24.71625020006, 10 +34, 98.15406149061, 29.53015768494, 10 +35, 96.59990349046, 34.27402289832, 10 +36, 94.81662119174, 38.93659391604, 10 +37, 92.80844434305, 43.50681163477, 10 +38, 90.58013611801, 47.97383600301, 10 +39, 88.13698181754, 52.32707173247, 10 +40, 85.48477633371, 56.55619342897, 10 +41, 82.62981040492, 60.65117008308, 10 +42, 79.57885569493, 64.60228886259, 10 +43, 76.33914873124, 68.40017815028, 10 +44, 72.91837374083, 72.03582977237, 10 +45, 69.32464442404, 75.50062036487, 10 +46, 65.56648470979, 78.7863318273, 10 +47, 61.65280853769, 81.88517081508, 10 +48, 57.59289871525, 84.78978722449, 10 +49, 53.39638490001, 87.49329162633, 10 +50, 49.07322075911, 89.98927160683, 10 +51, 44.63366036026, 92.27180697724, 10 +52, 40.08823385024, 94.33548381584, 10 +53, 35.44772247854, 96.17540730917, 10 +54, 30.72313302544, 97.78721336198, 10 +55, 25.92567169515, 99.16707894839, 10 +56, 21.0667175359, 100.3117311797, 10 +57, 16.15779545015, 101.2184550672, 10 +58, 11.21054885873, 101.8850999621, 10 +59, 6.236712083979, 102.3100846563, 10 +60, 1.248082517205, 102.4924011331, 10 +61, -3.74350736341, 102.4316169579, 10 +62, -8.726218058148, 102.1278763042, 10 +63, -13.68823112774, 101.5818996111, 10 +64, -18.61777722539, 100.794981875, 10 +65, -23.50316401239, 99.76898957796, 10 +66, -28.33280389102, 98.50635626026, 10 +67, -33.09524148907, 97.01007674865, 10 +68, -37.77918083073, 95.28370005284, 10 +69, -42.37351212937, 93.33132094759, 10 +70, -46.86733813873, 91.15757026046, 10 +71, -51.25, 88.7676038879, 10 +72, -55.51110252346, 86.16709056612, 10 +73, -59.64053884469, 83.3621984254, 10 +74, -63.62851439697, 80.35958036, 10 +75, -67.46557014288, 77.16635824825, 10 +76, -71.14260501011, 73.79010606019, 10 +77, -74.65089747822, 70.23883189302, 10 +78, -77.98212626506, 66.5209589767, 10 +79, -81.128390064, 62.64530569503, 10 +80, -84.0822262849, 58.62106466941, 10 +81, -86.8366287546, 54.45778095494, 10 +82, -89.38506433474, 50.16532940064, 10 +83, -91.72148841769, 45.75389122734, 10 +84, -93.84035926366, 41.23392987902, 10 +85, -95.73665114509, 36.61616620462, 10 +86, -97.40586626714, 31.91155302939, 10 +87, -98.84404543597, 27.13124917602, 10 +88, -100.0477774495, 22.28659299711, 10 +89, -101.0142071883, 17.38907548187, 10 +90, -101.7410423879, 12.45031300076, 10 +91, -102.2265590755, 7.482019752743, 10 +92, -102.4696056591, 2.495979980499, 10 +93, -102.4696056591, -2.495979980499, 10 +94, -102.2265590755, -7.482019752743, 10 +95, -101.7410423879, -12.45031300076, 10 +96, -101.0142071883, -17.38907548187, 10 +97, -100.0477774495, -22.28659299711, 10 +98, -98.84404543597, -27.13124917602, 10 +99, -97.40586626714, -31.91155302939, 10 +100, -95.73665114509, -36.61616620462, 10 +101, -93.84035926366, -41.23392987902, 10 +102, -91.72148841769, -45.75389122734, 10 +103, -89.38506433474, -50.16532940064, 10 +104, -86.8366287546, -54.45778095494, 10 +105, -84.0822262849, -58.62106466941, 10 +106, -81.128390064, -62.64530569503, 10 +107, -77.98212626506, -66.5209589767, 10 +108, -74.65089747822, -70.23883189302, 10 +109, -71.14260501012, -73.79010606019, 10 +110, -67.46557014288, -77.16635824825, 10 +111, -63.62851439697, -80.35958036, 10 +112, -59.64053884469, -83.3621984254, 10 +113, -55.51110252346, -86.16709056612, 10 +114, -51.25, -88.7676038879, 10 +115, -46.86733813873, -91.15757026046, 10 +116, -42.37351212937, -93.33132094759, 10 +117, -37.77918083073, -95.28370005284, 10 +118, -33.09524148907, -97.01007674865, 10 +119, -28.33280389102, -98.50635626026, 10 +120, -23.50316401239, -99.76898957796, 10 +121, -18.61777722539, -100.794981875, 10 +122, -13.68823112774, -101.5818996111, 10 +123, -8.726218058148, -102.1278763042, 10 +124, -3.74350736341, -102.4316169579, 10 +125, 1.248082517205, -102.4924011331, 10 +126, 6.236712083979, -102.3100846563, 10 +127, 11.21054885873, -101.8850999621, 10 +128, 16.15779545015, -101.2184550672, 10 +129, 21.0667175359, -100.3117311797, 10 +130, 25.92567169515, -99.16707894839, 10 +131, 30.72313302544, -97.78721336198, 10 +132, 35.44772247854, -96.17540730917, 10 +133, 40.08823385024, -94.33548381584, 10 +134, 44.63366036026, -92.27180697724, 10 +135, 49.07322075911, -89.98927160683, 10 +136, 53.39638490001, -87.49329162633, 10 +137, 57.59289871525, -84.78978722449, 10 +138, 61.65280853769, -81.88517081508, 10 +139, 65.56648470979, -78.7863318273, 10 +140, 69.32464442404, -75.50062036487, 10 +141, 72.91837374083, -72.03582977237, 10 +142, 76.33914873124, -68.40017815028, 10 +143, 79.57885569493, -64.60228886258, 10 +144, 82.62981040492, -60.65117008308, 10 +145, 85.48477633371, -56.55619342897, 10 +146, 88.13698181754, -52.32707173247, 10 +147, 90.58013611801, -47.97383600301, 10 +148, 92.80844434305, -43.50681163477, 10 +149, 94.81662119174, -38.93659391604, 10 +150, 96.59990349046, -34.27402289832, 10 +151, 98.15406149061, -29.53015768494, 10 +152, 99.47540890113, -24.71625020006, 10 +153, 100.5608116319, -19.84371850041, 10 +154, 101.4076952277, -14.92411969284, 10 +155, 102.0140509741, -9.969122522196, 10 +156, 102.3784406622, -4.990479694337, 10 +157, 102.5, -2.511e-14, 5 +158, 102.3784406622, 4.990479694338, 0 +159, 102.0140509741, 9.969122522197, 0 +160, 101.4076952277, 14.92411969284, 0 +161, 100.5608116319, 19.84371850041, 0 +162, 99.47540890113, 24.71625020006, 0 +163, 98.15406149061, 29.53015768494, 0 +164, 96.59990349046, 34.27402289832, 0 +165, 94.81662119174, 38.93659391604, 0 +166, 92.80844434305, 43.50681163477, 0 +167, 90.58013611801, 47.97383600301, 0 +168, 88.13698181754, 52.32707173247, 0 +169, 85.48477633371, 56.55619342897, 0 +170, 82.62981040492, 60.65117008308, 0 +171, 79.57885569493, 64.60228886259, 0 +172, 76.33914873124, 68.40017815028, 0 +173, 72.91837374083, 72.03582977237, 0 +174, 69.32464442404, 75.50062036487, 0 +175, 65.56648470979, 78.7863318273, 0 +176, 61.65280853769, 81.88517081508, 0 +177, 57.59289871525, 84.78978722449, 0 +178, 53.39638490001, 87.49329162633, 0 +179, 49.07322075911, 89.98927160683, 0 +180, 44.63366036026, 92.27180697724, 0 +181, 40.08823385024, 94.33548381584, 0 +182, 35.44772247854, 96.17540730917, 0 +183, 30.72313302544, 97.78721336198, 0 +184, 25.92567169515, 99.16707894839, 0 +185, 21.0667175359, 100.3117311797, 0 +186, 16.15779545015, 101.2184550672, 0 +187, 11.21054885873, 101.8850999621, 0 +188, 6.236712083979, 102.3100846563, 0 +189, 1.248082517205, 102.4924011331, 0 +190, -3.74350736341, 102.4316169579, 0 +191, -8.726218058148, 102.1278763042, 0 +192, -13.68823112774, 101.5818996111, 0 +193, -18.61777722539, 100.794981875, 0 +194, -23.50316401239, 99.76898957796, 0 +195, -28.33280389102, 98.50635626026, 0 +196, -33.09524148907, 97.01007674865, 0 +197, -37.77918083073, 95.28370005284, 0 +198, -42.37351212937, 93.33132094759, 0 +199, -46.86733813873, 91.15757026046, 0 +200, -51.25, 88.7676038879, 0 +201, -55.51110252346, 86.16709056612, 0 +202, -59.64053884469, 83.3621984254, 0 +203, -63.62851439697, 80.35958036, 0 +204, -67.46557014288, 77.16635824825, 0 +205, -71.14260501011, 73.79010606019, 0 +206, -74.65089747822, 70.23883189302, 0 +207, -77.98212626506, 66.5209589767, 0 +208, -81.128390064, 62.64530569503, 0 +209, -84.0822262849, 58.62106466941, 0 +210, -86.8366287546, 54.45778095494, 0 +211, -89.38506433474, 50.16532940064, 0 +212, -91.72148841769, 45.75389122734, 0 +213, -93.84035926366, 41.23392987902, 0 +214, -95.73665114509, 36.61616620462, 0 +215, -97.40586626714, 31.91155302939, 0 +216, -98.84404543597, 27.13124917602, 0 +217, -100.0477774495, 22.28659299711, 0 +218, -101.0142071883, 17.38907548187, 0 +219, -101.7410423879, 12.45031300076, 0 +220, -102.2265590755, 7.482019752743, 0 +221, -102.4696056591, 2.495979980499, 0 +222, -102.4696056591, -2.495979980499, 0 +223, -102.2265590755, -7.482019752743, 0 +224, -101.7410423879, -12.45031300076, 0 +225, -101.0142071883, -17.38907548187, 0 +226, -100.0477774495, -22.28659299711, 0 +227, -98.84404543597, -27.13124917602, 0 +228, -97.40586626714, -31.91155302939, 0 +229, -95.73665114509, -36.61616620462, 0 +230, -93.84035926366, -41.23392987902, 0 +231, -91.72148841769, -45.75389122734, 0 +232, -89.38506433474, -50.16532940064, 0 +233, -86.8366287546, -54.45778095494, 0 +234, -84.0822262849, -58.62106466941, 0 +235, -81.128390064, -62.64530569503, 0 +236, -77.98212626506, -66.5209589767, 0 +237, -74.65089747822, -70.23883189302, 0 +238, -71.14260501012, -73.79010606019, 0 +239, -67.46557014288, -77.16635824825, 0 +240, -63.62851439697, -80.35958036, 0 +241, -59.64053884469, -83.3621984254, 0 +242, -55.51110252346, -86.16709056612, 0 +243, -51.25, -88.7676038879, 0 +244, -46.86733813873, -91.15757026046, 0 +245, -42.37351212937, -93.33132094759, 0 +246, -37.77918083073, -95.28370005284, 0 +247, -33.09524148907, -97.01007674865, 0 +248, -28.33280389102, -98.50635626026, 0 +249, -23.50316401239, -99.76898957796, 0 +250, -18.61777722539, -100.794981875, 0 +251, -13.68823112774, -101.5818996111, 0 +252, -8.726218058148, -102.1278763042, 0 +253, -3.74350736341, -102.4316169579, 0 +254, 1.248082517205, -102.4924011331, 0 +255, 6.236712083979, -102.3100846563, 0 +256, 11.21054885873, -101.8850999621, 0 +257, 16.15779545015, -101.2184550672, 0 +258, 21.0667175359, -100.3117311797, 0 +259, 25.92567169515, -99.16707894839, 0 +260, 30.72313302544, -97.78721336198, 0 +261, 35.44772247854, -96.17540730917, 0 +262, 40.08823385024, -94.33548381584, 0 +263, 44.63366036026, -92.27180697724, 0 +264, 49.07322075911, -89.98927160683, 0 +265, 53.39638490001, -87.49329162633, 0 +266, 57.59289871525, -84.78978722449, 0 +267, 61.65280853769, -81.88517081508, 0 +268, 65.56648470979, -78.7863318273, 0 +269, 69.32464442404, -75.50062036487, 0 +270, 72.91837374083, -72.03582977237, 0 +271, 76.33914873124, -68.40017815028, 0 +272, 79.57885569493, -64.60228886258, 0 +273, 82.62981040492, -60.65117008308, 0 +274, 85.48477633371, -56.55619342897, 0 +275, 88.13698181754, -52.32707173247, 0 +276, 90.58013611801, -47.97383600301, 0 +277, 92.80844434305, -43.50681163477, 0 +278, 94.81662119174, -38.93659391604, 0 +279, 96.59990349046, -34.27402289832, 0 +280, 98.15406149061, -29.53015768494, 0 +281, 99.47540890113, -24.71625020006, 0 +282, 100.5608116319, -19.84371850041, 0 +283, 101.4076952277, -14.92411969284, 0 +284, 102.0140509741, -9.969122522196, 0 +285, 102.3784406622, -4.990479694337, 0 +286, 6.178901352848e-15, -3, 10 +287, -3, -1.102553507615e-14, 10 +288, -5.510910596163e-16, 3, 10 +289, -9.923329892153, 96.99369837186, 10 +290, -14.82120796811, 96.36691234218, 10 +291, -19.68107192327, 95.49295999157, 10 +292, -24.49045695345, 94.37408287348, 10 +293, -29.23702772513, 93.0131507358, 10 +294, -33.9086100137, 91.4136541603, 10 +295, -38.4932219285, 89.57969560991, 10 +296, -42.97910464451, 87.51597890646, 10 +297, -47.35475256194, 85.22779716617, 10 +298, -51.6089428163, 82.72101922356, 10 +299, -55.73076406336, 80.00207457881, 10 +300, -59.70964446504, 77.07793690712, 10 +301, -63.53537880457, 73.95610617224, 10 +302, -67.19815466129, 70.64458939026, 10 +303, -70.68857757799, 67.15188009282, 10 +304, -73.9976951563, 63.48693654253, 10 +305, -77.11702001816, 59.65915875638, 10 +306, -80.03855157465, 55.67836439617, 10 +307, -82.7547965463, 51.55476358767, 10 +308, -85.25878818218, 47.29893273326, 10 +309, -87.54410412855, 42.92178738507, 10 +310, -89.6048829012, 38.43455424826, 10 +311, -91.43583891926, 33.84874238624, 10 +312, -93.03227606194, 29.17611370172, 10 +313, -94.39009971327, 24.42865276921, 10 +314, -95.50582726427, 19.61853609642, 10 +315, -96.37659704523, 14.75810089343, 10 +316, -97.00017566548, 9.859813429605, 10 +317, -97.37496374167, 4.936237059542, 10 +318, -97.5, 1.418364001728e-13, 10 +319, -97.37496374167, -4.936237059542, 10 +320, -97.00017566548, -9.859813429604, 10 +321, -96.37659704523, -14.75810089343, 10 +322, -95.50582726427, -19.61853609642, 10 +323, -94.39009971327, -24.42865276921, 10 +324, -93.03227606194, -29.17611370172, 10 +325, -91.43583891927, -33.84874238624, 10 +326, -89.6048829012, -38.43455424826, 10 +327, -87.54410412855, -42.92178738507, 10 +328, -85.25878818218, -47.29893273326, 10 +329, -82.7547965463, -51.55476358767, 10 +330, -80.03855157465, -55.67836439617, 10 +331, -77.11702001816, -59.65915875638, 10 +332, -73.9976951563, -63.48693654253, 10 +333, -70.68857757799, -67.15188009282, 10 +334, -67.19815466129, -70.64458939026, 10 +335, -63.53537880457, -73.95610617224, 10 +336, -59.70964446504, -77.07793690712, 10 +337, -55.73076406336, -80.00207457881, 10 +338, -51.6089428163, -82.72101922356, 10 +339, -47.35475256194, -85.22779716617, 10 +340, -42.97910464451, -87.51597890646, 10 +341, -38.4932219285, -89.57969560991, 10 +342, -33.9086100137, -91.4136541603, 10 +343, -29.23702772513, -93.0131507358, 10 +344, -24.49045695345, -94.37408287348, 10 +345, -19.68107192327, -95.49295999157, 10 +346, -14.82120796811, -96.36691234218, 10 +347, -9.923329892154, -96.99369837186, 10 +348, -5, -92.37828942097, 10 +349, -5, -87.38486837119, 10 +350, -5, -82.39144732141, 10 +351, -5, -77.39802627162, 10 +352, -5, -72.40460522184, 10 +353, -5, -67.41118417206, 10 +354, -5, -62.41776312228, 10 +355, -5, -57.4243420725, 10 +356, -5, -52.43092102271, 10 +357, -5, -47.43749997293, 10 +358, -5, -42.44407892315, 10 +359, -5, -37.45065787337, 10 +360, -5, -32.45723682358, 10 +361, -5, -27.4638157738, 10 +362, -5, -22.47039472402, 10 +363, -5, -17.47697367424, 10 +364, -5, -12.48355262446, 10 +365, -5, -7.490131574673, 10 +366, -5, -2.496710524891, 10 +367, -5, 2.496710524891, 10 +368, -5, 7.490131574673, 10 +369, -5, 12.48355262446, 10 +370, -5, 17.47697367424, 10 +371, -5, 22.47039472402, 10 +372, -5, 27.4638157738, 10 +373, -5, 32.45723682358, 10 +374, -5, 37.45065787337, 10 +375, -5, 42.44407892315, 10 +376, -5, 47.43749997293, 10 +377, -5, 52.43092102271, 10 +378, -5, 57.42434207249, 10 +379, -5, 62.41776312228, 10 +380, -5, 67.41118417206, 10 +381, -5, 72.40460522184, 10 +382, -5, 77.39802627162, 10 +383, -5, 82.39144732141, 10 +384, -5, 87.38486837119, 10 +385, -5, 92.37828942097, 10 +386, 97.37496374167, 4.936237059542, 10 +387, 97.00017566548, 9.859813429604, 10 +388, 96.37659704523, 14.75810089343, 10 +389, 95.50582726427, 19.61853609642, 10 +390, 94.39009971327, 24.42865276921, 10 +391, 93.03227606194, 29.17611370172, 10 +392, 91.43583891926, 33.84874238624, 10 +393, 89.6048829012, 38.43455424826, 10 +394, 87.54410412855, 42.92178738507, 10 +395, 85.25878818218, 47.29893273326, 10 +396, 82.7547965463, 51.55476358767, 10 +397, 80.03855157465, 55.67836439617, 10 +398, 77.11702001816, 59.65915875638, 10 +399, 73.9976951563, 63.48693654253, 10 +400, 70.68857757799, 67.15188009282, 10 +401, 67.19815466129, 70.64458939026, 10 +402, 63.53537880457, 73.95610617224, 10 +403, 59.70964446504, 77.07793690712, 10 +404, 55.73076406336, 80.00207457881, 10 +405, 51.6089428163, 82.72101922356, 10 +406, 47.35475256194, 85.22779716617, 10 +407, 42.97910464451, 87.51597890646, 10 +408, 38.4932219285, 89.57969560991, 10 +409, 33.9086100137, 91.4136541603, 10 +410, 29.23702772513, 93.0131507358, 10 +411, 24.49045695345, 94.37408287348, 10 +412, 19.68107192327, 95.49295999157, 10 +413, 14.82120796811, 96.36691234218, 10 +414, 9.923329892154, 96.99369837186, 10 +415, 9.923329892154, -96.99369837186, 10 +416, 14.82120796811, -96.36691234218, 10 +417, 19.68107192327, -95.49295999157, 10 +418, 24.49045695345, -94.37408287348, 10 +419, 29.23702772513, -93.0131507358, 10 +420, 33.9086100137, -91.4136541603, 10 +421, 38.4932219285, -89.57969560991, 10 +422, 42.97910464451, -87.51597890646, 10 +423, 47.35475256194, -85.22779716617, 10 +424, 51.6089428163, -82.72101922356, 10 +425, 55.73076406336, -80.00207457881, 10 +426, 59.70964446504, -77.07793690712, 10 +427, 63.53537880457, -73.95610617224, 10 +428, 67.19815466129, -70.64458939026, 10 +429, 70.68857757799, -67.15188009282, 10 +430, 73.9976951563, -63.48693654253, 10 +431, 77.11702001816, -59.65915875638, 10 +432, 80.03855157465, -55.67836439617, 10 +433, 82.7547965463, -51.55476358767, 10 +434, 85.25878818218, -47.29893273326, 10 +435, 87.54410412855, -42.92178738507, 10 +436, 89.6048829012, -38.43455424826, 10 +437, 91.43583891927, -33.84874238624, 10 +438, 93.03227606194, -29.17611370172, 10 +439, 94.39009971327, -24.42865276921, 10 +440, 95.50582726427, -19.61853609642, 10 +441, 96.37659704523, -14.75810089343, 10 +442, 97.00017566548, -9.859813429604, 10 +443, 97.37496374167, -4.936237059542, 10 +444, 5, -92.37828942097, 10 +445, 5, -87.38486837119, 10 +446, 5, -82.39144732141, 10 +447, 5, -77.39802627162, 10 +448, 5, -72.40460522184, 10 +449, 5, -67.41118417206, 10 +450, 5, -62.41776312228, 10 +451, 5, -57.4243420725, 10 +452, 5, -52.43092102271, 10 +453, 5, -47.43749997293, 10 +454, 5, -42.44407892315, 10 +455, 5, -37.45065787337, 10 +456, 5, -32.45723682358, 10 +457, 5, -27.4638157738, 10 +458, 5, -22.47039472402, 10 +459, 5, -17.47697367424, 10 +460, 5, -12.48355262446, 10 +461, 5, -7.490131574673, 10 +462, 5, -2.496710524891, 10 +463, 5, 2.496710524891, 10 +464, 5, 7.490131574673, 10 +465, 5, 12.48355262446, 10 +466, 5, 17.47697367424, 10 +467, 5, 22.47039472402, 10 +468, 5, 27.4638157738, 10 +469, 5, 32.45723682358, 10 +470, 5, 37.45065787337, 10 +471, 5, 42.44407892315, 10 +472, 5, 47.43749997293, 10 +473, 5, 52.43092102271, 10 +474, 5, 57.42434207249, 10 +475, 5, 62.41776312228, 10 +476, 5, 67.41118417206, 10 +477, 5, 72.40460522184, 10 +478, 5, 77.39802627162, 10 +479, 5, 82.39144732141, 10 +480, 5, 87.38486837119, 10 +481, 5, 92.37828942097, 10 +482, 6.178901352848e-15, 3, 0 +483, -3, 1.102553507615e-14, 0 +484, -5.510910596163e-16, -3, 0 +485, -5, -92.37828942097, 0 +486, -5, -87.38486837119, 0 +487, -5, -82.39144732141, 0 +488, -5, -77.39802627162, 0 +489, -5, -72.40460522184, 0 +490, -5, -67.41118417206, 0 +491, -5, -62.41776312228, 0 +492, -5, -57.4243420725, 0 +493, -5, -52.43092102271, 0 +494, -5, -47.43749997293, 0 +495, -5, -42.44407892315, 0 +496, -5, -37.45065787337, 0 +497, -5, -32.45723682358, 0 +498, -5, -27.4638157738, 0 +499, -5, -22.47039472402, 0 +500, -5, -17.47697367424, 0 +501, -5, -12.48355262446, 0 +502, -5, -7.490131574673, 0 +503, -5, -2.496710524891, 0 +504, -5, 2.496710524891, 0 +505, -5, 7.490131574673, 0 +506, -5, 12.48355262446, 0 +507, -5, 17.47697367424, 0 +508, -5, 22.47039472402, 0 +509, -5, 27.4638157738, 0 +510, -5, 32.45723682358, 0 +511, -5, 37.45065787337, 0 +512, -5, 42.44407892315, 0 +513, -5, 47.43749997293, 0 +514, -5, 52.43092102271, 0 +515, -5, 57.42434207249, 0 +516, -5, 62.41776312228, 0 +517, -5, 67.41118417206, 0 +518, -5, 72.40460522184, 0 +519, -5, 77.39802627162, 0 +520, -5, 82.39144732141, 0 +521, -5, 87.38486837119, 0 +522, -5, 92.37828942097, 0 +523, -9.923329892153, 96.99369837186, 0 +524, -14.82120796811, 96.36691234218, 0 +525, -19.68107192327, 95.49295999157, 0 +526, -24.49045695345, 94.37408287348, 0 +527, -29.23702772513, 93.0131507358, 0 +528, -33.9086100137, 91.4136541603, 0 +529, -38.4932219285, 89.57969560991, 0 +530, -42.97910464451, 87.51597890646, 0 +531, -47.35475256194, 85.22779716617, 0 +532, -51.6089428163, 82.72101922356, 0 +533, -55.73076406336, 80.00207457881, 0 +534, -59.70964446504, 77.07793690712, 0 +535, -63.53537880457, 73.95610617224, 0 +536, -67.19815466129, 70.64458939026, 0 +537, -70.68857757799, 67.15188009282, 0 +538, -73.9976951563, 63.48693654253, 0 +539, -77.11702001816, 59.65915875638, 0 +540, -80.03855157465, 55.67836439617, 0 +541, -82.7547965463, 51.55476358767, 0 +542, -85.25878818218, 47.29893273326, 0 +543, -87.54410412855, 42.92178738507, 0 +544, -89.6048829012, 38.43455424826, 0 +545, -91.43583891926, 33.84874238624, 0 +546, -93.03227606194, 29.17611370172, 0 +547, -94.39009971327, 24.42865276921, 0 +548, -95.50582726427, 19.61853609642, 0 +549, -96.37659704523, 14.75810089343, 0 +550, -97.00017566548, 9.859813429605, 0 +551, -97.37496374167, 4.936237059542, 0 +552, -97.5, 1.418364001728e-13, 0 +553, -97.37496374167, -4.936237059542, 0 +554, -97.00017566548, -9.859813429604, 0 +555, -96.37659704523, -14.75810089343, 0 +556, -95.50582726427, -19.61853609642, 0 +557, -94.39009971327, -24.42865276921, 0 +558, -93.03227606194, -29.17611370172, 0 +559, -91.43583891927, -33.84874238624, 0 +560, -89.6048829012, -38.43455424826, 0 +561, -87.54410412855, -42.92178738507, 0 +562, -85.25878818218, -47.29893273326, 0 +563, -82.7547965463, -51.55476358767, 0 +564, -80.03855157465, -55.67836439617, 0 +565, -77.11702001816, -59.65915875638, 0 +566, -73.9976951563, -63.48693654253, 0 +567, -70.68857757799, -67.15188009282, 0 +568, -67.19815466129, -70.64458939026, 0 +569, -63.53537880457, -73.95610617224, 0 +570, -59.70964446504, -77.07793690712, 0 +571, -55.73076406336, -80.00207457881, 0 +572, -51.6089428163, -82.72101922356, 0 +573, -47.35475256194, -85.22779716617, 0 +574, -42.97910464451, -87.51597890646, 0 +575, -38.4932219285, -89.57969560991, 0 +576, -33.9086100137, -91.4136541603, 0 +577, -29.23702772513, -93.0131507358, 0 +578, -24.49045695345, -94.37408287348, 0 +579, -19.68107192327, -95.49295999157, 0 +580, -14.82120796811, -96.36691234218, 0 +581, -9.923329892154, -96.99369837186, 0 +582, 9.923329892154, -96.99369837186, 0 +583, 14.82120796811, -96.36691234218, 0 +584, 19.68107192327, -95.49295999157, 0 +585, 24.49045695345, -94.37408287348, 0 +586, 29.23702772513, -93.0131507358, 0 +587, 33.9086100137, -91.4136541603, 0 +588, 38.4932219285, -89.57969560991, 0 +589, 42.97910464451, -87.51597890646, 0 +590, 47.35475256194, -85.22779716617, 0 +591, 51.6089428163, -82.72101922356, 0 +592, 55.73076406336, -80.00207457881, 0 +593, 59.70964446504, -77.07793690712, 0 +594, 63.53537880457, -73.95610617224, 0 +595, 67.19815466129, -70.64458939026, 0 +596, 70.68857757799, -67.15188009282, 0 +597, 73.9976951563, -63.48693654253, 0 +598, 77.11702001816, -59.65915875638, 0 +599, 80.03855157465, -55.67836439617, 0 +600, 82.7547965463, -51.55476358767, 0 +601, 85.25878818218, -47.29893273326, 0 +602, 87.54410412855, -42.92178738507, 0 +603, 89.6048829012, -38.43455424826, 0 +604, 91.43583891927, -33.84874238624, 0 +605, 93.03227606194, -29.17611370172, 0 +606, 94.39009971327, -24.42865276921, 0 +607, 95.50582726427, -19.61853609642, 0 +608, 96.37659704523, -14.75810089343, 0 +609, 97.00017566548, -9.859813429604, 0 +610, 97.37496374167, -4.936237059542, 0 +611, 5, -92.37828942097, 0 +612, 5, -87.38486837119, 0 +613, 5, -82.39144732141, 0 +614, 5, -77.39802627162, 0 +615, 5, -72.40460522184, 0 +616, 5, -67.41118417206, 0 +617, 5, -62.41776312228, 0 +618, 5, -57.4243420725, 0 +619, 5, -52.43092102271, 0 +620, 5, -47.43749997293, 0 +621, 5, -42.44407892315, 0 +622, 5, -37.45065787337, 0 +623, 5, -32.45723682358, 0 +624, 5, -27.4638157738, 0 +625, 5, -22.47039472402, 0 +626, 5, -17.47697367424, 0 +627, 5, -12.48355262446, 0 +628, 5, -7.490131574673, 0 +629, 5, -2.496710524891, 0 +630, 5, 2.496710524891, 0 +631, 5, 7.490131574673, 0 +632, 5, 12.48355262446, 0 +633, 5, 17.47697367424, 0 +634, 5, 22.47039472402, 0 +635, 5, 27.4638157738, 0 +636, 5, 32.45723682358, 0 +637, 5, 37.45065787337, 0 +638, 5, 42.44407892315, 0 +639, 5, 47.43749997293, 0 +640, 5, 52.43092102271, 0 +641, 5, 57.42434207249, 0 +642, 5, 62.41776312228, 0 +643, 5, 67.41118417206, 0 +644, 5, 72.40460522184, 0 +645, 5, 77.39802627162, 0 +646, 5, 82.39144732141, 0 +647, 5, 87.38486837119, 0 +648, 5, 92.37828942097, 0 +649, 97.37496374167, 4.936237059542, 0 +650, 97.00017566548, 9.859813429604, 0 +651, 96.37659704523, 14.75810089343, 0 +652, 95.50582726427, 19.61853609642, 0 +653, 94.39009971327, 24.42865276921, 0 +654, 93.03227606194, 29.17611370172, 0 +655, 91.43583891926, 33.84874238624, 0 +656, 89.6048829012, 38.43455424826, 0 +657, 87.54410412855, 42.92178738507, 0 +658, 85.25878818218, 47.29893273326, 0 +659, 82.7547965463, 51.55476358767, 0 +660, 80.03855157465, 55.67836439617, 0 +661, 77.11702001816, 59.65915875638, 0 +662, 73.9976951563, 63.48693654253, 0 +663, 70.68857757799, 67.15188009282, 0 +664, 67.19815466129, 70.64458939026, 0 +665, 63.53537880457, 73.95610617224, 0 +666, 59.70964446504, 77.07793690712, 0 +667, 55.73076406336, 80.00207457881, 0 +668, 51.6089428163, 82.72101922356, 0 +669, 47.35475256194, 85.22779716617, 0 +670, 42.97910464451, 87.51597890646, 0 +671, 38.4932219285, 89.57969560991, 0 +672, 33.9086100137, 91.4136541603, 0 +673, 29.23702772513, 93.0131507358, 0 +674, 24.49045695345, 94.37408287348, 0 +675, 19.68107192327, 95.49295999157, 0 +676, 14.82120796811, 96.36691234218, 0 +677, 9.923329892154, 96.99369837186, 0 +678, 3, -7.3e-16, 5 +679, -5, -97.37171047075, 5 +680, -5, 97.37171047075, 5 +681, 5, -97.37171047075, 5 +682, 5, 97.37171047075, 5 +683, 102.3784406622, 4.990479694338, 30 +684, 102.0140509741, 9.969122522197, 30 +685, 101.4076952277, 14.92411969284, 30 +686, 100.5608116319, 19.84371850041, 30 +687, 99.47540890113, 24.71625020006, 30 +688, 98.15406149061, 29.53015768494, 30 +689, 96.59990349046, 34.27402289832, 30 +690, 94.81662119174, 38.93659391604, 30 +691, 92.80844434305, 43.50681163477, 30 +692, 90.58013611801, 47.97383600301, 30 +693, 88.13698181754, 52.32707173247, 30 +694, 85.48477633371, 56.55619342897, 30 +695, 82.62981040492, 60.65117008308, 30 +696, 79.57885569493, 64.60228886259, 30 +697, 76.33914873124, 68.40017815028, 30 +698, 72.91837374083, 72.03582977237, 30 +699, 69.32464442404, 75.50062036487, 30 +700, 65.56648470979, 78.7863318273, 30 +701, 61.65280853769, 81.88517081508, 30 +702, 57.59289871525, 84.78978722449, 30 +703, 53.39638490001, 87.49329162633, 30 +704, 49.07322075911, 89.98927160683, 30 +705, 44.63366036026, 92.27180697724, 30 +706, 40.08823385024, 94.33548381584, 30 +707, 35.44772247854, 96.17540730917, 30 +708, 30.72313302544, 97.78721336198, 30 +709, 25.92567169515, 99.16707894839, 30 +710, 21.0667175359, 100.3117311797, 30 +711, 16.15779545015, 101.2184550672, 30 +712, 11.21054885873, 101.8850999621, 30 +713, 6.236712083979, 102.3100846563, 30 +714, 1.248082517205, 102.4924011331, 30 +715, -3.74350736341, 102.4316169579, 30 +716, -8.726218058148, 102.1278763042, 30 +717, -13.68823112774, 101.5818996111, 30 +718, -18.61777722539, 100.794981875, 30 +719, -23.50316401239, 99.76898957796, 30 +720, -28.33280389102, 98.50635626026, 30 +721, -33.09524148907, 97.01007674865, 30 +722, -37.77918083073, 95.28370005284, 30 +723, -42.37351212937, 93.33132094759, 30 +724, -46.86733813873, 91.15757026046, 30 +725, -51.25, 88.7676038879, 30 +726, -55.51110252346, 86.16709056612, 30 +727, -59.64053884469, 83.3621984254, 30 +728, -63.62851439697, 80.35958036, 30 +729, -67.46557014288, 77.16635824825, 30 +730, -71.14260501011, 73.79010606019, 30 +731, -74.65089747822, 70.23883189302, 30 +732, -77.98212626506, 66.5209589767, 30 +733, -81.128390064, 62.64530569503, 30 +734, -84.0822262849, 58.62106466941, 30 +735, -86.8366287546, 54.45778095494, 30 +736, -89.38506433474, 50.16532940064, 30 +737, -91.72148841769, 45.75389122734, 30 +738, -93.84035926366, 41.23392987902, 30 +739, -95.73665114509, 36.61616620462, 30 +740, -97.40586626714, 31.91155302939, 30 +741, -98.84404543597, 27.13124917602, 30 +742, -100.0477774495, 22.28659299711, 30 +743, -101.0142071883, 17.38907548187, 30 +744, -101.7410423879, 12.45031300076, 30 +745, -102.2265590755, 7.482019752743, 30 +746, -102.4696056591, 2.495979980499, 30 +747, -102.4696056591, -2.495979980499, 30 +748, -102.2265590755, -7.482019752743, 30 +749, -101.7410423879, -12.45031300076, 30 +750, -101.0142071883, -17.38907548187, 30 +751, -100.0477774495, -22.28659299711, 30 +752, -98.84404543597, -27.13124917602, 30 +753, -97.40586626714, -31.91155302939, 30 +754, -95.73665114509, -36.61616620462, 30 +755, -93.84035926366, -41.23392987902, 30 +756, -91.72148841769, -45.75389122734, 30 +757, -89.38506433474, -50.16532940064, 30 +758, -86.8366287546, -54.45778095494, 30 +759, -84.0822262849, -58.62106466941, 30 +760, -81.128390064, -62.64530569503, 30 +761, -77.98212626506, -66.5209589767, 30 +762, -74.65089747822, -70.23883189302, 30 +763, -71.14260501012, -73.79010606019, 30 +764, -67.46557014288, -77.16635824825, 30 +765, -63.62851439697, -80.35958036, 30 +766, -59.64053884469, -83.3621984254, 30 +767, -55.51110252346, -86.16709056612, 30 +768, -51.25, -88.7676038879, 30 +769, -46.86733813873, -91.15757026046, 30 +770, -42.37351212937, -93.33132094759, 30 +771, -37.77918083073, -95.28370005284, 30 +772, -33.09524148907, -97.01007674865, 30 +773, -28.33280389102, -98.50635626026, 30 +774, -23.50316401239, -99.76898957796, 30 +775, -18.61777722539, -100.794981875, 30 +776, -13.68823112774, -101.5818996111, 30 +777, -8.726218058148, -102.1278763042, 30 +778, -3.74350736341, -102.4316169579, 30 +779, 1.248082517205, -102.4924011331, 30 +780, 6.236712083979, -102.3100846563, 30 +781, 11.21054885873, -101.8850999621, 30 +782, 16.15779545015, -101.2184550672, 30 +783, 21.0667175359, -100.3117311797, 30 +784, 25.92567169515, -99.16707894839, 30 +785, 30.72313302544, -97.78721336198, 30 +786, 35.44772247854, -96.17540730917, 30 +787, 40.08823385024, -94.33548381584, 30 +788, 44.63366036026, -92.27180697724, 30 +789, 49.07322075911, -89.98927160683, 30 +790, 53.39638490001, -87.49329162633, 30 +791, 57.59289871525, -84.78978722449, 30 +792, 61.65280853769, -81.88517081508, 30 +793, 65.56648470979, -78.7863318273, 30 +794, 69.32464442404, -75.50062036487, 30 +795, 72.91837374083, -72.03582977237, 30 +796, 76.33914873124, -68.40017815028, 30 +797, 79.57885569493, -64.60228886258, 30 +798, 82.62981040492, -60.65117008308, 30 +799, 85.48477633371, -56.55619342897, 30 +800, 88.13698181754, -52.32707173247, 30 +801, 90.58013611801, -47.97383600301, 30 +802, 92.80844434305, -43.50681163477, 30 +803, 94.81662119174, -38.93659391604, 30 +804, 96.59990349046, -34.27402289832, 30 +805, 98.15406149061, -29.53015768494, 30 +806, 99.47540890113, -24.71625020006, 30 +807, 100.5608116319, -19.84371850041, 30 +808, 101.4076952277, -14.92411969284, 30 +809, 102.0140509741, -9.969122522196, 30 +810, 102.3784406622, -4.990479694337, 30 +811, 102.5, -2.511e-14, 25 +812, 102.3784406622, 4.990479694338, 20 +813, 102.0140509741, 9.969122522197, 20 +814, 101.4076952277, 14.92411969284, 20 +815, 100.5608116319, 19.84371850041, 20 +816, 99.47540890113, 24.71625020006, 20 +817, 98.15406149061, 29.53015768494, 20 +818, 96.59990349046, 34.27402289832, 20 +819, 94.81662119174, 38.93659391604, 20 +820, 92.80844434305, 43.50681163477, 20 +821, 90.58013611801, 47.97383600301, 20 +822, 88.13698181754, 52.32707173247, 20 +823, 85.48477633371, 56.55619342897, 20 +824, 82.62981040492, 60.65117008308, 20 +825, 79.57885569493, 64.60228886259, 20 +826, 76.33914873124, 68.40017815028, 20 +827, 72.91837374083, 72.03582977237, 20 +828, 69.32464442404, 75.50062036487, 20 +829, 65.56648470979, 78.7863318273, 20 +830, 61.65280853769, 81.88517081508, 20 +831, 57.59289871525, 84.78978722449, 20 +832, 53.39638490001, 87.49329162633, 20 +833, 49.07322075911, 89.98927160683, 20 +834, 44.63366036026, 92.27180697724, 20 +835, 40.08823385024, 94.33548381584, 20 +836, 35.44772247854, 96.17540730917, 20 +837, 30.72313302544, 97.78721336198, 20 +838, 25.92567169515, 99.16707894839, 20 +839, 21.0667175359, 100.3117311797, 20 +840, 16.15779545015, 101.2184550672, 20 +841, 11.21054885873, 101.8850999621, 20 +842, 6.236712083979, 102.3100846563, 20 +843, 1.248082517205, 102.4924011331, 20 +844, -3.74350736341, 102.4316169579, 20 +845, -8.726218058148, 102.1278763042, 20 +846, -13.68823112774, 101.5818996111, 20 +847, -18.61777722539, 100.794981875, 20 +848, -23.50316401239, 99.76898957796, 20 +849, -28.33280389102, 98.50635626026, 20 +850, -33.09524148907, 97.01007674865, 20 +851, -37.77918083073, 95.28370005284, 20 +852, -42.37351212937, 93.33132094759, 20 +853, -46.86733813873, 91.15757026046, 20 +854, -51.25, 88.7676038879, 20 +855, -55.51110252346, 86.16709056612, 20 +856, -59.64053884469, 83.3621984254, 20 +857, -63.62851439697, 80.35958036, 20 +858, -67.46557014288, 77.16635824825, 20 +859, -71.14260501011, 73.79010606019, 20 +860, -74.65089747822, 70.23883189302, 20 +861, -77.98212626506, 66.5209589767, 20 +862, -81.128390064, 62.64530569503, 20 +863, -84.0822262849, 58.62106466941, 20 +864, -86.8366287546, 54.45778095494, 20 +865, -89.38506433474, 50.16532940064, 20 +866, -91.72148841769, 45.75389122734, 20 +867, -93.84035926366, 41.23392987902, 20 +868, -95.73665114509, 36.61616620462, 20 +869, -97.40586626714, 31.91155302939, 20 +870, -98.84404543597, 27.13124917602, 20 +871, -100.0477774495, 22.28659299711, 20 +872, -101.0142071883, 17.38907548187, 20 +873, -101.7410423879, 12.45031300076, 20 +874, -102.2265590755, 7.482019752743, 20 +875, -102.4696056591, 2.495979980499, 20 +876, -102.4696056591, -2.495979980499, 20 +877, -102.2265590755, -7.482019752743, 20 +878, -101.7410423879, -12.45031300076, 20 +879, -101.0142071883, -17.38907548187, 20 +880, -100.0477774495, -22.28659299711, 20 +881, -98.84404543597, -27.13124917602, 20 +882, -97.40586626714, -31.91155302939, 20 +883, -95.73665114509, -36.61616620462, 20 +884, -93.84035926366, -41.23392987902, 20 +885, -91.72148841769, -45.75389122734, 20 +886, -89.38506433474, -50.16532940064, 20 +887, -86.8366287546, -54.45778095494, 20 +888, -84.0822262849, -58.62106466941, 20 +889, -81.128390064, -62.64530569503, 20 +890, -77.98212626506, -66.5209589767, 20 +891, -74.65089747822, -70.23883189302, 20 +892, -71.14260501012, -73.79010606019, 20 +893, -67.46557014288, -77.16635824825, 20 +894, -63.62851439697, -80.35958036, 20 +895, -59.64053884469, -83.3621984254, 20 +896, -55.51110252346, -86.16709056612, 20 +897, -51.25, -88.7676038879, 20 +898, -46.86733813873, -91.15757026046, 20 +899, -42.37351212937, -93.33132094759, 20 +900, -37.77918083073, -95.28370005284, 20 +901, -33.09524148907, -97.01007674865, 20 +902, -28.33280389102, -98.50635626026, 20 +903, -23.50316401239, -99.76898957796, 20 +904, -18.61777722539, -100.794981875, 20 +905, -13.68823112774, -101.5818996111, 20 +906, -8.726218058148, -102.1278763042, 20 +907, -3.74350736341, -102.4316169579, 20 +908, 1.248082517205, -102.4924011331, 20 +909, 6.236712083979, -102.3100846563, 20 +910, 11.21054885873, -101.8850999621, 20 +911, 16.15779545015, -101.2184550672, 20 +912, 21.0667175359, -100.3117311797, 20 +913, 25.92567169515, -99.16707894839, 20 +914, 30.72313302544, -97.78721336198, 20 +915, 35.44772247854, -96.17540730917, 20 +916, 40.08823385024, -94.33548381584, 20 +917, 44.63366036026, -92.27180697724, 20 +918, 49.07322075911, -89.98927160683, 20 +919, 53.39638490001, -87.49329162633, 20 +920, 57.59289871525, -84.78978722449, 20 +921, 61.65280853769, -81.88517081508, 20 +922, 65.56648470979, -78.7863318273, 20 +923, 69.32464442404, -75.50062036487, 20 +924, 72.91837374083, -72.03582977237, 20 +925, 76.33914873124, -68.40017815028, 20 +926, 79.57885569493, -64.60228886258, 20 +927, 82.62981040492, -60.65117008308, 20 +928, 85.48477633371, -56.55619342897, 20 +929, 88.13698181754, -52.32707173247, 20 +930, 90.58013611801, -47.97383600301, 20 +931, 92.80844434305, -43.50681163477, 20 +932, 94.81662119174, -38.93659391604, 20 +933, 96.59990349046, -34.27402289832, 20 +934, 98.15406149061, -29.53015768494, 20 +935, 99.47540890113, -24.71625020006, 20 +936, 100.5608116319, -19.84371850041, 20 +937, 101.4076952277, -14.92411969284, 20 +938, 102.0140509741, -9.969122522196, 20 +939, 102.3784406622, -4.990479694337, 20 +940, 6.178901352848e-15, -3, 30 +941, -3, -1.102553507615e-14, 30 +942, -5.510910596163e-16, 3, 30 +943, -9.923329892153, 96.99369837186, 30 +944, -14.82120796811, 96.36691234218, 30 +945, -19.68107192327, 95.49295999157, 30 +946, -24.49045695345, 94.37408287348, 30 +947, -29.23702772513, 93.0131507358, 30 +948, -33.9086100137, 91.4136541603, 30 +949, -38.4932219285, 89.57969560991, 30 +950, -42.97910464451, 87.51597890646, 30 +951, -47.35475256194, 85.22779716617, 30 +952, -51.6089428163, 82.72101922356, 30 +953, -55.73076406336, 80.00207457881, 30 +954, -59.70964446504, 77.07793690712, 30 +955, -63.53537880457, 73.95610617224, 30 +956, -67.19815466129, 70.64458939026, 30 +957, -70.68857757799, 67.15188009282, 30 +958, -73.9976951563, 63.48693654253, 30 +959, -77.11702001816, 59.65915875638, 30 +960, -80.03855157465, 55.67836439617, 30 +961, -82.7547965463, 51.55476358767, 30 +962, -85.25878818218, 47.29893273326, 30 +963, -87.54410412855, 42.92178738507, 30 +964, -89.6048829012, 38.43455424826, 30 +965, -91.43583891926, 33.84874238624, 30 +966, -93.03227606194, 29.17611370172, 30 +967, -94.39009971327, 24.42865276921, 30 +968, -95.50582726427, 19.61853609642, 30 +969, -96.37659704523, 14.75810089343, 30 +970, -97.00017566548, 9.859813429605, 30 +971, -97.37496374167, 4.936237059542, 30 +972, -97.5, 1.418364001728e-13, 30 +973, -97.37496374167, -4.936237059542, 30 +974, -97.00017566548, -9.859813429604, 30 +975, -96.37659704523, -14.75810089343, 30 +976, -95.50582726427, -19.61853609642, 30 +977, -94.39009971327, -24.42865276921, 30 +978, -93.03227606194, -29.17611370172, 30 +979, -91.43583891927, -33.84874238624, 30 +980, -89.6048829012, -38.43455424826, 30 +981, -87.54410412855, -42.92178738507, 30 +982, -85.25878818218, -47.29893273326, 30 +983, -82.7547965463, -51.55476358767, 30 +984, -80.03855157465, -55.67836439617, 30 +985, -77.11702001816, -59.65915875638, 30 +986, -73.9976951563, -63.48693654253, 30 +987, -70.68857757799, -67.15188009282, 30 +988, -67.19815466129, -70.64458939026, 30 +989, -63.53537880457, -73.95610617224, 30 +990, -59.70964446504, -77.07793690712, 30 +991, -55.73076406336, -80.00207457881, 30 +992, -51.6089428163, -82.72101922356, 30 +993, -47.35475256194, -85.22779716617, 30 +994, -42.97910464451, -87.51597890646, 30 +995, -38.4932219285, -89.57969560991, 30 +996, -33.9086100137, -91.4136541603, 30 +997, -29.23702772513, -93.0131507358, 30 +998, -24.49045695345, -94.37408287348, 30 +999, -19.68107192327, -95.49295999157, 30 +1000, -14.82120796811, -96.36691234218, 30 +1001, -9.923329892154, -96.99369837186, 30 +1002, -5, -92.37828942097, 30 +1003, -5, -87.38486837119, 30 +1004, -5, -82.39144732141, 30 +1005, -5, -77.39802627162, 30 +1006, -5, -72.40460522184, 30 +1007, -5, -67.41118417206, 30 +1008, -5, -62.41776312228, 30 +1009, -5, -57.4243420725, 30 +1010, -5, -52.43092102271, 30 +1011, -5, -47.43749997293, 30 +1012, -5, -42.44407892315, 30 +1013, -5, -37.45065787337, 30 +1014, -5, -32.45723682358, 30 +1015, -5, -27.4638157738, 30 +1016, -5, -22.47039472402, 30 +1017, -5, -17.47697367424, 30 +1018, -5, -12.48355262446, 30 +1019, -5, -7.490131574673, 30 +1020, -5, -2.496710524891, 30 +1021, -5, 2.496710524891, 30 +1022, -5, 7.490131574673, 30 +1023, -5, 12.48355262446, 30 +1024, -5, 17.47697367424, 30 +1025, -5, 22.47039472402, 30 +1026, -5, 27.4638157738, 30 +1027, -5, 32.45723682358, 30 +1028, -5, 37.45065787337, 30 +1029, -5, 42.44407892315, 30 +1030, -5, 47.43749997293, 30 +1031, -5, 52.43092102271, 30 +1032, -5, 57.42434207249, 30 +1033, -5, 62.41776312228, 30 +1034, -5, 67.41118417206, 30 +1035, -5, 72.40460522184, 30 +1036, -5, 77.39802627162, 30 +1037, -5, 82.39144732141, 30 +1038, -5, 87.38486837119, 30 +1039, -5, 92.37828942097, 30 +1040, 97.37496374167, 4.936237059542, 30 +1041, 97.00017566548, 9.859813429604, 30 +1042, 96.37659704523, 14.75810089343, 30 +1043, 95.50582726427, 19.61853609642, 30 +1044, 94.39009971327, 24.42865276921, 30 +1045, 93.03227606194, 29.17611370172, 30 +1046, 91.43583891926, 33.84874238624, 30 +1047, 89.6048829012, 38.43455424826, 30 +1048, 87.54410412855, 42.92178738507, 30 +1049, 85.25878818218, 47.29893273326, 30 +1050, 82.7547965463, 51.55476358767, 30 +1051, 80.03855157465, 55.67836439617, 30 +1052, 77.11702001816, 59.65915875638, 30 +1053, 73.9976951563, 63.48693654253, 30 +1054, 70.68857757799, 67.15188009282, 30 +1055, 67.19815466129, 70.64458939026, 30 +1056, 63.53537880457, 73.95610617224, 30 +1057, 59.70964446504, 77.07793690712, 30 +1058, 55.73076406336, 80.00207457881, 30 +1059, 51.6089428163, 82.72101922356, 30 +1060, 47.35475256194, 85.22779716617, 30 +1061, 42.97910464451, 87.51597890646, 30 +1062, 38.4932219285, 89.57969560991, 30 +1063, 33.9086100137, 91.4136541603, 30 +1064, 29.23702772513, 93.0131507358, 30 +1065, 24.49045695345, 94.37408287348, 30 +1066, 19.68107192327, 95.49295999157, 30 +1067, 14.82120796811, 96.36691234218, 30 +1068, 9.923329892154, 96.99369837186, 30 +1069, 9.923329892154, -96.99369837186, 30 +1070, 14.82120796811, -96.36691234218, 30 +1071, 19.68107192327, -95.49295999157, 30 +1072, 24.49045695345, -94.37408287348, 30 +1073, 29.23702772513, -93.0131507358, 30 +1074, 33.9086100137, -91.4136541603, 30 +1075, 38.4932219285, -89.57969560991, 30 +1076, 42.97910464451, -87.51597890646, 30 +1077, 47.35475256194, -85.22779716617, 30 +1078, 51.6089428163, -82.72101922356, 30 +1079, 55.73076406336, -80.00207457881, 30 +1080, 59.70964446504, -77.07793690712, 30 +1081, 63.53537880457, -73.95610617224, 30 +1082, 67.19815466129, -70.64458939026, 30 +1083, 70.68857757799, -67.15188009282, 30 +1084, 73.9976951563, -63.48693654253, 30 +1085, 77.11702001816, -59.65915875638, 30 +1086, 80.03855157465, -55.67836439617, 30 +1087, 82.7547965463, -51.55476358767, 30 +1088, 85.25878818218, -47.29893273326, 30 +1089, 87.54410412855, -42.92178738507, 30 +1090, 89.6048829012, -38.43455424826, 30 +1091, 91.43583891927, -33.84874238624, 30 +1092, 93.03227606194, -29.17611370172, 30 +1093, 94.39009971327, -24.42865276921, 30 +1094, 95.50582726427, -19.61853609642, 30 +1095, 96.37659704523, -14.75810089343, 30 +1096, 97.00017566548, -9.859813429604, 30 +1097, 97.37496374167, -4.936237059542, 30 +1098, 5, -92.37828942097, 30 +1099, 5, -87.38486837119, 30 +1100, 5, -82.39144732141, 30 +1101, 5, -77.39802627162, 30 +1102, 5, -72.40460522184, 30 +1103, 5, -67.41118417206, 30 +1104, 5, -62.41776312228, 30 +1105, 5, -57.4243420725, 30 +1106, 5, -52.43092102271, 30 +1107, 5, -47.43749997293, 30 +1108, 5, -42.44407892315, 30 +1109, 5, -37.45065787337, 30 +1110, 5, -32.45723682358, 30 +1111, 5, -27.4638157738, 30 +1112, 5, -22.47039472402, 30 +1113, 5, -17.47697367424, 30 +1114, 5, -12.48355262446, 30 +1115, 5, -7.490131574673, 30 +1116, 5, -2.496710524891, 30 +1117, 5, 2.496710524891, 30 +1118, 5, 7.490131574673, 30 +1119, 5, 12.48355262446, 30 +1120, 5, 17.47697367424, 30 +1121, 5, 22.47039472402, 30 +1122, 5, 27.4638157738, 30 +1123, 5, 32.45723682358, 30 +1124, 5, 37.45065787337, 30 +1125, 5, 42.44407892315, 30 +1126, 5, 47.43749997293, 30 +1127, 5, 52.43092102271, 30 +1128, 5, 57.42434207249, 30 +1129, 5, 62.41776312228, 30 +1130, 5, 67.41118417206, 30 +1131, 5, 72.40460522184, 30 +1132, 5, 77.39802627162, 30 +1133, 5, 82.39144732141, 30 +1134, 5, 87.38486837119, 30 +1135, 5, 92.37828942097, 30 +1136, 6.178901352848e-15, 3, 20 +1137, -3, 1.102553507615e-14, 20 +1138, -5.510910596163e-16, -3, 20 +1139, -5, -92.37828942097, 20 +1140, -5, -87.38486837119, 20 +1141, -5, -82.39144732141, 20 +1142, -5, -77.39802627162, 20 +1143, -5, -72.40460522184, 20 +1144, -5, -67.41118417206, 20 +1145, -5, -62.41776312228, 20 +1146, -5, -57.4243420725, 20 +1147, -5, -52.43092102271, 20 +1148, -5, -47.43749997293, 20 +1149, -5, -42.44407892315, 20 +1150, -5, -37.45065787337, 20 +1151, -5, -32.45723682358, 20 +1152, -5, -27.4638157738, 20 +1153, -5, -22.47039472402, 20 +1154, -5, -17.47697367424, 20 +1155, -5, -12.48355262446, 20 +1156, -5, -7.490131574673, 20 +1157, -5, -2.496710524891, 20 +1158, -5, 2.496710524891, 20 +1159, -5, 7.490131574673, 20 +1160, -5, 12.48355262446, 20 +1161, -5, 17.47697367424, 20 +1162, -5, 22.47039472402, 20 +1163, -5, 27.4638157738, 20 +1164, -5, 32.45723682358, 20 +1165, -5, 37.45065787337, 20 +1166, -5, 42.44407892315, 20 +1167, -5, 47.43749997293, 20 +1168, -5, 52.43092102271, 20 +1169, -5, 57.42434207249, 20 +1170, -5, 62.41776312228, 20 +1171, -5, 67.41118417206, 20 +1172, -5, 72.40460522184, 20 +1173, -5, 77.39802627162, 20 +1174, -5, 82.39144732141, 20 +1175, -5, 87.38486837119, 20 +1176, -5, 92.37828942097, 20 +1177, -9.923329892153, 96.99369837186, 20 +1178, -14.82120796811, 96.36691234218, 20 +1179, -19.68107192327, 95.49295999157, 20 +1180, -24.49045695345, 94.37408287348, 20 +1181, -29.23702772513, 93.0131507358, 20 +1182, -33.9086100137, 91.4136541603, 20 +1183, -38.4932219285, 89.57969560991, 20 +1184, -42.97910464451, 87.51597890646, 20 +1185, -47.35475256194, 85.22779716617, 20 +1186, -51.6089428163, 82.72101922356, 20 +1187, -55.73076406336, 80.00207457881, 20 +1188, -59.70964446504, 77.07793690712, 20 +1189, -63.53537880457, 73.95610617224, 20 +1190, -67.19815466129, 70.64458939026, 20 +1191, -70.68857757799, 67.15188009282, 20 +1192, -73.9976951563, 63.48693654253, 20 +1193, -77.11702001816, 59.65915875638, 20 +1194, -80.03855157465, 55.67836439617, 20 +1195, -82.7547965463, 51.55476358767, 20 +1196, -85.25878818218, 47.29893273326, 20 +1197, -87.54410412855, 42.92178738507, 20 +1198, -89.6048829012, 38.43455424826, 20 +1199, -91.43583891926, 33.84874238624, 20 +1200, -93.03227606194, 29.17611370172, 20 +1201, -94.39009971327, 24.42865276921, 20 +1202, -95.50582726427, 19.61853609642, 20 +1203, -96.37659704523, 14.75810089343, 20 +1204, -97.00017566548, 9.859813429605, 20 +1205, -97.37496374167, 4.936237059542, 20 +1206, -97.5, 1.418364001728e-13, 20 +1207, -97.37496374167, -4.936237059542, 20 +1208, -97.00017566548, -9.859813429604, 20 +1209, -96.37659704523, -14.75810089343, 20 +1210, -95.50582726427, -19.61853609642, 20 +1211, -94.39009971327, -24.42865276921, 20 +1212, -93.03227606194, -29.17611370172, 20 +1213, -91.43583891927, -33.84874238624, 20 +1214, -89.6048829012, -38.43455424826, 20 +1215, -87.54410412855, -42.92178738507, 20 +1216, -85.25878818218, -47.29893273326, 20 +1217, -82.7547965463, -51.55476358767, 20 +1218, -80.03855157465, -55.67836439617, 20 +1219, -77.11702001816, -59.65915875638, 20 +1220, -73.9976951563, -63.48693654253, 20 +1221, -70.68857757799, -67.15188009282, 20 +1222, -67.19815466129, -70.64458939026, 20 +1223, -63.53537880457, -73.95610617224, 20 +1224, -59.70964446504, -77.07793690712, 20 +1225, -55.73076406336, -80.00207457881, 20 +1226, -51.6089428163, -82.72101922356, 20 +1227, -47.35475256194, -85.22779716617, 20 +1228, -42.97910464451, -87.51597890646, 20 +1229, -38.4932219285, -89.57969560991, 20 +1230, -33.9086100137, -91.4136541603, 20 +1231, -29.23702772513, -93.0131507358, 20 +1232, -24.49045695345, -94.37408287348, 20 +1233, -19.68107192327, -95.49295999157, 20 +1234, -14.82120796811, -96.36691234218, 20 +1235, -9.923329892154, -96.99369837186, 20 +1236, 9.923329892154, -96.99369837186, 20 +1237, 14.82120796811, -96.36691234218, 20 +1238, 19.68107192327, -95.49295999157, 20 +1239, 24.49045695345, -94.37408287348, 20 +1240, 29.23702772513, -93.0131507358, 20 +1241, 33.9086100137, -91.4136541603, 20 +1242, 38.4932219285, -89.57969560991, 20 +1243, 42.97910464451, -87.51597890646, 20 +1244, 47.35475256194, -85.22779716617, 20 +1245, 51.6089428163, -82.72101922356, 20 +1246, 55.73076406336, -80.00207457881, 20 +1247, 59.70964446504, -77.07793690712, 20 +1248, 63.53537880457, -73.95610617224, 20 +1249, 67.19815466129, -70.64458939026, 20 +1250, 70.68857757799, -67.15188009282, 20 +1251, 73.9976951563, -63.48693654253, 20 +1252, 77.11702001816, -59.65915875638, 20 +1253, 80.03855157465, -55.67836439617, 20 +1254, 82.7547965463, -51.55476358767, 20 +1255, 85.25878818218, -47.29893273326, 20 +1256, 87.54410412855, -42.92178738507, 20 +1257, 89.6048829012, -38.43455424826, 20 +1258, 91.43583891927, -33.84874238624, 20 +1259, 93.03227606194, -29.17611370172, 20 +1260, 94.39009971327, -24.42865276921, 20 +1261, 95.50582726427, -19.61853609642, 20 +1262, 96.37659704523, -14.75810089343, 20 +1263, 97.00017566548, -9.859813429604, 20 +1264, 97.37496374167, -4.936237059542, 20 +1265, 5, -92.37828942097, 20 +1266, 5, -87.38486837119, 20 +1267, 5, -82.39144732141, 20 +1268, 5, -77.39802627162, 20 +1269, 5, -72.40460522184, 20 +1270, 5, -67.41118417206, 20 +1271, 5, -62.41776312228, 20 +1272, 5, -57.4243420725, 20 +1273, 5, -52.43092102271, 20 +1274, 5, -47.43749997293, 20 +1275, 5, -42.44407892315, 20 +1276, 5, -37.45065787337, 20 +1277, 5, -32.45723682358, 20 +1278, 5, -27.4638157738, 20 +1279, 5, -22.47039472402, 20 +1280, 5, -17.47697367424, 20 +1281, 5, -12.48355262446, 20 +1282, 5, -7.490131574673, 20 +1283, 5, -2.496710524891, 20 +1284, 5, 2.496710524891, 20 +1285, 5, 7.490131574673, 20 +1286, 5, 12.48355262446, 20 +1287, 5, 17.47697367424, 20 +1288, 5, 22.47039472402, 20 +1289, 5, 27.4638157738, 20 +1290, 5, 32.45723682358, 20 +1291, 5, 37.45065787337, 20 +1292, 5, 42.44407892315, 20 +1293, 5, 47.43749997293, 20 +1294, 5, 52.43092102271, 20 +1295, 5, 57.42434207249, 20 +1296, 5, 62.41776312228, 20 +1297, 5, 67.41118417206, 20 +1298, 5, 72.40460522184, 20 +1299, 5, 77.39802627162, 20 +1300, 5, 82.39144732141, 20 +1301, 5, 87.38486837119, 20 +1302, 5, 92.37828942097, 20 +1303, 97.37496374167, 4.936237059542, 20 +1304, 97.00017566548, 9.859813429604, 20 +1305, 96.37659704523, 14.75810089343, 20 +1306, 95.50582726427, 19.61853609642, 20 +1307, 94.39009971327, 24.42865276921, 20 +1308, 93.03227606194, 29.17611370172, 20 +1309, 91.43583891926, 33.84874238624, 20 +1310, 89.6048829012, 38.43455424826, 20 +1311, 87.54410412855, 42.92178738507, 20 +1312, 85.25878818218, 47.29893273326, 20 +1313, 82.7547965463, 51.55476358767, 20 +1314, 80.03855157465, 55.67836439617, 20 +1315, 77.11702001816, 59.65915875638, 20 +1316, 73.9976951563, 63.48693654253, 20 +1317, 70.68857757799, 67.15188009282, 20 +1318, 67.19815466129, 70.64458939026, 20 +1319, 63.53537880457, 73.95610617224, 20 +1320, 59.70964446504, 77.07793690712, 20 +1321, 55.73076406336, 80.00207457881, 20 +1322, 51.6089428163, 82.72101922356, 20 +1323, 47.35475256194, 85.22779716617, 20 +1324, 42.97910464451, 87.51597890646, 20 +1325, 38.4932219285, 89.57969560991, 20 +1326, 33.9086100137, 91.4136541603, 20 +1327, 29.23702772513, 93.0131507358, 20 +1328, 24.49045695345, 94.37408287348, 20 +1329, 19.68107192327, 95.49295999157, 20 +1330, 14.82120796811, 96.36691234218, 20 +1331, 9.923329892154, 96.99369837186, 20 +1332, 3, -7.3e-16, 25 +1333, -5, -97.37171047075, 25 +1334, -5, 97.37171047075, 25 +1335, 5, -97.37171047075, 25 +1336, 5, 97.37171047075, 25 +1337, 102.4691866281, 2.513123908508, 7.5 +1338, 102.2265590755, 7.482019752743, 7.5 +1339, 102.3784406622, 4.990479694338, 5 +1340, 102.4691866281, 2.513123908508, 2.5 +1341, 102.4691866281, -2.513123908508, 2.5 +1342, 102.3784406622, -4.990479694337, 5 +1343, 102.2265590755, 7.482019752743, 2.5 +1344, 102.4691866281, -2.513123908508, 7.5 +1345, 101.7410423879, 12.45031300076, 7.5 +1346, 102.0140509741, 9.969122522197, 5 +1347, 101.7410423879, 12.45031300076, 2.5 +1348, 101.0142071883, 17.38907548187, 7.5 +1349, 101.4076952277, 14.92411969284, 5 +1350, 101.0142071883, 17.38907548187, 2.5 +1351, 100.0477774495, 22.28659299711, 7.5 +1352, 100.5608116319, 19.84371850041, 5 +1353, 100.0477774495, 22.28659299711, 2.5 +1354, 98.84404543597, 27.13124917602, 7.5 +1355, 99.47540890113, 24.71625020006, 5 +1356, 98.84404543597, 27.13124917602, 2.5 +1357, 97.40586626714, 31.91155302939, 7.5 +1358, 98.15406149061, 29.53015768494, 5 +1359, 97.40586626714, 31.91155302939, 2.5 +1360, 95.73665114509, 36.61616620462, 7.5 +1361, 96.59990349046, 34.27402289832, 5 +1362, 95.73665114509, 36.61616620462, 2.5 +1363, 93.84035926366, 41.23392987902, 7.5 +1364, 94.81662119174, 38.93659391604, 5 +1365, 93.84035926366, 41.23392987902, 2.5 +1366, 91.72148841769, 45.75389122734, 7.5 +1367, 92.80844434305, 43.50681163477, 5 +1368, 91.72148841769, 45.75389122734, 2.5 +1369, 89.38506433474, 50.16532940064, 7.5 +1370, 90.58013611801, 47.97383600301, 5 +1371, 89.38506433474, 50.16532940064, 2.5 +1372, 86.8366287546, 54.45778095494, 7.5 +1373, 88.13698181754, 52.32707173247, 5 +1374, 86.8366287546, 54.45778095494, 2.5 +1375, 84.0822262849, 58.62106466941, 7.5 +1376, 85.48477633371, 56.55619342897, 5 +1377, 84.0822262849, 58.62106466941, 2.5 +1378, 81.128390064, 62.64530569503, 7.5 +1379, 82.62981040492, 60.65117008308, 5 +1380, 81.128390064, 62.64530569503, 2.5 +1381, 77.98212626506, 66.5209589767, 7.5 +1382, 79.57885569493, 64.60228886259, 5 +1383, 77.98212626506, 66.5209589767, 2.5 +1384, 74.65089747822, 70.23883189302, 7.5 +1385, 76.33914873124, 68.40017815028, 5 +1386, 74.65089747822, 70.23883189302, 2.5 +1387, 71.14260501012, 73.79010606019, 7.5 +1388, 72.91837374083, 72.03582977237, 5 +1389, 71.14260501012, 73.79010606019, 2.5 +1390, 67.46557014288, 77.16635824825, 7.5 +1391, 69.32464442404, 75.50062036487, 5 +1392, 67.46557014288, 77.16635824825, 2.5 +1393, 63.62851439697, 80.35958036, 7.5 +1394, 65.56648470979, 78.7863318273, 5 +1395, 63.62851439697, 80.35958036, 2.5 +1396, 59.64053884469, 83.3621984254, 7.5 +1397, 61.65280853769, 81.88517081508, 5 +1398, 59.64053884469, 83.3621984254, 2.5 +1399, 55.51110252346, 86.16709056612, 7.5 +1400, 57.59289871525, 84.78978722449, 5 +1401, 55.51110252346, 86.16709056612, 2.5 +1402, 51.25, 88.7676038879, 7.5 +1403, 53.39638490001, 87.49329162633, 5 +1404, 51.25, 88.7676038879, 2.5 +1405, 46.86733813873, 91.15757026046, 7.5 +1406, 49.07322075911, 89.98927160683, 5 +1407, 46.86733813873, 91.15757026046, 2.5 +1408, 42.37351212937, 93.33132094759, 7.5 +1409, 44.63366036026, 92.27180697724, 5 +1410, 42.37351212937, 93.33132094759, 2.5 +1411, 37.77918083073, 95.28370005284, 7.5 +1412, 40.08823385024, 94.33548381584, 5 +1413, 37.77918083073, 95.28370005284, 2.5 +1414, 33.09524148907, 97.01007674865, 7.5 +1415, 35.44772247854, 96.17540730917, 5 +1416, 33.09524148907, 97.01007674865, 2.5 +1417, 28.33280389102, 98.50635626026, 7.5 +1418, 30.72313302544, 97.78721336198, 5 +1419, 28.33280389102, 98.50635626026, 2.5 +1420, 23.50316401239, 99.76898957796, 7.5 +1421, 25.92567169515, 99.16707894839, 5 +1422, 23.50316401239, 99.76898957796, 2.5 +1423, 18.61777722539, 100.794981875, 7.5 +1424, 21.0667175359, 100.3117311797, 5 +1425, 18.61777722539, 100.794981875, 2.5 +1426, 13.68823112774, 101.5818996111, 7.5 +1427, 16.15779545015, 101.2184550672, 5 +1428, 13.68823112774, 101.5818996111, 2.5 +1429, 8.726218058148, 102.1278763042, 7.5 +1430, 11.21054885873, 101.8850999621, 5 +1431, 8.726218058148, 102.1278763042, 2.5 +1432, 3.74350736341, 102.4316169579, 7.5 +1433, 6.236712083979, 102.3100846563, 5 +1434, 3.74350736341, 102.4316169579, 2.5 +1435, -1.248082517205, 102.4924011331, 7.5 +1436, 1.248082517205, 102.4924011331, 5 +1437, -1.248082517205, 102.4924011331, 2.5 +1438, -6.236712083979, 102.3100846563, 7.5 +1439, -3.74350736341, 102.4316169579, 5 +1440, -6.236712083979, 102.3100846563, 2.5 +1441, -11.21054885873, 101.8850999621, 7.5 +1442, -8.726218058148, 102.1278763042, 5 +1443, -11.21054885873, 101.8850999621, 2.5 +1444, -16.15779545015, 101.2184550672, 7.5 +1445, -13.68823112774, 101.5818996111, 5 +1446, -16.15779545015, 101.2184550672, 2.5 +1447, -21.0667175359, 100.3117311797, 7.5 +1448, -18.61777722539, 100.794981875, 5 +1449, -21.0667175359, 100.3117311797, 2.5 +1450, -25.92567169515, 99.16707894839, 7.5 +1451, -23.50316401239, 99.76898957796, 5 +1452, -25.92567169515, 99.16707894839, 2.5 +1453, -30.72313302544, 97.78721336198, 7.5 +1454, -28.33280389102, 98.50635626026, 5 +1455, -30.72313302544, 97.78721336198, 2.5 +1456, -35.44772247854, 96.17540730917, 7.5 +1457, -33.09524148907, 97.01007674865, 5 +1458, -35.44772247854, 96.17540730917, 2.5 +1459, -40.08823385024, 94.33548381584, 7.5 +1460, -37.77918083073, 95.28370005284, 5 +1461, -40.08823385024, 94.33548381584, 2.5 +1462, -44.63366036026, 92.27180697724, 7.5 +1463, -42.37351212937, 93.33132094759, 5 +1464, -44.63366036026, 92.27180697724, 2.5 +1465, -49.07322075911, 89.98927160683, 7.5 +1466, -46.86733813873, 91.15757026046, 5 +1467, -49.07322075911, 89.98927160683, 2.5 +1468, -53.39638490001, 87.49329162633, 7.5 +1469, -51.25, 88.7676038879, 5 +1470, -53.39638490001, 87.49329162633, 2.5 +1471, -57.59289871525, 84.78978722449, 7.5 +1472, -55.51110252346, 86.16709056612, 5 +1473, -57.59289871525, 84.78978722449, 2.5 +1474, -61.65280853769, 81.88517081508, 7.5 +1475, -59.64053884469, 83.3621984254, 5 +1476, -61.65280853769, 81.88517081508, 2.5 +1477, -65.56648470979, 78.7863318273, 7.5 +1478, -63.62851439697, 80.35958036, 5 +1479, -65.56648470979, 78.7863318273, 2.5 +1480, -69.32464442404, 75.50062036487, 7.5 +1481, -67.46557014288, 77.16635824825, 5 +1482, -69.32464442404, 75.50062036487, 2.5 +1483, -72.91837374083, 72.03582977237, 7.5 +1484, -71.14260501011, 73.79010606019, 5 +1485, -72.91837374083, 72.03582977237, 2.5 +1486, -76.33914873124, 68.40017815028, 7.5 +1487, -74.65089747822, 70.23883189302, 5 +1488, -76.33914873124, 68.40017815028, 2.5 +1489, -79.57885569493, 64.60228886259, 7.5 +1490, -77.98212626506, 66.5209589767, 5 +1491, -79.57885569493, 64.60228886259, 2.5 +1492, -82.62981040492, 60.65117008308, 7.5 +1493, -81.128390064, 62.64530569503, 5 +1494, -82.62981040492, 60.65117008308, 2.5 +1495, -85.48477633371, 56.55619342897, 7.5 +1496, -84.0822262849, 58.62106466941, 5 +1497, -85.48477633371, 56.55619342897, 2.5 +1498, -88.13698181754, 52.32707173247, 7.5 +1499, -86.8366287546, 54.45778095494, 5 +1500, -88.13698181754, 52.32707173247, 2.5 +1501, -90.58013611801, 47.97383600301, 7.5 +1502, -89.38506433474, 50.16532940064, 5 +1503, -90.58013611801, 47.97383600301, 2.5 +1504, -92.80844434305, 43.50681163477, 7.5 +1505, -91.72148841769, 45.75389122734, 5 +1506, -92.80844434305, 43.50681163477, 2.5 +1507, -94.81662119174, 38.93659391604, 7.5 +1508, -93.84035926366, 41.23392987902, 5 +1509, -94.81662119174, 38.93659391604, 2.5 +1510, -96.59990349046, 34.27402289832, 7.5 +1511, -95.73665114509, 36.61616620462, 5 +1512, -96.59990349046, 34.27402289832, 2.5 +1513, -98.15406149061, 29.53015768494, 7.5 +1514, -97.40586626714, 31.91155302939, 5 +1515, -98.15406149061, 29.53015768494, 2.5 +1516, -99.47540890113, 24.71625020006, 7.5 +1517, -98.84404543597, 27.13124917602, 5 +1518, -99.47540890113, 24.71625020006, 2.5 +1519, -100.5608116319, 19.84371850041, 7.5 +1520, -100.0477774495, 22.28659299711, 5 +1521, -100.5608116319, 19.84371850041, 2.5 +1522, -101.4076952277, 14.92411969284, 7.5 +1523, -101.0142071883, 17.38907548187, 5 +1524, -101.4076952277, 14.92411969284, 2.5 +1525, -102.0140509741, 9.969122522197, 7.5 +1526, -101.7410423879, 12.45031300076, 5 +1527, -102.0140509741, 9.969122522197, 2.5 +1528, -102.3784406622, 4.990479694338, 7.5 +1529, -102.2265590755, 7.482019752743, 5 +1530, -102.3784406622, 4.990479694338, 2.5 +1531, -102.5, 1.946292057298e-13, 7.5 +1532, -102.4696056591, 2.495979980499, 5 +1533, -102.5, 1.946292057298e-13, 2.5 +1534, -102.3784406622, -4.990479694337, 7.5 +1535, -102.4696056591, -2.495979980499, 5 +1536, -102.3784406622, -4.990479694337, 2.5 +1537, -102.0140509741, -9.969122522196, 7.5 +1538, -102.2265590755, -7.482019752743, 5 +1539, -102.0140509741, -9.969122522196, 2.5 +1540, -101.4076952277, -14.92411969284, 7.5 +1541, -101.7410423879, -12.45031300076, 5 +1542, -101.4076952277, -14.92411969284, 2.5 +1543, -100.5608116319, -19.84371850041, 7.5 +1544, -101.0142071883, -17.38907548187, 5 +1545, -100.5608116319, -19.84371850041, 2.5 +1546, -99.47540890113, -24.71625020006, 7.5 +1547, -100.0477774495, -22.28659299711, 5 +1548, -99.47540890113, -24.71625020006, 2.5 +1549, -98.15406149061, -29.53015768494, 7.5 +1550, -98.84404543597, -27.13124917602, 5 +1551, -98.15406149061, -29.53015768494, 2.5 +1552, -96.59990349046, -34.27402289832, 7.5 +1553, -97.40586626714, -31.91155302939, 5 +1554, -96.59990349046, -34.27402289832, 2.5 +1555, -94.81662119174, -38.93659391604, 7.5 +1556, -95.73665114509, -36.61616620462, 5 +1557, -94.81662119174, -38.93659391604, 2.5 +1558, -92.80844434305, -43.50681163477, 7.5 +1559, -93.84035926366, -41.23392987902, 5 +1560, -92.80844434305, -43.50681163477, 2.5 +1561, -90.58013611801, -47.97383600301, 7.5 +1562, -91.72148841769, -45.75389122734, 5 +1563, -90.58013611801, -47.97383600301, 2.5 +1564, -88.13698181754, -52.32707173247, 7.5 +1565, -89.38506433474, -50.16532940064, 5 +1566, -88.13698181754, -52.32707173247, 2.5 +1567, -85.48477633371, -56.55619342897, 7.5 +1568, -86.8366287546, -54.45778095494, 5 +1569, -85.48477633371, -56.55619342897, 2.5 +1570, -82.62981040492, -60.65117008308, 7.5 +1571, -84.0822262849, -58.62106466941, 5 +1572, -82.62981040492, -60.65117008308, 2.5 +1573, -79.57885569493, -64.60228886259, 7.5 +1574, -81.128390064, -62.64530569503, 5 +1575, -79.57885569493, -64.60228886259, 2.5 +1576, -76.33914873124, -68.40017815028, 7.5 +1577, -77.98212626506, -66.5209589767, 5 +1578, -76.33914873124, -68.40017815028, 2.5 +1579, -72.91837374083, -72.03582977237, 7.5 +1580, -74.65089747822, -70.23883189302, 5 +1581, -72.91837374083, -72.03582977237, 2.5 +1582, -69.32464442404, -75.50062036487, 7.5 +1583, -71.14260501012, -73.79010606019, 5 +1584, -69.32464442404, -75.50062036487, 2.5 +1585, -65.56648470979, -78.7863318273, 7.5 +1586, -67.46557014288, -77.16635824825, 5 +1587, -65.56648470979, -78.7863318273, 2.5 +1588, -61.65280853769, -81.88517081508, 7.5 +1589, -63.62851439697, -80.35958036, 5 +1590, -61.65280853769, -81.88517081508, 2.5 +1591, -57.59289871525, -84.78978722449, 7.5 +1592, -59.64053884469, -83.3621984254, 5 +1593, -57.59289871525, -84.78978722449, 2.5 +1594, -53.39638490001, -87.49329162633, 7.5 +1595, -55.51110252346, -86.16709056612, 5 +1596, -53.39638490001, -87.49329162633, 2.5 +1597, -49.07322075911, -89.98927160683, 7.5 +1598, -51.25, -88.7676038879, 5 +1599, -49.07322075911, -89.98927160683, 2.5 +1600, -44.63366036026, -92.27180697724, 7.5 +1601, -46.86733813873, -91.15757026046, 5 +1602, -44.63366036026, -92.27180697724, 2.5 +1603, -40.08823385024, -94.33548381584, 7.5 +1604, -42.37351212937, -93.33132094759, 5 +1605, -40.08823385024, -94.33548381584, 2.5 +1606, -35.44772247854, -96.17540730917, 7.5 +1607, -37.77918083073, -95.28370005284, 5 +1608, -35.44772247854, -96.17540730917, 2.5 +1609, -30.72313302544, -97.78721336198, 7.5 +1610, -33.09524148907, -97.01007674865, 5 +1611, -30.72313302544, -97.78721336198, 2.5 +1612, -25.92567169515, -99.16707894839, 7.5 +1613, -28.33280389102, -98.50635626026, 5 +1614, -25.92567169515, -99.16707894839, 2.5 +1615, -21.0667175359, -100.3117311797, 7.5 +1616, -23.50316401239, -99.76898957796, 5 +1617, -21.0667175359, -100.3117311797, 2.5 +1618, -16.15779545015, -101.2184550672, 7.5 +1619, -18.61777722539, -100.794981875, 5 +1620, -16.15779545015, -101.2184550672, 2.5 +1621, -11.21054885873, -101.8850999621, 7.5 +1622, -13.68823112774, -101.5818996111, 5 +1623, -11.21054885873, -101.8850999621, 2.5 +1624, -6.236712083979, -102.3100846563, 7.5 +1625, -8.726218058148, -102.1278763042, 5 +1626, -6.236712083979, -102.3100846563, 2.5 +1627, -1.248082517205, -102.4924011331, 7.5 +1628, -3.74350736341, -102.4316169579, 5 +1629, -1.248082517205, -102.4924011331, 2.5 +1630, 3.74350736341, -102.4316169579, 7.5 +1631, 1.248082517205, -102.4924011331, 5 +1632, 3.74350736341, -102.4316169579, 2.5 +1633, 8.726218058148, -102.1278763042, 7.5 +1634, 6.236712083979, -102.3100846563, 5 +1635, 8.726218058148, -102.1278763042, 2.5 +1636, 13.68823112774, -101.5818996111, 7.5 +1637, 11.21054885873, -101.8850999621, 5 +1638, 13.68823112774, -101.5818996111, 2.5 +1639, 18.61777722539, -100.794981875, 7.5 +1640, 16.15779545015, -101.2184550672, 5 +1641, 18.61777722539, -100.794981875, 2.5 +1642, 23.50316401239, -99.76898957796, 7.5 +1643, 21.0667175359, -100.3117311797, 5 +1644, 23.50316401239, -99.76898957796, 2.5 +1645, 28.33280389102, -98.50635626026, 7.5 +1646, 25.92567169515, -99.16707894839, 5 +1647, 28.33280389102, -98.50635626026, 2.5 +1648, 33.09524148907, -97.01007674865, 7.5 +1649, 30.72313302544, -97.78721336198, 5 +1650, 33.09524148907, -97.01007674865, 2.5 +1651, 37.77918083073, -95.28370005284, 7.5 +1652, 35.44772247854, -96.17540730917, 5 +1653, 37.77918083073, -95.28370005284, 2.5 +1654, 42.37351212937, -93.33132094759, 7.5 +1655, 40.08823385024, -94.33548381584, 5 +1656, 42.37351212937, -93.33132094759, 2.5 +1657, 46.86733813873, -91.15757026046, 7.5 +1658, 44.63366036026, -92.27180697724, 5 +1659, 46.86733813873, -91.15757026046, 2.5 +1660, 51.25, -88.7676038879, 7.5 +1661, 49.07322075911, -89.98927160683, 5 +1662, 51.25, -88.7676038879, 2.5 +1663, 55.51110252346, -86.16709056612, 7.5 +1664, 53.39638490001, -87.49329162633, 5 +1665, 55.51110252346, -86.16709056612, 2.5 +1666, 59.64053884469, -83.3621984254, 7.5 +1667, 57.59289871525, -84.78978722449, 5 +1668, 59.64053884469, -83.3621984254, 2.5 +1669, 63.62851439697, -80.35958036, 7.5 +1670, 61.65280853769, -81.88517081508, 5 +1671, 63.62851439697, -80.35958036, 2.5 +1672, 67.46557014288, -77.16635824825, 7.5 +1673, 65.56648470979, -78.7863318273, 5 +1674, 67.46557014288, -77.16635824825, 2.5 +1675, 71.14260501012, -73.79010606019, 7.5 +1676, 69.32464442404, -75.50062036487, 5 +1677, 71.14260501012, -73.79010606019, 2.5 +1678, 74.65089747822, -70.23883189302, 7.5 +1679, 72.91837374083, -72.03582977237, 5 +1680, 74.65089747822, -70.23883189302, 2.5 +1681, 77.98212626506, -66.5209589767, 7.5 +1682, 76.33914873124, -68.40017815028, 5 +1683, 77.98212626506, -66.5209589767, 2.5 +1684, 81.128390064, -62.64530569503, 7.5 +1685, 79.57885569493, -64.60228886258, 5 +1686, 81.128390064, -62.64530569503, 2.5 +1687, 84.0822262849, -58.62106466941, 7.5 +1688, 82.62981040492, -60.65117008308, 5 +1689, 84.0822262849, -58.62106466941, 2.5 +1690, 86.8366287546, -54.45778095494, 7.5 +1691, 85.48477633371, -56.55619342897, 5 +1692, 86.8366287546, -54.45778095494, 2.5 +1693, 89.38506433474, -50.16532940064, 7.5 +1694, 88.13698181754, -52.32707173247, 5 +1695, 89.38506433474, -50.16532940064, 2.5 +1696, 91.72148841769, -45.75389122734, 7.5 +1697, 90.58013611801, -47.97383600301, 5 +1698, 91.72148841769, -45.75389122734, 2.5 +1699, 93.84035926366, -41.23392987902, 7.5 +1700, 92.80844434305, -43.50681163477, 5 +1701, 93.84035926366, -41.23392987902, 2.5 +1702, 95.73665114509, -36.61616620462, 7.5 +1703, 94.81662119174, -38.93659391604, 5 +1704, 95.73665114509, -36.61616620462, 2.5 +1705, 97.40586626714, -31.91155302939, 7.5 +1706, 96.59990349046, -34.27402289832, 5 +1707, 97.40586626714, -31.91155302939, 2.5 +1708, 98.84404543597, -27.13124917602, 7.5 +1709, 98.15406149061, -29.53015768494, 5 +1710, 98.84404543597, -27.13124917602, 2.5 +1711, 100.0477774495, -22.28659299711, 7.5 +1712, 99.47540890113, -24.71625020006, 5 +1713, 100.0477774495, -22.28659299711, 2.5 +1714, 101.0142071883, -17.38907548187, 7.5 +1715, 100.5608116319, -19.84371850041, 5 +1716, 101.0142071883, -17.38907548187, 2.5 +1717, 101.7410423879, -12.45031300076, 7.5 +1718, 101.4076952277, -14.92411969284, 5 +1719, 101.7410423879, -12.45031300076, 2.5 +1720, 102.2265590755, -7.482019752743, 7.5 +1721, 102.0140509741, -9.969122522196, 5 +1722, 102.2265590755, -7.482019752743, 2.5 +1723, -0.2853112673121, 94.7241328795, 10 +1724, -0.2853112673122, -94.7241328795, 10 +1725, -4.479502520223e-16, 54.9276315476, 10 +1726, 4.287564466049e-14, 64.91447364717, 10 +1727, 0, 74.90131574673, 10 +1728, 1.395708945243e-15, -9.333568703443, 10 +1729, -4.308722690807e-15, 34.95394734847, 10 +1730, -4.801714581504e-14, 84.8881578463, 10 +1731, 1.846492079396e-15, -34.95394734848, 10 +1732, 4.216510161699e-15, -24.96710524891, 10 +1733, 0.1049884944116, 9.243460001243, 10 +1734, -6.420789825749e-15, -54.9276315476, 10 +1735, -4.762856775642e-14, -84.8881578463, 10 +1736, 0, -64.91447364717, 10 +1737, -0.1049884944116, 24.89702070275, 10 +1738, -4.347399669712e-15, -44.94078944804, 10 +1739, -7.216449660064e-15, 44.94078944804, 10 +1740, -1.449133223237e-14, -74.90131574673, 10 +1741, 0.1049884944116, 19.92696116836, 10 +1742, -0.1224865768135, -14.90642652307, 10 +1743, -0.04755187788535, 89.85643438502, 10 +1744, -0.04755187788538, -89.85643438502, 10 +1745, 7.145940776748e-15, 69.90789469695, 10 +1746, -2.068891795095e-15, 39.94736839826, 10 +1747, -8.00285763584e-15, 79.89473679651, 10 +1748, -1.064937613803e-14, -79.89473679651, 10 +1749, 1.010500373516e-15, -29.96052629869, 10 +1750, -2.415222038729e-15, -69.90789469695, 10 +1751, -4.168179317194e-16, -39.94736839826, 10 +1752, -0.01749808240193, 29.948845541, 10 +1753, -1.070131637625e-15, -59.92105259739, 10 +1754, 7.071282401411e-15, 59.92105259739, 10 +1755, -1.425429721964e-15, 49.93421049782, 10 +1756, -1.794698249243e-15, -49.93421049782, 10 +1757, -0.02041442946892, -19.96137809475, 10 +1758, 0.03499616480386, 14.84857896116, 10 +1759, -1.081936637403, 98.96321859747, 10 +1760, -1.081936637404, -98.96321859747, 10 +1761, -2.262725463829, -5.164465262893, 10 +1762, 2.419202908838, -5.124500330134, 10 +1763, 2.270377686454, 5.157897573228, 10 +1764, -2.413338648267, 5.119467198529, 10 +1765, -80.60171324799, 59.1541354446, 10 +1766, -80.60171324799, -59.1541354446, 10 +1767, -0.2853112673124, 94.7241328795, 0 +1768, -0.07533427848943, -94.7241328795, 0 +1769, -4.479502520223e-16, 54.9276315476, 0 +1770, 4.287564466049e-14, 64.91447364717, 0 +1771, 0, 74.90131574673, 0 +1772, 0.08999013806706, -9.27349623531, 0 +1773, -4.308722690807e-15, 34.95394734847, 0 +1774, -2.87956794533e-15, -19.97368419913, 0 +1775, 0.1049884944116, -34.88386280232, 0 +1776, 0.1049884944116, 9.243460001243, 0 +1777, -6.446305499989e-15, -54.9276315476, 0 +1778, 2.968385764219e-14, -84.8881578463, 0 +1779, 1.299545214079e-15, -64.91447364717, 0 +1780, -0.1049884944116, 24.89702070275, 0 +1781, 2.483361798631e-15, -44.94078944804, 0 +1782, 0, 84.8881578463, 0 +1783, -7.216449660064e-15, 44.94078944804, 0 +1784, -1.449133223237e-14, -74.90131574673, 0 +1785, 0.1399846592154, -29.91380326792, 0 +1786, 0.1049884944116, 19.92696116836, 0 +1787, -0.0475518778854, 89.85643438502, 0 +1788, -0.01255571308157, -89.85643438502, 0 +1789, 7.145940776748e-15, 69.90789469695, 0 +1790, -2.068891795095e-15, 39.94736839826, 0 +1791, 2.23602809507e-15, -79.89473679651, 0 +1792, -1.902571696483e-15, -69.90789469695, 0 +1793, 0, 79.89473679651, 0 +1794, 0.01749808240193, -39.93568764056, 0 +1795, 0.01499835634451, -14.86137217197, 0 +1796, -0.01749808240193, 29.948845541, 0 +1797, -8.57793380985e-16, -59.92105259739, 0 +1798, 7.071282401411e-15, 59.92105259739, 0 +1799, -8.085203535097e-16, -49.93421049782, 0 +1800, -1.425429721964e-15, 49.93421049782, 0 +1801, 0.0233307765359, -24.95931807712, 0 +1802, 0.03499616480386, 14.84857896116, 0 +1803, -1.081936637405, 98.96321859747, 0 +1804, -1.081936637405, -98.96321859747, 0 +1805, 2.269284511793, -5.160086803117, 0 +1806, -2.414176399777, -5.121144909064, 0 +1807, -2.255073241204, 5.157897573228, 0 +1808, 2.425067169408, 5.119467198529, 0 +1809, -80.60171324799, 59.1541354446, 0 +1810, -80.60171324799, -59.1541354446, 0 +1811, 2.12132034356, 2.12132034356, 7.5 +1812, 2.182098464197e-15, 3, 5 +1813, 2.12132034356, -2.12132034356, 7.5 +1814, 2.113444199484e-15, -3, 5 +1815, 2.12132034356, -2.12132034356, 2.5 +1816, 2.12132034356, 2.12132034356, 2.5 +1817, -2.12132034356, 2.12132034356, 7.5 +1818, -3, 3.673940397442e-16, 5 +1819, -2.12132034356, -2.12132034356, 7.5 +1820, -2.12132034356, 2.12132034356, 2.5 +1821, -2.12132034356, -2.12132034356, 2.5 +1822, -7.481740346109, 97.21251751392, 7.5 +1823, -12.37623745979, 96.7113165371, 7.5 +1824, -9.923329892153, 96.99369837186, 5 +1825, -7.48174034611, 97.21251751392, 2.5 +1826, -7.48174034611, -97.21251751392, 2.5 +1827, -9.923329892154, -96.99369837186, 5 +1828, -12.37623745979, 96.7113165371, 2.5 +1829, -7.48174034611, -97.21251751392, 7.5 +1830, -17.25667342229, 95.96070665849, 7.5 +1831, -14.82120796811, 96.36691234218, 5 +1832, -17.25667342229, 95.96070665849, 2.5 +1833, -22.09284866938, 94.96397231409, 7.5 +1834, -19.68107192327, 95.49295999157, 5 +1835, -22.09284866938, 94.96397231409, 2.5 +1836, -26.87235915476, 93.72366997433, 7.5 +1837, -24.49045695345, 94.37408287348, 5 +1838, -26.87235915476, 93.72366997433, 2.5 +1839, -31.58294616853, 92.2429808241, 7.5 +1840, -29.23702772513, 93.0131507358, 5 +1841, -31.58294616853, 92.2429808241, 2.5 +1842, -36.2125277789, 90.52570260353, 7.5 +1843, -33.9086100137, 91.4136541603, 5 +1844, -36.2125277789, 90.52570260353, 2.5 +1845, -40.74922982048, 88.57623986734, 7.5 +1846, -38.4932219285, 89.57969560991, 5 +1847, -40.74922982048, 88.57623986734, 2.5 +1848, -45.18141634973, 86.39959268788, 7.5 +1849, -42.97910464451, 87.51597890646, 5 +1850, -45.18141634973, 86.39959268788, 2.5 +1851, -49.49771948931, 84.00134383066, 7.5 +1852, -47.35475256194, 85.22779716617, 5 +1853, -49.49771948931, 84.00134383066, 2.5 +1854, -53.68706858498, 81.38764443545, 7.5 +1855, -51.6089428163, 82.72101922356, 5 +1856, -53.68706858498, 81.38764443545, 2.5 +1857, -57.7387186001, 78.56519823954, 7.5 +1858, -55.73076406336, 80.00207457881, 5 +1859, -57.7387186001, 78.56519823954, 2.5 +1860, -61.64227767504, 75.54124438367, 7.5 +1861, -59.70964446504, 77.07793690712, 5 +1862, -61.64227767504, 75.54124438367, 2.5 +1863, -65.38773378063, 72.32353884479, 7.5 +1864, -63.53537880457, 73.95610617224, 5 +1865, -65.38773378063, 72.32353884479, 2.5 +1866, -68.96548039756, 68.92033454311, 7.5 +1867, -67.19815466129, 70.64458939026, 5 +1868, -68.96548039756, 68.92033454311, 2.5 +1869, -72.36634115556, 65.34036017468, 7.5 +1870, -70.68857757799, 67.15188009282, 5 +1871, -72.36634115556, 65.34036017468, 2.5 +1872, -75.58159336942, 61.59279782361, 7.5 +1873, -73.9976951563, 63.48693654253, 5 +1874, -75.58159336942, 61.59279782361, 2.5 +1875, -78.60299041131, 57.68725941142, 7.5 +1876, -77.11702001816, 59.65915875638, 5 +1877, -78.60299041131, 57.68725941142, 2.5 +1878, -81.42278286213, 53.63376204394, 7.5 +1879, -80.03855157465, 55.67836439617, 5 +1880, -81.42278286213, 53.63376204394, 2.5 +1881, -84.03373838759, 49.442702319, 7.5 +1882, -82.7547965463, 51.55476358767, 5 +1883, -84.03373838759, 49.442702319, 2.5 +1884, -86.429160288, 45.12482966074, 7.5 +1885, -85.25878818218, 47.29893273326, 5 +1886, -86.429160288, 45.12482966074, 2.5 +1887, -88.6029046743, 40.69121874898, 7.5 +1888, -87.54410412855, 42.92178738507, 5 +1889, -88.6029046743, 40.69121874898, 2.5 +1890, -90.54939622619, 36.15324111436, 7.5 +1891, -89.6048829012, 38.43455424826, 5 +1892, -90.54939622619, 36.15324111436, 2.5 +1893, -92.26364249197, 31.52253597214, 7.5 +1894, -91.43583891926, 33.84874238624, 5 +1895, -92.26364249197, 31.52253597214, 2.5 +1896, -93.7412466934, 26.81098036939, 7.5 +1897, -93.03227606194, 29.17611370172, 5 +1898, -93.7412466934, 26.81098036939, 2.5 +1899, -94.97841900278, 22.03065872218, 7.5 +1900, -94.39009971327, 24.42865276921, 5 +1901, -94.97841900278, 22.03065872218, 2.5 +1902, -95.97198626325, 17.19383182091, 7.5 +1903, -95.50582726427, 19.61853609642, 5 +1904, -95.97198626325, 17.19383182091, 2.5 +1905, -96.71940012749, 12.31290538329, 7.5 +1906, -96.37659704523, 14.75810089343, 5 +1907, -96.71940012749, 12.31290538329, 2.5 +1908, -97.21874359379, 7.400398235559, 7.5 +1909, -97.00017566548, 9.859813429605, 5 +1910, -97.21874359379, 7.400398235559, 2.5 +1911, -97.46873592289, 2.468910203607, 7.5 +1912, -97.37496374167, 4.936237059542, 5 +1913, -97.46873592289, 2.468910203607, 2.5 +1914, -97.46873592289, -2.468910203607, 7.5 +1915, -97.5, 1.418364001728e-13, 5 +1916, -97.46873592289, -2.468910203607, 2.5 +1917, -97.21874359379, -7.400398235558, 7.5 +1918, -97.37496374167, -4.936237059542, 5 +1919, -97.21874359379, -7.400398235558, 2.5 +1920, -96.71940012749, -12.31290538329, 7.5 +1921, -97.00017566548, -9.859813429604, 5 +1922, -96.71940012749, -12.31290538329, 2.5 +1923, -95.97198626325, -17.19383182091, 7.5 +1924, -96.37659704523, -14.75810089343, 5 +1925, -95.97198626325, -17.19383182091, 2.5 +1926, -94.97841900278, -22.03065872218, 7.5 +1927, -95.50582726427, -19.61853609642, 5 +1928, -94.97841900278, -22.03065872218, 2.5 +1929, -93.7412466934, -26.81098036939, 7.5 +1930, -94.39009971327, -24.42865276921, 5 +1931, -93.7412466934, -26.81098036939, 2.5 +1932, -92.26364249197, -31.52253597214, 7.5 +1933, -93.03227606194, -29.17611370172, 5 +1934, -92.26364249197, -31.52253597214, 2.5 +1935, -90.54939622619, -36.15324111436, 7.5 +1936, -91.43583891927, -33.84874238624, 5 +1937, -90.54939622619, -36.15324111436, 2.5 +1938, -88.6029046743, -40.69121874898, 7.5 +1939, -89.6048829012, -38.43455424826, 5 +1940, -88.6029046743, -40.69121874898, 2.5 +1941, -86.429160288, -45.12482966074, 7.5 +1942, -87.54410412855, -42.92178738507, 5 +1943, -86.429160288, -45.12482966074, 2.5 +1944, -84.03373838759, -49.442702319, 7.5 +1945, -85.25878818218, -47.29893273326, 5 +1946, -84.03373838759, -49.442702319, 2.5 +1947, -81.42278286213, -53.63376204394, 7.5 +1948, -82.7547965463, -51.55476358767, 5 +1949, -81.42278286213, -53.63376204394, 2.5 +1950, -78.60299041131, -57.68725941142, 7.5 +1951, -80.03855157465, -55.67836439617, 5 +1952, -78.60299041131, -57.68725941142, 2.5 +1953, -75.58159336942, -61.59279782361, 7.5 +1954, -77.11702001816, -59.65915875638, 5 +1955, -75.58159336942, -61.59279782361, 2.5 +1956, -72.36634115556, -65.34036017468, 7.5 +1957, -73.9976951563, -63.48693654253, 5 +1958, -72.36634115556, -65.34036017468, 2.5 +1959, -68.96548039756, -68.92033454311, 7.5 +1960, -70.68857757799, -67.15188009282, 5 +1961, -68.96548039756, -68.92033454311, 2.5 +1962, -65.38773378063, -72.32353884479, 7.5 +1963, -67.19815466129, -70.64458939026, 5 +1964, -65.38773378063, -72.32353884479, 2.5 +1965, -61.64227767504, -75.54124438367, 7.5 +1966, -63.53537880457, -73.95610617224, 5 +1967, -61.64227767504, -75.54124438367, 2.5 +1968, -57.7387186001, -78.56519823954, 7.5 +1969, -59.70964446504, -77.07793690712, 5 +1970, -57.7387186001, -78.56519823954, 2.5 +1971, -53.68706858498, -81.38764443545, 7.5 +1972, -55.73076406336, -80.00207457881, 5 +1973, -53.68706858498, -81.38764443545, 2.5 +1974, -49.49771948931, -84.00134383066, 7.5 +1975, -51.6089428163, -82.72101922356, 5 +1976, -49.49771948931, -84.00134383066, 2.5 +1977, -45.18141634973, -86.39959268788, 7.5 +1978, -47.35475256194, -85.22779716617, 5 +1979, -45.18141634973, -86.39959268788, 2.5 +1980, -40.74922982049, -88.57623986734, 7.5 +1981, -42.97910464451, -87.51597890646, 5 +1982, -40.74922982049, -88.57623986734, 2.5 +1983, -36.2125277789, -90.52570260353, 7.5 +1984, -38.4932219285, -89.57969560991, 5 +1985, -36.2125277789, -90.52570260353, 2.5 +1986, -31.58294616853, -92.2429808241, 7.5 +1987, -33.9086100137, -91.4136541603, 5 +1988, -31.58294616853, -92.2429808241, 2.5 +1989, -26.87235915477, -93.72366997433, 7.5 +1990, -29.23702772513, -93.0131507358, 5 +1991, -26.87235915477, -93.72366997433, 2.5 +1992, -22.09284866938, -94.96397231409, 7.5 +1993, -24.49045695345, -94.37408287348, 5 +1994, -22.09284866938, -94.96397231409, 2.5 +1995, -17.25667342229, -95.96070665849, 7.5 +1996, -19.68107192327, -95.49295999157, 5 +1997, -17.25667342229, -95.96070665849, 2.5 +1998, -12.37623745979, -96.7113165371, 7.5 +1999, -14.82120796811, -96.36691234218, 5 +2000, -12.37623745979, -96.7113165371, 2.5 +2001, -5, -90.18853304211, 5.094971544493 +2002, -5, 54.9276315476, 5 +2003, -5, -4.993421049782, 5 +2004, -5, 64.91447364717, 5 +2005, -5, 90.18853304211, 5.094971544492 +2006, -5, -30.03061084485, 5.104988494412 +2007, -5, 44.87070490188, 5.104988494412 +2008, -5, 19.97368419913, 5 +2009, -5, -45.04591626727, 5.122486576814 +2010, -5, -60.02617941662, 5.122486576814 +2011, -5, 29.92548402561, 5.017498082402 +2012, -5, -74.90131574673, 5 +2013, -5, -19.90359965297, 5.104988494412 +2014, -5, 9.916757553408, 5.104988494412 +2015, -5, 74.86627347365, 4.982501917598 +2016, -5, 84.90427459756, 4.893342013935 +2017, -5, 4.946698019011, 4.895011505588 +2018, -5, -84.90427459756, 4.893342013935 +2019, -5, -49.98677390744, 5.142901006282 +2020, -5, -35.00067037925, 5.139984659215 +2021, -5, -64.96703705679, 5.142901006282 +2022, -5, -14.93354011858, 4.895011505588 +2023, -5, 39.90064536749, 5.139984659215 +2024, -5, 49.92252974013, 5.017498082402 +2025, -5, 14.96858239165, 5.017498082402 +2026, -5, 24.96126487006, 5.002916347067 +2027, -5, -24.96710524891, 5.034996164804 +2028, -5, 59.92105259739, 5 +2029, -5, 69.9020543181, 4.997083652933 +2030, -5, 79.89158254288, 4.979307321922 +2031, -5, -9.979054927769, 4.982501917598 +2032, -5, -79.89742292172, 4.982223668989 +2033, -5, -54.95391325241, 5.044231263849 +2034, -5, -0.007787171795258, 4.982501917598 +2035, -5, -69.91665526522, 5.02381683438 +2036, -5, -39.97267670659, 5.043745206005 +2037, -5, 34.94031979783, 5.026247123603 +2038, -5, -93.82112677702, 3.670984687479 +2039, -5, 93.82112677702, 3.670984687479 +2040, -5, 94.22627403632, 6.753191246394 +2041, -5, -94.22627403632, 6.753191246394 +2042, 7.48174034611, 97.21251751392, 2.5 +2043, 9.923329892154, 96.99369837186, 5 +2044, 7.48174034611, -97.21251751392, 7.5 +2045, 12.37623745979, -96.7113165371, 7.5 +2046, 9.923329892154, -96.99369837186, 5 +2047, 7.48174034611, 97.21251751392, 7.5 +2048, 7.48174034611, -97.21251751392, 2.5 +2049, 12.37623745979, -96.7113165371, 2.5 +2050, 17.25667342229, -95.96070665849, 7.5 +2051, 14.82120796811, -96.36691234218, 5 +2052, 17.25667342229, -95.96070665849, 2.5 +2053, 22.09284866938, -94.96397231409, 7.5 +2054, 19.68107192327, -95.49295999157, 5 +2055, 22.09284866938, -94.96397231409, 2.5 +2056, 26.87235915477, -93.72366997433, 7.5 +2057, 24.49045695345, -94.37408287348, 5 +2058, 26.87235915477, -93.72366997433, 2.5 +2059, 31.58294616853, -92.2429808241, 7.5 +2060, 29.23702772513, -93.0131507358, 5 +2061, 31.58294616853, -92.2429808241, 2.5 +2062, 36.2125277789, -90.52570260353, 7.5 +2063, 33.9086100137, -91.4136541603, 5 +2064, 36.2125277789, -90.52570260353, 2.5 +2065, 40.74922982049, -88.57623986734, 7.5 +2066, 38.4932219285, -89.57969560991, 5 +2067, 40.74922982049, -88.57623986734, 2.5 +2068, 45.18141634973, -86.39959268788, 7.5 +2069, 42.97910464451, -87.51597890646, 5 +2070, 45.18141634973, -86.39959268788, 2.5 +2071, 49.49771948931, -84.00134383066, 7.5 +2072, 47.35475256194, -85.22779716617, 5 +2073, 49.49771948931, -84.00134383066, 2.5 +2074, 53.68706858498, -81.38764443545, 7.5 +2075, 51.6089428163, -82.72101922356, 5 +2076, 53.68706858498, -81.38764443545, 2.5 +2077, 57.7387186001, -78.56519823954, 7.5 +2078, 55.73076406336, -80.00207457881, 5 +2079, 57.7387186001, -78.56519823954, 2.5 +2080, 61.64227767504, -75.54124438367, 7.5 +2081, 59.70964446504, -77.07793690712, 5 +2082, 61.64227767504, -75.54124438367, 2.5 +2083, 65.38773378063, -72.32353884479, 7.5 +2084, 63.53537880457, -73.95610617224, 5 +2085, 65.38773378063, -72.32353884479, 2.5 +2086, 68.96548039756, -68.92033454311, 7.5 +2087, 67.19815466129, -70.64458939026, 5 +2088, 68.96548039756, -68.92033454311, 2.5 +2089, 72.36634115556, -65.34036017468, 7.5 +2090, 70.68857757799, -67.15188009282, 5 +2091, 72.36634115556, -65.34036017468, 2.5 +2092, 75.58159336942, -61.59279782361, 7.5 +2093, 73.9976951563, -63.48693654253, 5 +2094, 75.58159336942, -61.59279782361, 2.5 +2095, 78.60299041131, -57.68725941142, 7.5 +2096, 77.11702001816, -59.65915875638, 5 +2097, 78.60299041131, -57.68725941142, 2.5 +2098, 81.42278286213, -53.63376204394, 7.5 +2099, 80.03855157465, -55.67836439617, 5 +2100, 81.42278286213, -53.63376204394, 2.5 +2101, 84.03373838759, -49.442702319, 7.5 +2102, 82.7547965463, -51.55476358767, 5 +2103, 84.03373838759, -49.442702319, 2.5 +2104, 86.429160288, -45.12482966074, 7.5 +2105, 85.25878818218, -47.29893273326, 5 +2106, 86.429160288, -45.12482966074, 2.5 +2107, 88.6029046743, -40.69121874898, 7.5 +2108, 87.54410412855, -42.92178738507, 5 +2109, 88.6029046743, -40.69121874898, 2.5 +2110, 90.54939622619, -36.15324111436, 7.5 +2111, 89.6048829012, -38.43455424826, 5 +2112, 90.54939622619, -36.15324111436, 2.5 +2113, 92.26364249197, -31.52253597214, 7.5 +2114, 91.43583891927, -33.84874238624, 5 +2115, 92.26364249197, -31.52253597214, 2.5 +2116, 93.7412466934, -26.81098036939, 7.5 +2117, 93.03227606194, -29.17611370172, 5 +2118, 93.7412466934, -26.81098036939, 2.5 +2119, 94.97841900278, -22.03065872218, 7.5 +2120, 94.39009971327, -24.42865276921, 5 +2121, 94.97841900278, -22.03065872218, 2.5 +2122, 95.97198626325, -17.19383182091, 7.5 +2123, 95.50582726427, -19.61853609642, 5 +2124, 95.97198626325, -17.19383182091, 2.5 +2125, 96.71940012749, -12.31290538329, 7.5 +2126, 96.37659704523, -14.75810089343, 5 +2127, 96.71940012749, -12.31290538329, 2.5 +2128, 97.21874359379, -7.400398235558, 7.5 +2129, 97.00017566548, -9.859813429604, 5 +2130, 97.21874359379, -7.400398235558, 2.5 +2131, 97.46873592289, -2.468910203607, 7.5 +2132, 97.37496374167, -4.936237059542, 5 +2133, 97.46873592289, -2.468910203607, 2.5 +2134, 97.46873592289, 2.468910203607, 7.5 +2135, 97.5, 1.493141792582e-13, 5 +2136, 97.46873592289, 2.468910203607, 2.5 +2137, 97.21874359379, 7.400398235559, 7.5 +2138, 97.37496374167, 4.936237059542, 5 +2139, 97.21874359379, 7.400398235559, 2.5 +2140, 96.71940012749, 12.31290538329, 7.5 +2141, 97.00017566548, 9.859813429604, 5 +2142, 96.71940012749, 12.31290538329, 2.5 +2143, 95.97198626325, 17.19383182091, 7.5 +2144, 96.37659704523, 14.75810089343, 5 +2145, 95.97198626325, 17.19383182091, 2.5 +2146, 94.97841900278, 22.03065872218, 7.5 +2147, 95.50582726427, 19.61853609642, 5 +2148, 94.97841900278, 22.03065872218, 2.5 +2149, 93.7412466934, 26.81098036939, 7.5 +2150, 94.39009971327, 24.42865276921, 5 +2151, 93.7412466934, 26.81098036939, 2.5 +2152, 92.26364249197, 31.52253597214, 7.5 +2153, 93.03227606194, 29.17611370172, 5 +2154, 92.26364249197, 31.52253597214, 2.5 +2155, 90.54939622619, 36.15324111436, 7.5 +2156, 91.43583891926, 33.84874238624, 5 +2157, 90.54939622619, 36.15324111436, 2.5 +2158, 88.6029046743, 40.69121874898, 7.5 +2159, 89.6048829012, 38.43455424826, 5 +2160, 88.6029046743, 40.69121874898, 2.5 +2161, 86.429160288, 45.12482966074, 7.5 +2162, 87.54410412855, 42.92178738507, 5 +2163, 86.429160288, 45.12482966074, 2.5 +2164, 84.03373838759, 49.442702319, 7.5 +2165, 85.25878818218, 47.29893273326, 5 +2166, 84.03373838759, 49.442702319, 2.5 +2167, 81.42278286213, 53.63376204394, 7.5 +2168, 82.7547965463, 51.55476358767, 5 +2169, 81.42278286213, 53.63376204394, 2.5 +2170, 78.60299041131, 57.68725941142, 7.5 +2171, 80.03855157465, 55.67836439617, 5 +2172, 78.60299041131, 57.68725941142, 2.5 +2173, 75.58159336942, 61.59279782361, 7.5 +2174, 77.11702001816, 59.65915875638, 5 +2175, 75.58159336942, 61.59279782361, 2.5 +2176, 72.36634115556, 65.34036017468, 7.5 +2177, 73.9976951563, 63.48693654253, 5 +2178, 72.36634115556, 65.34036017468, 2.5 +2179, 68.96548039756, 68.92033454311, 7.5 +2180, 70.68857757799, 67.15188009282, 5 +2181, 68.96548039756, 68.92033454311, 2.5 +2182, 65.38773378063, 72.32353884479, 7.5 +2183, 67.19815466129, 70.64458939026, 5 +2184, 65.38773378063, 72.32353884479, 2.5 +2185, 61.64227767504, 75.54124438367, 7.5 +2186, 63.53537880457, 73.95610617224, 5 +2187, 61.64227767504, 75.54124438367, 2.5 +2188, 57.7387186001, 78.56519823954, 7.5 +2189, 59.70964446504, 77.07793690712, 5 +2190, 57.7387186001, 78.56519823954, 2.5 +2191, 53.68706858498, 81.38764443545, 7.5 +2192, 55.73076406336, 80.00207457881, 5 +2193, 53.68706858498, 81.38764443545, 2.5 +2194, 49.49771948931, 84.00134383066, 7.5 +2195, 51.6089428163, 82.72101922356, 5 +2196, 49.49771948931, 84.00134383066, 2.5 +2197, 45.18141634973, 86.39959268788, 7.5 +2198, 47.35475256194, 85.22779716617, 5 +2199, 45.18141634973, 86.39959268788, 2.5 +2200, 40.74922982049, 88.57623986734, 7.5 +2201, 42.97910464451, 87.51597890646, 5 +2202, 40.74922982049, 88.57623986734, 2.5 +2203, 36.2125277789, 90.52570260353, 7.5 +2204, 38.4932219285, 89.57969560991, 5 +2205, 36.2125277789, 90.52570260353, 2.5 +2206, 31.58294616853, 92.2429808241, 7.5 +2207, 33.9086100137, 91.4136541603, 5 +2208, 31.58294616853, 92.2429808241, 2.5 +2209, 26.87235915477, 93.72366997433, 7.5 +2210, 29.23702772513, 93.0131507358, 5 +2211, 26.87235915477, 93.72366997433, 2.5 +2212, 22.09284866938, 94.96397231409, 7.5 +2213, 24.49045695345, 94.37408287348, 5 +2214, 22.09284866938, 94.96397231409, 2.5 +2215, 17.25667342229, 95.96070665849, 7.5 +2216, 19.68107192327, 95.49295999157, 5 +2217, 17.25667342229, 95.96070665849, 2.5 +2218, 12.37623745979, 96.7113165371, 7.5 +2219, 14.82120796811, 96.36691234218, 5 +2220, 12.37623745979, 96.7113165371, 2.5 +2221, 5, 74.90131574673, 5 +2222, 5, 64.91447364717, 5 +2223, 5, 34.95394734847, 5 +2224, 5, 44.94078944804, 5 +2225, 5, 54.9276315476, 5 +2226, 5, 84.95824239245, 5.104988494412 +2227, 5, -90.23144194792, 5.15925021454 +2228, 5, -69.90789469695, 5 +2229, 5, -59.92105259739, 5 +2230, 5, -29.96052629869, 5 +2231, 5, -20.00872647221, 5.017498082402 +2232, 5, -5.063505595938, 5.104988494412 +2233, 5, -39.94736839826, 5 +2234, 5, 4.993421049782, 5 +2235, 5, 24.96710524891, 5 +2236, 5, -79.89473679651, 5 +2237, 5, -49.93421049782, 5 +2238, 5, 14.98026314935, 5 +2239, 5, 90.39513847423, 5.101686242876 +2240, 5, -10.03356513034, 5.139984659215 +2241, 5, 49.93421049782, 5 +2242, 5, 29.96052629869, 5 +2243, 5, 39.94736839826, 5 +2244, 5, -24.97294562776, 5.002916347067 +2245, 5, 59.92105259739, 5 +2246, 5, -54.9276315476, 5 +2247, 5, -84.94646835494, 5.026541702423 +2248, 5, -64.91447364717, 5 +2249, 5, -34.95394734848, 5 +2250, 5, -74.90131574673, 5 +2251, 5, 19.97368419913, 5 +2252, 5, -0.01168075769282, 5.017498082402 +2253, 5, -44.94078944804, 5 +2254, 5, 9.986842099564, 5 +2255, 5, 69.90789469695, 5 +2256, 5, 79.90641755421, 5.017498082402 +2257, 5, -14.99389069999, 5.026247123603 +2258, 5, -93.82336068507, 3.674331140522 +2259, 5, 93.9814667438, 3.510084682257 +2260, 5, 94.37061000828, 6.892668627718 +2261, 5, -94.23530259909, 6.766716271013 +2262, 102.4691866281, 2.513123908508, 27.5 +2263, 102.2265590755, 7.482019752743, 27.5 +2264, 102.3784406622, 4.990479694338, 25 +2265, 102.4691866281, 2.513123908508, 22.5 +2266, 102.4691866281, -2.513123908508, 22.5 +2267, 102.3784406622, -4.990479694337, 25 +2268, 102.2265590755, 7.482019752743, 22.5 +2269, 102.4691866281, -2.513123908508, 27.5 +2270, 101.7410423879, 12.45031300076, 27.5 +2271, 102.0140509741, 9.969122522197, 25 +2272, 101.7410423879, 12.45031300076, 22.5 +2273, 101.0142071883, 17.38907548187, 27.5 +2274, 101.4076952277, 14.92411969284, 25 +2275, 101.0142071883, 17.38907548187, 22.5 +2276, 100.0477774495, 22.28659299711, 27.5 +2277, 100.5608116319, 19.84371850041, 25 +2278, 100.0477774495, 22.28659299711, 22.5 +2279, 98.84404543597, 27.13124917602, 27.5 +2280, 99.47540890113, 24.71625020006, 25 +2281, 98.84404543597, 27.13124917602, 22.5 +2282, 97.40586626714, 31.91155302939, 27.5 +2283, 98.15406149061, 29.53015768494, 25 +2284, 97.40586626714, 31.91155302939, 22.5 +2285, 95.73665114509, 36.61616620462, 27.5 +2286, 96.59990349046, 34.27402289832, 25 +2287, 95.73665114509, 36.61616620462, 22.5 +2288, 93.84035926366, 41.23392987902, 27.5 +2289, 94.81662119174, 38.93659391604, 25 +2290, 93.84035926366, 41.23392987902, 22.5 +2291, 91.72148841769, 45.75389122734, 27.5 +2292, 92.80844434305, 43.50681163477, 25 +2293, 91.72148841769, 45.75389122734, 22.5 +2294, 89.38506433474, 50.16532940064, 27.5 +2295, 90.58013611801, 47.97383600301, 25 +2296, 89.38506433474, 50.16532940064, 22.5 +2297, 86.8366287546, 54.45778095494, 27.5 +2298, 88.13698181754, 52.32707173247, 25 +2299, 86.8366287546, 54.45778095494, 22.5 +2300, 84.0822262849, 58.62106466941, 27.5 +2301, 85.48477633371, 56.55619342897, 25 +2302, 84.0822262849, 58.62106466941, 22.5 +2303, 81.128390064, 62.64530569503, 27.5 +2304, 82.62981040492, 60.65117008308, 25 +2305, 81.128390064, 62.64530569503, 22.5 +2306, 77.98212626506, 66.5209589767, 27.5 +2307, 79.57885569493, 64.60228886259, 25 +2308, 77.98212626506, 66.5209589767, 22.5 +2309, 74.65089747822, 70.23883189302, 27.5 +2310, 76.33914873124, 68.40017815028, 25 +2311, 74.65089747822, 70.23883189302, 22.5 +2312, 71.14260501012, 73.79010606019, 27.5 +2313, 72.91837374083, 72.03582977237, 25 +2314, 71.14260501012, 73.79010606019, 22.5 +2315, 67.46557014288, 77.16635824825, 27.5 +2316, 69.32464442404, 75.50062036487, 25 +2317, 67.46557014288, 77.16635824825, 22.5 +2318, 63.62851439697, 80.35958036, 27.5 +2319, 65.56648470979, 78.7863318273, 25 +2320, 63.62851439697, 80.35958036, 22.5 +2321, 59.64053884469, 83.3621984254, 27.5 +2322, 61.65280853769, 81.88517081508, 25 +2323, 59.64053884469, 83.3621984254, 22.5 +2324, 55.51110252346, 86.16709056612, 27.5 +2325, 57.59289871525, 84.78978722449, 25 +2326, 55.51110252346, 86.16709056612, 22.5 +2327, 51.25, 88.7676038879, 27.5 +2328, 53.39638490001, 87.49329162633, 25 +2329, 51.25, 88.7676038879, 22.5 +2330, 46.86733813873, 91.15757026046, 27.5 +2331, 49.07322075911, 89.98927160683, 25 +2332, 46.86733813873, 91.15757026046, 22.5 +2333, 42.37351212937, 93.33132094759, 27.5 +2334, 44.63366036026, 92.27180697724, 25 +2335, 42.37351212937, 93.33132094759, 22.5 +2336, 37.77918083073, 95.28370005284, 27.5 +2337, 40.08823385024, 94.33548381584, 25 +2338, 37.77918083073, 95.28370005284, 22.5 +2339, 33.09524148907, 97.01007674865, 27.5 +2340, 35.44772247854, 96.17540730917, 25 +2341, 33.09524148907, 97.01007674865, 22.5 +2342, 28.33280389102, 98.50635626026, 27.5 +2343, 30.72313302544, 97.78721336198, 25 +2344, 28.33280389102, 98.50635626026, 22.5 +2345, 23.50316401239, 99.76898957796, 27.5 +2346, 25.92567169515, 99.16707894839, 25 +2347, 23.50316401239, 99.76898957796, 22.5 +2348, 18.61777722539, 100.794981875, 27.5 +2349, 21.0667175359, 100.3117311797, 25 +2350, 18.61777722539, 100.794981875, 22.5 +2351, 13.68823112774, 101.5818996111, 27.5 +2352, 16.15779545015, 101.2184550672, 25 +2353, 13.68823112774, 101.5818996111, 22.5 +2354, 8.726218058148, 102.1278763042, 27.5 +2355, 11.21054885873, 101.8850999621, 25 +2356, 8.726218058148, 102.1278763042, 22.5 +2357, 3.74350736341, 102.4316169579, 27.5 +2358, 6.236712083979, 102.3100846563, 25 +2359, 3.74350736341, 102.4316169579, 22.5 +2360, -1.248082517205, 102.4924011331, 27.5 +2361, 1.248082517205, 102.4924011331, 25 +2362, -1.248082517205, 102.4924011331, 22.5 +2363, -6.236712083979, 102.3100846563, 27.5 +2364, -3.74350736341, 102.4316169579, 25 +2365, -6.236712083979, 102.3100846563, 22.5 +2366, -11.21054885873, 101.8850999621, 27.5 +2367, -8.726218058148, 102.1278763042, 25 +2368, -11.21054885873, 101.8850999621, 22.5 +2369, -16.15779545015, 101.2184550672, 27.5 +2370, -13.68823112774, 101.5818996111, 25 +2371, -16.15779545015, 101.2184550672, 22.5 +2372, -21.0667175359, 100.3117311797, 27.5 +2373, -18.61777722539, 100.794981875, 25 +2374, -21.0667175359, 100.3117311797, 22.5 +2375, -25.92567169515, 99.16707894839, 27.5 +2376, -23.50316401239, 99.76898957796, 25 +2377, -25.92567169515, 99.16707894839, 22.5 +2378, -30.72313302544, 97.78721336198, 27.5 +2379, -28.33280389102, 98.50635626026, 25 +2380, -30.72313302544, 97.78721336198, 22.5 +2381, -35.44772247854, 96.17540730917, 27.5 +2382, -33.09524148907, 97.01007674865, 25 +2383, -35.44772247854, 96.17540730917, 22.5 +2384, -40.08823385024, 94.33548381584, 27.5 +2385, -37.77918083073, 95.28370005284, 25 +2386, -40.08823385024, 94.33548381584, 22.5 +2387, -44.63366036026, 92.27180697724, 27.5 +2388, -42.37351212937, 93.33132094759, 25 +2389, -44.63366036026, 92.27180697724, 22.5 +2390, -49.07322075911, 89.98927160683, 27.5 +2391, -46.86733813873, 91.15757026046, 25 +2392, -49.07322075911, 89.98927160683, 22.5 +2393, -53.39638490001, 87.49329162633, 27.5 +2394, -51.25, 88.7676038879, 25 +2395, -53.39638490001, 87.49329162633, 22.5 +2396, -57.59289871525, 84.78978722449, 27.5 +2397, -55.51110252346, 86.16709056612, 25 +2398, -57.59289871525, 84.78978722449, 22.5 +2399, -61.65280853769, 81.88517081508, 27.5 +2400, -59.64053884469, 83.3621984254, 25 +2401, -61.65280853769, 81.88517081508, 22.5 +2402, -65.56648470979, 78.7863318273, 27.5 +2403, -63.62851439697, 80.35958036, 25 +2404, -65.56648470979, 78.7863318273, 22.5 +2405, -69.32464442404, 75.50062036487, 27.5 +2406, -67.46557014288, 77.16635824825, 25 +2407, -69.32464442404, 75.50062036487, 22.5 +2408, -72.91837374083, 72.03582977237, 27.5 +2409, -71.14260501011, 73.79010606019, 25 +2410, -72.91837374083, 72.03582977237, 22.5 +2411, -76.33914873124, 68.40017815028, 27.5 +2412, -74.65089747822, 70.23883189302, 25 +2413, -76.33914873124, 68.40017815028, 22.5 +2414, -79.57885569493, 64.60228886259, 27.5 +2415, -77.98212626506, 66.5209589767, 25 +2416, -79.57885569493, 64.60228886259, 22.5 +2417, -82.62981040492, 60.65117008308, 27.5 +2418, -81.128390064, 62.64530569503, 25 +2419, -82.62981040492, 60.65117008308, 22.5 +2420, -85.48477633371, 56.55619342897, 27.5 +2421, -84.0822262849, 58.62106466941, 25 +2422, -85.48477633371, 56.55619342897, 22.5 +2423, -88.13698181754, 52.32707173247, 27.5 +2424, -86.8366287546, 54.45778095494, 25 +2425, -88.13698181754, 52.32707173247, 22.5 +2426, -90.58013611801, 47.97383600301, 27.5 +2427, -89.38506433474, 50.16532940064, 25 +2428, -90.58013611801, 47.97383600301, 22.5 +2429, -92.80844434305, 43.50681163477, 27.5 +2430, -91.72148841769, 45.75389122734, 25 +2431, -92.80844434305, 43.50681163477, 22.5 +2432, -94.81662119174, 38.93659391604, 27.5 +2433, -93.84035926366, 41.23392987902, 25 +2434, -94.81662119174, 38.93659391604, 22.5 +2435, -96.59990349046, 34.27402289832, 27.5 +2436, -95.73665114509, 36.61616620462, 25 +2437, -96.59990349046, 34.27402289832, 22.5 +2438, -98.15406149061, 29.53015768494, 27.5 +2439, -97.40586626714, 31.91155302939, 25 +2440, -98.15406149061, 29.53015768494, 22.5 +2441, -99.47540890113, 24.71625020006, 27.5 +2442, -98.84404543597, 27.13124917602, 25 +2443, -99.47540890113, 24.71625020006, 22.5 +2444, -100.5608116319, 19.84371850041, 27.5 +2445, -100.0477774495, 22.28659299711, 25 +2446, -100.5608116319, 19.84371850041, 22.5 +2447, -101.4076952277, 14.92411969284, 27.5 +2448, -101.0142071883, 17.38907548187, 25 +2449, -101.4076952277, 14.92411969284, 22.5 +2450, -102.0140509741, 9.969122522197, 27.5 +2451, -101.7410423879, 12.45031300076, 25 +2452, -102.0140509741, 9.969122522197, 22.5 +2453, -102.3784406622, 4.990479694338, 27.5 +2454, -102.2265590755, 7.482019752743, 25 +2455, -102.3784406622, 4.990479694338, 22.5 +2456, -102.5, 1.946292057298e-13, 27.5 +2457, -102.4696056591, 2.495979980499, 25 +2458, -102.5, 1.946292057298e-13, 22.5 +2459, -102.3784406622, -4.990479694337, 27.5 +2460, -102.4696056591, -2.495979980499, 25 +2461, -102.3784406622, -4.990479694337, 22.5 +2462, -102.0140509741, -9.969122522196, 27.5 +2463, -102.2265590755, -7.482019752743, 25 +2464, -102.0140509741, -9.969122522196, 22.5 +2465, -101.4076952277, -14.92411969284, 27.5 +2466, -101.7410423879, -12.45031300076, 25 +2467, -101.4076952277, -14.92411969284, 22.5 +2468, -100.5608116319, -19.84371850041, 27.5 +2469, -101.0142071883, -17.38907548187, 25 +2470, -100.5608116319, -19.84371850041, 22.5 +2471, -99.47540890113, -24.71625020006, 27.5 +2472, -100.0477774495, -22.28659299711, 25 +2473, -99.47540890113, -24.71625020006, 22.5 +2474, -98.15406149061, -29.53015768494, 27.5 +2475, -98.84404543597, -27.13124917602, 25 +2476, -98.15406149061, -29.53015768494, 22.5 +2477, -96.59990349046, -34.27402289832, 27.5 +2478, -97.40586626714, -31.91155302939, 25 +2479, -96.59990349046, -34.27402289832, 22.5 +2480, -94.81662119174, -38.93659391604, 27.5 +2481, -95.73665114509, -36.61616620462, 25 +2482, -94.81662119174, -38.93659391604, 22.5 +2483, -92.80844434305, -43.50681163477, 27.5 +2484, -93.84035926366, -41.23392987902, 25 +2485, -92.80844434305, -43.50681163477, 22.5 +2486, -90.58013611801, -47.97383600301, 27.5 +2487, -91.72148841769, -45.75389122734, 25 +2488, -90.58013611801, -47.97383600301, 22.5 +2489, -88.13698181754, -52.32707173247, 27.5 +2490, -89.38506433474, -50.16532940064, 25 +2491, -88.13698181754, -52.32707173247, 22.5 +2492, -85.48477633371, -56.55619342897, 27.5 +2493, -86.8366287546, -54.45778095494, 25 +2494, -85.48477633371, -56.55619342897, 22.5 +2495, -82.62981040492, -60.65117008308, 27.5 +2496, -84.0822262849, -58.62106466941, 25 +2497, -82.62981040492, -60.65117008308, 22.5 +2498, -79.57885569493, -64.60228886259, 27.5 +2499, -81.128390064, -62.64530569503, 25 +2500, -79.57885569493, -64.60228886259, 22.5 +2501, -76.33914873124, -68.40017815028, 27.5 +2502, -77.98212626506, -66.5209589767, 25 +2503, -76.33914873124, -68.40017815028, 22.5 +2504, -72.91837374083, -72.03582977237, 27.5 +2505, -74.65089747822, -70.23883189302, 25 +2506, -72.91837374083, -72.03582977237, 22.5 +2507, -69.32464442404, -75.50062036487, 27.5 +2508, -71.14260501012, -73.79010606019, 25 +2509, -69.32464442404, -75.50062036487, 22.5 +2510, -65.56648470979, -78.7863318273, 27.5 +2511, -67.46557014288, -77.16635824825, 25 +2512, -65.56648470979, -78.7863318273, 22.5 +2513, -61.65280853769, -81.88517081508, 27.5 +2514, -63.62851439697, -80.35958036, 25 +2515, -61.65280853769, -81.88517081508, 22.5 +2516, -57.59289871525, -84.78978722449, 27.5 +2517, -59.64053884469, -83.3621984254, 25 +2518, -57.59289871525, -84.78978722449, 22.5 +2519, -53.39638490001, -87.49329162633, 27.5 +2520, -55.51110252346, -86.16709056612, 25 +2521, -53.39638490001, -87.49329162633, 22.5 +2522, -49.07322075911, -89.98927160683, 27.5 +2523, -51.25, -88.7676038879, 25 +2524, -49.07322075911, -89.98927160683, 22.5 +2525, -44.63366036026, -92.27180697724, 27.5 +2526, -46.86733813873, -91.15757026046, 25 +2527, -44.63366036026, -92.27180697724, 22.5 +2528, -40.08823385024, -94.33548381584, 27.5 +2529, -42.37351212937, -93.33132094759, 25 +2530, -40.08823385024, -94.33548381584, 22.5 +2531, -35.44772247854, -96.17540730917, 27.5 +2532, -37.77918083073, -95.28370005284, 25 +2533, -35.44772247854, -96.17540730917, 22.5 +2534, -30.72313302544, -97.78721336198, 27.5 +2535, -33.09524148907, -97.01007674865, 25 +2536, -30.72313302544, -97.78721336198, 22.5 +2537, -25.92567169515, -99.16707894839, 27.5 +2538, -28.33280389102, -98.50635626026, 25 +2539, -25.92567169515, -99.16707894839, 22.5 +2540, -21.0667175359, -100.3117311797, 27.5 +2541, -23.50316401239, -99.76898957796, 25 +2542, -21.0667175359, -100.3117311797, 22.5 +2543, -16.15779545015, -101.2184550672, 27.5 +2544, -18.61777722539, -100.794981875, 25 +2545, -16.15779545015, -101.2184550672, 22.5 +2546, -11.21054885873, -101.8850999621, 27.5 +2547, -13.68823112774, -101.5818996111, 25 +2548, -11.21054885873, -101.8850999621, 22.5 +2549, -6.236712083979, -102.3100846563, 27.5 +2550, -8.726218058148, -102.1278763042, 25 +2551, -6.236712083979, -102.3100846563, 22.5 +2552, -1.248082517205, -102.4924011331, 27.5 +2553, -3.74350736341, -102.4316169579, 25 +2554, -1.248082517205, -102.4924011331, 22.5 +2555, 3.74350736341, -102.4316169579, 27.5 +2556, 1.248082517205, -102.4924011331, 25 +2557, 3.74350736341, -102.4316169579, 22.5 +2558, 8.726218058148, -102.1278763042, 27.5 +2559, 6.236712083979, -102.3100846563, 25 +2560, 8.726218058148, -102.1278763042, 22.5 +2561, 13.68823112774, -101.5818996111, 27.5 +2562, 11.21054885873, -101.8850999621, 25 +2563, 13.68823112774, -101.5818996111, 22.5 +2564, 18.61777722539, -100.794981875, 27.5 +2565, 16.15779545015, -101.2184550672, 25 +2566, 18.61777722539, -100.794981875, 22.5 +2567, 23.50316401239, -99.76898957796, 27.5 +2568, 21.0667175359, -100.3117311797, 25 +2569, 23.50316401239, -99.76898957796, 22.5 +2570, 28.33280389102, -98.50635626026, 27.5 +2571, 25.92567169515, -99.16707894839, 25 +2572, 28.33280389102, -98.50635626026, 22.5 +2573, 33.09524148907, -97.01007674865, 27.5 +2574, 30.72313302544, -97.78721336198, 25 +2575, 33.09524148907, -97.01007674865, 22.5 +2576, 37.77918083073, -95.28370005284, 27.5 +2577, 35.44772247854, -96.17540730917, 25 +2578, 37.77918083073, -95.28370005284, 22.5 +2579, 42.37351212937, -93.33132094759, 27.5 +2580, 40.08823385024, -94.33548381584, 25 +2581, 42.37351212937, -93.33132094759, 22.5 +2582, 46.86733813873, -91.15757026046, 27.5 +2583, 44.63366036026, -92.27180697724, 25 +2584, 46.86733813873, -91.15757026046, 22.5 +2585, 51.25, -88.7676038879, 27.5 +2586, 49.07322075911, -89.98927160683, 25 +2587, 51.25, -88.7676038879, 22.5 +2588, 55.51110252346, -86.16709056612, 27.5 +2589, 53.39638490001, -87.49329162633, 25 +2590, 55.51110252346, -86.16709056612, 22.5 +2591, 59.64053884469, -83.3621984254, 27.5 +2592, 57.59289871525, -84.78978722449, 25 +2593, 59.64053884469, -83.3621984254, 22.5 +2594, 63.62851439697, -80.35958036, 27.5 +2595, 61.65280853769, -81.88517081508, 25 +2596, 63.62851439697, -80.35958036, 22.5 +2597, 67.46557014288, -77.16635824825, 27.5 +2598, 65.56648470979, -78.7863318273, 25 +2599, 67.46557014288, -77.16635824825, 22.5 +2600, 71.14260501012, -73.79010606019, 27.5 +2601, 69.32464442404, -75.50062036487, 25 +2602, 71.14260501012, -73.79010606019, 22.5 +2603, 74.65089747822, -70.23883189302, 27.5 +2604, 72.91837374083, -72.03582977237, 25 +2605, 74.65089747822, -70.23883189302, 22.5 +2606, 77.98212626506, -66.5209589767, 27.5 +2607, 76.33914873124, -68.40017815028, 25 +2608, 77.98212626506, -66.5209589767, 22.5 +2609, 81.128390064, -62.64530569503, 27.5 +2610, 79.57885569493, -64.60228886258, 25 +2611, 81.128390064, -62.64530569503, 22.5 +2612, 84.0822262849, -58.62106466941, 27.5 +2613, 82.62981040492, -60.65117008308, 25 +2614, 84.0822262849, -58.62106466941, 22.5 +2615, 86.8366287546, -54.45778095494, 27.5 +2616, 85.48477633371, -56.55619342897, 25 +2617, 86.8366287546, -54.45778095494, 22.5 +2618, 89.38506433474, -50.16532940064, 27.5 +2619, 88.13698181754, -52.32707173247, 25 +2620, 89.38506433474, -50.16532940064, 22.5 +2621, 91.72148841769, -45.75389122734, 27.5 +2622, 90.58013611801, -47.97383600301, 25 +2623, 91.72148841769, -45.75389122734, 22.5 +2624, 93.84035926366, -41.23392987902, 27.5 +2625, 92.80844434305, -43.50681163477, 25 +2626, 93.84035926366, -41.23392987902, 22.5 +2627, 95.73665114509, -36.61616620462, 27.5 +2628, 94.81662119174, -38.93659391604, 25 +2629, 95.73665114509, -36.61616620462, 22.5 +2630, 97.40586626714, -31.91155302939, 27.5 +2631, 96.59990349046, -34.27402289832, 25 +2632, 97.40586626714, -31.91155302939, 22.5 +2633, 98.84404543597, -27.13124917602, 27.5 +2634, 98.15406149061, -29.53015768494, 25 +2635, 98.84404543597, -27.13124917602, 22.5 +2636, 100.0477774495, -22.28659299711, 27.5 +2637, 99.47540890113, -24.71625020006, 25 +2638, 100.0477774495, -22.28659299711, 22.5 +2639, 101.0142071883, -17.38907548187, 27.5 +2640, 100.5608116319, -19.84371850041, 25 +2641, 101.0142071883, -17.38907548187, 22.5 +2642, 101.7410423879, -12.45031300076, 27.5 +2643, 101.4076952277, -14.92411969284, 25 +2644, 101.7410423879, -12.45031300076, 22.5 +2645, 102.2265590755, -7.482019752743, 27.5 +2646, 102.0140509741, -9.969122522196, 25 +2647, 102.2265590755, -7.482019752743, 22.5 +2648, -0.1803227729004, 94.65404833334, 30 +2649, -0.07533427848899, -94.7241328795, 30 +2650, 2.085569085501e-14, 69.90789469695, 30 +2651, -0.01749808240194, 44.90574717496, 30 +2652, -0.1049884944116, 59.85096805123, 30 +2653, 2.460994371252e-15, -29.96052629869, 30 +2654, 0.1049884944116, 34.88386280232, 30 +2655, -1.913242660605e-15, -19.97368419913, 30 +2656, -7.307699519976e-15, -59.92105259739, 30 +2657, 0.01749808240193, 19.93864192605, 30 +2658, 0, 79.89473679651, 30 +2659, 0.1049884944116, -84.81807330014, 30 +2660, -0.01749808240195, -69.87285242387, 30 +2661, 0.08999013806706, -9.27349623531, 30 +2662, -9.994344553503e-15, -49.93421049782, 30 +2663, 1.998401444325e-15, -39.94736839826, 30 +2664, -0.08999013806706, 9.27349623531, 30 +2665, 0.09243278133013, 89.80971135425, 30 +2666, 0.1399846592154, 29.91380326792, 30 +2667, -0.1399846592154, 54.88090851683, 30 +2668, -0.1049884944116, -79.84801376574, 30 +2669, 0.004942369320439, -89.84475362733, 30 +2670, 3.772007949068e-15, 74.90131574673, 30 +2671, 0.01458173533494, 39.92984726172, 30 +2672, -0.002916347066993, -64.90863326832, 30 +2673, -1.48068692148e-15, -44.94078944804, 30 +2674, 2.393216883912e-16, -24.96710524891, 30 +2675, 0.01499835634451, -14.86137217197, 30 +2676, -0.01208200927752, 14.85553179312, 30 +2677, 4.471731626962e-16, -34.95394734848, 30 +2678, -3.031703748863e-15, -54.9276315476, 30 +2679, -0.01749808240193, 64.90279288948, 30 +2680, 0.01540546355502, 84.87617992266, 30 +2681, 0.02624712360289, 24.95347769827, 30 +2682, -0.0262471236029, 49.92058294718, 30 +2683, -0.02041442946892, -74.88768819609, 30 +2684, -1.081936637403, 98.96321859747, 30 +2685, -1.081936637404, -98.96321859747, 30 +2686, -2.256166415865, -5.160086803117, 30 +2687, 2.424229417898, -5.121144909064, 30 +2688, 2.256166415865, 5.160086803116, 30 +2689, -2.424229417898, 5.121144909064, 30 +2690, -80.60171324799, 59.1541354446, 30 +2691, -80.60171324799, -59.1541354446, 30 +2692, -0.1803227729008, 94.65404833334, 20 +2693, -0.07533427848943, -94.7241328795, 20 +2694, -0.1049884944116, 54.99771609376, 20 +2695, -0.01749808240193, 69.94293697003, 20 +2696, 2.460994371252e-15, -29.96052629869, 20 +2697, -1.913242660605e-15, -19.97368419913, 20 +2698, 0.1049884944116, -74.83123120058, 20 +2699, -5.79653289295e-15, -59.92105259739, 20 +2700, 0.1049884944116, 9.243460001243, 20 +2701, -4.308722690807e-15, 34.95394734847, 20 +2702, -9.994344553503e-15, -49.93421049782, 20 +2703, -0.01749808240193, 79.85969452344, 20 +2704, -1.579087744645e-14, -84.8881578463, 20 +2705, 0.08999013806706, -9.27349623531, 20 +2706, -0.1049884944116, 24.89702070275, 20 +2707, 5.646944883791e-15, -39.94736839826, 20 +2708, -7.216449660064e-15, 44.94078944804, 20 +2709, -0.152540372297, 89.80971135425, 20 +2710, -0.1399846592154, 59.96777562816, 20 +2711, 0.1049884944116, 19.92696116836, 20 +2712, 0.1399846592154, -69.86117166618, 20 +2713, -0.01255571308157, -89.85643438502, 20 +2714, -0.005832694133977, 74.90131574673, 20 +2715, -2.068891795095e-15, 39.94736839826, 20 +2716, 2.393216883912e-16, -24.96710524891, 20 +2717, -2.631812907742e-15, -54.9276315476, 20 +2718, 0.01749808240192, -79.88305603882, 20 +2719, 0.01499835634451, -14.86137217197, 20 +2720, 1.055263735941e-15, -34.95394734848, 20 +2721, -0.01749808240193, 29.948845541, 20 +2722, -7.245666116187e-16, -44.94078944804, 20 +2723, -0.01749808240193, 49.94589125551, 20 +2724, -0.02833974244982, 84.87033954381, 20 +2725, 0.03499616480386, 14.84857896116, 20 +2726, -0.02624712360289, 64.92810119781, 20 +2727, 0.0233307765359, -64.90668647537, 20 +2728, -1.081936637405, 98.96321859747, 20 +2729, -1.081936637405, -98.96321859747, 20 +2730, 2.269284511793, -5.160086803117, 20 +2731, -2.414176399777, -5.121144909064, 20 +2732, -2.255073241204, 5.157897573228, 20 +2733, 2.425067169408, 5.119467198529, 20 +2734, -80.60171324799, 59.1541354446, 20 +2735, -80.60171324799, -59.1541354446, 20 +2736, 2.12132034356, 2.12132034356, 27.5 +2737, 2.848232278972e-15, 3, 25 +2738, 2.12132034356, -2.12132034356, 27.5 +2739, 2.113444199484e-15, -3, 25 +2740, 2.12132034356, -2.12132034356, 22.5 +2741, 2.12132034356, 2.12132034356, 22.5 +2742, -2.12132034356, 2.12132034356, 27.5 +2743, -3, 3.673940397442e-16, 25 +2744, -2.12132034356, -2.12132034356, 27.5 +2745, -2.12132034356, 2.12132034356, 22.5 +2746, -2.12132034356, -2.12132034356, 22.5 +2747, -7.48174034611, 97.21251751392, 27.5 +2748, -12.37623745979, 96.7113165371, 27.5 +2749, -9.923329892154, 96.99369837186, 25 +2750, -7.48174034611, 97.21251751392, 22.5 +2751, -7.48174034611, -97.21251751392, 22.5 +2752, -9.923329892154, -96.99369837186, 25 +2753, -12.37623745979, 96.7113165371, 22.5 +2754, -7.48174034611, -97.21251751392, 27.5 +2755, -17.25667342229, 95.96070665849, 27.5 +2756, -14.82120796811, 96.36691234218, 25 +2757, -17.25667342229, 95.96070665849, 22.5 +2758, -22.09284866938, 94.96397231409, 27.5 +2759, -19.68107192327, 95.49295999157, 25 +2760, -22.09284866938, 94.96397231409, 22.5 +2761, -26.87235915476, 93.72366997433, 27.5 +2762, -24.49045695345, 94.37408287348, 25 +2763, -26.87235915476, 93.72366997433, 22.5 +2764, -31.58294616853, 92.2429808241, 27.5 +2765, -29.23702772513, 93.0131507358, 25 +2766, -31.58294616853, 92.2429808241, 22.5 +2767, -36.2125277789, 90.52570260353, 27.5 +2768, -33.9086100137, 91.4136541603, 25 +2769, -36.2125277789, 90.52570260353, 22.5 +2770, -40.74922982048, 88.57623986734, 27.5 +2771, -38.4932219285, 89.57969560991, 25 +2772, -40.74922982048, 88.57623986734, 22.5 +2773, -45.18141634973, 86.39959268788, 27.5 +2774, -42.97910464451, 87.51597890646, 25 +2775, -45.18141634973, 86.39959268788, 22.5 +2776, -49.49771948931, 84.00134383066, 27.5 +2777, -47.35475256194, 85.22779716617, 25 +2778, -49.49771948931, 84.00134383066, 22.5 +2779, -53.68706858498, 81.38764443545, 27.5 +2780, -51.6089428163, 82.72101922356, 25 +2781, -53.68706858498, 81.38764443545, 22.5 +2782, -57.7387186001, 78.56519823954, 27.5 +2783, -55.73076406336, 80.00207457881, 25 +2784, -57.7387186001, 78.56519823954, 22.5 +2785, -61.64227767504, 75.54124438367, 27.5 +2786, -59.70964446504, 77.07793690712, 25 +2787, -61.64227767504, 75.54124438367, 22.5 +2788, -65.38773378063, 72.32353884479, 27.5 +2789, -63.53537880457, 73.95610617224, 25 +2790, -65.38773378063, 72.32353884479, 22.5 +2791, -68.96548039756, 68.92033454311, 27.5 +2792, -67.19815466129, 70.64458939026, 25 +2793, -68.96548039756, 68.92033454311, 22.5 +2794, -72.36634115556, 65.34036017468, 27.5 +2795, -70.68857757799, 67.15188009282, 25 +2796, -72.36634115556, 65.34036017468, 22.5 +2797, -75.58159336942, 61.59279782361, 27.5 +2798, -73.9976951563, 63.48693654253, 25 +2799, -75.58159336942, 61.59279782361, 22.5 +2800, -78.60299041131, 57.68725941142, 27.5 +2801, -77.11702001816, 59.65915875638, 25 +2802, -78.60299041131, 57.68725941142, 22.5 +2803, -81.42278286213, 53.63376204394, 27.5 +2804, -80.03855157465, 55.67836439617, 25 +2805, -81.42278286213, 53.63376204394, 22.5 +2806, -84.03373838759, 49.442702319, 27.5 +2807, -82.7547965463, 51.55476358767, 25 +2808, -84.03373838759, 49.442702319, 22.5 +2809, -86.429160288, 45.12482966074, 27.5 +2810, -85.25878818218, 47.29893273326, 25 +2811, -86.429160288, 45.12482966074, 22.5 +2812, -88.6029046743, 40.69121874898, 27.5 +2813, -87.54410412855, 42.92178738507, 25 +2814, -88.6029046743, 40.69121874898, 22.5 +2815, -90.54939622619, 36.15324111436, 27.5 +2816, -89.6048829012, 38.43455424826, 25 +2817, -90.54939622619, 36.15324111436, 22.5 +2818, -92.26364249197, 31.52253597214, 27.5 +2819, -91.43583891926, 33.84874238624, 25 +2820, -92.26364249197, 31.52253597214, 22.5 +2821, -93.7412466934, 26.81098036939, 27.5 +2822, -93.03227606194, 29.17611370172, 25 +2823, -93.7412466934, 26.81098036939, 22.5 +2824, -94.97841900278, 22.03065872218, 27.5 +2825, -94.39009971327, 24.42865276921, 25 +2826, -94.97841900278, 22.03065872218, 22.5 +2827, -95.97198626325, 17.19383182091, 27.5 +2828, -95.50582726427, 19.61853609642, 25 +2829, -95.97198626325, 17.19383182091, 22.5 +2830, -96.71940012749, 12.31290538329, 27.5 +2831, -96.37659704523, 14.75810089343, 25 +2832, -96.71940012749, 12.31290538329, 22.5 +2833, -97.21874359379, 7.400398235559, 27.5 +2834, -97.00017566548, 9.859813429605, 25 +2835, -97.21874359379, 7.400398235559, 22.5 +2836, -97.46873592289, 2.468910203607, 27.5 +2837, -97.37496374167, 4.936237059542, 25 +2838, -97.46873592289, 2.468910203607, 22.5 +2839, -97.46873592289, -2.468910203607, 27.5 +2840, -97.5, 1.418364001728e-13, 25 +2841, -97.46873592289, -2.468910203607, 22.5 +2842, -97.21874359379, -7.400398235558, 27.5 +2843, -97.37496374167, -4.936237059542, 25 +2844, -97.21874359379, -7.400398235558, 22.5 +2845, -96.71940012749, -12.31290538329, 27.5 +2846, -97.00017566548, -9.859813429604, 25 +2847, -96.71940012749, -12.31290538329, 22.5 +2848, -95.97198626325, -17.19383182091, 27.5 +2849, -96.37659704523, -14.75810089343, 25 +2850, -95.97198626325, -17.19383182091, 22.5 +2851, -94.97841900278, -22.03065872218, 27.5 +2852, -95.50582726427, -19.61853609642, 25 +2853, -94.97841900278, -22.03065872218, 22.5 +2854, -93.7412466934, -26.81098036939, 27.5 +2855, -94.39009971327, -24.42865276921, 25 +2856, -93.7412466934, -26.81098036939, 22.5 +2857, -92.26364249197, -31.52253597214, 27.5 +2858, -93.03227606194, -29.17611370172, 25 +2859, -92.26364249197, -31.52253597214, 22.5 +2860, -90.54939622619, -36.15324111436, 27.5 +2861, -91.43583891927, -33.84874238624, 25 +2862, -90.54939622619, -36.15324111436, 22.5 +2863, -88.6029046743, -40.69121874898, 27.5 +2864, -89.6048829012, -38.43455424826, 25 +2865, -88.6029046743, -40.69121874898, 22.5 +2866, -86.429160288, -45.12482966074, 27.5 +2867, -87.54410412855, -42.92178738507, 25 +2868, -86.429160288, -45.12482966074, 22.5 +2869, -84.03373838759, -49.442702319, 27.5 +2870, -85.25878818218, -47.29893273326, 25 +2871, -84.03373838759, -49.442702319, 22.5 +2872, -81.42278286213, -53.63376204394, 27.5 +2873, -82.7547965463, -51.55476358767, 25 +2874, -81.42278286213, -53.63376204394, 22.5 +2875, -78.60299041131, -57.68725941142, 27.5 +2876, -80.03855157465, -55.67836439617, 25 +2877, -78.60299041131, -57.68725941142, 22.5 +2878, -75.58159336942, -61.59279782361, 27.5 +2879, -77.11702001816, -59.65915875638, 25 +2880, -75.58159336942, -61.59279782361, 22.5 +2881, -72.36634115556, -65.34036017468, 27.5 +2882, -73.9976951563, -63.48693654253, 25 +2883, -72.36634115556, -65.34036017468, 22.5 +2884, -68.96548039756, -68.92033454311, 27.5 +2885, -70.68857757799, -67.15188009282, 25 +2886, -68.96548039756, -68.92033454311, 22.5 +2887, -65.38773378063, -72.32353884479, 27.5 +2888, -67.19815466129, -70.64458939026, 25 +2889, -65.38773378063, -72.32353884479, 22.5 +2890, -61.64227767504, -75.54124438367, 27.5 +2891, -63.53537880457, -73.95610617224, 25 +2892, -61.64227767504, -75.54124438367, 22.5 +2893, -57.7387186001, -78.56519823954, 27.5 +2894, -59.70964446504, -77.07793690712, 25 +2895, -57.7387186001, -78.56519823954, 22.5 +2896, -53.68706858498, -81.38764443545, 27.5 +2897, -55.73076406336, -80.00207457881, 25 +2898, -53.68706858498, -81.38764443545, 22.5 +2899, -49.49771948931, -84.00134383066, 27.5 +2900, -51.6089428163, -82.72101922356, 25 +2901, -49.49771948931, -84.00134383066, 22.5 +2902, -45.18141634973, -86.39959268788, 27.5 +2903, -47.35475256194, -85.22779716617, 25 +2904, -45.18141634973, -86.39959268788, 22.5 +2905, -40.74922982049, -88.57623986734, 27.5 +2906, -42.97910464451, -87.51597890646, 25 +2907, -40.74922982049, -88.57623986734, 22.5 +2908, -36.2125277789, -90.52570260353, 27.5 +2909, -38.4932219285, -89.57969560991, 25 +2910, -36.2125277789, -90.52570260353, 22.5 +2911, -31.58294616853, -92.2429808241, 27.5 +2912, -33.9086100137, -91.4136541603, 25 +2913, -31.58294616853, -92.2429808241, 22.5 +2914, -26.87235915477, -93.72366997433, 27.5 +2915, -29.23702772513, -93.0131507358, 25 +2916, -26.87235915477, -93.72366997433, 22.5 +2917, -22.09284866938, -94.96397231409, 27.5 +2918, -24.49045695345, -94.37408287348, 25 +2919, -22.09284866938, -94.96397231409, 22.5 +2920, -17.25667342229, -95.96070665849, 27.5 +2921, -19.68107192327, -95.49295999157, 25 +2922, -17.25667342229, -95.96070665849, 22.5 +2923, -12.37623745979, -96.7113165371, 27.5 +2924, -14.82120796811, -96.36691234218, 25 +2925, -12.37623745979, -96.7113165371, 22.5 +2926, -5, -90.23144194792, 25.03069287444 +2927, -5, 54.9276315476, 25 +2928, -5, -4.993421049782, 25 +2929, -5, 64.91447364717, 25 +2930, -5, 90.18853304211, 25.09497154449 +2931, -5, -29.96052629869, 25 +2932, -5, 44.87070490188, 25.10498849441 +2933, -5, -39.94736839826, 25 +2934, -5, -79.89473679651, 25 +2935, -5, 19.90359965297, 24.89501150559 +2936, -5, -59.92105259739, 25 +2937, -5, -49.93421049782, 25 +2938, -5, 29.96052629869, 25 +2939, -5, -69.90789469695, 25 +2940, -5, -19.90359965297, 24.89501150559 +2941, -5, 4.993421049782, 25 +2942, -5, 74.90131574673, 25 +2943, -5, 84.90427459756, 25.13831516756 +2944, -5, 14.93354011858, 25.10498849441 +2945, -5, -14.93354011858, 25.10498849441 +2946, -5, 39.90064536749, 24.89501150559 +2947, -5, 49.92252974013, 25.0174980824 +2948, -5, -44.94078944804, 25 +2949, -5, -34.95394734848, 25 +2950, -5, -84.94646835494, 25.00511547907 +2951, -5, 24.95542449122, 24.9825019176 +2952, -5, -64.91447364717, 25 +2953, -5, -74.90131574673, 25 +2954, -5, -54.9276315476, 25 +2955, -5, -24.95542449122, 24.9825019176 +2956, -5, -1.989519660128e-13, 25 +2957, -5, 59.92105259739, 25 +2958, -5, 69.90789469695, 25 +2959, -5, 79.89742292172, 25.02305252793 +2960, -5, 9.979054927769, 25.0174980824 +2961, -5, -9.979054927769, 25.0174980824 +2962, -5, 34.94616017668, 24.9825019176 +2963, -5, -93.82336068507, 23.66763823444 +2964, -5, 93.82112677702, 23.67098468748 +2965, -5, 94.22627403632, 26.75319124639 +2966, -5, -94.23530259909, 26.73966622178 +2967, 7.48174034611, 97.21251751392, 22.5 +2968, 9.923329892154, 96.99369837186, 25 +2969, 7.48174034611, -97.21251751392, 27.5 +2970, 12.37623745979, -96.7113165371, 27.5 +2971, 9.923329892154, -96.99369837186, 25 +2972, 7.48174034611, 97.21251751392, 27.5 +2973, 7.48174034611, -97.21251751392, 22.5 +2974, 12.37623745979, -96.7113165371, 22.5 +2975, 17.25667342229, -95.96070665849, 27.5 +2976, 14.82120796811, -96.36691234218, 25 +2977, 17.25667342229, -95.96070665849, 22.5 +2978, 22.09284866938, -94.96397231409, 27.5 +2979, 19.68107192327, -95.49295999157, 25 +2980, 22.09284866938, -94.96397231409, 22.5 +2981, 26.87235915477, -93.72366997433, 27.5 +2982, 24.49045695345, -94.37408287348, 25 +2983, 26.87235915477, -93.72366997433, 22.5 +2984, 31.58294616853, -92.2429808241, 27.5 +2985, 29.23702772513, -93.0131507358, 25 +2986, 31.58294616853, -92.2429808241, 22.5 +2987, 36.2125277789, -90.52570260353, 27.5 +2988, 33.9086100137, -91.4136541603, 25 +2989, 36.2125277789, -90.52570260353, 22.5 +2990, 40.74922982049, -88.57623986734, 27.5 +2991, 38.4932219285, -89.57969560991, 25 +2992, 40.74922982049, -88.57623986734, 22.5 +2993, 45.18141634973, -86.39959268788, 27.5 +2994, 42.97910464451, -87.51597890646, 25 +2995, 45.18141634973, -86.39959268788, 22.5 +2996, 49.49771948931, -84.00134383066, 27.5 +2997, 47.35475256194, -85.22779716617, 25 +2998, 49.49771948931, -84.00134383066, 22.5 +2999, 53.68706858498, -81.38764443545, 27.5 +3000, 51.6089428163, -82.72101922356, 25 +3001, 53.68706858498, -81.38764443545, 22.5 +3002, 57.7387186001, -78.56519823954, 27.5 +3003, 55.73076406336, -80.00207457881, 25 +3004, 57.7387186001, -78.56519823954, 22.5 +3005, 61.64227767504, -75.54124438367, 27.5 +3006, 59.70964446504, -77.07793690712, 25 +3007, 61.64227767504, -75.54124438367, 22.5 +3008, 65.38773378063, -72.32353884479, 27.5 +3009, 63.53537880457, -73.95610617224, 25 +3010, 65.38773378063, -72.32353884479, 22.5 +3011, 68.96548039756, -68.92033454311, 27.5 +3012, 67.19815466129, -70.64458939026, 25 +3013, 68.96548039756, -68.92033454311, 22.5 +3014, 72.36634115556, -65.34036017468, 27.5 +3015, 70.68857757799, -67.15188009282, 25 +3016, 72.36634115556, -65.34036017468, 22.5 +3017, 75.58159336942, -61.59279782361, 27.5 +3018, 73.9976951563, -63.48693654253, 25 +3019, 75.58159336942, -61.59279782361, 22.5 +3020, 78.60299041131, -57.68725941142, 27.5 +3021, 77.11702001816, -59.65915875638, 25 +3022, 78.60299041131, -57.68725941142, 22.5 +3023, 81.42278286213, -53.63376204394, 27.5 +3024, 80.03855157465, -55.67836439617, 25 +3025, 81.42278286213, -53.63376204394, 22.5 +3026, 84.03373838759, -49.442702319, 27.5 +3027, 82.7547965463, -51.55476358767, 25 +3028, 84.03373838759, -49.442702319, 22.5 +3029, 86.429160288, -45.12482966074, 27.5 +3030, 85.25878818218, -47.29893273326, 25 +3031, 86.429160288, -45.12482966074, 22.5 +3032, 88.6029046743, -40.69121874898, 27.5 +3033, 87.54410412855, -42.92178738507, 25 +3034, 88.6029046743, -40.69121874898, 22.5 +3035, 90.54939622619, -36.15324111436, 27.5 +3036, 89.6048829012, -38.43455424826, 25 +3037, 90.54939622619, -36.15324111436, 22.5 +3038, 92.26364249197, -31.52253597214, 27.5 +3039, 91.43583891927, -33.84874238624, 25 +3040, 92.26364249197, -31.52253597214, 22.5 +3041, 93.7412466934, -26.81098036939, 27.5 +3042, 93.03227606194, -29.17611370172, 25 +3043, 93.7412466934, -26.81098036939, 22.5 +3044, 94.97841900278, -22.03065872218, 27.5 +3045, 94.39009971327, -24.42865276921, 25 +3046, 94.97841900278, -22.03065872218, 22.5 +3047, 95.97198626325, -17.19383182091, 27.5 +3048, 95.50582726427, -19.61853609642, 25 +3049, 95.97198626325, -17.19383182091, 22.5 +3050, 96.71940012749, -12.31290538329, 27.5 +3051, 96.37659704523, -14.75810089343, 25 +3052, 96.71940012749, -12.31290538329, 22.5 +3053, 97.21874359379, -7.400398235558, 27.5 +3054, 97.00017566548, -9.859813429604, 25 +3055, 97.21874359379, -7.400398235558, 22.5 +3056, 97.46873592289, -2.468910203607, 27.5 +3057, 97.37496374167, -4.936237059542, 25 +3058, 97.46873592289, -2.468910203607, 22.5 +3059, 97.46873592289, 2.468910203607, 27.5 +3060, 97.5, 1.493141792582e-13, 25 +3061, 97.46873592289, 2.468910203607, 22.5 +3062, 97.21874359379, 7.400398235559, 27.5 +3063, 97.37496374167, 4.936237059542, 25 +3064, 97.21874359379, 7.400398235559, 22.5 +3065, 96.71940012749, 12.31290538329, 27.5 +3066, 97.00017566548, 9.859813429604, 25 +3067, 96.71940012749, 12.31290538329, 22.5 +3068, 95.97198626325, 17.19383182091, 27.5 +3069, 96.37659704523, 14.75810089343, 25 +3070, 95.97198626325, 17.19383182091, 22.5 +3071, 94.97841900278, 22.03065872218, 27.5 +3072, 95.50582726427, 19.61853609642, 25 +3073, 94.97841900278, 22.03065872218, 22.5 +3074, 93.7412466934, 26.81098036939, 27.5 +3075, 94.39009971327, 24.42865276921, 25 +3076, 93.7412466934, 26.81098036939, 22.5 +3077, 92.26364249197, 31.52253597214, 27.5 +3078, 93.03227606194, 29.17611370172, 25 +3079, 92.26364249197, 31.52253597214, 22.5 +3080, 90.54939622619, 36.15324111436, 27.5 +3081, 91.43583891926, 33.84874238624, 25 +3082, 90.54939622619, 36.15324111436, 22.5 +3083, 88.6029046743, 40.69121874898, 27.5 +3084, 89.6048829012, 38.43455424826, 25 +3085, 88.6029046743, 40.69121874898, 22.5 +3086, 86.429160288, 45.12482966074, 27.5 +3087, 87.54410412855, 42.92178738507, 25 +3088, 86.429160288, 45.12482966074, 22.5 +3089, 84.03373838759, 49.442702319, 27.5 +3090, 85.25878818218, 47.29893273326, 25 +3091, 84.03373838759, 49.442702319, 22.5 +3092, 81.42278286213, 53.63376204394, 27.5 +3093, 82.7547965463, 51.55476358767, 25 +3094, 81.42278286213, 53.63376204394, 22.5 +3095, 78.60299041131, 57.68725941142, 27.5 +3096, 80.03855157465, 55.67836439617, 25 +3097, 78.60299041131, 57.68725941142, 22.5 +3098, 75.58159336942, 61.59279782361, 27.5 +3099, 77.11702001816, 59.65915875638, 25 +3100, 75.58159336942, 61.59279782361, 22.5 +3101, 72.36634115556, 65.34036017468, 27.5 +3102, 73.9976951563, 63.48693654253, 25 +3103, 72.36634115556, 65.34036017468, 22.5 +3104, 68.96548039756, 68.92033454311, 27.5 +3105, 70.68857757799, 67.15188009282, 25 +3106, 68.96548039756, 68.92033454311, 22.5 +3107, 65.38773378063, 72.32353884479, 27.5 +3108, 67.19815466129, 70.64458939026, 25 +3109, 65.38773378063, 72.32353884479, 22.5 +3110, 61.64227767504, 75.54124438367, 27.5 +3111, 63.53537880457, 73.95610617224, 25 +3112, 61.64227767504, 75.54124438367, 22.5 +3113, 57.7387186001, 78.56519823954, 27.5 +3114, 59.70964446504, 77.07793690712, 25 +3115, 57.7387186001, 78.56519823954, 22.5 +3116, 53.68706858498, 81.38764443545, 27.5 +3117, 55.73076406336, 80.00207457881, 25 +3118, 53.68706858498, 81.38764443545, 22.5 +3119, 49.49771948931, 84.00134383066, 27.5 +3120, 51.6089428163, 82.72101922356, 25 +3121, 49.49771948931, 84.00134383066, 22.5 +3122, 45.18141634973, 86.39959268788, 27.5 +3123, 47.35475256194, 85.22779716617, 25 +3124, 45.18141634973, 86.39959268788, 22.5 +3125, 40.74922982049, 88.57623986734, 27.5 +3126, 42.97910464451, 87.51597890646, 25 +3127, 40.74922982049, 88.57623986734, 22.5 +3128, 36.2125277789, 90.52570260353, 27.5 +3129, 38.4932219285, 89.57969560991, 25 +3130, 36.2125277789, 90.52570260353, 22.5 +3131, 31.58294616853, 92.2429808241, 27.5 +3132, 33.9086100137, 91.4136541603, 25 +3133, 31.58294616853, 92.2429808241, 22.5 +3134, 26.87235915477, 93.72366997433, 27.5 +3135, 29.23702772513, 93.0131507358, 25 +3136, 26.87235915477, 93.72366997433, 22.5 +3137, 22.09284866938, 94.96397231409, 27.5 +3138, 24.49045695345, 94.37408287348, 25 +3139, 22.09284866938, 94.96397231409, 22.5 +3140, 17.25667342229, 95.96070665849, 27.5 +3141, 19.68107192327, 95.49295999157, 25 +3142, 17.25667342229, 95.96070665849, 22.5 +3143, 12.37623745979, 96.7113165371, 27.5 +3144, 14.82120796811, 96.36691234218, 25 +3145, 12.37623745979, 96.7113165371, 22.5 +3146, 5, 74.90131574673, 25 +3147, 5, 64.91447364717, 25 +3148, 5, -90.23144194792, 25.15925021454 +3149, 5, 34.95394734847, 25 +3150, 5, 44.94078944804, 25 +3151, 5, 54.9276315476, 25 +3152, 5, 84.95824239245, 25.10498849441 +3153, 5, -64.91447364717, 25 +3154, 5, -29.96052629869, 25 +3155, 5, -19.97368419913, 25 +3156, 5, -5.063505595938, 24.89501150559 +3157, 5, -39.94736839826, 25 +3158, 5, 4.993421049782, 25 +3159, 5, -54.85754700145, 25.10498849441 +3160, 5, 24.96710524891, 25 +3161, 5, -79.82465225036, 25.10498849441 +3162, 5, 14.98026314935, 25 +3163, 5, 90.39513847423, 25.10168624288 +3164, 5, -74.85459271596, 25.13998465922 +3165, 5, -10.03356513034, 25.10498849441 +3166, 5, -49.88748746705, 24.89501150559 +3167, 5, 49.93421049782, 25 +3168, 5, 29.96052629869, 25 +3169, 5, 39.94736839826, 25 +3170, 5, -24.96710524891, 25 +3171, 5, 59.92105259739, 25 +3172, 5, -84.93478759724, 25.04403978483 +3173, 5, -34.95394734848, 25 +3174, 5, 19.97368419913, 25 +3175, 5, -59.90937183969, 25.0174980824 +3176, 5, -0.0116807576928, 24.9825019176 +3177, 5, 9.986842099564, 25 +3178, 5, 69.90789469695, 25 +3179, 5, 79.90641755421, 25.0174980824 +3180, 5, -69.90010752516, 25.02333077654 +3181, 5, -44.93300227624, 24.9825019176 +3182, 5, -14.98805032114, 25.0174980824 +3183, 5, -93.82336068507, 23.67433114052 +3184, 5, 93.9814667438, 23.51008468226 +3185, 5, 94.37061000828, 26.89266862772 +3186, 5, -94.23530259909, 26.76671627101 +3187, -8.881784197001e-16, 52.43092102271, 5 +3188, 0.6807372212163, 43.80734714033, 4.319262778784 +3189, -1.387465619683e-14, 62.41776312228, 5 +3190, 0.4821113805204, -66.44569102475, 4.51788861948 +3191, -0.7627553318587, -67.40381086617, 25.75525872119 +3192, -7.993605777301e-15, -37.45065787337, 25 +3193, -3.403450241737e-15, -22.47039472402, 25 +3194, -3.374785809836e-15, -62.06891583088, 25 +3195, 0.5369470502186, 37.41540413963, 24.48580300907 + + +** Volume elements +*Element, TYPE=C3D4, ELSET=Evolumes +7737, 1784, 1740, 2236, 2250 +7738, 2223, 1790, 1746, 2243 +7739, 2246, 1799, 1756, 2237 +7740, 2229, 1777, 1734, 2246 +7741, 2012, 1740, 1748, 1784 +7742, 1784, 2236, 1740, 1748 +7743, 1784, 2236, 2032, 1791 +7744, 1784, 2032, 2236, 1748 +7745, 2032, 1748, 1784, 2012 +7746, 2032, 1735, 1778, 2236 +7747, 1735, 2032, 1748, 2236 +7748, 2236, 1778, 2032, 1791 +7749, 2030, 1793, 2221, 1771 +7750, 1784, 1792, 2035, 2250 +7751, 1792, 2228, 2035, 2250 +7752, 2035, 1740, 1784, 2250 +7753, 2035, 1784, 1740, 2012 +7754, 1750, 1740, 2035, 2250 +7755, 2035, 2228, 1750, 2250 +7756, 2030, 1727, 2256, 1747 +7757, 2037, 2223, 2242, 1773 +7758, 2242, 2037, 1729, 2223 +7759, 2030, 2256, 1727, 2221 +7760, 2256, 2221, 2030, 1793 +7761, 1782, 1730, 2030, 2256 +7762, 2030, 1730, 1747, 2256 +7763, 1782, 2256, 2030, 1793 +7764, 2030, 2221, 2015, 1771 +7765, 2030, 2015, 2221, 1727 +7766, 1745, 2015, 1727, 2255 +7767, 1727, 2255, 2015, 2221 +7768, 2037, 2242, 1796, 1773 +7769, 2235, 1796, 1752, 2242 +7770, 2255, 1789, 2015, 2221 +7771, 2221, 1789, 2015, 1771 +7772, 2037, 1729, 1752, 2242 +7773, 2015, 1745, 1789, 2255 +7774, 2036, 2253, 1781, 2233 +7775, 1738, 2036, 1751, 2233 +7776, 1738, 2253, 2036, 2233 +7777, 1789, 2015, 2029, 1745 +7778, 2229, 1734, 1777, 2033 +7779, 1777, 2229, 2033, 1797 +7780, 2229, 1734, 2033, 1753 +7781, 2037, 1752, 1796, 2242 +7782, 1796, 2011, 2026, 2235 +7783, 1788, 1778, 1735, 2247 +7784, 1723, 682, 2260, 2259 +7785, 2231, 2027, 2244, 1732 +7786, 1778, 2236, 1735, 2247 +7787, 2233, 1781, 2036, 1794 +7788, 2235, 1752, 1796, 2011 +7789, 1745, 1789, 2255, 3189 +7790, 1732, 2027, 1757, 2231 +7791, 1774, 2231, 2027, 1801 +7792, 1789, 1745, 2029, 3189 +7793, 2231, 2244, 2027, 1801 +7794, 2037, 2011, 1796, 1752 +7795, 1782, 2016, 2030, 1730 +7796, 1778, 2032, 2018, 1735 +7797, 1788, 1735, 1778, 2018 +7798, 2247, 1735, 1788, 1744 +7799, 1743, 1782, 1730, 2016 +7800, 2223, 1746, 1790, 2023 +7801, 1790, 2223, 2023, 1773 +7802, 1751, 2020, 1731, 2249 +7803, 1751, 2233, 2020, 2249 +7804, 1729, 2023, 1746, 2223 +7805, 2249, 1731, 2230, 1775 +7806, 2230, 1731, 1749, 1775 +7807, 1788, 2227, 2038, 2258 +7808, 1732, 2244, 1749, 1785 +7809, 2246, 1756, 1799, 2019 +7810, 2019, 1777, 1799, 2246 +7811, 1734, 1777, 2019, 2246 +7812, 2019, 1756, 1734, 2246 +7813, 1749, 2244, 2230, 1785 +7814, 1743, 1730, 1782, 2226 +7815, 2038, 1768, 1788, 2258 +7816, 1744, 1735, 1788, 2018 +7817, 2020, 2249, 2233, 1794 +7818, 2023, 2037, 2223, 1729 +7819, 2023, 2223, 2037, 1773 +7820, 1732, 1749, 2027, 1785 +7821, 2027, 2013, 2231, 1774 +7822, 2026, 1780, 1796, 2235 +7823, 1730, 2256, 1782, 2226 +7824, 2027, 2244, 1732, 1785 +7825, 1787, 1782, 1743, 2016 +7826, 2020, 2036, 2233, 1751 +7827, 2027, 2231, 2013, 1757 +7828, 1781, 2253, 2009, 2237 +7829, 1781, 2009, 1799, 2237 +7830, 1756, 2009, 1738, 2253 +7831, 2009, 2253, 1756, 2237 +7832, 1756, 1799, 2009, 2237 +7833, 2239, 2039, 1723, 2259 +7834, 2226, 1782, 1743, 1787 +7835, 2020, 2233, 2036, 1794 +7836, 2027, 1801, 2244, 1785 +7837, 2013, 2257, 2231, 1774 +7838, 2019, 1734, 2033, 1777 +7839, 1757, 2231, 2013, 2257 +7840, 1774, 2022, 2257, 1795 +7841, 2238, 1741, 2251, 1786 +7842, 2006, 1749, 1731, 1775 +7843, 2008, 1741, 2025, 1786 +7844, 2022, 2257, 2013, 1774 +7845, 2038, 2227, 1724, 2258 +7846, 1780, 2026, 2008, 1737 +7847, 1757, 2013, 1742, 2257 +7848, 2027, 1749, 2006, 1785 +7849, 1794, 2020, 2249, 1775 +7850, 2254, 1758, 2238, 1802 +7851, 681, 1724, 2261, 2258 +7852, 2019, 1799, 2009, 1756 +7853, 1758, 2014, 2025, 1802 +7854, 2022, 1742, 2013, 2257 +7855, 2035, 2228, 1792, 3190 +7856, 2228, 2035, 1750, 3190 +7857, 2006, 1731, 2020, 1775 +7858, 2040, 2039, 680, 1723 +7859, 2038, 2041, 679, 1724 +7860, 2239, 1723, 2260, 2259 +7861, 2018, 2001, 1788, 1744 +7862, 1787, 2005, 2016, 1743 +7863, 2227, 1788, 1744, 2247 +7864, 1724, 2227, 2261, 2258 +7865, 1769, 2225, 3189, 3187 +7866, 1754, 2028, 3189, 3187 +7867, 2225, 1754, 3189, 3187 +7868, 1787, 2239, 1743, 2226 +7869, 2031, 1728, 1742, 2240 +7870, 2229, 1753, 2010, 3190 +7871, 1797, 2229, 2010, 3190 +7872, 2243, 1790, 1746, 3188 +7873, 1759, 682, 680, 1436 +7874, 679, 681, 1760, 1631 +7875, 680, 682, 1803, 1436 +7876, 1804, 681, 679, 1631 +7877, 1795, 2031, 2240, 1772 +7878, 1790, 2023, 1746, 3188 +7879, 1769, 2245, 1798, 3189 +7880, 2028, 1769, 1798, 3189 +7881, 2245, 1769, 2225, 3189 +7882, 2002, 2028, 1754, 3187 +7883, 1754, 2245, 2225, 3189 +7884, 2002, 1754, 1725, 3187 +7885, 1725, 1754, 2225, 3187 +7886, 2255, 1789, 2222, 3189 +7887, 2222, 1745, 2255, 3189 +7888, 2222, 1789, 1770, 3189 +7889, 1745, 2222, 1726, 3189 +7890, 1726, 2029, 1745, 3189 +7891, 1789, 2029, 1770, 3189 +7892, 2004, 2029, 1726, 3189 +7893, 2004, 1770, 2029, 3189 +7894, 679, 1804, 1768, 681 +7895, 680, 1759, 1723, 682 +7896, 1760, 679, 1724, 681 +7897, 1803, 680, 1767, 682 +7898, 1812, 1733, 2254, 1776 +7899, 1733, 1812, 2014, 1776 +7900, 2026, 1737, 1780, 2235 +7901, 2249, 2020, 1731, 1775 +7902, 2024, 1755, 3188, 3187 +7903, 1755, 2241, 3188, 3187 +7904, 2003, 1728, 1814, 1761 +7905, 1800, 2024, 3188, 3187 +7906, 1736, 2010, 1753, 3190 +7907, 1812, 1807, 2017, 1776 +7908, 1814, 2003, 2031, 1728 +7909, 1763, 1812, 1733, 2234 +7910, 2024, 1755, 1739, 3188 +7911, 2003, 1806, 1814, 1772 +7912, 2232, 1772, 1814, 1805 +7913, 2017, 1733, 1764, 1812 +7914, 2031, 2003, 1814, 1772 +7915, 1814, 2232, 1728, 2240 +7916, 1733, 1812, 2254, 2234 +7917, 2254, 2234, 1812, 1776 +7918, 1759, 680, 1435, 1436 +7919, 679, 1760, 1627, 1631 +7920, 1804, 679, 1629, 1631 +7921, 680, 1803, 1437, 1436 +7922, 2007, 2024, 1739, 3188 +7923, 1808, 1812, 2234, 1776 +7924, 1814, 1762, 1728, 2232 +7925, 2240, 1814, 2232, 1772 +7926, 2010, 1736, 2021, 3190 +7927, 1736, 1753, 2248, 3190 +7928, 2248, 1753, 2229, 3190 +7929, 2241, 1800, 3188, 3187 +7930, 679, 1627, 1628, 1631 +7931, 679, 1628, 1629, 1631 +7932, 680, 1437, 1439, 1436 +7933, 1439, 1435, 680, 1436 +7934, 2014, 1812, 2017, 1776 +7935, 1797, 2010, 1779, 3190 +7936, 2014, 1733, 2017, 1812 +7937, 2010, 2021, 1779, 3190 +7938, 1755, 2241, 2224, 3188 +7939, 1739, 1755, 2224, 3188 +7940, 2024, 1783, 1800, 3188 +7941, 1797, 1779, 2248, 3190 +7942, 2248, 2229, 1797, 3190 +7943, 2007, 1783, 2024, 3188 +7944, 1728, 2003, 2031, 1761 +7945, 2014, 1764, 2017, 1733 +7946, 2014, 2017, 1807, 1776 +7947, 1806, 2003, 2031, 1772 +7948, 1814, 1761, 1728, 1762 +7949, 1733, 2254, 1763, 2234 +7950, 1814, 1772, 1806, 1805 +7951, 1808, 1807, 1812, 1776 +7952, 1738, 1751, 454, 2233 +7953, 2236, 1740, 447, 2250 +7954, 2236, 614, 1784, 2250 +7955, 454, 2253, 1738, 2233 +7956, 1731, 1749, 456, 2230 +7957, 1750, 2228, 448, 2250 +7958, 621, 2233, 1781, 2253 +7959, 1731, 2230, 456, 2249 +7960, 2245, 641, 1769, 1798 +7961, 1756, 2253, 453, 2237 +7962, 1753, 2229, 450, 2248 +7963, 1792, 615, 2228, 2250 +7964, 2243, 470, 1746, 2223 +7965, 450, 1736, 1753, 2248 +7966, 1784, 614, 2236, 1791 +7967, 617, 2229, 1797, 2248 +7968, 2223, 1790, 2243, 637 +7969, 477, 1745, 1727, 2255 +7970, 1797, 1779, 617, 2248 +7971, 1729, 1746, 470, 2223 +7972, 2223, 1773, 1790, 637 +7973, 1751, 1731, 455, 2249 +7974, 451, 2229, 1734, 2246 +7975, 1756, 1738, 453, 2253 +7976, 615, 1792, 1784, 2250 +7977, 2225, 1769, 2245, 641 +7978, 455, 2233, 1751, 2249 +7979, 1750, 448, 1740, 2250 +7980, 1756, 2237, 452, 2246 +7981, 1756, 452, 1734, 2246 +7982, 1748, 1740, 447, 2236 +7983, 1799, 1777, 619, 2246 +7984, 1799, 619, 2237, 2246 +7985, 1753, 2229, 1734, 451 +7986, 477, 2255, 1727, 2221 +7987, 618, 1777, 2229, 2246 +7988, 515, 2028, 1769, 1798 +7989, 1797, 1777, 2229, 618 +7990, 2237, 1781, 2253, 620 +7991, 515, 2002, 1769, 2028 +7992, 1781, 2237, 1799, 620 +7993, 1755, 2241, 472, 2224 +7994, 1789, 2221, 2255, 644 +7995, 472, 1739, 1755, 2224 +7996, 1789, 1771, 2221, 644 +7997, 378, 1754, 2002, 2028 +7998, 378, 2002, 1754, 1725 +7999, 1754, 2245, 474, 2225 +8000, 474, 1725, 1754, 2225 +8001, 2255, 1745, 2222, 476 +8002, 2255, 2222, 1789, 643 +8003, 643, 2222, 1789, 1770 +8004, 476, 1745, 2222, 1726 +8005, 1748, 446, 1735, 2236 +8006, 2029, 1745, 380, 1726 +8007, 2029, 380, 2004, 1726 +8008, 2012, 351, 1748, 1740 +8009, 1749, 1732, 457, 2244 +8010, 1770, 1789, 517, 2029 +8011, 457, 2230, 1749, 2244 +8012, 2029, 517, 1770, 2004 +8013, 621, 1781, 2233, 1794 +8014, 1771, 1793, 2221, 645 +8015, 2242, 1729, 469, 2223 +8016, 1773, 2223, 2242, 636 +8017, 2256, 478, 1727, 2221 +8018, 1727, 1747, 478, 2256 +8019, 489, 1784, 2035, 2012 +8020, 489, 2035, 1784, 1792 +8021, 382, 2030, 1747, 1727 +8022, 1748, 2012, 2032, 351 +8023, 2032, 488, 2012, 1784 +8024, 1784, 2032, 488, 1791 +8025, 2221, 1793, 2256, 645 +8026, 1796, 1773, 2242, 636 +8027, 1752, 1729, 469, 2242 +8028, 520, 1782, 2030, 1793 +8029, 487, 2032, 1778, 1791 +8030, 1763, 1764, 1733, 1812 +8031, 1791, 2236, 1778, 613 +8032, 1735, 2236, 446, 2247 +8033, 1793, 2030, 519, 1771 +8034, 2030, 382, 2015, 1727 +8035, 2024, 376, 1739, 1755 +8036, 1794, 2249, 2233, 622 +8037, 479, 1747, 1730, 2256 +8038, 352, 2012, 2035, 1740 +8039, 2035, 1750, 352, 1740 +8040, 2037, 1796, 510, 1773 +8041, 2015, 1727, 381, 1745 +8042, 2027, 1732, 361, 1749 +8043, 381, 2029, 2015, 1745 +8044, 2015, 519, 2030, 1771 +8045, 383, 1747, 2030, 1730 +8046, 1774, 2257, 2231, 626 +8047, 509, 2026, 1796, 2011 +8048, 2247, 1778, 2236, 613 +8049, 350, 2032, 1748, 1735 +8050, 1796, 2037, 510, 2011 +8051, 2027, 1757, 362, 1732 +8052, 2037, 373, 1752, 1729 +8053, 518, 2015, 1789, 1771 +8054, 2025, 507, 2008, 1786 +8055, 518, 2029, 1789, 2015 +8056, 1795, 2257, 1774, 626 +8057, 499, 1774, 2027, 1801 +8058, 1793, 1782, 2256, 646 +8059, 1752, 2242, 468, 2235 +8060, 2242, 2235, 1796, 635 +8061, 2024, 1783, 513, 1800 +8062, 2011, 1752, 2037, 373 +8063, 520, 2030, 1782, 2016 +8064, 2231, 1774, 625, 1801 +8065, 2231, 458, 1732, 2244 +8066, 487, 1778, 2032, 2018 +8067, 2231, 625, 2244, 1801 +8068, 1799, 2019, 493, 1777 +8069, 2036, 1751, 358, 1738 +8070, 2033, 1734, 355, 1753 +8071, 1757, 458, 1732, 2231 +8072, 2008, 370, 2025, 1741 +8073, 1801, 2027, 498, 1785 +8074, 1800, 639, 2241, 3188 +8075, 2254, 1808, 2234, 1776 +8076, 509, 1796, 2026, 1780 +8077, 383, 2030, 2016, 1730 +8078, 479, 2256, 1730, 2226 +8079, 2007, 1739, 2024, 376 +8080, 1794, 1775, 2249, 622 +8081, 1797, 492, 2033, 1777 +8082, 2032, 350, 2018, 1735 +8083, 2033, 493, 2019, 1777 +8084, 2027, 361, 2006, 1749 +8085, 2025, 1802, 507, 1786 +8086, 495, 2036, 1781, 1794 +8087, 2036, 496, 2020, 1794 +8088, 2027, 499, 2013, 1774 +8089, 2251, 1741, 467, 2235 +8090, 634, 2251, 2235, 1786 +8091, 2013, 362, 2027, 1757 +8092, 2016, 384, 1730, 1743 +8093, 2018, 349, 1744, 1735 +8094, 1744, 1735, 445, 2247 +8095, 2025, 1741, 370, 1758 +8096, 372, 2026, 2011, 1737 +8097, 2006, 498, 2027, 1785 +8098, 1782, 2226, 2256, 646 +8099, 1752, 468, 1737, 2235 +8100, 2235, 1780, 1796, 635 +8101, 1783, 2024, 513, 2007 +8102, 2011, 1752, 372, 1737 +8103, 2231, 1757, 459, 2257 +8104, 2240, 1772, 2232, 1805 +8105, 2020, 1794, 496, 1775 +8106, 1774, 500, 2022, 1795 +8107, 358, 2009, 2036, 1738 +8108, 2033, 355, 2010, 1753 +8109, 1799, 1781, 494, 2009 +8110, 2010, 1779, 491, 1797 +8111, 495, 2009, 1781, 2036 +8112, 2010, 492, 2033, 1797 +8113, 1737, 467, 1741, 2235 +8114, 1780, 634, 2235, 1786 +8115, 2022, 2013, 500, 1774 +8116, 2251, 466, 1741, 2238 +8117, 2251, 633, 2238, 1786 +8118, 1742, 459, 1757, 2257 +8119, 2232, 1762, 1728, 2240 +8120, 2249, 1775, 2230, 623 +8121, 1731, 2006, 360, 1749 +8122, 359, 2020, 1731, 1751 +8123, 1746, 374, 2023, 1729 +8124, 1803, 1436, 682, 1434 +8125, 1631, 1804, 681, 1632 +8126, 1760, 681, 1630, 1631 +8127, 682, 1759, 1432, 1436 +8128, 1785, 2244, 2230, 624 +8129, 1734, 2019, 356, 1756 +8130, 374, 2037, 2023, 1729 +8131, 2244, 1785, 1801, 624 +8132, 2238, 633, 1802, 1786 +8133, 1758, 1741, 466, 2238 +8134, 2005, 384, 2016, 1743 +8135, 1744, 2018, 2001, 349 +8136, 2020, 359, 2036, 1751 +8137, 1778, 2247, 1788, 612 +8138, 1787, 2226, 1782, 647 +8139, 2009, 494, 1799, 2019 +8140, 2021, 491, 2010, 1779 +8141, 2019, 356, 2033, 1734 +8142, 2020, 497, 2006, 1775 +8143, 2006, 1775, 497, 1785 +8144, 2009, 1738, 357, 1756 +8145, 2010, 1753, 354, 1736 +8146, 508, 2008, 1780, 2026 +8147, 371, 2008, 2026, 1737 +8148, 445, 2227, 1744, 2247 +8149, 2230, 623, 1775, 1785 +8150, 2006, 360, 2020, 1731 +8151, 480, 1730, 1743, 2226 +8152, 486, 1778, 2018, 1788 +8153, 506, 2025, 2014, 1802 +8154, 2008, 1737, 371, 1741 +8155, 2008, 508, 1780, 1786 +8156, 1795, 2240, 2257, 627 +8157, 2254, 1802, 2238, 632 +8158, 1758, 2238, 465, 2254 +8159, 2009, 357, 2019, 1756 +8160, 354, 2021, 2010, 1736 +8161, 1782, 1787, 521, 2016 +8162, 2013, 1742, 363, 1757 +8163, 1746, 2023, 375, 3188 +8164, 1788, 2247, 2227, 612 +8165, 2239, 2226, 1787, 647 +8166, 486, 1788, 2018, 2001 +8167, 2022, 363, 2013, 1742 +8168, 501, 2031, 2022, 1795 +8169, 2016, 1787, 521, 2005 +8170, 2241, 639, 2224, 3188 +8171, 1783, 639, 1800, 3188 +8172, 1746, 375, 1739, 3188 +8173, 1743, 2239, 480, 2226 +8174, 2022, 1742, 2031, 364 +8175, 460, 2257, 1742, 2240 +8176, 369, 2014, 2025, 1758 +8177, 2240, 627, 1795, 1772 +8178, 506, 1802, 2014, 1776 +8179, 2031, 364, 1742, 1728 +8180, 1810, 1572, 1575, 1952 +8181, 1766, 1573, 1570, 1950 +8182, 1491, 1494, 1809, 1877 +8183, 1875, 1489, 1492, 1765 +8184, 1875, 1492, 1495, 1765 +8185, 1494, 1497, 1809, 1877 +8186, 1567, 1766, 1570, 1950 +8187, 1572, 1952, 1810, 1569 +8188, 2254, 1776, 1802, 632 +8189, 1758, 465, 1733, 2254 +8190, 1795, 501, 2031, 1772 +8191, 460, 1742, 1728, 2240 +8192, 2023, 2007, 375, 3188 +8193, 106, 1570, 1766, 1573 +8194, 235, 1575, 1810, 1572 +8195, 1492, 1489, 79, 1765 +8196, 1809, 1491, 208, 1494 +8197, 369, 1733, 2014, 1758 +8198, 1809, 1494, 209, 1497 +8199, 1495, 1492, 80, 1765 +8200, 1572, 1810, 234, 1569 +8201, 1766, 1570, 105, 1567 +8202, 2234, 1816, 1812, 1808 +8203, 1811, 1812, 1763, 2234 +8204, 1739, 375, 2007, 3188 +8205, 1814, 1815, 2232, 1805 +8206, 2003, 1814, 1819, 1761 +8207, 353, 1750, 2035, 3190 +8208, 2017, 1764, 1817, 1812 +8209, 1814, 1821, 1806, 2003 +8210, 1820, 1807, 2017, 1812 +8211, 2260, 1723, 7, 682 +8212, 1762, 2232, 1814, 1813 +8213, 679, 1624, 1628, 1627 +8214, 679, 1626, 1629, 1628 +8215, 1439, 1438, 680, 1435 +8216, 1439, 1440, 1437, 680 +8217, 365, 1728, 2031, 1761 +8218, 2234, 1808, 2254, 631 +8219, 1763, 2254, 464, 2234 +8220, 1772, 2240, 628, 1805 +8221, 2232, 628, 2240, 1805 +8222, 1750, 353, 1736, 3190 +8223, 1808, 1776, 2254, 631 +8224, 2031, 502, 1806, 1772 +8225, 365, 2031, 2003, 1761 +8226, 464, 1763, 1733, 2254 +8227, 471, 2243, 1746, 3188 +8228, 505, 2014, 1807, 1776 +8229, 461, 1728, 1762, 2240 +8230, 1724, 2261, 8, 681 +8231, 2031, 1806, 502, 2003 +8232, 2035, 2021, 353, 3190 +8233, 512, 2023, 1790, 3188 +8234, 505, 2017, 1807, 2014 +8235, 1762, 2232, 461, 2240 +8236, 12, 681, 1804, 1632 +8237, 682, 14, 1803, 1434 +8238, 8, 1630, 1760, 681 +8239, 1432, 7, 1759, 682 +8240, 1736, 353, 2021, 3190 +8241, 2040, 385, 2005, 1743 +8242, 2014, 368, 1764, 1733 +8243, 1750, 449, 2228, 3190 +8244, 1746, 1739, 471, 3188 +8245, 1877, 1496, 1876, 1493 +8246, 1876, 1493, 1496, 1875 +8247, 1571, 1950, 1574, 1954 +8248, 1571, 1574, 1952, 1954 +8249, 1414, 2209, 1417, 2210 +8250, 2211, 1416, 1419, 2210 +8251, 1645, 2056, 1648, 2060 +8252, 1650, 2060, 2058, 1647 +8253, 157, 2135, 1344, 1337 +8254, 1340, 157, 2135, 1341 +8255, 2035, 1792, 490, 3190 +8256, 2057, 2060, 1646, 2058 +8257, 2056, 2060, 1646, 2057 +8258, 2213, 2210, 2211, 1421 +8259, 2209, 2210, 2213, 1421 +8260, 2060, 1650, 1649, 1647 +8261, 1648, 1649, 1645, 2060 +8262, 1419, 2210, 1416, 1418 +8263, 1414, 2210, 1417, 1418 +8264, 1496, 1877, 1494, 1493 +8265, 1496, 1875, 1493, 1492 +8266, 1571, 1570, 1574, 1950 +8267, 1571, 1572, 1952, 1574 +8268, 1955, 1952, 1575, 1954 +8269, 1953, 1573, 1950, 1954 +8270, 1874, 1491, 1877, 1876 +8271, 1876, 1875, 1872, 1489 +8272, 1339, 2135, 2138, 2136 +8273, 2138, 2134, 2135, 1339 +8274, 2131, 2135, 1342, 2132 +8275, 2133, 1342, 2135, 2132 +8276, 1812, 482, 1807, 1808 +8277, 1879, 1878, 1875, 1495 +8278, 1497, 1880, 1877, 1879 +8279, 1567, 1950, 1951, 1947 +8280, 1949, 1569, 1952, 1951 +8281, 14, 682, 1767, 2259 +8282, 1646, 2058, 2060, 1647 +8283, 1646, 2056, 1645, 2060 +8284, 2210, 2209, 1417, 1421 +8285, 2211, 2210, 1419, 1421 +8286, 2208, 2207, 1415, 2210 +8287, 2206, 1415, 2207, 2210 +8288, 2063, 1652, 2060, 2061 +8289, 2060, 2059, 1652, 2063 +8290, 1344, 1342, 2131, 2135 +8291, 2135, 1341, 1342, 2133 +8292, 1337, 2135, 2134, 1339 +8293, 1339, 1340, 2135, 2136 +8294, 1574, 1575, 1952, 1954 +8295, 1574, 1950, 1573, 1954 +8296, 1875, 1876, 1493, 1489 +8297, 1877, 1876, 1491, 1493 +8298, 1763, 288, 1764, 1812 +8299, 1877, 1496, 1497, 1879 +8300, 1875, 1496, 1879, 1495 +8301, 1567, 1571, 1951, 1950 +8302, 1952, 1951, 1569, 1571 +8303, 1415, 1416, 2208, 2210 +8304, 1415, 2206, 1414, 2210 +8305, 2059, 1652, 1648, 2060 +8306, 2061, 1652, 2060, 1650 +8307, 1649, 1646, 1645, 2060 +8308, 2060, 1649, 1646, 1647 +8309, 1417, 1418, 2210, 1421 +8310, 1418, 1419, 2210, 1421 +8311, 1814, 1806, 484, 1805 +8312, 1575, 1952, 1572, 1574 +8313, 1570, 1573, 1574, 1950 +8314, 1493, 1492, 1875, 1489 +8315, 1877, 1491, 1494, 1493 +8316, 1342, 1344, 157, 2135 +8317, 2135, 157, 1342, 1341 +8318, 1337, 157, 2135, 1339 +8319, 1339, 157, 2135, 1340 +8320, 2017, 1764, 2014, 368 +8321, 1768, 1804, 12, 681 +8322, 2007, 2023, 512, 3188 +8323, 1877, 1494, 1497, 1496 +8324, 1496, 1495, 1875, 1492 +8325, 1571, 1567, 1570, 1950 +8326, 1952, 1569, 1572, 1571 +8327, 2210, 1415, 1416, 1418 +8328, 1415, 2210, 1414, 1418 +8329, 1648, 1652, 1649, 2060 +8330, 1649, 2060, 1652, 1650 +8331, 1814, 286, 1761, 1762 +8332, 2053, 2056, 1642, 2057 +8333, 2057, 1644, 2055, 2058 +8334, 2213, 2214, 1422, 2211 +8335, 1420, 2209, 2212, 2213 +8336, 1803, 1767, 14, 682 +8337, 8, 1760, 1724, 681 +8338, 1759, 7, 1723, 682 +8339, 1957, 1577, 1953, 1954 +8340, 1577, 1957, 1955, 1954 +8341, 1876, 1873, 1490, 1872 +8342, 1874, 1490, 1876, 1873 +8343, 385, 2040, 1723, 1743 +8344, 2137, 1338, 2134, 2138 +8345, 2131, 1720, 2128, 2132 +8346, 2133, 2130, 1722, 2132 +8347, 2138, 2139, 1343, 2136 +8348, 1880, 1499, 1882, 1879 +8349, 1882, 1879, 1499, 1878 +8350, 1951, 1948, 1949, 1568 +8351, 1951, 1947, 1948, 1568 +8352, 2208, 2207, 2205, 1413 +8353, 2206, 2207, 1411, 2203 +8354, 2062, 1651, 2059, 2063 +8355, 2063, 2061, 2064, 1653 +8356, 1646, 1642, 2056, 2057 +8357, 1644, 2057, 1646, 2058 +8358, 2213, 2211, 1422, 1421 +8359, 2209, 2213, 1420, 1421 +8360, 1573, 1953, 1577, 1954 +8361, 1955, 1575, 1577, 1954 +8362, 1872, 1490, 1876, 1489 +8363, 1491, 1876, 1874, 1490 +8364, 2134, 2138, 1338, 1339 +8365, 1722, 1342, 2133, 2132 +8366, 2131, 1342, 1720, 2132 +8367, 2138, 1343, 1339, 2136 +8368, 1499, 1878, 1879, 1495 +8369, 1499, 1880, 1497, 1879 +8370, 1947, 1951, 1567, 1568 +8371, 1951, 1949, 1569, 1568 +8372, 2058, 1646, 1644, 1647 +8373, 1642, 2056, 1645, 1646 +8374, 1419, 1422, 2211, 1421 +8375, 1420, 1417, 2209, 1421 +8376, 2208, 1415, 2207, 1413 +8377, 2207, 1411, 1415, 2206 +8378, 1652, 2059, 1651, 2063 +8379, 1652, 2061, 2063, 1653 +8380, 1344, 1720, 2131, 1342 +8381, 1342, 2133, 1341, 1722 +8382, 2134, 1338, 1337, 1339 +8383, 1340, 1339, 1343, 2136 +8384, 1574, 1577, 1575, 1954 +8385, 1573, 1577, 1574, 1954 +8386, 1490, 1491, 1876, 1493 +8387, 1493, 1876, 1490, 1489 +8388, 1879, 1496, 1499, 1495 +8389, 1496, 1499, 1497, 1879 +8390, 1569, 1571, 1951, 1568 +8391, 1567, 1951, 1571, 1568 +8392, 1415, 1411, 1414, 2206 +8393, 1416, 1415, 2208, 1413 +8394, 1648, 2059, 1651, 1652 +8395, 1652, 1650, 2061, 1653 +8396, 1816, 482, 1812, 1808 +8397, 1723, 680, 2040, 1759 +8398, 679, 1724, 2041, 1760 +8399, 1736, 449, 1750, 3190 +8400, 2055, 2054, 1643, 2057 +8401, 1643, 2054, 2053, 2057 +8402, 2213, 2216, 2212, 1424 +8403, 1424, 2213, 2216, 2214 +8404, 1576, 1953, 1956, 1957 +8405, 1955, 1578, 1958, 1957 +8406, 1873, 1869, 1486, 1872 +8407, 1488, 1874, 1871, 1873 +8408, 2128, 1721, 2129, 2132 +8409, 2129, 1721, 2130, 2132 +8410, 2141, 1346, 2138, 2139 +8411, 1346, 2138, 2137, 2141 +8412, 1878, 1882, 1881, 1498 +8413, 1500, 1883, 1880, 1882 +8414, 1566, 1948, 1949, 1946 +8415, 1564, 1947, 1948, 1944 +8416, 2204, 1412, 2207, 2203 +8417, 1412, 2204, 2207, 2205 +8418, 2062, 2066, 1655, 2063 +8419, 2063, 2066, 1655, 2064 +8420, 1642, 1643, 2053, 2057 +8421, 1643, 1644, 2055, 2057 +8422, 1424, 1422, 2213, 2214 +8423, 2213, 2212, 1420, 1424 +8424, 1953, 1576, 1577, 1957 +8425, 1577, 1578, 1955, 1957 +8426, 1486, 1490, 1873, 1872 +8427, 1488, 1490, 1874, 1873 +8428, 680, 1435, 1438, 1759 +8429, 1627, 679, 1624, 1760 +8430, 1803, 1437, 1440, 680 +8431, 1629, 1626, 679, 1804 +8432, 1721, 2128, 1720, 2132 +8433, 2137, 1346, 1338, 2138 +8434, 1343, 2138, 1346, 2139 +8435, 1721, 1722, 2130, 2132 +8436, 1500, 1882, 1880, 1499 +8437, 1882, 1878, 1499, 1498 +8438, 1948, 1947, 1564, 1568 +8439, 1949, 1948, 1566, 1568 +8440, 1643, 1642, 1646, 2057 +8441, 1644, 1643, 1646, 2057 +8442, 2213, 1422, 1424, 1421 +8443, 1424, 1420, 2213, 1421 +8444, 1412, 2205, 2207, 1413 +8445, 1411, 2207, 1412, 2203 +8446, 2062, 1655, 1651, 2063 +8447, 2064, 1655, 2063, 1653 +8448, 1577, 1953, 1573, 1576 +8449, 1575, 1955, 1577, 1578 +8450, 1488, 1491, 1874, 1490 +8451, 1490, 1872, 1486, 1489 +8452, 1817, 1764, 288, 1812 +8453, 2028, 379, 1754, 3189 +8454, 1798, 516, 2028, 3189 +8455, 1769, 640, 2225, 3187 +8456, 1800, 2241, 640, 3187 +8457, 1754, 475, 2245, 3189 +8458, 2245, 642, 1798, 3189 +8459, 1725, 377, 2002, 3187 +8460, 2225, 473, 1725, 3187 +8461, 2241, 1755, 473, 3187 +8462, 379, 2004, 1726, 3189 +8463, 1770, 2004, 516, 3189 +8464, 475, 1726, 2222, 3189 +8465, 1770, 642, 2222, 3189 +8466, 1346, 1339, 2138, 1343 +8467, 1722, 1721, 1342, 2132 +8468, 1338, 2138, 1346, 1339 +8469, 1342, 1721, 1720, 2132 +8470, 1762, 1814, 286, 1813 +8471, 484, 1821, 1806, 1814 +8472, 1800, 514, 2024, 3187 +8473, 1500, 1880, 1497, 1499 +8474, 1495, 1499, 1878, 1498 +8475, 1564, 1947, 1567, 1568 +8476, 1949, 1566, 1569, 1568 +8477, 1769, 2002, 514, 3187 +8478, 1787, 2259, 2239, 648 +8479, 2024, 377, 1755, 3187 +8480, 2207, 1412, 1415, 1411 +8481, 1412, 2207, 1415, 1413 +8482, 1651, 1655, 1652, 2063 +8483, 1652, 2063, 1655, 1653 +8484, 10, 2038, 679, 1768 +8485, 1641, 2055, 2052, 2054 +8486, 2053, 1639, 2050, 2054 +8487, 2217, 1425, 2216, 2214 +8488, 2212, 2215, 1423, 2216 +8489, 1768, 681, 12, 2258 +8490, 1956, 1960, 1580, 1957 +8491, 1960, 1958, 1580, 1957 +8492, 1870, 1487, 1871, 1873 +8493, 1873, 1870, 1487, 1869 +8494, 2139, 2141, 1347, 2142 +8495, 2140, 1345, 2137, 2141 +8496, 2125, 2128, 1717, 2129 +8497, 2129, 1719, 2127, 2130 +8498, 1882, 1502, 1885, 1881 +8499, 1885, 1883, 1502, 1882 +8500, 1948, 1565, 1945, 1946 +8501, 1565, 1948, 1945, 1944 +8502, 1790, 2243, 638, 3188 +8503, 1410, 2204, 2205, 2202 +8504, 1408, 2204, 2200, 2203 +8505, 1654, 2062, 2065, 2066 +8506, 2066, 2064, 2067, 1656 +8507, 1575, 565, 1810, 1952 +8508, 1573, 1766, 331, 1950 +8509, 1491, 1809, 539, 1877 +8510, 1875, 305, 1489, 1765 +8511, 2035, 490, 2021, 3190 +8512, 1768, 611, 1788, 2258 +8513, 1497, 540, 1809, 1877 +8514, 306, 1875, 1495, 1765 +8515, 1766, 1567, 330, 1950 +8516, 1810, 1952, 564, 1569 +8517, 2053, 1643, 1639, 2054 +8518, 1641, 1643, 2055, 2054 +8519, 2212, 2216, 1423, 1424 +8520, 2216, 1425, 1424, 2214 +8521, 1788, 485, 2038, 2001 +8522, 2259, 1787, 1767, 648 +8523, 1580, 1576, 1956, 1957 +8524, 1578, 1580, 1958, 1957 +8525, 1487, 1486, 1873, 1869 +8526, 1871, 1487, 1488, 1873 +8527, 1788, 611, 2227, 2258 +8528, 471, 1739, 2224, 3188 +8529, 1346, 2137, 1345, 2141 +8530, 1347, 1346, 2141, 2139 +8531, 1717, 2129, 2128, 1721 +8532, 1719, 2130, 2129, 1721 +8533, 1642, 1639, 2053, 1643 +8534, 1644, 2055, 1641, 1643 +8535, 1422, 1424, 1425, 2214 +8536, 2212, 1423, 1420, 1424 +8537, 1792, 2228, 616, 3190 +8538, 1502, 1881, 1882, 1498 +8539, 1500, 1502, 1883, 1882 +8540, 1565, 1948, 1566, 1946 +8541, 1565, 1564, 1948, 1944 +8542, 1576, 1580, 1577, 1957 +8543, 1580, 1578, 1577, 1957 +8544, 1873, 1487, 1490, 1486 +8545, 1490, 1488, 1487, 1873 +8546, 1763, 1811, 288, 1812 +8547, 484, 1815, 1814, 1805 +8548, 1408, 1412, 2204, 2203 +8549, 2204, 2205, 1412, 1410 +8550, 2064, 2066, 1655, 1656 +8551, 1654, 1655, 2062, 2066 +8552, 2137, 1345, 1338, 1346 +8553, 1347, 1343, 1346, 2139 +8554, 1717, 2128, 1720, 1721 +8555, 2130, 1719, 1722, 1721 +8556, 2038, 485, 1788, 1768 +8557, 1502, 1882, 1500, 1499 +8558, 1882, 1499, 1502, 1498 +8559, 1565, 1566, 1948, 1568 +8560, 1948, 1564, 1565, 1568 +8561, 1787, 2039, 522, 2005 +8562, 1413, 1412, 2205, 1410 +8563, 1408, 1411, 1412, 2203 +8564, 1651, 2062, 1654, 1655 +8565, 1655, 1653, 2064, 1656 +8566, 449, 1736, 2248, 3190 +8567, 2224, 2243, 471, 3188 +8568, 2051, 1640, 2052, 2054 +8569, 1640, 2051, 2050, 2054 +8570, 2216, 2219, 1427, 2217 +8571, 2215, 1427, 2216, 2219 +8572, 1581, 1961, 1958, 1960 +8573, 1579, 1956, 1959, 1960 +8574, 1868, 1485, 1871, 1870 +8575, 1870, 1869, 1866, 1483 +8576, 2129, 2126, 2127, 1718 +8577, 2126, 2129, 2125, 1718 +8578, 2144, 1349, 2140, 2141 +8579, 2141, 2144, 1349, 2142 +8580, 1807, 1812, 1820, 482 +8581, 1761, 1814, 1819, 286 +8582, 1885, 1881, 1501, 1884 +8583, 1503, 1886, 1883, 1885 +8584, 1945, 1946, 1563, 1943 +8585, 1945, 1561, 1944, 1941 +8586, 2204, 2200, 2201, 1409 +8587, 2201, 2202, 2204, 1409 +8588, 2066, 2069, 1658, 2067 +8589, 2066, 2065, 1658, 2069 +8590, 331, 106, 1766, 1573 +8591, 235, 565, 1810, 1575 +8592, 1809, 539, 208, 1491 +8593, 1489, 305, 79, 1765 +8594, 2052, 1640, 1641, 2054 +8595, 1640, 2050, 1639, 2054 +8596, 2216, 2217, 1427, 1425 +8597, 1423, 2216, 2215, 1427 +8598, 1580, 1581, 1958, 1960 +8599, 1956, 1579, 1580, 1960 +8600, 1869, 1870, 1487, 1483 +8601, 1871, 1870, 1485, 1487 +8602, 1639, 1643, 1640, 2054 +8603, 1643, 1641, 1640, 2054 +8604, 2216, 1427, 1424, 1425 +8605, 1423, 1424, 2216, 1427 +8606, 2129, 1717, 2125, 1718 +8607, 1719, 2129, 2127, 1718 +8608, 2140, 1349, 1345, 2141 +8609, 1349, 1347, 2141, 2142 +8610, 1576, 1580, 1956, 1579 +8611, 1580, 1578, 1958, 1581 +8612, 1869, 1487, 1486, 1483 +8613, 1485, 1488, 1871, 1487 +8614, 1435, 61, 1438, 1759 +8615, 124, 1627, 1624, 1760 +8616, 190, 1440, 1803, 1437 +8617, 1804, 1629, 1626, 253 +8618, 2021, 490, 1779, 3190 +8619, 512, 1783, 2007, 3188 +8620, 1502, 1501, 1885, 1881 +8621, 1883, 1502, 1503, 1885 +8622, 1563, 1945, 1565, 1946 +8623, 1944, 1945, 1565, 1561 +8624, 209, 540, 1809, 1497 +8625, 80, 306, 1495, 1765 +8626, 105, 330, 1766, 1567 +8627, 564, 234, 1810, 1569 +8628, 2129, 1718, 1719, 1721 +8629, 1346, 1345, 1349, 2141 +8630, 2141, 1349, 1346, 1347 +8631, 1717, 1718, 2129, 1721 +8632, 2204, 1408, 2200, 1409 +8633, 2204, 2202, 1410, 1409 +8634, 2066, 2067, 1658, 1656 +8635, 2065, 1658, 1654, 2066 +8636, 1500, 1503, 1883, 1502 +8637, 1881, 1502, 1501, 1498 +8638, 1566, 1563, 1565, 1946 +8639, 1944, 1565, 1564, 1561 +8640, 1790, 1783, 512, 3188 +8641, 1410, 1412, 2204, 1409 +8642, 1408, 2204, 1412, 1409 +8643, 2066, 1658, 1655, 1656 +8644, 1655, 1654, 1658, 2066 +8645, 2052, 2049, 1638, 2051 +8646, 2045, 2050, 1636, 2051 +8647, 2218, 1426, 2215, 2219 +8648, 2219, 2217, 2220, 1428 +8649, 1583, 1960, 1959, 1963 +8650, 1961, 1960, 1583, 1963 +8651, 1484, 1870, 1868, 1867 +8652, 1870, 1867, 1484, 1866 +8653, 2127, 2124, 1716, 2126 +8654, 2125, 1714, 2122, 2126 +8655, 2140, 2143, 1348, 2144 +8656, 2145, 1350, 2144, 2142 +8657, 1505, 1888, 1885, 1884 +8658, 1885, 1886, 1888, 1505 +8659, 1943, 1562, 1945, 1942 +8660, 1945, 1942, 1562, 1941 +8661, 2201, 2202, 1407, 2199 +8662, 2201, 2200, 2197, 1405 +8663, 2068, 1657, 2065, 2069 +8664, 2069, 2067, 2070, 1659 +8665, 1787, 1767, 522, 2039 +8666, 2050, 1639, 1636, 1640 +8667, 1640, 1641, 1638, 2052 +8668, 1427, 1425, 2217, 1428 +8669, 1423, 2215, 1426, 1427 +8670, 1640, 1636, 2050, 2051 +8671, 1640, 2052, 1638, 2051 +8672, 1427, 2217, 2219, 1428 +8673, 1427, 2215, 1426, 2219 +8674, 1580, 1579, 1583, 1960 +8675, 1581, 1580, 1583, 1960 +8676, 1870, 1484, 1487, 1483 +8677, 1485, 1487, 1870, 1484 +8678, 1583, 1579, 1959, 1960 +8679, 1961, 1581, 1583, 1960 +8680, 1870, 1866, 1484, 1483 +8681, 1485, 1870, 1868, 1484 +8682, 2140, 1348, 1345, 1349 +8683, 1347, 1349, 1350, 2142 +8684, 1714, 2125, 1717, 1718 +8685, 2127, 1716, 1719, 1718 +8686, 1714, 2126, 2125, 1718 +8687, 2140, 2144, 1348, 1349 +8688, 2144, 1350, 1349, 2142 +8689, 2127, 2126, 1716, 1718 +8690, 1502, 1505, 1885, 1501 +8691, 1885, 1502, 1503, 1505 +8692, 1945, 1563, 1565, 1562 +8693, 1562, 1565, 1945, 1561 +8694, 1885, 1501, 1505, 1884 +8695, 1886, 1885, 1503, 1505 +8696, 1945, 1943, 1563, 1562 +8697, 1562, 1561, 1945, 1941 +8698, 1410, 2202, 1407, 1409 +8699, 1405, 2200, 1408, 1409 +8700, 1658, 1656, 2067, 1659 +8701, 1654, 2065, 1657, 1658 +8702, 2200, 1405, 2201, 1409 +8703, 2202, 2201, 1407, 1409 +8704, 1658, 2067, 2069, 1659 +8705, 1658, 2065, 1657, 2069 +8706, 2228, 449, 2248, 3190 +8707, 2045, 1637, 2046, 2051 +8708, 1637, 2049, 2046, 2051 +8709, 1430, 2219, 2043, 2220 +8710, 2043, 2218, 2219, 1430 +8711, 1964, 1961, 1584, 1963 +8712, 1582, 1959, 1962, 1963 +8713, 1868, 1865, 1482, 1867 +8714, 1867, 1480, 1866, 1863 +8715, 2123, 1715, 2124, 2126 +8716, 2122, 1715, 2123, 2126 +8717, 2147, 2143, 2144, 1352 +8718, 1352, 2144, 2147, 2145 +8719, 1560, 1943, 1940, 1942 +8720, 1886, 1506, 1889, 1888 +8721, 1887, 1888, 1504, 1884 +8722, 1942, 1938, 1558, 1941 +8723, 2201, 2199, 1406, 2198 +8724, 1406, 2197, 2201, 2198 +8725, 1661, 2069, 2072, 2070 +8726, 2068, 2072, 1661, 2069 +8727, 1800, 640, 1769, 3187 +8728, 640, 2241, 2225, 3187 +8729, 2222, 642, 2245, 3189 +8730, 2245, 475, 2222, 3189 +8731, 2028, 516, 2004, 3189 +8732, 2004, 379, 2028, 3189 +8733, 1770, 516, 1798, 3189 +8734, 1754, 379, 1726, 3189 +8735, 2241, 473, 2225, 3187 +8736, 1725, 473, 1755, 3187 +8737, 1754, 1726, 475, 3189 +8738, 1798, 642, 1770, 3189 +8739, 377, 1725, 1755, 3187 +8740, 11, 2039, 1767, 680 +8741, 1769, 514, 1800, 3187 +8742, 1783, 638, 639, 3188 +8743, 639, 638, 2224, 3188 +8744, 2002, 377, 2024, 3187 +8745, 1631, 1629, 1804, 1632 +8746, 1436, 1803, 1437, 1434 +8747, 1630, 1627, 1760, 1631 +8748, 1435, 1432, 1759, 1436 +8749, 2024, 514, 2002, 3187 +8750, 490, 1792, 1779, 3190 +8751, 1637, 1636, 1640, 2051 +8752, 1637, 1640, 1638, 2051 +8753, 1427, 2219, 1426, 1430 +8754, 1430, 1427, 2219, 1428 +8755, 1583, 1581, 1961, 1584 +8756, 1583, 1582, 1959, 1579 +8757, 1484, 1483, 1866, 1480 +8758, 1868, 1482, 1485, 1484 +8759, 1636, 1637, 2045, 2051 +8760, 2049, 1637, 1638, 2051 +8761, 2219, 2220, 1430, 1428 +8762, 1426, 2219, 2218, 1430 +8763, 2126, 1714, 1715, 1718 +8764, 1716, 2126, 1715, 1718 +8765, 2144, 1352, 1349, 1350 +8766, 1348, 1349, 2144, 1352 +8767, 1959, 1582, 1583, 1963 +8768, 1583, 1584, 1961, 1963 +8769, 1482, 1484, 1868, 1867 +8770, 1484, 1866, 1867, 1480 +8771, 1943, 1560, 1563, 1562 +8772, 1503, 1506, 1886, 1505 +8773, 1505, 1501, 1504, 1884 +8774, 1558, 1561, 1562, 1941 +8775, 1635, 2049, 2048, 2046 +8776, 2044, 2045, 1633, 2046 +8777, 1429, 2218, 2047, 2043 +8778, 2043, 2042, 1431, 2220 +8779, 1406, 1407, 2201, 1409 +8780, 2201, 1405, 1406, 1409 +8781, 1657, 1661, 1658, 2069 +8782, 1658, 2069, 1661, 1659 +8783, 1715, 1716, 2124, 2126 +8784, 1715, 2122, 1714, 2126 +8785, 1348, 2144, 2143, 1352 +8786, 2144, 2145, 1352, 1350 +8787, 1504, 1888, 1505, 1884 +8788, 1888, 1886, 1506, 1505 +8789, 1560, 1562, 1943, 1942 +8790, 1558, 1562, 1942, 1941 +8791, 1586, 1963, 1962, 1966 +8792, 1964, 1963, 1586, 1966 +8793, 1864, 1481, 1865, 1867 +8794, 1867, 1864, 1481, 1863 +8795, 1711, 2119, 2122, 2123 +8796, 2123, 2121, 2124, 1713 +8797, 2147, 2148, 1353, 2145 +8798, 1351, 2143, 2146, 2147 +8799, 2201, 1407, 1406, 2199 +8800, 2201, 2197, 1406, 1405 +8801, 1661, 1657, 2068, 2069 +8802, 2070, 1661, 2069, 1659 +8803, 1889, 1888, 1508, 1891 +8804, 1508, 1891, 1888, 1887 +8805, 1559, 1942, 1939, 1938 +8806, 1559, 1940, 1939, 1942 +8807, 2196, 1404, 2199, 2198 +8808, 1402, 2194, 2197, 2198 +8809, 2071, 1660, 2068, 2072 +8810, 2072, 2070, 2073, 1662 +8811, 4, 2040, 680, 1759 +8812, 2041, 5, 679, 1760 +8813, 1633, 2045, 1636, 1637 +8814, 1635, 1638, 2049, 1637 +8815, 1429, 1426, 2218, 1430 +8816, 1430, 2220, 1431, 1428 +8817, 1586, 1584, 1583, 1963 +8818, 1582, 1586, 1583, 1963 +8819, 1482, 1481, 1484, 1867 +8820, 1484, 1867, 1481, 1480 +8821, 1711, 2122, 1714, 1715 +8822, 1713, 1716, 2124, 1715 +8823, 1352, 2145, 1353, 1350 +8824, 1351, 1348, 2143, 1352 +8825, 2248, 1779, 616, 3190 +8826, 1888, 1506, 1508, 1505 +8827, 1505, 1508, 1888, 1504 +8828, 1942, 1559, 1562, 1558 +8829, 1562, 1560, 1559, 1942 +8830, 1633, 2046, 2045, 1637 +8831, 2049, 2046, 1635, 1637 +8832, 2043, 1431, 1430, 2220 +8833, 2218, 2043, 1429, 1430 +8834, 1404, 1406, 1407, 2199 +8835, 1402, 1406, 2197, 1405 +8836, 1662, 1661, 2070, 1659 +8837, 1660, 1657, 2068, 1661 +8838, 1964, 1587, 1967, 1966 +8839, 1965, 1585, 1962, 1966 +8840, 1860, 1864, 1863, 1477 +8841, 1479, 1865, 1862, 1864 +8842, 1586, 1582, 1962, 1963 +8843, 1586, 1964, 1584, 1963 +8844, 1865, 1481, 1482, 1867 +8845, 1481, 1480, 1867, 1863 +8846, 2119, 2120, 2123, 1712 +8847, 2121, 2123, 2120, 1712 +8848, 2150, 1355, 2147, 2148 +8849, 2147, 2146, 1355, 2150 +8850, 1711, 2123, 2122, 1715 +8851, 2123, 1713, 2124, 1715 +8852, 2143, 2147, 1351, 1352 +8853, 2147, 1353, 1352, 2145 +8854, 1939, 1940, 1557, 1937 +8855, 1938, 1939, 1555, 1935 +8856, 1509, 1892, 1889, 1891 +8857, 1891, 1887, 1507, 1890 +8858, 2194, 2198, 1403, 2195 +8859, 1403, 2198, 2196, 2195 +8860, 2072, 2073, 2075, 1664 +8861, 2072, 2075, 2071, 1664 +8862, 1888, 1504, 1508, 1887 +8863, 1508, 1889, 1506, 1888 +8864, 1940, 1559, 1560, 1942 +8865, 1559, 1558, 1942, 1938 +8866, 2048, 681, 1634, 2046 +8867, 2044, 1634, 681, 2046 +8868, 2043, 2047, 1433, 682 +8869, 682, 1433, 2043, 2042 +8870, 1406, 2199, 1404, 2198 +8871, 1406, 1402, 2197, 2198 +8872, 1661, 2070, 2072, 1662 +8873, 1661, 2068, 1660, 2072 +8874, 1634, 2046, 1633, 1637 +8875, 2046, 1634, 1635, 1637 +8876, 1429, 2043, 1433, 1430 +8877, 1433, 1430, 2043, 1431 +8878, 1964, 1586, 1584, 1587 +8879, 1582, 1586, 1962, 1585 +8880, 1863, 1481, 1480, 1477 +8881, 1479, 1482, 1865, 1481 +8882, 2123, 1712, 1713, 1715 +8883, 1711, 1712, 2123, 1715 +8884, 1351, 2147, 1355, 1352 +8885, 1355, 1352, 2147, 1353 +8886, 1507, 1508, 1504, 1887 +8887, 1509, 1889, 1506, 1508 +8888, 1555, 1558, 1559, 1938 +8889, 1559, 1560, 1557, 1940 +8890, 1969, 1589, 1965, 1966 +8891, 1967, 1589, 1969, 1966 +8892, 1861, 1862, 1864, 1478 +8893, 1478, 1864, 1861, 1860 +8894, 1402, 1406, 1403, 2198 +8895, 1406, 1404, 1403, 2198 +8896, 1661, 1662, 2072, 1664 +8897, 1661, 2072, 1660, 1664 +8898, 2048, 1634, 1635, 2046 +8899, 1633, 1634, 2044, 2046 +8900, 2047, 1433, 1429, 2043 +8901, 1431, 2043, 1433, 2042 +8902, 2116, 2119, 1708, 2120 +8903, 1710, 2120, 2121, 2118 +8904, 1356, 2150, 2151, 2148 +8905, 2146, 2149, 1354, 2150 +8906, 1894, 1891, 1511, 1890 +8907, 1892, 1511, 1894, 1891 +8908, 1936, 1556, 1939, 1935 +8909, 1937, 1556, 1939, 1936 +8910, 2191, 2194, 1399, 2195 +8911, 2193, 2196, 2195, 1401 +8912, 2071, 2074, 1663, 2075 +8913, 2075, 1665, 2073, 2076 +8914, 1587, 1964, 1586, 1966 +8915, 1585, 1586, 1962, 1966 +8916, 1863, 1864, 1481, 1477 +8917, 1865, 1864, 1479, 1481 +8918, 1438, 4, 680, 1759 +8919, 5, 1624, 679, 1760 +8920, 1803, 1440, 11, 680 +8921, 1626, 10, 679, 1804 +8922, 2123, 1711, 2119, 1712 +8923, 1713, 2123, 2121, 1712 +8924, 1353, 2147, 1355, 2148 +8925, 2146, 1355, 1351, 2147 +8926, 2047, 1432, 1429, 1433 +8927, 1634, 1635, 1632, 2048 +8928, 1434, 1431, 1433, 2042 +8929, 1630, 2044, 1633, 1634 +8930, 1889, 1508, 1509, 1891 +8931, 1508, 1507, 1891, 1887 +8932, 1555, 1559, 1939, 1938 +8933, 1559, 1557, 1939, 1940 +8934, 2196, 1403, 1404, 2198 +8935, 2194, 1402, 1403, 2198 +8936, 2072, 1662, 2073, 1664 +8937, 2072, 2071, 1660, 1664 +8938, 1585, 1589, 1586, 1966 +8939, 1586, 1589, 1587, 1966 +8940, 1481, 1864, 1478, 1477 +8941, 1478, 1479, 1864, 1481 +8942, 1768, 679, 10, 1804 +8943, 2121, 1710, 1713, 1712 +8944, 1708, 2119, 1711, 1712 +8945, 2146, 1354, 1351, 1355 +8946, 1356, 1353, 1355, 2148 +8947, 1969, 1968, 1965, 1588 +8948, 1970, 1969, 1967, 1590 +8949, 1476, 1862, 1859, 1861 +8950, 1857, 1861, 1860, 1474 +8951, 1511, 1891, 1508, 1507 +8952, 1511, 1509, 1508, 1891 +8953, 1556, 1559, 1939, 1555 +8954, 1559, 1556, 1939, 1557 +8955, 2117, 2120, 1709, 2118 +8956, 2120, 1709, 2116, 2117 +8957, 2150, 2149, 1358, 2153 +8958, 2153, 1358, 2150, 2151 +8959, 1403, 2196, 1404, 1401 +8960, 2194, 1399, 1403, 1402 +8961, 1663, 1660, 2071, 1664 +8962, 1665, 2073, 1662, 1664 +8963, 1554, 1937, 1934, 1936 +8964, 1552, 1936, 1932, 1935 +8965, 1892, 1512, 1895, 1894 +8966, 1894, 1893, 1890, 1510 +8967, 2192, 2195, 1400, 2193 +8968, 2191, 1400, 2192, 2195 +8969, 2078, 2075, 2076, 1667 +8970, 2075, 2078, 2074, 1667 +8971, 1965, 1589, 1585, 1966 +8972, 1589, 1967, 1587, 1966 +8973, 1860, 1478, 1864, 1477 +8974, 1479, 1864, 1862, 1478 +8975, 1432, 1433, 2047, 682 +8976, 1632, 681, 1634, 2048 +8977, 1434, 1433, 682, 2042 +8978, 1630, 681, 2044, 1634 +8979, 1708, 2120, 2119, 1712 +8980, 2120, 1710, 2121, 1712 +8981, 1354, 1355, 2146, 2150 +8982, 1356, 1355, 2150, 2148 +8983, 1557, 1556, 1939, 1937 +8984, 1509, 1511, 1892, 1891 +8985, 1507, 1511, 1891, 1890 +8986, 1555, 1939, 1556, 1935 +8987, 616, 617, 1779, 2248 +8988, 616, 615, 2228, 1792 +8989, 451, 1734, 452, 2246 +8990, 1799, 620, 2237, 619 +8991, 2253, 620, 1781, 621 +8992, 1777, 618, 619, 2246 +8993, 456, 1749, 457, 2230 +8994, 1731, 456, 455, 2249 +8995, 448, 447, 1740, 2250 +8996, 614, 615, 1784, 2250 +8997, 448, 1750, 449, 2228 +8998, 617, 618, 1797, 2229 +8999, 454, 453, 1738, 2253 +9000, 1753, 451, 450, 2229 +9001, 477, 476, 1745, 2255 +9002, 2028, 515, 516, 1798 +9003, 379, 378, 2028, 1754 +9004, 453, 452, 1756, 2237 +9005, 2255, 643, 1789, 644 +9006, 516, 1770, 517, 2004 +9007, 1746, 471, 470, 2243 +9008, 455, 454, 1751, 2233 +9009, 640, 639, 2241, 1800 +9010, 638, 2243, 1790, 637 +9011, 450, 449, 1736, 2248 +9012, 1755, 473, 472, 2241 +9013, 471, 1739, 472, 2224 +9014, 477, 1727, 478, 2221 +9015, 2225, 640, 1769, 641 +9016, 378, 377, 2002, 1725 +9017, 473, 1725, 474, 2225 +9018, 2245, 642, 641, 1798 +9019, 474, 1754, 475, 2245 +9020, 475, 1726, 476, 2222 +9021, 1770, 643, 2222, 642 +9022, 380, 379, 2004, 1726 +9023, 446, 1748, 447, 2236 +9024, 2029, 381, 380, 1745 +9025, 1399, 2194, 1403, 2195 +9026, 1403, 2195, 2196, 1401 +9027, 2073, 1665, 2075, 1664 +9028, 2071, 2075, 1663, 1664 +9029, 518, 517, 1789, 2029 +9030, 1967, 1587, 1590, 1589 +9031, 1965, 1588, 1585, 1589 +9032, 1479, 1862, 1476, 1478 +9033, 1478, 1477, 1860, 1474 +9034, 351, 2012, 352, 1740 +9035, 2012, 488, 489, 1784 +9036, 2223, 636, 1773, 637 +9037, 1729, 470, 469, 2223 +9038, 1771, 645, 2221, 644 +9039, 1769, 515, 514, 2002 +9040, 1969, 1592, 1970, 1972 +9041, 1592, 1969, 1968, 1972 +9042, 1475, 1861, 1858, 1857 +9043, 1858, 1859, 1861, 1475 +9044, 1708, 1709, 2120, 1712 +9045, 1710, 2120, 1709, 1712 +9046, 1358, 1355, 1354, 2150 +9047, 2150, 1358, 1355, 1356 +9048, 1707, 2115, 2117, 2118 +9049, 1705, 2113, 2116, 2117 +9050, 2154, 2153, 2151, 1359 +9051, 1357, 2149, 2152, 2153 +9052, 2015, 382, 381, 1727 +9053, 1552, 1555, 1556, 1935 +9054, 1556, 1937, 1557, 1554 +9055, 1511, 1890, 1507, 1510 +9056, 1509, 1512, 1892, 1511 +9057, 457, 1732, 458, 2244 +9058, 1553, 1936, 1933, 1932 +9059, 1936, 1933, 1934, 1553 +9060, 1514, 1897, 1894, 1893 +9061, 1894, 1895, 1897, 1514 +9062, 625, 1774, 2231, 626 +9063, 1399, 1403, 1400, 2195 +9064, 1400, 2195, 1403, 1401 +9065, 2075, 1667, 1663, 1664 +9066, 1667, 2075, 1665, 1664 +9067, 1396, 2188, 2191, 2192 +9068, 2192, 2190, 2193, 1398 +9069, 2077, 1666, 2074, 2078 +9070, 1668, 2079, 2076, 2078 +9071, 2236, 1791, 614, 613 +9072, 487, 488, 2032, 1791 +9073, 2020, 496, 497, 1775 +9074, 2006, 497, 498, 1785 +9075, 2233, 621, 1794, 622 +9076, 377, 376, 2024, 1755 +9077, 1747, 479, 478, 2256 +9078, 2030, 519, 520, 1793 +9079, 2015, 518, 519, 1771 +9080, 1750, 2035, 352, 353 +9081, 2244, 1801, 625, 624 +9082, 682, 1432, 1433, 1436 +9083, 1436, 1433, 682, 1434 +9084, 1634, 1630, 681, 1631 +9085, 1631, 681, 1634, 1632 +9086, 350, 349, 2018, 1735 +9087, 1730, 2016, 383, 384 +9088, 374, 373, 2037, 1729 +9089, 1796, 510, 509, 2011 +9090, 362, 361, 2027, 1732 +9091, 490, 2035, 489, 1792 +9092, 2032, 350, 1748, 351 +9093, 1737, 468, 467, 2235 +9094, 1780, 635, 2235, 634 +9095, 500, 2013, 499, 1774 +9096, 508, 2008, 507, 1786 +9097, 2008, 371, 370, 1741 +9098, 2030, 1747, 383, 382 +9099, 2037, 510, 511, 1773 +9100, 511, 1790, 512, 2023 +9101, 2021, 490, 491, 1779 +9102, 493, 1799, 494, 2019 +9103, 1752, 2011, 372, 373 +9104, 1819, 1821, 1814, 2003 +9105, 1812, 1811, 1816, 2234 +9106, 1821, 1819, 1818, 2003 +9107, 1811, 678, 1816, 2234 +9108, 678, 2232, 1813, 1815 +9109, 1967, 1590, 1969, 1589 +9110, 1588, 1965, 1969, 1589 +9111, 1861, 1476, 1862, 1478 +9112, 1860, 1861, 1478, 1474 +9113, 1970, 1593, 1973, 1972 +9114, 1971, 1591, 1968, 1972 +9115, 1856, 1473, 1859, 1858 +9116, 1858, 1857, 1854, 1471 +9117, 646, 2256, 1793, 645 +9118, 514, 2024, 513, 1800 +9119, 2242, 635, 1796, 636 +9120, 468, 1752, 469, 2242 +9121, 446, 445, 1735, 2247 +9122, 1590, 1592, 1969, 1589 +9123, 1969, 1592, 1588, 1589 +9124, 1861, 1475, 1478, 1474 +9125, 1478, 1861, 1476, 1475 +9126, 359, 358, 2036, 1751 +9127, 1706, 2113, 2117, 2114 +9128, 2117, 2115, 1706, 2114 +9129, 2152, 2156, 1361, 2153 +9130, 1361, 2153, 2156, 2154 +9131, 2033, 356, 355, 1734 +9132, 1710, 1709, 2120, 2118 +9133, 2116, 2120, 1708, 1709 +9134, 1358, 1354, 2149, 2150 +9135, 2150, 2151, 1358, 1356 +9136, 1933, 1929, 1549, 1932 +9137, 1515, 1898, 1895, 1897 +9138, 1896, 1893, 1897, 1513 +9139, 1931, 1551, 1934, 1933 +9140, 2116, 1708, 1705, 1709 +9141, 1709, 1710, 1707, 2118 +9142, 1354, 2149, 1357, 1358 +9143, 1359, 1358, 2151, 1356 +9144, 1937, 1554, 1556, 1936 +9145, 1552, 1556, 1936, 1935 +9146, 1894, 1892, 1512, 1511 +9147, 1894, 1890, 1511, 1510 +9148, 1397, 2189, 2192, 2190 +9149, 2192, 2188, 2189, 1397 +9150, 2078, 2079, 2081, 1670 +9151, 2077, 2078, 2081, 1670 +9152, 1512, 1514, 1894, 1511 +9153, 1894, 1511, 1514, 1510 +9154, 1556, 1936, 1554, 1553 +9155, 1553, 1556, 1936, 1552 +9156, 1814, 1813, 2232, 1815 +9157, 2191, 1399, 1396, 1400 +9158, 1400, 1398, 2193, 1401 +9159, 2076, 1665, 1668, 1667 +9160, 1663, 2074, 1666, 1667 +9161, 1399, 1400, 2191, 2195 +9162, 1400, 2193, 2195, 1401 +9163, 2076, 2075, 1665, 1667 +9164, 1663, 2075, 2074, 1667 +9165, 513, 512, 1783, 2007 +9166, 499, 2027, 498, 1801 +9167, 2010, 491, 492, 1797 +9168, 495, 494, 1781, 2009 +9169, 1757, 459, 458, 2231 +9170, 4, 1438, 61, 1759 +9171, 124, 1624, 5, 1760 +9172, 11, 1803, 190, 1440 +9173, 10, 1804, 1626, 253 +9174, 2033, 492, 493, 1777 +9175, 1975, 1595, 1971, 1972 +9176, 1973, 1595, 1975, 1972 +9177, 1472, 1858, 1855, 1854 +9178, 1855, 1856, 1858, 1472 +9179, 2036, 495, 496, 1794 +9180, 2112, 1704, 2115, 2114 +9181, 2110, 2113, 1702, 2114 +9182, 2155, 1360, 2152, 2156 +9183, 2156, 2154, 2157, 1362 +9184, 1898, 1900, 1897, 1517 +9185, 1897, 1517, 1900, 1896 +9186, 1933, 1930, 1550, 1929 +9187, 1931, 1930, 1550, 1933 +9188, 1968, 1591, 1588, 1592 +9189, 1590, 1593, 1970, 1592 +9190, 1859, 1473, 1476, 1475 +9191, 1475, 1474, 1857, 1471 +9192, 2187, 2190, 2189, 1395 +9193, 1393, 2185, 2188, 2189 +9194, 1671, 2082, 2079, 2081 +9195, 2080, 1669, 2077, 2081 +9196, 1705, 2117, 1709, 1706 +9197, 1709, 1706, 2117, 1707 +9198, 1358, 2153, 1361, 1359 +9199, 1357, 1361, 1358, 2153 +9200, 1893, 1510, 1514, 1513 +9201, 1515, 1895, 1512, 1514 +9202, 1934, 1551, 1554, 1553 +9203, 1553, 1932, 1549, 1552 +9204, 2227, 611, 1788, 612 +9205, 1396, 1397, 2192, 1400 +9206, 2192, 1400, 1397, 1398 +9207, 1670, 1666, 2078, 1667 +9208, 1668, 1670, 2078, 1667 +9209, 1969, 1590, 1970, 1592 +9210, 1588, 1969, 1968, 1592 +9211, 1861, 1857, 1475, 1474 +9212, 1476, 1861, 1859, 1475 +9213, 486, 485, 1788, 2001 +9214, 2116, 1709, 1705, 2117 +9215, 1709, 1707, 2117, 2118 +9216, 1357, 1358, 2149, 2153 +9217, 1358, 2151, 2153, 1359 +9218, 1895, 1894, 1512, 1514 +9219, 1936, 1932, 1553, 1552 +9220, 1936, 1934, 1554, 1553 +9221, 1514, 1893, 1894, 1510 +9222, 1396, 2192, 2191, 1400 +9223, 2192, 2193, 1400, 1398 +9224, 2078, 1666, 2074, 1667 +9225, 1668, 2078, 2076, 1667 +9226, 1594, 1975, 1971, 1974 +9227, 1976, 1973, 1596, 1975 +9228, 1855, 1854, 1851, 1468 +9229, 1470, 1855, 1856, 1853 +9230, 1, 1344, 6, 1337 +9231, 2, 1340, 13, 1341 +9232, 2111, 1703, 2112, 2114 +9233, 1703, 2111, 2110, 2114 +9234, 2159, 2155, 2156, 1364 +9235, 1364, 2156, 2159, 2157 +9236, 1739, 2007, 375, 376 +9237, 1775, 623, 2249, 622 +9238, 361, 360, 2006, 1749 +9239, 410, 1417, 1414, 2209 +9240, 1416, 2211, 1419, 673 +9241, 586, 1650, 2058, 1647 +9242, 1648, 419, 2056, 1645 +9243, 1901, 1898, 1518, 1900 +9244, 1516, 1900, 1896, 1899 +9245, 1548, 1930, 1931, 1928 +9246, 1546, 1930, 1926, 1929 +9247, 2189, 1394, 2186, 2187 +9248, 2185, 2186, 2189, 1394 +9249, 2081, 2082, 2084, 1673 +9250, 2080, 2081, 2084, 1673 +9251, 2017, 1817, 1820, 1812 +9252, 1787, 522, 521, 2005 +9253, 2247, 612, 1778, 613 +9254, 1592, 1591, 1595, 1972 +9255, 1593, 1592, 1595, 1972 +9256, 1473, 1475, 1858, 1472 +9257, 1858, 1472, 1475, 1471 +9258, 1704, 1706, 1707, 2115 +9259, 1705, 1702, 2113, 1706 +9260, 1357, 2152, 1360, 1361 +9261, 2154, 1362, 1361, 1359 +9262, 1818, 1820, 2017, 1817 +9263, 1514, 1515, 1897, 1517 +9264, 1517, 1897, 1514, 1513 +9265, 1933, 1550, 1551, 1553 +9266, 1550, 1553, 1933, 1549 +9267, 2226, 646, 1782, 647 +9268, 1393, 2188, 1396, 1397 +9269, 1397, 1395, 2190, 1398 +9270, 1666, 2077, 1669, 1670 +9271, 2079, 1668, 1671, 1670 +9272, 565, 1952, 1575, 1955 +9273, 1950, 331, 1573, 1953 +9274, 1872, 1489, 1875, 305 +9275, 1491, 1877, 539, 1874 +9276, 2257, 626, 1795, 627 +9277, 11, 1767, 1803, 680 +9278, 540, 1877, 1497, 1880 +9279, 330, 1950, 1567, 1947 +9280, 1875, 1495, 1878, 306 +9281, 564, 1952, 1949, 1569 +9282, 2009, 358, 357, 1738 +9283, 2010, 355, 354, 1753 +9284, 1598, 1976, 1975, 1978 +9285, 1598, 1978, 1975, 1974 +9286, 1853, 1855, 1852, 1469 +9287, 1851, 1852, 1855, 1469 +9288, 2110, 1699, 2107, 2111 +9289, 1701, 2112, 2109, 2111 +9290, 2159, 2160, 1365, 2157 +9291, 1363, 2155, 2158, 2159 +9292, 1970, 1592, 1593, 1972 +9293, 1592, 1968, 1591, 1972 +9294, 1859, 1858, 1473, 1475 +9295, 1857, 1858, 1475, 1471 +9296, 1901, 1900, 1520, 1903 +9297, 1520, 1903, 1900, 1899 +9298, 1930, 1547, 1927, 1928 +9299, 1547, 1930, 1927, 1926 +9300, 466, 1741, 467, 2251 +9301, 2251, 634, 633, 1786 +9302, 2186, 1392, 2184, 2187 +9303, 2182, 2185, 1390, 2186 +9304, 1672, 2080, 2083, 2084 +9305, 2085, 2082, 1674, 2084 +9306, 2113, 2117, 1705, 1706 +9307, 1707, 1706, 2117, 2115 +9308, 2154, 1361, 2153, 1359 +9309, 2152, 1361, 1357, 2153 +9310, 2020, 1731, 360, 359 +9311, 1746, 375, 2023, 374 +9312, 623, 1785, 2230, 624 +9313, 1933, 1549, 1553, 1932 +9314, 1515, 1897, 1895, 1514 +9315, 1897, 1893, 1514, 1513 +9316, 1934, 1933, 1551, 1553 +9317, 357, 356, 2019, 1756 +9318, 2021, 354, 353, 1736 +9319, 459, 1742, 460, 2257 +9320, 2188, 2192, 1396, 1397 +9321, 1397, 2190, 2192, 1398 +9322, 1666, 2078, 2077, 1670 +9323, 2078, 1668, 2079, 1670 +9324, 54, 1414, 410, 1417 +9325, 183, 1416, 1419, 673 +9326, 1650, 586, 260, 1647 +9327, 419, 1648, 131, 1645 +9328, 1971, 1594, 1591, 1595 +9329, 1973, 1593, 1596, 1595 +9330, 1473, 1856, 1470, 1472 +9331, 1472, 1471, 1854, 1468 +9332, 1780, 509, 508, 2026 +9333, 1703, 1702, 1706, 2114 +9334, 1706, 1704, 1703, 2114 +9335, 1361, 2156, 1360, 1364 +9336, 1364, 1361, 2156, 1362 +9337, 372, 371, 2026, 1737 +9338, 1513, 1517, 1896, 1516 +9339, 1931, 1551, 1550, 1548 +9340, 1518, 1898, 1515, 1517 +9341, 1549, 1550, 1546, 1929 +9342, 465, 1758, 466, 2238 +9343, 633, 2238, 1802, 632 +9344, 1397, 1393, 2189, 1394 +9345, 1394, 2189, 1397, 1395 +9346, 1669, 1670, 2081, 1673 +9347, 1670, 1671, 2081, 1673 +9348, 1625, 679, 1827, 1829 +9349, 1826, 679, 1827, 1625 +9350, 1824, 1825, 1442, 680 +9351, 680, 1442, 1824, 1822 +9352, 1976, 1599, 1979, 1978 +9353, 1977, 1978, 1597, 1974 +9354, 1852, 1850, 1853, 1467 +9355, 1852, 1848, 1465, 1851 +9356, 2108, 1700, 2109, 2111 +9357, 1700, 2108, 2107, 2111 +9358, 2162, 2158, 2159, 1367 +9359, 1367, 2159, 2162, 2160 +9360, 1903, 1899, 1519, 1902 +9361, 1521, 1904, 1901, 1903 +9362, 1927, 1928, 1545, 1925 +9363, 1926, 1923, 1927, 1543 +9364, 2183, 2186, 1391, 2184 +9365, 2186, 1391, 2182, 2183 +9366, 2087, 1676, 2083, 2084 +9367, 1676, 2087, 2085, 2084 +9368, 1730, 480, 479, 2226 +9369, 2014, 505, 506, 1776 +9370, 2031, 365, 364, 1728 +9371, 585, 2055, 1644, 2058 +9372, 1642, 418, 2056, 2053 +9373, 1422, 2211, 2214, 674 +9374, 2212, 411, 2209, 1420 +9375, 363, 362, 2013, 1757 +9376, 1441, 1824, 1822, 1823 +9377, 2000, 1826, 1827, 1623 +9378, 1827, 1829, 1998, 1621 +9379, 1443, 1828, 1825, 1824 +9380, 2137, 386, 2134, 1338 +9381, 610, 1722, 2133, 2130 +9382, 1720, 2131, 2128, 443 +9383, 1343, 2136, 2139, 649 +9384, 1787, 648, 2239, 647 +9385, 1595, 1975, 1594, 1598 +9386, 1975, 1595, 1596, 1598 +9387, 1469, 1470, 1855, 1472 +9388, 1469, 1472, 1855, 1468 +9389, 1595, 1973, 1593, 1972 +9390, 1971, 1595, 1591, 1972 +9391, 1473, 1858, 1856, 1472 +9392, 1858, 1854, 1472, 1471 +9393, 616, 1779, 1792, 3190 +9394, 616, 2228, 2248, 3190 +9395, 1703, 2112, 1704, 1701 +9396, 2110, 1702, 1699, 1703 +9397, 1363, 1360, 2155, 1364 +9398, 1364, 2157, 1365, 1362 +9399, 521, 520, 1782, 2016 +9400, 2018, 486, 487, 1778 +9401, 409, 2206, 1411, 2203 +9402, 1413, 2205, 2208, 672 +9403, 2064, 2061, 587, 1653 +9404, 420, 2059, 2062, 1651 +9405, 1978, 1979, 1981, 1601 +9406, 1601, 1981, 1978, 1977 +9407, 1848, 1849, 1852, 1466 +9408, 1850, 1852, 1849, 1466 +9409, 1550, 1930, 1547, 1546 +9410, 1930, 1550, 1547, 1548 +9411, 1900, 1518, 1520, 1517 +9412, 1517, 1520, 1900, 1516 +9413, 507, 2025, 506, 1802 +9414, 1696, 2104, 2107, 2108 +9415, 2106, 1698, 2109, 2108 +9416, 2161, 1366, 2158, 2162 +9417, 2160, 2162, 1368, 2163 +9418, 1706, 2115, 1704, 2114 +9419, 1706, 1702, 2113, 2114 +9420, 1361, 2152, 1360, 2156 +9421, 1361, 2154, 2156, 1362 +9422, 1903, 1523, 1906, 1902 +9423, 1544, 1927, 1924, 1923 +9424, 1925, 1927, 1924, 1544 +9425, 1523, 1906, 1904, 1903 +9426, 2187, 1394, 1392, 1395 +9427, 1393, 1390, 2185, 1394 +9428, 1669, 2080, 1672, 1673 +9429, 1671, 1674, 2082, 1673 +9430, 2183, 1389, 2181, 2184 +9431, 2179, 2182, 1387, 2183 +9432, 1675, 2087, 2083, 2086 +9433, 2085, 2087, 1677, 2088 +9434, 1517, 1896, 1897, 1513 +9435, 1897, 1515, 1898, 1517 +9436, 1550, 1551, 1931, 1933 +9437, 1550, 1549, 1933, 1929 +9438, 502, 2031, 501, 1772 +9439, 1824, 1445, 1831, 1823 +9440, 1445, 1831, 1828, 1824 +9441, 1827, 1999, 2000, 1622 +9442, 1622, 1827, 1999, 1998 +9443, 1393, 2189, 2188, 1397 +9444, 2189, 2190, 1397, 1395 +9445, 2081, 1669, 2077, 1670 +9446, 1671, 2081, 2079, 1670 +9447, 385, 384, 2005, 1743 +9448, 349, 2001, 1744, 348 +9449, 1980, 1981, 1600, 1977 +9450, 1979, 1602, 1982, 1981 +9451, 1850, 1849, 1847, 1464 +9452, 1848, 1849, 1462, 1845 +9453, 2104, 1697, 2105, 2108 +9454, 1697, 2106, 2105, 2108 +9455, 2162, 2165, 1370, 2163 +9456, 2161, 1370, 2162, 2165 +9457, 1522, 1906, 1902, 1905 +9458, 1907, 1904, 1524, 1906 +9459, 1542, 1924, 1925, 1922 +9460, 1924, 1923, 1920, 1540 +9461, 1388, 2180, 2179, 2183 +9462, 2180, 2183, 1388, 2181 +9463, 2088, 2090, 2087, 1679 +9464, 2090, 2086, 2087, 1679 +9465, 1831, 1830, 1823, 1444 +9466, 1828, 1446, 1832, 1831 +9467, 1999, 1618, 1998, 1995 +9468, 2000, 1997, 1620, 1999 +9469, 1976, 1596, 1599, 1598 +9470, 1597, 1598, 1594, 1974 +9471, 1853, 1467, 1470, 1469 +9472, 1465, 1469, 1851, 1468 +9473, 370, 369, 2025, 1758 +9474, 1701, 1700, 1703, 2111 +9475, 1700, 1699, 1703, 2111 +9476, 1363, 1364, 2159, 1367 +9477, 2159, 1367, 1364, 1365 +9478, 4, 1723, 2040, 1759 +9479, 2041, 1724, 5, 1760 +9480, 1521, 1901, 1518, 1520 +9481, 1519, 1520, 1516, 1899 +9482, 1547, 1546, 1926, 1543 +9483, 1545, 1547, 1548, 1928 +9484, 1825, 1440, 1443, 1442 +9485, 1442, 1822, 1438, 1441 +9486, 1829, 1625, 1624, 1621 +9487, 1626, 1826, 1623, 1625 +9488, 1442, 680, 1439, 1438 +9489, 1440, 1439, 1442, 680 +9490, 1628, 679, 1625, 1624 +9491, 679, 1625, 1626, 1628 +9492, 1394, 1390, 2186, 1391 +9493, 1391, 2186, 1394, 1392 +9494, 1672, 2084, 1676, 1673 +9495, 2084, 1674, 1676, 1673 +9496, 1956, 332, 1953, 1576 +9497, 566, 1958, 1955, 1578 +9498, 1486, 1872, 1869, 304 +9499, 1871, 538, 1874, 1488 +9500, 1982, 1984, 1981, 1604 +9501, 1981, 1604, 1984, 1980 +9502, 1463, 1845, 1849, 1846 +9503, 1849, 1847, 1463, 1846 +9504, 2101, 2104, 1693, 2105 +9505, 1695, 2106, 2103, 2105 +9506, 2165, 2166, 1371, 2163 +9507, 1369, 2161, 2164, 2165 +9508, 1906, 1526, 1909, 1905 +9509, 1909, 1907, 1526, 1906 +9510, 1922, 1541, 1924, 1921 +9511, 1921, 1541, 1924, 1920 +9512, 2176, 2179, 1384, 2180 +9513, 1386, 2180, 2181, 2178 +9514, 1678, 2086, 2089, 2090 +9515, 2091, 2088, 1680, 2090 +9516, 1596, 1975, 1973, 1595 +9517, 1594, 1971, 1975, 1595 +9518, 1854, 1855, 1472, 1468 +9519, 1855, 1470, 1856, 1472 +9520, 1831, 1448, 1834, 1830 +9521, 1448, 1834, 1832, 1831 +9522, 1999, 1996, 1619, 1995 +9523, 1997, 1996, 1619, 1999 +9524, 541, 1880, 1500, 1883 +9525, 1498, 1881, 1878, 307 +9526, 1946, 1949, 1566, 563 +9527, 329, 1947, 1564, 1944 +9528, 2112, 1703, 1704, 2114 +9529, 1702, 1703, 2110, 2114 +9530, 2156, 2157, 1364, 1362 +9531, 1360, 2156, 2155, 1364 +9532, 1900, 1896, 1517, 1516 +9533, 1518, 1900, 1898, 1517 +9534, 1930, 1546, 1550, 1929 +9535, 1930, 1931, 1550, 1548 +9536, 1394, 2187, 2189, 1395 +9537, 2189, 1393, 2185, 1394 +9538, 1669, 2081, 2080, 1673 +9539, 2082, 2081, 1671, 1673 +9540, 1599, 1978, 1598, 1601 +9541, 1598, 1601, 1978, 1597 +9542, 1852, 1469, 1465, 1466 +9543, 1467, 1469, 1852, 1466 +9544, 1984, 1980, 1603, 1983 +9545, 1982, 1605, 1985, 1984 +9546, 1842, 1845, 1459, 1846 +9547, 1847, 1844, 1461, 1846 +9548, 1701, 1700, 2109, 1698 +9549, 2107, 1699, 1696, 1700 +9550, 1365, 1367, 1368, 2160 +9551, 2158, 1366, 1363, 1367 +9552, 2105, 1694, 2101, 2102 +9553, 2168, 1373, 2164, 2165 +9554, 1694, 2105, 2103, 2102 +9555, 1373, 2165, 2168, 2166 +9556, 1909, 1525, 1908, 1905 +9557, 1907, 1527, 1910, 1909 +9558, 1921, 1537, 1920, 1917 +9559, 1922, 1919, 1539, 1921 +9560, 2056, 1645, 130, 1642 +9561, 259, 2058, 1644, 1647 +9562, 2211, 184, 1422, 1419 +9563, 2209, 55, 1417, 1420 +9564, 1903, 1520, 1523, 1519 +9565, 1523, 1521, 1520, 1903 +9566, 1544, 1547, 1927, 1543 +9567, 1927, 1545, 1547, 1544 +9568, 2176, 2177, 2180, 1385 +9569, 2180, 1385, 2177, 2178 +9570, 1682, 2089, 2093, 2090 +9571, 2093, 2091, 1682, 2090 +9572, 2133, 285, 1341, 1722 +9573, 156, 2131, 1344, 1720 +9574, 29, 1337, 2134, 1338 +9575, 158, 1340, 1343, 2136 +9576, 1835, 1832, 1449, 1834 +9577, 1447, 1834, 1830, 1833 +9578, 1997, 1996, 1994, 1617 +9579, 1992, 1996, 1995, 1615 +9580, 1390, 1387, 2182, 1391 +9581, 2184, 1391, 1389, 1392 +9582, 2085, 1674, 1677, 1676 +9583, 1675, 1672, 2083, 1676 +9584, 1445, 1443, 1442, 1824 +9585, 1824, 1442, 1445, 1441 +9586, 1827, 1622, 1623, 1625 +9587, 1622, 1625, 1827, 1621 +9588, 1742, 2022, 363, 364 +9589, 1987, 1985, 1607, 1984 +9590, 1984, 1607, 1987, 1983 +9591, 1842, 1460, 1843, 1846 +9592, 1844, 1843, 1460, 1846 +9593, 2103, 1692, 2102, 2100 +9594, 2101, 1690, 2098, 2102 +9595, 2169, 2168, 2166, 1374 +9596, 2164, 2167, 1372, 2168 +9597, 2240, 628, 627, 1772 +9598, 1538, 1921, 1918, 1917 +9599, 1918, 1538, 1919, 1921 +9600, 1909, 1529, 1912, 1908 +9601, 1910, 1912, 1909, 1529 +9602, 2177, 2175, 2178, 1383 +9603, 2176, 1381, 2173, 2177 +9604, 2093, 2092, 2089, 1681 +9605, 2091, 2094, 2093, 1683 +9606, 1834, 1835, 1837, 1451 +9607, 1451, 1837, 1834, 1833 +9608, 1996, 1994, 1616, 1993 +9609, 1996, 1993, 1616, 1992 +9610, 1411, 53, 1414, 2206 +9611, 182, 1416, 2208, 1413 +9612, 2059, 1651, 132, 1648 +9613, 1650, 261, 2061, 1653 +9614, 1985, 1608, 1988, 1987 +9615, 1986, 1987, 1606, 1983 +9616, 1841, 1843, 1458, 1844 +9617, 1839, 1843, 1842, 1456 +9618, 2171, 1376, 2168, 2169 +9619, 2102, 2098, 2099, 1691 +9620, 1691, 2099, 2102, 2100 +9621, 2168, 2167, 1376, 2171 +9622, 1910, 1530, 1913, 1912 +9623, 1916, 1536, 1919, 1918 +9624, 1918, 1534, 1917, 1914 +9625, 1528, 1912, 1908, 1911 +9626, 2177, 2173, 2174, 1382 +9627, 1382, 2174, 2177, 2175 +9628, 2094, 2096, 2093, 1685 +9629, 2096, 2092, 2093, 1685 +9630, 1837, 1836, 1833, 1450 +9631, 1835, 1452, 1838, 1837 +9632, 1993, 1612, 1992, 1989 +9633, 1614, 1994, 1991, 1993 +9634, 1601, 1597, 1600, 1977 +9635, 1602, 1979, 1599, 1601 +9636, 1462, 1848, 1465, 1466 +9637, 1850, 1464, 1467, 1466 +9638, 1367, 2162, 1370, 1368 +9639, 1370, 1366, 2162, 1367 +9640, 1698, 1697, 1700, 2108 +9641, 1697, 1696, 1700, 2108 +9642, 1988, 1987, 1610, 1990 +9643, 1610, 1990, 1987, 1986 +9644, 1839, 1840, 1843, 1457 +9645, 1841, 1843, 1840, 1457 +9646, 1523, 1902, 1519, 1522 +9647, 1542, 1545, 1925, 1544 +9648, 1540, 1544, 1923, 1543 +9649, 1521, 1524, 1904, 1523 +9650, 2170, 1375, 2167, 2171 +9651, 2171, 2169, 2172, 1377 +9652, 2099, 2098, 2095, 1687 +9653, 2100, 2099, 2097, 1689 +9654, 1915, 1912, 1532, 1911 +9655, 1913, 1532, 1915, 1912 +9656, 1915, 1535, 1916, 1918 +9657, 1535, 1918, 1915, 1914 +9658, 2173, 1378, 2170, 2174 +9659, 2174, 2172, 2175, 1380 +9660, 1684, 2092, 2095, 2096 +9661, 2097, 2096, 2094, 1686 +9662, 1993, 1990, 1613, 1989 +9663, 1840, 1836, 1837, 1454 +9664, 1990, 1613, 1991, 1993 +9665, 1840, 1837, 1838, 1454 +9666, 1388, 1387, 1391, 2183 +9667, 2183, 1391, 1388, 1389 +9668, 2087, 1679, 1675, 1676 +9669, 1679, 2087, 1677, 1676 +9670, 1743, 481, 480, 2239 +9671, 1744, 445, 444, 2227 +9672, 1990, 1986, 1609, 1989 +9673, 1611, 1991, 1988, 1990 +9674, 1840, 1839, 1836, 1453 +9675, 1840, 1841, 1455, 1838 +9676, 2170, 2171, 2174, 1379 +9677, 2096, 2099, 1688, 2097 +9678, 2095, 2099, 1688, 2096 +9679, 2174, 1379, 2171, 2172 +9680, 1911, 1531, 1915, 1914 +9681, 1916, 1913, 1533, 1915 +9682, 584, 2052, 1641, 2055 +9683, 417, 2050, 2053, 1639 +9684, 2214, 2217, 1425, 675 +9685, 412, 1423, 2212, 2215 +9686, 1445, 1823, 1441, 1444 +9687, 1443, 1446, 1828, 1445 +9688, 1620, 1623, 2000, 1622 +9689, 1622, 1621, 1998, 1618 +9690, 1733, 465, 464, 2254 +9691, 2254, 631, 1776, 632 +9692, 1598, 1975, 1594, 1974 +9693, 1975, 1596, 1976, 1598 +9694, 1469, 1855, 1851, 1468 +9695, 1855, 1853, 1470, 1469 +9696, 2112, 1701, 1703, 2111 +9697, 2110, 1703, 1699, 2111 +9698, 2159, 1365, 1364, 2157 +9699, 2155, 2159, 1363, 1364 +9700, 387, 2137, 2140, 1345 +9701, 2142, 1347, 2139, 650 +9702, 2128, 2125, 1717, 442 +9703, 2127, 1719, 609, 2130 +9704, 1783, 1790, 638, 3188 +9705, 2243, 2224, 638, 3188 +9706, 1900, 1516, 1520, 1899 +9707, 1518, 1520, 1901, 1900 +9708, 1926, 1547, 1930, 1546 +9709, 1930, 1548, 1547, 1928 +9710, 2186, 2185, 1390, 1394 +9711, 1392, 2186, 1394, 2187 +9712, 2084, 1672, 2080, 1673 +9713, 2084, 2082, 1674, 1673 +9714, 408, 1408, 2200, 2203 +9715, 2202, 2205, 1410, 671 +9716, 2065, 421, 2062, 1654 +9717, 2064, 588, 2067, 1656 +9718, 1601, 1602, 1981, 1604 +9719, 1604, 1981, 1601, 1600 +9720, 1849, 1462, 1463, 1466 +9721, 1463, 1464, 1849, 1466 +9722, 1366, 2161, 1369, 1370 +9723, 1370, 1371, 1368, 2163 +9724, 2104, 1696, 1693, 1697 +9725, 1698, 2106, 1695, 1697 +9726, 1526, 1906, 1523, 1522 +9727, 1524, 1523, 1526, 1906 +9728, 1541, 1542, 1924, 1544 +9729, 1541, 1544, 1924, 1540 +9730, 1384, 2179, 1387, 1388 +9731, 1388, 1386, 2181, 1389 +9732, 1678, 1675, 2086, 1679 +9733, 2088, 1677, 1680, 1679 +9734, 1445, 1448, 1446, 1831 +9735, 1831, 1445, 1448, 1444 +9736, 1620, 1999, 1619, 1622 +9737, 1619, 1622, 1999, 1618 +9738, 460, 1728, 461, 2240 +9739, 1953, 107, 1573, 1576 +9740, 1955, 1575, 236, 1578 +9741, 1872, 78, 1486, 1489 +9742, 1491, 1874, 207, 1488 +9743, 1442, 1825, 1440, 680 +9744, 1625, 1624, 679, 1829 +9745, 680, 1438, 1442, 1822 +9746, 1826, 1626, 679, 1625 +9747, 210, 1497, 1500, 1880 +9748, 81, 1495, 1878, 1498 +9749, 104, 1567, 1564, 1947 +9750, 233, 1569, 1949, 1566 +9751, 1605, 1982, 1602, 1604 +9752, 1603, 1604, 1600, 1980 +9753, 1464, 1463, 1847, 1461 +9754, 1462, 1463, 1459, 1845 +9755, 501, 2022, 500, 1795 +9756, 2105, 1694, 1695, 1697 +9757, 1694, 2105, 1693, 1697 +9758, 1373, 1370, 1369, 2165 +9759, 1370, 2165, 1373, 1371 +9760, 1907, 1524, 1527, 1526 +9761, 1537, 1541, 1920, 1540 +9762, 1542, 1539, 1541, 1922 +9763, 1522, 1525, 1526, 1905 +9764, 1388, 1384, 2180, 1385 +9765, 1385, 2180, 1388, 1386 +9766, 1678, 2090, 1682, 1679 +9767, 1682, 2090, 1680, 1679 +9768, 1449, 1832, 1446, 1448 +9769, 1444, 1448, 1830, 1447 +9770, 1997, 1620, 1619, 1617 +9771, 1995, 1619, 1618, 1615 +9772, 1598, 1597, 1978, 1974 +9773, 1976, 1598, 1599, 1978 +9774, 1852, 1851, 1465, 1469 +9775, 1852, 1467, 1853, 1469 +9776, 1699, 1700, 2107, 2111 +9777, 1700, 1701, 2109, 2111 +9778, 1367, 1365, 2159, 2160 +9779, 1363, 2159, 2158, 1367 +9780, 1520, 1519, 1903, 1899 +9781, 1901, 1520, 1521, 1903 +9782, 1547, 1545, 1927, 1928 +9783, 1547, 1926, 1927, 1543 +9784, 1958, 567, 1961, 1581 +9785, 1959, 333, 1956, 1579 +9786, 1866, 1483, 1869, 303 +9787, 1485, 1871, 537, 1868 +9788, 1604, 1607, 1984, 1603 +9789, 1984, 1605, 1607, 1604 +9790, 1463, 1461, 1460, 1846 +9791, 1460, 1459, 1463, 1846 +9792, 1694, 1693, 2101, 1690 +9793, 2103, 1695, 1694, 1692 +9794, 1372, 2164, 1373, 1369 +9795, 1371, 2166, 1373, 1374 +9796, 2182, 2186, 1390, 1391 +9797, 1391, 2184, 2186, 1392 +9798, 1674, 1676, 2085, 2084 +9799, 2083, 1676, 1672, 2084 +9800, 1526, 1529, 1909, 1525 +9801, 1527, 1909, 1526, 1529 +9802, 1541, 1539, 1538, 1921 +9803, 1921, 1538, 1541, 1537 +9804, 1385, 2178, 1386, 1383 +9805, 1384, 1381, 2176, 1385 +9806, 1682, 1680, 2091, 1683 +9807, 1678, 1682, 2089, 1681 +9808, 1448, 1451, 1834, 1447 +9809, 1449, 1834, 1448, 1451 +9810, 1616, 1996, 1619, 1617 +9811, 1996, 1616, 1619, 1615 +9812, 1825, 1442, 1443, 1824 +9813, 1822, 1442, 1824, 1441 +9814, 1625, 1829, 1827, 1621 +9815, 1827, 1623, 1826, 1625 +9816, 1886, 1883, 542, 1503 +9817, 1501, 1884, 1881, 308 +9818, 1563, 1943, 1946, 562 +9819, 1561, 328, 1944, 1941 +9820, 1607, 1603, 1606, 1983 +9821, 1985, 1605, 1608, 1607 +9822, 1458, 1460, 1461, 1844 +9823, 1456, 1460, 1842, 1459 +9824, 1373, 2168, 1376, 1374 +9825, 2102, 1694, 1690, 1691 +9826, 1694, 1691, 2102, 1692 +9827, 1372, 1376, 1373, 2168 +9828, 1917, 1538, 1537, 1534 +9829, 1539, 1538, 1919, 1536 +9830, 1527, 1530, 1910, 1529 +9831, 1525, 1529, 1908, 1528 +9832, 2177, 1385, 1382, 1383 +9833, 1381, 1382, 2177, 1385 +9834, 2093, 1685, 1682, 1683 +9835, 2093, 1681, 1682, 1685 +9836, 1451, 1833, 1447, 1450 +9837, 1449, 1452, 1835, 1451 +9838, 1614, 1994, 1616, 1617 +9839, 1616, 1615, 1992, 1612 +9840, 1843, 1458, 1460, 1457 +9841, 1460, 1456, 1843, 1457 +9842, 1610, 1987, 1607, 1606 +9843, 1608, 1607, 1610, 1987 +9844, 2167, 1375, 1372, 1376 +9845, 1376, 1374, 2169, 1377 +9846, 2100, 1692, 1691, 1689 +9847, 1687, 2098, 1690, 1691 +9848, 1912, 1530, 1532, 1529 +9849, 1529, 1532, 1912, 1528 +9850, 1538, 1918, 1535, 1534 +9851, 1536, 1535, 1538, 1918 +9852, 1382, 1380, 2175, 1383 +9853, 2173, 1381, 1378, 1382 +9854, 1681, 2092, 1684, 1685 +9855, 2094, 1686, 1685, 1683 +9856, 1837, 1450, 1451, 1454 +9857, 1451, 1452, 1837, 1454 +9858, 1616, 1993, 1613, 1612 +9859, 1614, 1613, 1616, 1993 +9860, 258, 1641, 1644, 2055 +9861, 129, 2053, 1642, 1639 +9862, 185, 1422, 1425, 2214 +9863, 56, 1420, 2212, 1423 +9864, 1815, 629, 2232, 1805 +9865, 1839, 1456, 1453, 1457 +9866, 1458, 1841, 1455, 1457 +9867, 1610, 1606, 1609, 1986 +9868, 1611, 1988, 1608, 1610 +9869, 1379, 1376, 2171, 1377 +9870, 1376, 2171, 1375, 1379 +9871, 2099, 1687, 1688, 1691 +9872, 2099, 1691, 1688, 1689 +9873, 1532, 1911, 1528, 1531 +9874, 1913, 1530, 1533, 1532 +9875, 1916, 1533, 1536, 1535 +9876, 1535, 1531, 1534, 1914 +9877, 1379, 2174, 1382, 1380 +9878, 1382, 1378, 2174, 1379 +9879, 1688, 1685, 2096, 1686 +9880, 1684, 2096, 1688, 1685 +9881, 1450, 1836, 1453, 1454 +9882, 1613, 1609, 1612, 1989 +9883, 1838, 1452, 1455, 1454 +9884, 1614, 1991, 1611, 1613 +9885, 2014, 369, 368, 1733 +9886, 1611, 1990, 1610, 1613 +9887, 1840, 1457, 1453, 1454 +9888, 1610, 1613, 1990, 1609 +9889, 1455, 1457, 1840, 1454 +9890, 1380, 1379, 2172, 1377 +9891, 1688, 1686, 2097, 1689 +9892, 1375, 2170, 1378, 1379 +9893, 1684, 1688, 2095, 1687 +9894, 1532, 1533, 1915, 1535 +9895, 1532, 1535, 1915, 1531 +9896, 159, 1343, 1347, 2139 +9897, 30, 1338, 2137, 1345 +9898, 2128, 1720, 155, 1717 +9899, 1722, 284, 1719, 2130 +9900, 1978, 1597, 1601, 1977 +9901, 1979, 1978, 1599, 1601 +9902, 1850, 1467, 1852, 1466 +9903, 1465, 1848, 1852, 1466 +9904, 1698, 1700, 2109, 2108 +9905, 2107, 1700, 1696, 2108 +9906, 2158, 2162, 1366, 1367 +9907, 2162, 1368, 1367, 2160 +9908, 1903, 1519, 1523, 1902 +9909, 1521, 1523, 1904, 1903 +9910, 1927, 1923, 1544, 1543 +9911, 1927, 1925, 1545, 1544 +9912, 181, 1413, 2205, 1410 +9913, 52, 1411, 1408, 2203 +9914, 2062, 1654, 133, 1651 +9915, 1653, 262, 2064, 1656 +9916, 1391, 1389, 2183, 2184 +9917, 1391, 1387, 2182, 2183 +9918, 2087, 2085, 1677, 1676 +9919, 2087, 1675, 2083, 1676 +9920, 1824, 1441, 1445, 1823 +9921, 1443, 1445, 1828, 1824 +9922, 2000, 1623, 1827, 1622 +9923, 1827, 1998, 1622, 1621 +9924, 1638, 583, 2049, 2052 +9925, 2050, 1636, 416, 2045 +9926, 2220, 1428, 2217, 676 +9927, 1426, 2215, 413, 2218 +9928, 1714, 2125, 2122, 441 +9929, 2142, 2145, 1350, 651 +9930, 388, 1348, 2140, 2143 +9931, 608, 1716, 2127, 2124 +9932, 1407, 2199, 2202, 670 +9933, 2200, 407, 2197, 1405 +9934, 422, 2065, 2068, 1657 +9935, 2070, 2067, 589, 1659 +9936, 463, 1811, 1763, 2234 +9937, 1600, 1981, 1601, 1977 +9938, 1602, 1981, 1979, 1601 +9939, 1464, 1850, 1849, 1466 +9940, 1848, 1462, 1849, 1466 +9941, 189, 1437, 1803, 1434 +9942, 254, 1804, 1629, 1632 +9943, 1760, 125, 1627, 1630 +9944, 60, 1759, 1435, 1432 +9945, 1366, 2162, 2161, 1370 +9946, 1696, 1697, 2104, 2108 +9947, 2106, 1697, 1698, 2108 +9948, 1370, 1368, 2162, 2163 +9949, 1902, 1523, 1906, 1522 +9950, 1523, 1524, 1904, 1906 +9951, 1923, 1924, 1544, 1540 +9952, 1924, 1542, 1925, 1544 +9953, 1388, 2181, 2183, 1389 +9954, 1387, 1388, 2179, 2183 +9955, 1677, 2088, 2087, 1679 +9956, 2087, 2086, 1675, 1679 +9957, 1823, 1445, 1831, 1444 +9958, 1828, 1445, 1446, 1831 +9959, 2000, 1999, 1620, 1622 +9960, 1998, 1999, 1622, 1618 +9961, 1958, 1578, 237, 1581 +9962, 108, 1576, 1956, 1579 +9963, 77, 1869, 1486, 1483 +9964, 206, 1871, 1485, 1488 +9965, 211, 1883, 1500, 1503 +9966, 1946, 1566, 1563, 232 +9967, 103, 1944, 1564, 1561 +9968, 82, 1881, 1501, 1498 +9969, 1584, 568, 1961, 1964 +9970, 1962, 334, 1959, 1582 +9971, 1866, 1863, 1480, 302 +9972, 1865, 1482, 536, 1868 +9973, 2003, 1761, 1819, 366 +9974, 1943, 1560, 1940, 561 +9975, 1884, 1504, 1887, 309 +9976, 1558, 1938, 327, 1941 +9977, 543, 1889, 1886, 1506 +9978, 1981, 1602, 1982, 1604 +9979, 1981, 1600, 1604, 1980 +9980, 1463, 1462, 1849, 1845 +9981, 1463, 1847, 1849, 1464 +9982, 2105, 1695, 2106, 1697 +9983, 1693, 2105, 2104, 1697 +9984, 1369, 1370, 2161, 2165 +9985, 2165, 1371, 1370, 2163 +9986, 1906, 1522, 1526, 1905 +9987, 1524, 1526, 1907, 1906 +9988, 1542, 1541, 1924, 1922 +9989, 1924, 1920, 1541, 1540 +9990, 1816, 2234, 2252, 630 +9991, 2180, 2181, 1388, 1386 +9992, 1384, 2180, 2179, 1388 +9993, 1680, 2090, 2088, 1679 +9994, 2086, 2090, 1678, 1679 +9995, 1448, 1830, 1831, 1444 +9996, 1448, 1832, 1446, 1831 +9997, 1619, 1620, 1997, 1999 +9998, 1619, 1618, 1999, 1995 +9999, 1815, 2252, 2232, 629 +10000, 2034, 2003, 1819, 366 +10001, 2252, 1811, 463, 2234 +10002, 1638, 1641, 257, 2052 +10003, 128, 1636, 2050, 1639 +10004, 1425, 186, 2217, 1428 +10005, 57, 1426, 1423, 2215 +10006, 582, 2048, 1635, 2049 +10007, 2047, 414, 2218, 1429 +10008, 415, 1633, 2044, 2045 +10009, 1431, 2220, 2042, 677 +10010, 1605, 1984, 1982, 1604 +10011, 1604, 1603, 1984, 1980 +10012, 1461, 1463, 1847, 1846 +10013, 1459, 1845, 1463, 1846 +10014, 1694, 1695, 2103, 2105 +10015, 1693, 1694, 2101, 2105 +10016, 1373, 1369, 2164, 2165 +10017, 1373, 1371, 2165, 2166 +10018, 1907, 1526, 1527, 1909 +10019, 1525, 1909, 1526, 1905 +10020, 1541, 1922, 1539, 1921 +10021, 1541, 1920, 1921, 1537 +10022, 31, 1345, 2140, 1348 +10023, 160, 1347, 1350, 2142 +10024, 154, 1717, 1714, 2125 +10025, 283, 1719, 2127, 1716 +10026, 2176, 2180, 1384, 1385 +10027, 2180, 1386, 1385, 2178 +10028, 1680, 1682, 2091, 2090 +10029, 1682, 1678, 2089, 2090 +10030, 1448, 1449, 1832, 1834 +10031, 1830, 1448, 1834, 1447 +10032, 1995, 1996, 1619, 1615 +10033, 1996, 1997, 1619, 1617 +10034, 2034, 503, 1821, 2003 +10035, 2119, 1711, 2122, 440 +10036, 2146, 389, 2143, 1351 +10037, 1353, 2145, 2148, 652 +10038, 2121, 607, 2124, 1713 +10039, 180, 1407, 1410, 2202 +10040, 2200, 1408, 51, 1405 +10041, 2065, 1657, 134, 1654 +10042, 1656, 263, 2067, 1659 +10043, 1404, 2196, 2199, 669 +10044, 2194, 2197, 406, 1402 +10045, 2070, 590, 2073, 1662 +10046, 423, 2068, 2071, 1660 +10047, 1607, 1985, 1605, 1984 +10048, 1984, 1603, 1607, 1983 +10049, 1844, 1460, 1461, 1846 +10050, 1459, 1460, 1842, 1846 +10051, 1694, 1690, 2101, 2102 +10052, 1694, 2102, 2103, 1692 +10053, 1373, 2164, 1372, 2168 +10054, 1373, 2166, 2168, 1374 +10055, 1538, 1537, 1921, 1917 +10056, 1538, 1539, 1919, 1921 +10057, 1910, 1909, 1527, 1529 +10058, 1908, 1909, 1529, 1525 +10059, 2177, 2176, 1381, 1385 +10060, 2177, 2178, 1385, 1383 +10061, 2093, 2089, 1682, 1681 +10062, 2091, 2093, 1682, 1683 +10063, 1835, 1834, 1449, 1451 +10064, 1834, 1447, 1451, 1833 +10065, 1616, 1994, 1996, 1617 +10066, 1996, 1992, 1616, 1615 +10067, 1985, 1607, 1608, 1987 +10068, 1607, 1606, 1987, 1983 +10069, 1842, 1843, 1460, 1456 +10070, 1460, 1458, 1843, 1844 +10071, 1817, 2017, 2034, 367 +10072, 2098, 2102, 1690, 1691 +10073, 2102, 1692, 1691, 2100 +10074, 2167, 1376, 1372, 2168 +10075, 2169, 1376, 2168, 1374 +10076, 1538, 1917, 1918, 1534 +10077, 1536, 1538, 1919, 1918 +10078, 1912, 1908, 1529, 1528 +10079, 1912, 1910, 1530, 1529 +10080, 1382, 2175, 2177, 1383 +10081, 2173, 2177, 1381, 1382 +10082, 2092, 1681, 2093, 1685 +10083, 1685, 2093, 2094, 1683 +10084, 1837, 1833, 1451, 1450 +10085, 1837, 1835, 1452, 1451 +10086, 1616, 1992, 1993, 1612 +10087, 1994, 1614, 1616, 1993 +10088, 335, 1962, 1965, 1585 +10089, 569, 1967, 1964, 1587 +10090, 1477, 1863, 1860, 301 +10091, 535, 1862, 1479, 1865 +10092, 1581, 238, 1961, 1584 +10093, 1582, 109, 1959, 1579 +10094, 1483, 76, 1866, 1480 +10095, 1485, 205, 1482, 1868 +10096, 326, 1938, 1555, 1935 +10097, 1557, 1937, 1940, 560 +10098, 1507, 1890, 1887, 310 +10099, 1889, 544, 1892, 1509 +10100, 1987, 1606, 1610, 1986 +10101, 1610, 1988, 1608, 1987 +10102, 1843, 1841, 1458, 1457 +10103, 1843, 1456, 1839, 1457 +10104, 1376, 2167, 1375, 2171 +10105, 1376, 2169, 2171, 1377 +10106, 2099, 2100, 1691, 1689 +10107, 2098, 1687, 2099, 1691 +10108, 1528, 1532, 1912, 1911 +10109, 1532, 1913, 1530, 1912 +10110, 1535, 1534, 1918, 1914 +10111, 1916, 1535, 1536, 1918 +10112, 2174, 2175, 1382, 1380 +10113, 1378, 2174, 2173, 1382 +10114, 2096, 1684, 2092, 1685 +10115, 1685, 2094, 2096, 1686 +10116, 1450, 1837, 1836, 1454 +10117, 1837, 1452, 1838, 1454 +10118, 1613, 1612, 1993, 1989 +10119, 1613, 1614, 1991, 1993 +10120, 1501, 83, 1504, 1884 +10121, 1886, 1503, 212, 1506 +10122, 1560, 1943, 1563, 231 +10123, 102, 1561, 1558, 1941 +10124, 1610, 1609, 1990, 1986 +10125, 1988, 1610, 1611, 1990 +10126, 1453, 1840, 1839, 1457 +10127, 1455, 1841, 1840, 1457 +10128, 1375, 2171, 2170, 1379 +10129, 2095, 1688, 2099, 1687 +10130, 2171, 2172, 1379, 1377 +10131, 1688, 2097, 2099, 1689 +10132, 1915, 1911, 1532, 1531 +10133, 1533, 1915, 1913, 1532 +10134, 1916, 1915, 1533, 1535 +10135, 1915, 1531, 1535, 1914 +10136, 2096, 2097, 1688, 1686 +10137, 2174, 1378, 2170, 1379 +10138, 1379, 2172, 2174, 1380 +10139, 1688, 1684, 2095, 2096 +10140, 1609, 1613, 1990, 1989 +10141, 1990, 1611, 1991, 1613 +10142, 1840, 1453, 1836, 1454 +10143, 1840, 1838, 1455, 1454 +10144, 2232, 462, 2252, 1813 +10145, 630, 1816, 2234, 1808 +10146, 606, 1710, 2121, 2118 +10147, 2119, 2116, 1708, 439 +10148, 390, 1354, 2146, 2149 +10149, 2148, 2151, 1356, 653 +10150, 367, 1817, 2017, 1764 +10151, 7, 1432, 2047, 682 +10152, 681, 1632, 12, 2048 +10153, 14, 1434, 682, 2042 +10154, 1630, 8, 2044, 681 +10155, 2196, 1401, 2193, 668 +10156, 2191, 405, 1399, 2194 +10157, 1665, 591, 2073, 2076 +10158, 1663, 2071, 424, 2074 +10159, 1633, 127, 1636, 2045 +10160, 256, 2049, 1635, 1638 +10161, 1426, 2218, 58, 1429 +10162, 1431, 2220, 187, 1428 +10163, 153, 1714, 1711, 2122 +10164, 2124, 282, 1716, 1713 +10165, 1348, 2143, 32, 1351 +10166, 2145, 161, 1353, 1350 +10167, 50, 1402, 2197, 1405 +10168, 179, 1404, 1407, 2199 +10169, 2068, 1660, 135, 1657 +10170, 264, 1662, 2070, 1659 +10171, 570, 1970, 1967, 1590 +10172, 1968, 336, 1965, 1588 +10173, 534, 1859, 1476, 1862 +10174, 1474, 1860, 1857, 300 +10175, 1937, 1554, 1934, 559 +10176, 325, 1552, 1932, 1935 +10177, 1890, 1510, 1893, 311 +10178, 1512, 1895, 545, 1892 +10179, 1806, 1821, 503, 2003 +10180, 110, 1582, 1962, 1585 +10181, 239, 1964, 1584, 1587 +10182, 75, 1863, 1480, 1477 +10183, 204, 1865, 1479, 1482 +10184, 1557, 1940, 1560, 230 +10185, 101, 1558, 1555, 1938 +10186, 84, 1507, 1504, 1887 +10187, 1506, 213, 1889, 1509 +10188, 2113, 1705, 2116, 438 +10189, 391, 2152, 1357, 2149 +10190, 1359, 2151, 2154, 654 +10191, 605, 2115, 1707, 2118 +10192, 59, 1429, 2047, 1432 +10193, 1635, 255, 1632, 2048 +10194, 188, 1431, 1434, 2042 +10195, 1633, 126, 2044, 1630 +10196, 404, 2191, 1396, 2188 +10197, 1666, 2077, 2074, 425 +10198, 2076, 2079, 1668, 592 +10199, 2193, 1398, 2190, 667 +10200, 552, 1533, 1916, 1913 +10201, 1531, 1911, 318, 1914 +10202, 1836, 1453, 1839, 293 +10203, 1841, 527, 1455, 1838 +10204, 1609, 1989, 1986, 343 +10205, 1991, 1611, 1988, 577 +10206, 571, 1973, 1970, 1593 +10207, 337, 1968, 1971, 1591 +10208, 1859, 533, 1473, 1856 +10209, 1854, 1471, 1857, 299 +10210, 2017, 2034, 504, 1820 +10211, 1814, 678, 1813, 1815 +10212, 678, 1811, 1816, 1812 +10213, 1820, 1817, 1818, 1812 +10214, 1821, 1814, 1818, 1819 +10215, 1551, 1931, 1934, 558 +10216, 1549, 1929, 324, 1932 +10217, 1513, 1896, 1893, 312 +10218, 546, 1895, 1515, 1898 +10219, 2092, 1684, 2095, 431 +10220, 2175, 1380, 2172, 661 +10221, 1378, 2170, 398, 2173 +10222, 1686, 2094, 2097, 598 +10223, 152, 1711, 1708, 2119 +10224, 281, 1713, 2121, 1710 +10225, 33, 1351, 2146, 1354 +10226, 162, 1353, 1356, 2148 +10227, 2172, 1377, 2169, 660 +10228, 1375, 2167, 397, 2170 +10229, 2095, 1687, 2098, 432 +10230, 1689, 2097, 2100, 599 +10231, 1807, 2017, 504, 1820 +10232, 1399, 2194, 49, 1402 +10233, 2196, 178, 1404, 1401 +10234, 136, 1660, 2071, 1663 +10235, 2073, 1665, 1662, 265 +10236, 2157, 1362, 2154, 655 +10237, 1360, 2152, 392, 2155 +10238, 2115, 604, 1704, 2112 +10239, 2113, 2110, 1702, 437 +10240, 1994, 1614, 1991, 578 +10241, 1992, 1989, 1612, 344 +10242, 1833, 1450, 1836, 292 +10243, 1838, 526, 1452, 1835 +10244, 403, 2188, 1393, 2185 +10245, 1395, 2187, 2190, 666 +10246, 1669, 2080, 2077, 426 +10247, 2082, 1671, 2079, 593 +10248, 1919, 1536, 1916, 553 +10249, 1917, 1534, 319, 1914 +10250, 1530, 1913, 551, 1910 +10251, 1911, 1908, 1528, 317 +10252, 528, 1841, 1458, 1844 +10253, 1456, 1842, 1839, 294 +10254, 1608, 1985, 1988, 576 +10255, 1983, 1606, 1986, 342 +10256, 1973, 1976, 1596, 572 +10257, 1974, 1971, 1594, 338 +10258, 1851, 1468, 1854, 298 +10259, 1856, 532, 1470, 1853 +10260, 111, 1585, 1965, 1588 +10261, 240, 1590, 1967, 1587 +10262, 1479, 203, 1476, 1862 +10263, 1477, 74, 1860, 1474 +10264, 2089, 1681, 2092, 430 +10265, 2094, 1683, 2091, 597 +10266, 1381, 2173, 399, 2176 +10267, 2178, 1383, 2175, 662 +10268, 1899, 1896, 1516, 313 +10269, 323, 1546, 1926, 1929 +10270, 547, 1518, 1901, 1898 +10271, 1928, 1931, 1548, 557 +10272, 1374, 2166, 2169, 659 +10273, 396, 2167, 1372, 2164 +10274, 1692, 2103, 600, 2100 +10275, 2098, 1690, 2101, 433 +10276, 1557, 1554, 1937, 229 +10277, 100, 1555, 1552, 1935 +10278, 1507, 1890, 85, 1510 +10279, 1892, 214, 1512, 1509 +10280, 1617, 1994, 1997, 579 +10281, 1615, 1995, 1992, 345 +10282, 525, 1449, 1835, 1832 +10283, 1833, 1830, 1447, 291 +10284, 2158, 393, 2155, 1363 +10285, 2109, 603, 2112, 1701 +10286, 1699, 2110, 2107, 436 +10287, 1365, 2157, 2160, 656 +10288, 550, 1910, 1907, 1527 +10289, 1919, 1922, 1539, 554 +10290, 1908, 1905, 1525, 316 +10291, 1537, 320, 1920, 1917 +10292, 2082, 2085, 1674, 594 +10293, 2185, 1390, 402, 2182 +10294, 2184, 2187, 1392, 665 +10295, 2080, 1672, 2083, 427 +10296, 1605, 1982, 1985, 575 +10297, 1845, 1842, 1459, 295 +10298, 1603, 1983, 1980, 341 +10299, 529, 1461, 1847, 1844 +10300, 1974, 1597, 1977, 339 +10301, 1599, 1976, 1979, 573 +10302, 1465, 1851, 1848, 297 +10303, 1853, 1850, 531, 1467 +10304, 2178, 2181, 1386, 663 +10305, 2088, 2091, 1680, 596 +10306, 2086, 1678, 2089, 429 +10307, 400, 1384, 2176, 2179 +10308, 1904, 1901, 548, 1521 +10309, 1519, 1902, 1899, 314 +10310, 1545, 1925, 1928, 556 +10311, 322, 1923, 1926, 1543 +10312, 2161, 2164, 395, 1369 +10313, 1371, 2163, 2166, 658 +10314, 2106, 2103, 601, 1695 +10315, 2104, 2101, 1693, 434 +10316, 11, 1440, 1825, 680 +10317, 4, 1438, 680, 1822 +10318, 679, 1624, 5, 1829 +10319, 1826, 10, 679, 1626 +10320, 1823, 1444, 1830, 290 +10321, 1997, 2000, 1620, 580 +10322, 1998, 1995, 1618, 346 +10323, 1446, 1832, 524, 1828 +10324, 602, 2109, 2106, 1698 +10325, 2163, 1368, 2160, 657 +10326, 2104, 1696, 2107, 435 +10327, 394, 2158, 2161, 1366 +10328, 1804, 254, 12, 1632 +10329, 189, 1803, 14, 1434 +10330, 125, 1760, 8, 1630 +10331, 7, 1759, 60, 1432 +10332, 549, 1524, 1907, 1904 +10333, 1905, 1902, 1522, 315 +10334, 1922, 1925, 1542, 555 +10335, 1923, 321, 1920, 1540 +10336, 2182, 1387, 401, 2179 +10337, 2086, 2083, 1675, 428 +10338, 2181, 2184, 1389, 664 +10339, 2088, 1677, 2085, 595 +10340, 1602, 1979, 1982, 574 +10341, 1845, 1462, 1848, 296 +10342, 1977, 1600, 1980, 340 +10343, 530, 1850, 1847, 1464 +10344, 1623, 2000, 1826, 581 +10345, 1823, 1822, 1441, 289 +10346, 1998, 1621, 1829, 347 +10347, 1825, 523, 1828, 1443 +10348, 151, 1705, 2116, 1708 +10349, 1707, 1710, 280, 2118 +10350, 34, 1357, 1354, 2149 +10351, 163, 1359, 2151, 1356 +10352, 1399, 1396, 48, 2191 +10353, 2193, 1398, 177, 1401 +10354, 1665, 2076, 1668, 266 +10355, 137, 1666, 1663, 2074 +10356, 41, 1378, 1375, 2170 +10357, 170, 1380, 2172, 1377 +10358, 144, 1684, 2095, 1687 +10359, 2097, 1689, 1686, 273 +10360, 1970, 1590, 241, 1593 +10361, 112, 1588, 1968, 1591 +10362, 1474, 73, 1857, 1471 +10363, 1476, 202, 1473, 1859 +10364, 1991, 1614, 1611, 248 +10365, 1609, 119, 1612, 1989 +10366, 1836, 1453, 66, 1450 +10367, 1455, 195, 1452, 1838 +10368, 86, 1510, 1893, 1513 +10369, 215, 1512, 1515, 1895 +10370, 1551, 1934, 1554, 228 +10371, 1549, 1932, 99, 1552 +10372, 1528, 1911, 92, 1531 +10373, 1533, 221, 1530, 1913 +10374, 1916, 222, 1536, 1533 +10375, 1531, 93, 1534, 1914 +10376, 196, 1455, 1458, 1841 +10377, 67, 1453, 1839, 1456 +10378, 1606, 118, 1609, 1986 +10379, 1988, 1611, 1608, 247 +10380, 1702, 2113, 150, 1705 +10381, 279, 1704, 1707, 2115 +10382, 35, 1360, 1357, 2152 +10383, 164, 1362, 2154, 1359 +10384, 1683, 2094, 1686, 272 +10385, 1381, 1378, 42, 2173 +10386, 2175, 1380, 171, 1383 +10387, 2092, 1684, 143, 1681 +10388, 47, 1396, 1393, 2188 +10389, 2190, 1395, 176, 1398 +10390, 1668, 2079, 1671, 267 +10391, 138, 1669, 1666, 2077 +10392, 1375, 1372, 40, 2167 +10393, 1374, 169, 2169, 1377 +10394, 1692, 1689, 2100, 274 +10395, 1690, 145, 2098, 1687 +10396, 242, 1596, 1973, 1593 +10397, 113, 1591, 1971, 1594 +10398, 1471, 72, 1854, 1468 +10399, 201, 1470, 1473, 1856 +10400, 1617, 1614, 1994, 249 +10401, 1615, 120, 1992, 1612 +10402, 1447, 1833, 65, 1450 +10403, 1835, 194, 1452, 1449 +10404, 98, 1549, 1546, 1929 +10405, 216, 1515, 1518, 1898 +10406, 87, 1513, 1896, 1516 +10407, 1548, 1931, 1551, 227 +10408, 1530, 1910, 220, 1527 +10409, 91, 1525, 1908, 1528 +10410, 1536, 1919, 1539, 223 +10411, 94, 1917, 1537, 1534 +10412, 197, 1458, 1461, 1844 +10413, 68, 1456, 1842, 1459 +10414, 1606, 1603, 117, 1983 +10415, 1605, 1985, 1608, 246 +10416, 1360, 2155, 36, 1363 +10417, 1365, 2157, 165, 1362 +10418, 149, 1699, 2110, 1702 +10419, 2112, 278, 1704, 1701 +10420, 142, 1678, 2089, 1681 +10421, 1381, 2176, 43, 1384 +10422, 2091, 1683, 1680, 271 +10423, 2178, 172, 1386, 1383 +10424, 46, 2185, 1393, 1390 +10425, 175, 2187, 1392, 1395 +10426, 1674, 1671, 2082, 268 +10427, 139, 1672, 1669, 2080 +10428, 2164, 1372, 39, 1369 +10429, 168, 2166, 1371, 1374 +10430, 146, 2101, 1693, 1690 +10431, 1692, 2103, 1695, 275 +10432, 191, 1443, 1825, 1440 +10433, 1822, 62, 1438, 1441 +10434, 123, 1829, 1624, 1621 +10435, 1826, 1626, 1623, 252 +10436, 114, 1597, 1594, 1974 +10437, 1596, 1976, 1599, 243 +10438, 1851, 71, 1465, 1468 +10439, 1470, 1853, 200, 1467 +10440, 1617, 1997, 1620, 250 +10441, 121, 1995, 1618, 1615 +10442, 193, 1446, 1449, 1832 +10443, 64, 1444, 1830, 1447 +10444, 1901, 1518, 217, 1521 +10445, 88, 1519, 1516, 1899 +10446, 1928, 1548, 1545, 226 +10447, 1546, 97, 1926, 1543 +10448, 1539, 1922, 1542, 224 +10449, 95, 1537, 1920, 1540 +10450, 219, 1527, 1907, 1524 +10451, 90, 1525, 1522, 1905 +10452, 1982, 1605, 1602, 245 +10453, 198, 1464, 1847, 1461 +10454, 69, 1462, 1459, 1845 +10455, 116, 1603, 1600, 1980 +10456, 37, 1363, 2158, 1366 +10457, 166, 1365, 1368, 2160 +10458, 148, 1696, 2107, 1699 +10459, 277, 1701, 2109, 1698 +10460, 1675, 2086, 141, 1678 +10461, 1677, 2088, 1680, 270 +10462, 2181, 1386, 173, 1389 +10463, 1387, 1384, 44, 2179 +10464, 1672, 2083, 140, 1675 +10465, 1674, 2085, 1677, 269 +10466, 45, 2182, 1390, 1387 +10467, 174, 2184, 1389, 1392 +10468, 2232, 1762, 462, 1813 +10469, 2161, 1369, 38, 1366 +10470, 1368, 1371, 167, 2163 +10471, 1695, 276, 2106, 1698 +10472, 147, 1693, 2104, 1696 +10473, 1597, 115, 1600, 1977 +10474, 199, 1467, 1850, 1464 +10475, 70, 1465, 1462, 1848 +10476, 1979, 1602, 1599, 244 +10477, 1623, 1620, 2000, 251 +10478, 1998, 1621, 122, 1618 +10479, 1446, 1828, 192, 1443 +10480, 1823, 63, 1441, 1444 +10481, 1904, 218, 1524, 1521 +10482, 1902, 89, 1519, 1522 +10483, 96, 1540, 1923, 1543 +10484, 1545, 1542, 1925, 225 +10485, 14, 2259, 1767, 648 +10486, 12, 611, 1768, 2258 +10487, 1816, 2252, 9, 630 +10488, 2034, 1819, 287, 366 +10489, 1724, 444, 8, 2261 +10490, 10, 485, 2038, 1768 +10491, 7, 481, 1723, 2260 +10492, 367, 2034, 1817, 287 +10493, 504, 2034, 483, 1820 +10494, 3, 2252, 462, 1813 +10495, 3, 463, 2252, 1811 +10496, 503, 2034, 1821, 483 +10497, 6, 2134, 29, 1337 +10498, 13, 1340, 158, 2136 +10499, 1344, 156, 6, 2131 +10500, 285, 1341, 13, 2133 +10501, 130, 2056, 419, 1645 +10502, 586, 2058, 259, 1647 +10503, 55, 1417, 410, 2209 +10504, 184, 1419, 2211, 673 +10505, 2252, 1815, 9, 629 +10506, 1763, 464, 463, 2234 +10507, 410, 1414, 53, 2206 +10508, 1416, 182, 2208, 673 +10509, 419, 2059, 132, 1648 +10510, 261, 2061, 586, 1650 +10511, 6, 29, 1, 1337 +10512, 158, 13, 2, 1340 +10513, 1, 156, 6, 1344 +10514, 13, 285, 2, 1341 +10515, 586, 259, 260, 1647 +10516, 419, 131, 130, 1645 +10517, 410, 55, 54, 1417 +10518, 183, 1419, 184, 673 +10519, 418, 2056, 130, 1642 +10520, 1644, 259, 585, 2058 +10521, 2211, 1422, 184, 674 +10522, 55, 2209, 411, 1420 +10523, 1573, 331, 107, 1953 +10524, 565, 1575, 236, 1955 +10525, 1491, 539, 207, 1874 +10526, 78, 1489, 1872, 305 +10527, 285, 2133, 610, 1722 +10528, 29, 2134, 386, 1338 +10529, 2131, 1720, 156, 443 +10530, 158, 2136, 1343, 649 +10531, 410, 54, 53, 1414 +10532, 182, 1416, 183, 673 +10533, 419, 132, 131, 1648 +10534, 261, 586, 260, 1650 +10535, 1497, 210, 540, 1880 +10536, 1878, 1495, 81, 306 +10537, 564, 1949, 233, 1569 +10538, 1567, 104, 330, 1947 +10539, 132, 2059, 420, 1651 +10540, 587, 2061, 261, 1653 +10541, 53, 1411, 409, 2206 +10542, 182, 1413, 2208, 672 +10543, 2252, 3, 462, 463 +10544, 1761, 2003, 365, 366 +10545, 483, 503, 2034, 504 +10546, 2034, 287, 367, 366 +10547, 236, 565, 235, 1575 +10548, 106, 331, 107, 1573 +10549, 1489, 78, 79, 305 +10550, 208, 539, 207, 1491 +10551, 210, 540, 209, 1497 +10552, 1495, 80, 81, 306 +10553, 564, 233, 234, 1569 +10554, 104, 330, 105, 1567 +10555, 1808, 2234, 630, 631 +10556, 2232, 629, 628, 1805 +10557, 418, 1642, 129, 2053 +10558, 1644, 585, 258, 2055 +10559, 1422, 2214, 185, 674 +10560, 2212, 56, 411, 1420 +10561, 107, 1953, 332, 1576 +10562, 566, 1955, 236, 1578 +10563, 207, 1874, 538, 1488 +10564, 78, 1872, 1486, 304 +10565, 155, 1720, 2128, 443 +10566, 284, 1722, 610, 2130 +10567, 386, 2137, 30, 1338 +10568, 2139, 159, 1343, 649 +10569, 81, 1498, 1878, 307 +10570, 210, 1500, 541, 1880 +10571, 233, 1566, 1949, 563 +10572, 104, 1564, 329, 1947 +10573, 409, 1411, 52, 2203 +10574, 2205, 1413, 181, 672 +10575, 2064, 587, 262, 1653 +10576, 420, 2062, 133, 1651 +10577, 630, 2252, 9, 629 +10578, 2172, 1380, 170, 661 +10579, 1378, 41, 398, 2170 +10580, 2095, 1684, 144, 431 +10581, 2097, 273, 1686, 598 +10582, 1911, 318, 92, 1531 +10583, 221, 1533, 552, 1913 +10584, 1916, 552, 222, 1533 +10585, 93, 1531, 318, 1914 +10586, 119, 1989, 1609, 343 +10587, 66, 1453, 1836, 293 +10588, 1611, 577, 1991, 248 +10589, 195, 1455, 527, 1838 +10590, 170, 1377, 2172, 660 +10591, 1375, 397, 41, 2170 +10592, 144, 1687, 2095, 432 +10593, 1689, 273, 2097, 599 +10594, 417, 2053, 129, 1639 +10595, 1641, 258, 584, 2055 +10596, 185, 2214, 1425, 675 +10597, 56, 2212, 412, 1423 +10598, 332, 1956, 108, 1576 +10599, 1958, 566, 237, 1578 +10600, 1869, 77, 1486, 304 +10601, 538, 1871, 206, 1488 +10602, 1839, 1453, 67, 293 +10603, 527, 1455, 196, 1841 +10604, 1988, 577, 1611, 247 +10605, 1986, 118, 1609, 343 +10606, 30, 2137, 387, 1345 +10607, 159, 2139, 1347, 650 +10608, 2128, 1717, 155, 442 +10609, 609, 1719, 284, 2130 +10610, 1498, 82, 1881, 307 +10611, 541, 1500, 211, 1883 +10612, 1566, 232, 1946, 563 +10613, 329, 1564, 103, 1944 +10614, 503, 502, 1806, 2003 +10615, 1408, 408, 52, 2203 +10616, 181, 1410, 2205, 671 +10617, 133, 2062, 421, 1654 +10618, 2064, 262, 588, 1656 +10619, 1764, 2017, 367, 368 +10620, 1991, 578, 1614, 248 +10621, 1989, 119, 1612, 344 +10622, 1836, 1450, 66, 292 +10623, 526, 1452, 195, 1838 +10624, 257, 1641, 584, 2052 +10625, 128, 2050, 417, 1639 +10626, 186, 1425, 2217, 675 +10627, 1423, 412, 57, 2215 +10628, 1684, 2092, 143, 431 +10629, 1686, 272, 2094, 598 +10630, 1378, 398, 42, 2173 +10631, 1380, 2175, 171, 661 +10632, 567, 1958, 237, 1581 +10633, 108, 1956, 333, 1579 +10634, 1483, 77, 1869, 303 +10635, 537, 1485, 206, 1871 +10636, 551, 1530, 221, 1913 +10637, 92, 1911, 1528, 317 +10638, 1916, 553, 1536, 222 +10639, 1534, 93, 319, 1914 +10640, 609, 2127, 283, 1719 +10641, 1717, 2125, 154, 442 +10642, 2140, 31, 387, 1345 +10643, 2142, 160, 1347, 650 +10644, 1375, 40, 397, 2167 +10645, 1377, 169, 2169, 660 +10646, 2100, 274, 1689, 599 +10647, 1687, 145, 2098, 432 +10648, 1883, 211, 542, 1503 +10649, 1501, 1881, 82, 308 +10650, 328, 1944, 103, 1561 +10651, 1946, 232, 1563, 562 +10652, 51, 2200, 408, 1408 +10653, 180, 2202, 1410, 671 +10654, 421, 2065, 134, 1654 +10655, 263, 2067, 588, 1656 +10656, 67, 1456, 1839, 294 +10657, 1458, 528, 196, 1841 +10658, 118, 1986, 1606, 342 +10659, 1988, 247, 1608, 576 +10660, 1638, 257, 583, 2052 +10661, 416, 2050, 128, 1636 +10662, 413, 1426, 57, 2215 +10663, 2217, 1428, 186, 676 +10664, 333, 1959, 109, 1579 +10665, 1961, 567, 238, 1581 +10666, 205, 1485, 537, 1868 +10667, 76, 1483, 1866, 303 +10668, 1994, 249, 1614, 578 +10669, 1612, 120, 1992, 344 +10670, 1450, 1833, 65, 292 +10671, 194, 1452, 526, 1835 +10672, 31, 2140, 388, 1348 +10673, 160, 2142, 1350, 651 +10674, 154, 2125, 1714, 441 +10675, 283, 2127, 608, 1716 +10676, 212, 1886, 542, 1503 +10677, 83, 1884, 1501, 308 +10678, 1563, 231, 1943, 562 +10679, 1561, 102, 328, 1941 +10680, 1681, 143, 2092, 430 +10681, 2094, 272, 1683, 597 +10682, 1383, 171, 2175, 662 +10683, 399, 1381, 42, 2173 +10684, 2202, 180, 1407, 670 +10685, 407, 2200, 51, 1405 +10686, 134, 2065, 422, 1657 +10687, 2067, 263, 589, 1659 +10688, 220, 1530, 551, 1910 +10689, 91, 1528, 1908, 317 +10690, 1917, 94, 319, 1534 +10691, 1919, 223, 1536, 553 +10692, 169, 1374, 2169, 659 +10693, 40, 1372, 396, 2167 +10694, 145, 1690, 2098, 433 +10695, 1692, 2100, 600, 274 +10696, 1458, 197, 528, 1844 +10697, 1842, 1456, 68, 294 +10698, 1606, 1983, 117, 342 +10699, 1608, 246, 1985, 576 +10700, 2172, 661, 170, 660 +10701, 431, 144, 2095, 432 +10702, 599, 273, 2097, 598 +10703, 398, 41, 397, 2170 +10704, 416, 1636, 127, 2045 +10705, 583, 2049, 256, 1638 +10706, 58, 1426, 413, 2218 +10707, 187, 1428, 2220, 676 +10708, 109, 1959, 334, 1582 +10709, 1961, 238, 568, 1584 +10710, 1866, 1480, 76, 302 +10711, 536, 1482, 205, 1868 +10712, 282, 1716, 608, 2124 +10713, 1714, 2122, 153, 441 +10714, 161, 1350, 2145, 651 +10715, 1348, 388, 32, 2143 +10716, 1943, 231, 1560, 561 +10717, 1886, 212, 543, 1506 +10718, 1504, 1884, 83, 309 +10719, 102, 1558, 327, 1941 +10720, 50, 2197, 407, 1405 +10721, 179, 2199, 1407, 670 +10722, 264, 2070, 589, 1659 +10723, 422, 2068, 135, 1657 +10724, 1617, 249, 1994, 579 +10725, 120, 1615, 1992, 345 +10726, 65, 1833, 1447, 291 +10727, 194, 1835, 525, 1449 +10728, 2091, 597, 1683, 271 +10729, 142, 1681, 2089, 430 +10730, 1381, 399, 43, 2176 +10731, 172, 1383, 2178, 662 +10732, 119, 344, 1989, 343 +10733, 1991, 577, 578, 248 +10734, 66, 293, 1836, 292 +10735, 195, 527, 526, 1838 +10736, 320, 1537, 94, 1917 +10737, 1525, 91, 1908, 316 +10738, 220, 1910, 550, 1527 +10739, 223, 1919, 1539, 554 +10740, 92, 318, 1911, 317 +10741, 221, 552, 551, 1913 +10742, 222, 1916, 553, 552 +10743, 318, 319, 93, 1914 +10744, 396, 1372, 39, 2164 +10745, 2166, 1374, 168, 659 +10746, 2103, 1692, 600, 275 +10747, 1690, 146, 2101, 433 +10748, 197, 1461, 529, 1844 +10749, 68, 1459, 1842, 295 +10750, 1605, 575, 1985, 246 +10751, 117, 1983, 1603, 341 +10752, 527, 196, 528, 1841 +10753, 67, 294, 1839, 293 +10754, 118, 343, 1986, 342 +10755, 577, 247, 1988, 576 +10756, 127, 1633, 415, 2045 +10757, 582, 1635, 256, 2049 +10758, 58, 2218, 414, 1429 +10759, 187, 2220, 1431, 677 +10760, 568, 1584, 239, 1964 +10761, 334, 1962, 110, 1582 +10762, 1865, 204, 536, 1482 +10763, 1480, 1863, 75, 302 +10764, 32, 2143, 389, 1351 +10765, 161, 2145, 1353, 652 +10766, 153, 2122, 1711, 440 +10767, 2124, 607, 282, 1713 +10768, 327, 1558, 101, 1938 +10769, 84, 1887, 1504, 309 +10770, 213, 1889, 543, 1506 +10771, 230, 1940, 1560, 561 +10772, 2068, 423, 135, 1660 +10773, 590, 2070, 264, 1662 +10774, 1404, 2199, 179, 669 +10775, 406, 2197, 50, 1402 +10776, 1997, 250, 1617, 579 +10777, 1995, 1615, 121, 345 +10778, 1449, 525, 193, 1832 +10779, 64, 1447, 1830, 291 +10780, 1678, 142, 2089, 429 +10781, 271, 1680, 2091, 596 +10782, 43, 2176, 400, 1384 +10783, 172, 2178, 1386, 663 +10784, 505, 504, 1807, 2017 +10785, 550, 1907, 219, 1527 +10786, 1525, 1905, 90, 316 +10787, 224, 1539, 1922, 554 +10788, 1920, 95, 320, 1537 +10789, 414, 2047, 59, 1429 +10790, 1635, 582, 255, 2048 +10791, 1431, 2042, 188, 677 +10792, 126, 2044, 415, 1633 +10793, 395, 2164, 39, 1369 +10794, 2166, 168, 1371, 658 +10795, 601, 1695, 2103, 275 +10796, 2101, 146, 1693, 434 +10797, 1847, 529, 198, 1461 +10798, 69, 1845, 1459, 295 +10799, 1982, 575, 1605, 245 +10800, 1980, 116, 1603, 341 +10801, 59, 2047, 7, 1432 +10802, 12, 1632, 255, 2048 +10803, 188, 1434, 14, 2042 +10804, 8, 2044, 126, 1630 +10805, 569, 1964, 239, 1587 +10806, 110, 1962, 335, 1585 +10807, 1863, 1477, 75, 301 +10808, 535, 1479, 204, 1865 +10809, 2119, 152, 1711, 440 +10810, 607, 2121, 281, 1713 +10811, 389, 2146, 33, 1351 +10812, 2148, 162, 1353, 652 +10813, 1557, 560, 1940, 230 +10814, 101, 1555, 326, 1938 +10815, 1887, 84, 1507, 310 +10816, 544, 1889, 213, 1509 +10817, 461, 1762, 462, 2232 +10818, 49, 2194, 406, 1402 +10819, 178, 2196, 1404, 669 +10820, 1662, 590, 2073, 265 +10821, 2071, 136, 423, 1660 +10822, 522, 1767, 11, 2039 +10823, 580, 1620, 1997, 250 +10824, 1995, 121, 1618, 346 +10825, 1444, 64, 1830, 290 +10826, 524, 1446, 193, 1832 +10827, 141, 1678, 2086, 429 +10828, 596, 1680, 2088, 270 +10829, 1384, 400, 44, 2179 +10830, 173, 1386, 2181, 663 +10831, 555, 1542, 1922, 224 +10832, 219, 1907, 549, 1524 +10833, 90, 1905, 1522, 315 +10834, 95, 1920, 321, 1540 +10835, 2161, 395, 38, 1369 +10836, 167, 2163, 1371, 658 +10837, 1693, 147, 2104, 434 +10838, 2106, 601, 276, 1695 +10839, 1845, 69, 1462, 296 +10840, 530, 1847, 198, 1464 +10841, 1982, 245, 1602, 574 +10842, 116, 1980, 1600, 340 +10843, 1818, 1817, 2034, 287 +10844, 335, 1965, 111, 1585 +10845, 240, 1967, 569, 1587 +10846, 74, 1477, 1860, 301 +10847, 203, 1479, 535, 1862 +10848, 1816, 9, 2252, 678 +10849, 2121, 606, 281, 1710 +10850, 152, 2119, 1708, 439 +10851, 33, 2146, 390, 1354 +10852, 162, 2148, 1356, 653 +10853, 2092, 430, 143, 431 +10854, 272, 597, 2094, 598 +10855, 2175, 662, 171, 661 +10856, 42, 398, 399, 2173 +10857, 1818, 287, 2034, 1819 +10858, 326, 1555, 100, 1935 +10859, 214, 1892, 544, 1509 +10860, 85, 1890, 1507, 310 +10861, 1937, 560, 1557, 229 +10862, 2252, 678, 9, 1815 +10863, 49, 1399, 405, 2194 +10864, 178, 1401, 2196, 668 +10865, 1665, 2073, 591, 265 +10866, 136, 2071, 424, 1663 +10867, 222, 552, 221, 1533 +10868, 318, 93, 92, 1531 +10869, 1618, 122, 1998, 346 +10870, 580, 2000, 1620, 251 +10871, 1444, 1823, 63, 290 +10872, 1446, 524, 192, 1828 +10873, 396, 397, 40, 2167 +10874, 2169, 660, 169, 659 +10875, 600, 274, 2100, 599 +10876, 2098, 432, 145, 433 +10877, 1677, 595, 2088, 270 +10878, 141, 2086, 1675, 428 +10879, 401, 1387, 44, 2179 +10880, 2181, 1389, 173, 664 +10881, 67, 1453, 66, 293 +10882, 527, 195, 196, 1455 +10883, 119, 1609, 118, 343 +10884, 577, 248, 1611, 247 +10885, 1524, 549, 218, 1904 +10886, 89, 1522, 1902, 315 +10887, 555, 1925, 1542, 225 +10888, 321, 1923, 96, 1540 +10889, 1368, 2163, 167, 657 +10890, 394, 2161, 38, 1366 +10891, 2106, 276, 602, 1698 +10892, 147, 1696, 2104, 435 +10893, 1850, 530, 199, 1464 +10894, 70, 1848, 1462, 296 +10895, 1600, 1977, 115, 340 +10896, 1602, 244, 1979, 574 +10897, 1967, 240, 570, 1590 +10898, 111, 1965, 336, 1588 +10899, 534, 1476, 203, 1862 +10900, 1860, 1474, 74, 300 +10901, 151, 1708, 2116, 439 +10902, 280, 1710, 606, 2118 +10903, 1354, 390, 34, 2149 +10904, 163, 1356, 2151, 653 +10905, 100, 1552, 325, 1935 +10906, 559, 1937, 1554, 229 +10907, 1512, 545, 214, 1892 +10908, 85, 1510, 1890, 311 +10909, 2193, 1401, 177, 668 +10910, 405, 1399, 48, 2191 +10911, 591, 2076, 1665, 266 +10912, 137, 1663, 424, 2074 +10913, 122, 1621, 1998, 347 +10914, 2000, 581, 1623, 251 +10915, 63, 1823, 1441, 289 +10916, 192, 1828, 523, 1443 +10917, 595, 1677, 2085, 269 +10918, 140, 1675, 2083, 428 +10919, 2182, 45, 401, 1387 +10920, 2184, 174, 1389, 664 +10921, 1925, 556, 1545, 225 +10922, 96, 1923, 322, 1543 +10923, 1904, 548, 218, 1521 +10924, 89, 1902, 1519, 314 +10925, 272, 1686, 273, 598 +10926, 1684, 143, 144, 431 +10927, 1380, 171, 170, 661 +10928, 41, 398, 42, 1378 +10929, 37, 2158, 394, 1366 +10930, 166, 2160, 1368, 657 +10931, 2109, 602, 277, 1698 +10932, 2107, 1696, 148, 435 +10933, 531, 1850, 199, 1467 +10934, 1848, 70, 1465, 297 +10935, 1979, 244, 1599, 573 +10936, 115, 1977, 1597, 339 +10937, 241, 1970, 570, 1590 +10938, 336, 1968, 112, 1588 +10939, 73, 1474, 1857, 300 +10940, 202, 1476, 534, 1859 +10941, 1705, 151, 2116, 438 +10942, 1707, 280, 605, 2118 +10943, 2151, 1359, 163, 654 +10944, 391, 1357, 34, 2149 +10945, 545, 1512, 215, 1895 +10946, 1510, 86, 1893, 311 +10947, 99, 1932, 325, 1552 +10948, 228, 1934, 1554, 559 +10949, 1825, 11, 191, 1440 +10950, 5, 1624, 123, 1829 +10951, 10, 1626, 1826, 252 +10952, 62, 1438, 4, 1822 +10953, 1396, 404, 48, 2191 +10954, 1398, 2193, 177, 667 +10955, 2074, 137, 1666, 425 +10956, 592, 1668, 2076, 266 +10957, 1377, 170, 169, 660 +10958, 40, 397, 41, 1375 +10959, 1687, 144, 145, 432 +10960, 273, 1689, 274, 599 +10961, 4, 62, 61, 1438 +10962, 190, 191, 11, 1440 +10963, 124, 123, 5, 1624 +10964, 10, 253, 1626, 252 +10965, 140, 2083, 1672, 427 +10966, 2184, 1392, 174, 665 +10967, 1674, 594, 2085, 269 +10968, 402, 1390, 45, 2182 +10969, 1899, 88, 1519, 314 +10970, 1901, 217, 548, 1521 +10971, 1928, 226, 1545, 556 +10972, 1926, 97, 322, 1543 +10973, 393, 2158, 37, 1363 +10974, 1365, 2160, 166, 656 +10975, 2109, 277, 603, 1701 +10976, 148, 1699, 2107, 436 +10977, 62, 1441, 1822, 289 +10978, 523, 1825, 191, 1443 +10979, 1826, 252, 1623, 581 +10980, 1829, 1621, 123, 347 +10981, 200, 1853, 531, 1467 +10982, 71, 1851, 1465, 297 +10983, 1597, 1974, 114, 339 +10984, 573, 1599, 1976, 243 +10985, 1970, 241, 571, 1593 +10986, 1968, 337, 112, 1591 +10987, 533, 1473, 202, 1859 +10988, 1857, 1471, 73, 299 +10989, 35, 1357, 391, 2152 +10990, 164, 1359, 2154, 654 +10991, 279, 1707, 605, 2115 +10992, 150, 1705, 2113, 438 +10993, 99, 1549, 324, 1932 +10994, 215, 1515, 546, 1895 +10995, 86, 1513, 1893, 312 +10996, 1551, 558, 1934, 228 +10997, 2190, 1398, 176, 667 +10998, 404, 1396, 47, 2188 +10999, 138, 2077, 1666, 425 +11000, 592, 2079, 1668, 267 +11001, 88, 1899, 1516, 313 +11002, 1548, 226, 1928, 557 +11003, 217, 1901, 547, 1518 +11004, 97, 1926, 323, 1546 +11005, 2082, 594, 1674, 268 +11006, 1392, 2187, 175, 665 +11007, 402, 2185, 46, 1390 +11008, 1672, 2080, 139, 427 +11009, 114, 1974, 1594, 338 +11010, 71, 1468, 1851, 298 +11011, 200, 1470, 532, 1853 +11012, 243, 1596, 1976, 572 +11013, 242, 1973, 571, 1593 +11014, 337, 1971, 113, 1591 +11015, 201, 1473, 533, 1856 +11016, 72, 1471, 1854, 299 +11017, 36, 2155, 393, 1363 +11018, 2157, 1365, 165, 656 +11019, 278, 2112, 603, 1701 +11020, 2110, 1699, 149, 436 +11021, 558, 1551, 1931, 227 +11022, 324, 1549, 98, 1929 +11023, 1896, 1513, 87, 312 +11024, 1515, 216, 546, 1898 +11025, 392, 1360, 35, 2152 +11026, 150, 2113, 1702, 437 +11027, 2154, 1362, 164, 655 +11028, 1704, 279, 604, 2115 +11029, 47, 1393, 403, 2188 +11030, 176, 1395, 2190, 666 +11031, 593, 1671, 2079, 267 +11032, 2077, 138, 1669, 426 +11033, 139, 2080, 1669, 426 +11034, 593, 2082, 1671, 268 +11035, 403, 1393, 46, 2185 +11036, 2187, 1395, 175, 666 +11037, 165, 1362, 2157, 655 +11038, 1360, 392, 36, 2155 +11039, 149, 1702, 2110, 437 +11040, 1704, 604, 278, 2112 +11041, 227, 1548, 1931, 557 +11042, 98, 1546, 323, 1929 +11043, 87, 1516, 1896, 313 +11044, 216, 1518, 547, 1898 +11045, 113, 1594, 1971, 338 +11046, 1596, 242, 1973, 572 +11047, 1854, 1468, 72, 298 +11048, 532, 1470, 201, 1856 +11049, 1994, 579, 249, 578 +11050, 120, 345, 1992, 344 +11051, 1833, 291, 65, 292 +11052, 194, 526, 525, 1835 +11053, 220, 551, 550, 1910 +11054, 1908, 316, 91, 317 +11055, 1919, 554, 223, 553 +11056, 94, 319, 320, 1917 +11057, 1818, 483, 2034, 1820 +11058, 3, 1811, 2252, 678 +11059, 294, 68, 1842, 295 +11060, 529, 528, 197, 1844 +11061, 117, 342, 1983, 341 +11062, 1985, 246, 575, 576 +11063, 1818, 1821, 2034, 483 +11064, 2252, 1813, 3, 678 +11065, 1614, 578, 249, 248 +11066, 120, 1612, 119, 344 +11067, 195, 526, 194, 1452 +11068, 1450, 65, 66, 292 +11069, 1528, 91, 92, 317 +11070, 220, 221, 551, 1530 +11071, 1536, 553, 223, 222 +11072, 319, 94, 93, 1534 +11073, 197, 528, 196, 1458 +11074, 1456, 67, 68, 294 +11075, 1608, 247, 246, 576 +11076, 118, 1606, 117, 342 +11077, 2040, 1723, 4, 385 +11078, 1724, 2041, 5, 348 +11079, 2089, 429, 142, 430 +11080, 271, 2091, 597, 596 +11081, 2178, 663, 172, 662 +11082, 400, 43, 399, 2176 +11083, 658, 2166, 168, 659 +11084, 39, 395, 396, 2164 +11085, 601, 2103, 600, 275 +11086, 434, 2101, 146, 433 +11087, 678, 2252, 2232, 1815 +11088, 1683, 597, 272, 271 +11089, 143, 1681, 142, 430 +11090, 171, 1383, 172, 662 +11091, 399, 43, 42, 1381 +11092, 39, 396, 40, 1372 +11093, 1374, 169, 168, 659 +11094, 146, 1690, 145, 433 +11095, 275, 1692, 600, 274 +11096, 580, 250, 1997, 579 +11097, 346, 1995, 121, 345 +11098, 524, 193, 525, 1832 +11099, 1830, 290, 64, 291 +11100, 1905, 315, 90, 316 +11101, 550, 549, 219, 1907 +11102, 224, 1922, 555, 554 +11103, 321, 95, 320, 1920 +11104, 530, 529, 198, 1847 +11105, 1845, 295, 69, 296 +11106, 1980, 340, 116, 341 +11107, 575, 245, 1982, 574 +11108, 678, 2252, 1816, 2234 +11109, 2252, 678, 1811, 2234 +11110, 1819, 2034, 1818, 2003 +11111, 1813, 2252, 2232, 678 +11112, 249, 1617, 250, 579 +11113, 121, 1615, 120, 345 +11114, 1447, 64, 65, 291 +11115, 194, 525, 193, 1449 +11116, 1821, 1818, 2034, 2003 +11117, 550, 219, 220, 1527 +11118, 91, 1525, 90, 316 +11119, 94, 320, 95, 1537 +11120, 224, 223, 1539, 554 +11121, 198, 529, 197, 1461 +11122, 1459, 68, 69, 295 +11123, 117, 1603, 116, 341 +11124, 575, 246, 1605, 245 +11125, 141, 429, 2086, 428 +11126, 2088, 595, 596, 270 +11127, 173, 663, 2181, 664 +11128, 44, 400, 401, 2179 +11129, 2163, 658, 167, 657 +11130, 395, 38, 394, 2161 +11131, 276, 602, 601, 2106 +11132, 2104, 434, 147, 435 +11133, 1680, 596, 271, 270 +11134, 142, 1678, 141, 429 +11135, 1386, 173, 172, 663 +11136, 43, 400, 44, 1384 +11137, 395, 39, 38, 1369 +11138, 167, 1371, 168, 658 +11139, 147, 1693, 146, 434 +11140, 1695, 601, 276, 275 +11141, 347, 1998, 122, 346 +11142, 2000, 580, 581, 251 +11143, 523, 192, 524, 1828 +11144, 1823, 289, 63, 290 +11145, 1925, 555, 556, 225 +11146, 96, 321, 322, 1923 +11147, 548, 218, 549, 1904 +11148, 1902, 314, 89, 315 +11149, 297, 1848, 70, 296 +11150, 199, 531, 530, 1850 +11151, 339, 115, 1977, 340 +11152, 573, 1979, 244, 574 +11153, 2017, 2034, 1818, 1817 +11154, 1620, 250, 580, 251 +11155, 122, 1618, 121, 346 +11156, 524, 192, 193, 1446 +11157, 64, 1444, 63, 290 +11158, 219, 549, 218, 1524 +11159, 1522, 89, 90, 315 +11160, 225, 1542, 555, 224 +11161, 321, 96, 95, 1540 +11162, 595, 2085, 594, 269 +11163, 140, 428, 2083, 427 +11164, 45, 401, 402, 2182 +11165, 174, 664, 2184, 665 +11166, 394, 37, 393, 2158 +11167, 2160, 657, 166, 656 +11168, 2107, 435, 148, 436 +11169, 603, 602, 277, 2109 +11170, 530, 198, 199, 1464 +11171, 70, 1462, 69, 296 +11172, 1602, 245, 244, 574 +11173, 116, 1600, 115, 340 +11174, 5, 1829, 123, 347 +11175, 10, 252, 1826, 581 +11176, 191, 523, 11, 1825 +11177, 62, 1822, 4, 289 +11178, 2034, 2017, 1818, 1820 +11179, 88, 314, 1899, 313 +11180, 547, 217, 548, 1901 +11181, 1928, 557, 226, 556 +11182, 97, 322, 323, 1926 +11183, 141, 1675, 140, 428 +11184, 1677, 269, 595, 270 +11185, 1389, 174, 173, 664 +11186, 44, 401, 45, 1387 +11187, 200, 532, 531, 1853 +11188, 71, 298, 1851, 297 +11189, 243, 1976, 573, 572 +11190, 114, 339, 1974, 338 +11191, 394, 38, 37, 1366 +11192, 1368, 167, 166, 657 +11193, 277, 602, 276, 1698 +11194, 1696, 147, 148, 435 +11195, 139, 427, 2080, 426 +11196, 593, 594, 2082, 268 +11197, 46, 402, 403, 2185 +11198, 175, 665, 2187, 666 +11199, 656, 165, 2157, 655 +11200, 393, 36, 392, 2155 +11201, 436, 149, 2110, 437 +11202, 603, 278, 604, 2112 +11203, 1623, 581, 252, 251 +11204, 123, 1621, 122, 347 +11205, 523, 191, 192, 1443 +11206, 1441, 62, 63, 289 +11207, 89, 1519, 88, 314 +11208, 217, 218, 548, 1521 +11209, 1545, 556, 226, 225 +11210, 96, 322, 97, 1543 +11211, 531, 199, 200, 1467 +11212, 71, 1465, 70, 297 +11213, 1599, 573, 244, 243 +11214, 115, 1597, 114, 339 +11215, 227, 1931, 558, 557 +11216, 324, 98, 323, 1929 +11217, 547, 546, 216, 1898 +11218, 1896, 312, 87, 313 +11219, 72, 299, 1854, 298 +11220, 201, 533, 532, 1856 +11221, 113, 1971, 337, 338 +11222, 1973, 242, 571, 572 +11223, 140, 1672, 139, 427 +11224, 269, 1674, 594, 268 +11225, 402, 46, 45, 1390 +11226, 1392, 175, 174, 665 +11227, 393, 37, 36, 1363 +11228, 1365, 166, 165, 656 +11229, 278, 603, 277, 1701 +11230, 1699, 148, 149, 436 +11231, 2077, 425, 138, 426 +11232, 2079, 592, 593, 267 +11233, 47, 403, 404, 2188 +11234, 176, 666, 2190, 667 +11235, 2154, 655, 164, 654 +11236, 391, 392, 35, 2152 +11237, 605, 604, 279, 2115 +11238, 150, 438, 2113, 437 +11239, 1344, 1, 157, 1337 +11240, 157, 1340, 2, 1341 +11241, 1934, 228, 558, 559 +11242, 99, 324, 325, 1932 +11243, 215, 546, 545, 1895 +11244, 1893, 311, 86, 312 +11245, 323, 98, 97, 1546 +11246, 226, 1548, 227, 557 +11247, 547, 216, 217, 1518 +11248, 88, 1516, 87, 313 +11249, 73, 300, 1857, 299 +11250, 202, 534, 533, 1859 +11251, 570, 241, 571, 1970 +11252, 337, 112, 336, 1968 +11253, 1468, 71, 72, 298 +11254, 201, 532, 200, 1470 +11255, 1596, 243, 242, 572 +11256, 1594, 113, 114, 338 +11257, 137, 2074, 424, 425 +11258, 591, 592, 2076, 266 +11259, 48, 404, 405, 2191 +11260, 177, 667, 2193, 668 +11261, 391, 34, 390, 2149 +11262, 2151, 654, 163, 653 +11263, 2116, 438, 151, 439 +11264, 606, 605, 280, 2118 +11265, 139, 1669, 138, 426 +11266, 268, 1671, 593, 267 +11267, 46, 403, 47, 1393 +11268, 1395, 176, 175, 666 +11269, 164, 1362, 165, 655 +11270, 35, 392, 36, 1360 +11271, 278, 279, 604, 1704 +11272, 150, 1702, 149, 437 +11273, 1937, 559, 560, 229 +11274, 1890, 310, 85, 311 +11275, 326, 100, 325, 1935 +11276, 544, 214, 545, 1892 +11277, 203, 535, 534, 1862 +11278, 74, 301, 1860, 300 +11279, 111, 335, 336, 1965 +11280, 569, 240, 570, 1967 +11281, 585, 259, 586, 2058 +11282, 130, 418, 419, 2056 +11283, 184, 673, 2211, 674 +11284, 55, 410, 411, 2209 +11285, 13, 2136, 158, 649 +11286, 6, 386, 29, 2134 +11287, 2131, 156, 6, 443 +11288, 13, 610, 285, 2133 +11289, 12, 255, 582, 2048 +11290, 414, 7, 59, 2047 +11291, 8, 415, 126, 2044 +11292, 188, 2042, 14, 677 +11293, 136, 423, 424, 2071 +11294, 591, 2073, 590, 265 +11295, 49, 405, 406, 2194 +11296, 178, 668, 2196, 669 +11297, 281, 607, 606, 2121 +11298, 2119, 439, 152, 440 +11299, 390, 33, 389, 2146 +11300, 2148, 653, 162, 652 +11301, 673, 182, 2208, 672 +11302, 53, 409, 410, 2206 +11303, 420, 132, 419, 2059 +11304, 587, 586, 261, 2061 +11305, 332, 107, 331, 1953 +11306, 538, 207, 539, 1874 +11307, 304, 78, 1872, 305 +11308, 236, 566, 565, 1955 +11309, 306, 81, 1878, 307 +11310, 541, 540, 210, 1880 +11311, 1949, 564, 233, 563 +11312, 329, 330, 104, 1947 +11313, 1513, 86, 87, 312 +11314, 216, 546, 215, 1515 +11315, 1551, 227, 558, 228 +11316, 324, 99, 98, 1549 +11317, 327, 101, 326, 1938 +11318, 1940, 230, 560, 561 +11319, 544, 543, 213, 1889 +11320, 1887, 309, 84, 310 +11321, 202, 533, 201, 1473 +11322, 1471, 72, 73, 299 +11323, 337, 113, 112, 1591 +11324, 242, 571, 241, 1593 +11325, 204, 536, 535, 1865 +11326, 302, 1863, 75, 301 +11327, 110, 334, 335, 1962 +11328, 239, 569, 568, 1964 +11329, 418, 129, 417, 2053 +11330, 584, 258, 585, 2055 +11331, 2214, 675, 185, 674 +11332, 412, 56, 411, 2212 +11333, 442, 155, 2128, 443 +11334, 2139, 650, 159, 649 +11335, 387, 30, 386, 2137 +11336, 284, 610, 609, 2130 +11337, 409, 52, 408, 2203 +11338, 2205, 672, 181, 671 +11339, 133, 420, 421, 2062 +11340, 262, 588, 587, 2064 +11341, 590, 589, 264, 2070 +11342, 422, 423, 135, 2068 +11343, 50, 406, 407, 2197 +11344, 179, 669, 2199, 670 +11345, 282, 608, 607, 2124 +11346, 441, 2122, 153, 440 +11347, 2145, 652, 161, 651 +11348, 389, 32, 388, 2143 +11349, 413, 414, 58, 2218 +11350, 2220, 677, 187, 676 +11351, 127, 415, 416, 2045 +11352, 256, 583, 582, 2049 +11353, 567, 566, 237, 1958 +11354, 332, 333, 108, 1956 +11355, 303, 77, 1869, 304 +11356, 537, 206, 538, 1871 +11357, 562, 1946, 232, 563 +11358, 211, 542, 541, 1883 +11359, 82, 308, 1881, 307 +11360, 103, 328, 329, 1944 +11361, 1943, 562, 231, 561 +11362, 1884, 308, 83, 309 +11363, 327, 328, 102, 1941 +11364, 542, 212, 543, 1886 +11365, 205, 537, 536, 1868 +11366, 303, 1866, 76, 302 +11367, 567, 238, 568, 1961 +11368, 109, 333, 334, 1959 +11369, 128, 416, 417, 2050 +11370, 584, 583, 257, 2052 +11371, 413, 57, 412, 2215 +11372, 676, 186, 2217, 675 +11373, 609, 608, 283, 2127 +11374, 2125, 441, 154, 442 +11375, 2142, 651, 160, 650 +11376, 387, 388, 31, 2140 +11377, 422, 134, 421, 2065 +11378, 407, 408, 51, 2200 +11379, 2202, 671, 180, 670 +11380, 589, 588, 263, 2067 +11381, 47, 404, 48, 1396 +11382, 592, 267, 1668, 266 +11383, 138, 1666, 137, 425 +11384, 1398, 177, 176, 667 +11385, 163, 1359, 164, 654 +11386, 391, 35, 34, 1357 +11387, 605, 279, 280, 1707 +11388, 1705, 150, 151, 438 +11389, 235, 1810, 234, 1572 +11390, 105, 1766, 106, 1570 +11391, 80, 1492, 79, 1765 +11392, 1809, 208, 209, 1494 +11393, 559, 1554, 228, 229 +11394, 325, 100, 99, 1552 +11395, 86, 1510, 85, 311 +11396, 215, 545, 214, 1512 +11397, 203, 534, 202, 1476 +11398, 1474, 73, 74, 300 +11399, 570, 240, 241, 1590 +11400, 336, 112, 111, 1588 +11401, 288, 1763, 463, 1811 +11402, 1807, 1820, 504, 482 +11403, 591, 266, 1665, 265 +11404, 424, 137, 136, 1663 +11405, 1401, 178, 177, 668 +11406, 48, 405, 49, 1399 +11407, 162, 1356, 163, 653 +11408, 390, 34, 33, 1354 +11409, 606, 280, 281, 1710 +11410, 152, 1708, 151, 439 +11411, 7, 60, 59, 1432 +11412, 14, 188, 189, 1434 +11413, 8, 126, 125, 1630 +11414, 12, 254, 255, 1632 +11415, 630, 482, 1816, 1808 +11416, 100, 326, 101, 1555 +11417, 214, 544, 213, 1509 +11418, 1557, 229, 560, 230 +11419, 85, 1507, 84, 310 +11420, 204, 535, 203, 1479 +11421, 1477, 74, 75, 301 +11422, 335, 111, 110, 1585 +11423, 240, 569, 239, 1587 +11424, 1819, 366, 1761, 286 +11425, 1662, 264, 590, 265 +11426, 135, 423, 136, 1660 +11427, 1404, 179, 178, 669 +11428, 49, 406, 50, 1402 +11429, 161, 1353, 162, 652 +11430, 389, 33, 32, 1351 +11431, 607, 281, 282, 1713 +11432, 153, 1711, 152, 440 +11433, 414, 59, 58, 1429 +11434, 1431, 188, 187, 677 +11435, 415, 127, 126, 1633 +11436, 582, 255, 256, 1635 +11437, 231, 230, 1560, 561 +11438, 213, 543, 212, 1506 +11439, 327, 102, 101, 1558 +11440, 1504, 83, 84, 309 +11441, 205, 536, 204, 1482 +11442, 1480, 75, 76, 302 +11443, 239, 568, 238, 1584 +11444, 334, 110, 109, 1582 +11445, 484, 629, 1815, 1805 +11446, 418, 130, 129, 1642 +11447, 258, 259, 585, 1644 +11448, 1422, 185, 184, 674 +11449, 55, 411, 56, 1420 +11450, 589, 263, 264, 1659 +11451, 50, 407, 51, 1405 +11452, 422, 135, 134, 1657 +11453, 179, 1407, 180, 670 +11454, 284, 285, 610, 1722 +11455, 156, 1720, 155, 443 +11456, 158, 1343, 159, 649 +11457, 386, 30, 29, 1338 +11458, 160, 1350, 161, 651 +11459, 388, 32, 31, 1348 +11460, 282, 283, 608, 1716 +11461, 1714, 153, 154, 441 +11462, 52, 409, 53, 1411 +11463, 1413, 182, 181, 672 +11464, 420, 133, 132, 1651 +11465, 261, 262, 587, 1653 +11466, 413, 58, 57, 1426 +11467, 186, 1428, 187, 676 +11468, 416, 128, 127, 1636 +11469, 256, 257, 583, 1638 +11470, 286, 462, 1762, 1813 +11471, 236, 237, 566, 1578 +11472, 332, 108, 107, 1576 +11473, 538, 206, 207, 1488 +11474, 78, 1486, 77, 304 +11475, 1501, 82, 83, 308 +11476, 212, 542, 211, 1503 +11477, 1563, 232, 231, 562 +11478, 328, 103, 102, 1561 +11479, 233, 232, 1566, 563 +11480, 329, 104, 103, 1564 +11481, 541, 210, 211, 1500 +11482, 82, 1498, 81, 307 +11483, 1483, 76, 77, 303 +11484, 206, 537, 205, 1485 +11485, 237, 238, 567, 1581 +11486, 333, 109, 108, 1579 +11487, 185, 1425, 186, 675 +11488, 412, 57, 56, 1423 +11489, 417, 129, 128, 1639 +11490, 584, 257, 258, 1641 +11491, 421, 134, 133, 1654 +11492, 51, 408, 52, 1408 +11493, 180, 1410, 181, 671 +11494, 588, 262, 263, 1656 +11495, 159, 1347, 160, 650 +11496, 1717, 154, 155, 442 +11497, 609, 283, 284, 1719 +11498, 30, 387, 31, 1345 +11499, 1806, 484, 503, 1821 +11500, 3, 462, 286, 1813 +11501, 367, 288, 1817, 1764 +11502, 1820, 483, 504, 482 +11503, 1821, 484, 503, 483 +11504, 288, 463, 3, 1811 +11505, 287, 366, 1819, 286 +11506, 1816, 630, 9, 482 +11507, 287, 1817, 367, 288 +11508, 1815, 484, 9, 629 +11509, 61, 1435, 60, 1759 +11510, 1627, 124, 125, 1760 +11511, 190, 1803, 189, 1437 +11512, 1629, 253, 1804, 254 +11513, 331, 1766, 330, 1950 +11514, 539, 1809, 540, 1877 +11515, 1875, 306, 305, 1765 +11516, 1810, 565, 564, 1952 +11517, 682, 2039, 2259, 1723 +11518, 2039, 682, 2259, 1767 +11519, 2039, 682, 680, 1723 +11520, 682, 2039, 680, 1767 +11521, 681, 2258, 2038, 1724 +11522, 2038, 2258, 681, 1768 +11523, 2038, 679, 681, 1724 +11524, 681, 679, 2038, 1768 +11525, 1769, 3187, 2028, 2002 +11526, 2028, 3187, 1769, 3189 +11527, 2039, 2259, 1787, 1767 +11528, 1787, 2259, 2039, 2239 +11529, 444, 1724, 2227, 2261 +11530, 1724, 444, 2227, 1744 +11531, 2039, 1743, 2239, 1723 +11532, 1743, 2039, 2040, 1723 +11533, 2039, 1743, 2040, 2005 +11534, 2033, 2010, 2229, 1753 +11535, 2010, 2033, 2229, 1797 +11536, 2036, 2009, 2253, 1738 +11537, 2009, 2036, 2253, 1781 +11538, 1786, 1758, 1802, 2238 +11539, 1758, 1786, 1802, 2025 +11540, 1758, 1786, 1741, 2238 +11541, 1786, 1758, 1741, 2025 +11542, 1741, 1780, 1786, 2008 +11543, 1780, 1741, 1737, 2008 +11544, 1775, 1749, 1785, 2006 +11545, 1749, 1775, 1785, 2230 +11546, 2240, 2031, 2022, 1742 +11547, 2022, 2031, 2240, 1795 +11548, 2022, 2257, 2240, 1742 +11549, 2240, 2257, 2022, 1795 +11550, 2038, 1744, 1788, 2001 +11551, 1744, 2038, 1788, 2227 +11552, 2038, 1744, 1724, 2227 +11553, 2039, 1787, 1743, 2005 +11554, 1787, 2039, 1743, 2239 +11555, 481, 2239, 1723, 2260 +11556, 1723, 2239, 481, 1743 +11557, 1814, 2031, 2240, 1728 +11558, 2240, 2031, 1814, 1772 +11559, 1802, 1733, 1776, 2254 +11560, 1733, 1802, 1776, 2014 +11561, 1733, 1802, 1758, 2254 +11562, 1802, 1733, 1758, 2014 +11563, 2235, 1737, 2011, 2026 +11564, 2011, 1737, 2235, 1752 +11565, 511, 1773, 2023, 2037 +11566, 2023, 1773, 511, 1790 +11567, 1741, 2235, 1780, 1737 +11568, 1741, 1786, 2235, 2251 +11569, 2235, 1786, 1741, 1780 +11570, 1571, 1951, 1954, 1952 +11571, 1951, 1571, 1954, 1950 +11572, 1496, 1876, 1879, 1877 +11573, 1879, 1876, 1496, 1875 +11574, 1337, 2131, 2134, 2135 +11575, 2131, 1337, 2134, 6 +11576, 2131, 1337, 1344, 2135 +11577, 1337, 2131, 1344, 6 +11578, 1340, 1341, 2133, 13 +11579, 2133, 1341, 1340, 2135 +11580, 2133, 2136, 1340, 13 +11581, 1340, 2136, 2133, 2135 +11582, 1650, 2058, 2061, 586 +11583, 2061, 2058, 1650, 2060 +11584, 1414, 2209, 2206, 410 +11585, 2206, 2209, 1414, 2210 +11586, 1648, 2059, 2056, 419 +11587, 2056, 2059, 1648, 2060 +11588, 1416, 2211, 2208, 2210 +11589, 2208, 2211, 1416, 673 +11590, 2041, 1744, 348, 1724 +11591, 1744, 2041, 348, 2001 +11592, 1744, 2041, 2038, 1724 +11593, 2041, 1744, 2038, 2001 +11594, 2649, 2963, 2926, 3183 +11595, 3150, 2708, 2682, 3167 +11596, 2726, 3178, 2650, 3147 +11597, 2648, 1336, 3185, 3184 +11598, 2680, 2658, 2703, 3179 +11599, 2680, 2703, 2658, 2959 +11600, 2726, 2679, 2958, 2929 +11601, 2670, 2650, 2695, 3178 +11602, 3178, 2695, 2670, 3146 +11603, 2708, 2723, 2682, 3167 +11604, 2650, 2679, 2726, 3147 +11605, 2726, 2958, 2679, 2650 +11606, 2695, 2670, 2958, 2650 +11607, 2958, 2695, 2942, 2670 +11608, 2670, 2695, 2942, 3146 +11609, 2703, 2670, 2942, 3146 +11610, 2942, 2714, 2703, 3146 +11611, 2714, 2942, 2695, 3146 +11612, 2651, 2708, 3150, 3195 +11613, 2726, 2650, 2695, 2958 +11614, 2726, 2695, 2650, 3178 +11615, 2708, 2682, 2651, 3150 +11616, 2713, 2926, 2963, 3183 +11617, 2703, 3179, 2670, 3146 +11618, 2703, 2670, 3179, 2658 +11619, 2708, 2682, 2723, 2947 +11620, 3179, 2703, 2680, 2724 +11621, 2703, 2670, 2959, 2942 +11622, 2703, 2959, 2670, 2658 +11623, 2724, 2703, 2680, 2959 +11624, 2947, 2651, 2708, 2682 +11625, 2696, 2653, 3154, 3193 +11626, 2653, 2696, 2931, 3193 +11627, 3154, 2653, 2696, 3192 +11628, 2931, 2696, 2653, 3192 +11629, 2948, 2673, 3181, 3192 +11630, 2948, 3181, 2722, 3192 +11631, 2948, 2673, 2662, 3166 +11632, 2662, 2937, 2948, 3166 +11633, 3166, 2702, 2948, 2722 +11634, 3166, 2937, 2948, 2702 +11635, 3166, 2948, 3181, 2722 +11636, 3166, 3181, 2948, 2673 +11637, 3164, 2953, 2683, 3191 +11638, 3159, 2954, 2937, 2717 +11639, 2678, 2954, 2937, 3159 +11640, 2937, 2662, 2678, 3159 +11641, 2963, 2693, 2713, 3183 +11642, 2659, 2704, 2934, 2718 +11643, 2708, 2651, 2932, 3195 +11644, 2648, 3163, 2964, 3184 +11645, 2953, 3161, 2934, 2718 +11646, 2679, 3171, 2710, 3147 +11647, 2681, 2657, 2706, 3174 +11648, 2721, 3168, 2666, 3160 +11649, 2929, 2957, 2710, 2679 +11650, 3162, 3174, 2935, 2657 +11651, 2708, 2947, 2932, 2651 +11652, 2951, 2721, 2938, 2666 +11653, 2706, 3160, 2681, 3174 +11654, 2721, 2666, 3168, 3195 +11655, 2666, 2721, 2938, 3195 +11656, 2706, 2681, 2951, 2657 +11657, 2947, 2723, 2927, 2667 +11658, 2710, 2679, 2726, 2929 +11659, 2710, 2726, 2679, 3147 +11660, 2959, 2724, 2943, 2680 +11661, 3172, 2704, 2659, 2718 +11662, 3160, 2706, 2666, 2721 +11663, 2659, 2950, 2934, 2704 +11664, 2723, 2667, 2947, 2682 +11665, 2666, 2681, 2706, 3160 +11666, 2721, 2706, 2666, 2951 +11667, 2953, 3164, 2698, 3191 +11668, 2666, 2706, 2681, 2951 +11669, 3179, 2724, 2680, 3152 +11670, 2963, 2966, 1333, 2649 +11671, 3162, 2935, 3174, 2711 +11672, 2953, 2668, 2934, 3161 +11673, 3159, 3166, 2937, 2662 +11674, 2649, 3183, 3186, 1335 +11675, 2706, 2657, 2935, 3174 +11676, 2944, 2657, 2676, 3162 +11677, 2659, 2934, 3161, 2718 +11678, 2953, 2683, 2668, 3161 +11679, 2953, 2698, 3161, 2718 +11680, 2935, 2657, 2944, 3162 +11681, 2706, 2951, 2935, 2657 +11682, 2679, 2710, 2652, 2957 +11683, 2723, 2667, 2694, 2927 +11684, 2679, 2652, 2710, 3171 +11685, 2723, 2694, 2667, 3151 +11686, 2683, 3161, 2953, 3164 +11687, 2694, 3171, 2652, 3151 +11688, 2927, 2694, 2957, 2652 +11689, 3172, 2659, 3161, 2718 +11690, 2706, 3174, 2935, 2711 +11691, 2659, 3161, 2934, 2668 +11692, 2935, 3162, 2944, 2711 +11693, 2725, 2944, 3162, 2711 +11694, 2961, 2675, 2945, 2719 +11695, 2953, 3164, 3161, 2698 +11696, 2965, 2964, 1334, 2648 +11697, 2710, 2652, 2694, 3171 +11698, 2694, 2652, 2667, 3151 +11699, 2710, 2957, 2694, 2652 +11700, 2927, 2667, 2694, 2652 +11701, 2675, 3165, 3182, 2719 +11702, 2954, 3159, 2678, 3194 +11703, 3159, 2954, 2717, 3194 +11704, 2926, 2966, 2963, 2649 +11705, 2926, 2713, 2950, 2669 +11706, 3185, 3163, 2648, 3184 +11707, 2713, 3172, 2669, 3148 +11708, 2930, 2943, 2709, 2665 +11709, 3180, 2698, 3164, 3191 +11710, 2664, 2960, 2676, 3177 +11711, 2960, 2725, 3177, 2700 +11712, 3180, 2712, 2698, 3191 +11713, 2932, 2651, 2671, 3195 +11714, 2654, 2666, 2938, 3195 +11715, 2665, 3152, 2709, 3163 +11716, 2938, 2962, 2654, 3195 +11717, 1334, 2361, 2684, 1336 +11718, 2685, 2556, 1333, 1335 +11719, 2728, 2361, 1334, 1336 +11720, 1333, 2556, 2729, 1335 +11721, 2939, 2953, 2698, 3191 +11722, 3169, 2651, 3150, 3195 +11723, 2715, 2708, 2932, 3195 +11724, 2671, 2651, 3169, 3195 +11725, 2946, 2932, 2671, 3195 +11726, 2697, 3182, 2719, 3193 +11727, 2655, 2675, 3182, 3193 +11728, 2683, 2660, 3164, 3191 +11729, 3164, 2660, 3180, 3191 +11730, 2721, 2962, 2938, 3195 +11731, 2962, 2721, 2701, 3195 +11732, 2945, 2675, 2655, 3193 +11733, 2940, 2697, 2719, 3193 +11734, 3154, 2653, 2674, 3193 +11735, 2716, 2696, 3154, 3193 +11736, 2674, 3170, 3154, 3193 +11737, 3154, 3170, 2716, 3193 +11738, 2653, 3173, 2677, 3192 +11739, 3173, 2696, 2720, 3192 +11740, 2677, 2949, 2653, 3192 +11741, 2696, 2949, 2720, 3192 +11742, 2931, 2674, 2653, 3193 +11743, 2931, 2696, 2716, 3193 +11744, 2949, 2696, 2931, 3192 +11745, 3173, 2653, 3154, 3192 +11746, 3154, 2696, 3173, 3192 +11747, 2653, 2949, 2931, 3192 +11748, 2933, 2673, 2948, 3192 +11749, 2933, 2948, 2722, 3192 +11750, 2663, 2673, 2933, 3192 +11751, 3157, 2673, 2663, 3192 +11752, 2707, 2933, 2722, 3192 +11753, 2722, 3181, 2707, 3192 +11754, 2673, 3157, 3181, 3192 +11755, 3182, 2697, 3155, 3193 +11756, 2931, 2716, 2955, 3193 +11757, 2945, 2940, 2719, 3193 +11758, 2707, 3181, 3157, 3192 +11759, 3155, 2655, 3182, 3193 +11760, 2955, 2674, 2931, 3193 +11761, 3168, 2666, 2654, 3195 +11762, 2715, 2932, 2946, 3195 +11763, 2698, 2712, 2939, 3191 +11764, 3168, 2654, 3149, 3195 +11765, 2655, 2940, 2945, 3193 +11766, 3150, 2715, 3169, 3195 +11767, 3150, 2708, 2715, 3195 +11768, 2683, 2953, 2939, 3191 +11769, 2685, 1333, 2649, 1335 +11770, 1333, 2729, 2693, 1335 +11771, 2721, 3168, 2701, 3195 +11772, 3168, 3149, 2701, 3195 +11773, 2939, 2660, 2683, 3191 +11774, 1334, 2684, 2648, 1336 +11775, 2728, 1334, 2692, 1336 +11776, 2739, 2661, 2961, 2705 +11777, 2739, 3165, 2661, 2705 +11778, 3175, 3159, 2717, 3194 +11779, 2954, 2678, 2656, 3194 +11780, 2954, 2699, 2717, 3194 +11781, 2936, 2699, 2954, 3194 +11782, 2954, 2656, 2936, 3194 +11783, 2699, 3175, 2717, 3194 +11784, 2656, 2678, 3175, 3194 +11785, 2678, 3159, 3175, 3194 +11786, 2739, 2686, 2928, 2661 +11787, 2664, 2688, 2737, 3158 +11788, 2737, 2732, 2941, 2700 +11789, 2928, 2731, 2739, 2705 +11790, 2664, 3158, 2737, 3177 +11791, 2739, 2961, 2928, 2705 +11792, 2928, 2961, 2739, 2661 +11793, 2941, 2689, 2737, 2664 +11794, 2941, 2960, 2737, 2700 +11795, 2737, 3177, 3158, 2700 +11796, 2737, 2960, 2941, 2664 +11797, 2684, 1334, 2360, 2361 +11798, 1333, 2685, 2552, 2556 +11799, 2729, 1333, 2554, 2556 +11800, 1334, 2728, 2362, 2361 +11801, 3158, 2733, 2737, 2700 +11802, 2661, 2739, 2687, 3156 +11803, 2661, 3165, 2739, 3156 +11804, 2553, 2554, 1333, 2556 +11805, 1333, 2552, 2553, 2556 +11806, 2364, 2360, 1334, 2361 +11807, 1334, 2362, 2364, 2361 +11808, 2928, 2686, 2961, 2661 +11809, 2688, 3158, 2664, 3177 +11810, 2960, 2941, 2732, 2700 +11811, 2928, 2961, 2731, 2705 +11812, 2739, 2687, 2686, 2661 +11813, 2737, 2664, 2689, 2688 +11814, 2739, 2705, 2731, 2730 +11815, 2737, 2733, 2732, 2700 +11816, 2670, 1035, 2958, 2650 +11817, 1292, 3150, 2715, 3169 +11818, 1292, 2715, 3150, 2708 +11819, 3173, 2696, 3154, 1277 +11820, 3173, 2720, 2696, 1277 +11821, 2696, 2931, 1151, 2949 +11822, 2653, 3154, 1110, 3173 +11823, 2653, 1014, 2949, 2677 +11824, 2653, 1110, 2677, 3173 +11825, 2696, 2949, 1151, 2720 +11826, 2716, 3170, 3154, 1278 +11827, 1111, 3154, 2674, 3170 +11828, 2949, 2653, 2931, 1014 +11829, 1111, 2653, 2674, 3154 +11830, 1152, 2716, 2931, 2696 +11831, 2958, 2670, 2942, 1035 +11832, 1012, 2673, 2933, 2663 +11833, 2696, 2716, 3154, 1278 +11834, 2933, 1012, 2948, 2673 +11835, 1131, 2670, 3178, 2650 +11836, 2948, 1149, 2933, 2722 +11837, 2936, 2656, 2954, 1009 +11838, 1131, 3178, 2670, 3146 +11839, 2936, 1146, 2954, 2699 +11840, 2954, 1009, 2656, 2678 +11841, 2699, 1146, 2954, 2717 +11842, 2662, 2948, 1011, 2673 +11843, 2722, 1149, 2933, 2707 +11844, 1011, 2937, 2948, 2662 +11845, 1010, 2954, 2937, 2678 +11846, 1147, 2937, 2954, 2717 +11847, 2702, 1148, 2948, 2722 +11848, 1010, 2678, 2937, 2662 +11849, 1147, 2702, 2937, 2717 +11850, 1148, 2948, 2937, 2702 +11851, 1108, 2673, 2663, 3157 +11852, 1152, 2931, 2716, 2955 +11853, 3168, 2701, 3149, 1290 +11854, 1015, 2653, 2931, 2674 +11855, 2708, 3167, 3150, 1293 +11856, 3178, 1130, 2650, 3147 +11857, 3179, 1132, 2670, 3146 +11858, 2958, 1034, 2679, 2650 +11859, 2670, 2658, 1132, 3179 +11860, 2679, 2958, 2929, 1034 +11861, 3157, 1108, 2673, 3181 +11862, 2721, 2701, 3168, 1290 +11863, 1015, 2931, 2955, 2674 +11864, 2723, 3167, 2708, 1293 +11865, 2679, 2650, 1130, 3147 +11866, 2670, 2959, 2942, 1036 +11867, 2959, 1036, 2670, 2658 +11868, 3147, 2726, 3178, 1297 +11869, 1126, 3150, 2682, 3167 +11870, 2697, 3182, 3155, 1280 +11871, 2704, 1141, 2934, 2718 +11872, 3157, 1275, 3181, 2707 +11873, 3181, 1275, 2722, 2707 +11874, 1141, 2934, 2950, 2704 +11875, 2679, 2929, 2957, 1033 +11876, 1105, 2656, 2678, 3175 +11877, 3172, 1267, 2704, 2718 +11878, 2651, 3150, 1125, 3169 +11879, 3167, 2682, 1127, 3151 +11880, 2695, 3146, 3178, 1298 +11881, 2939, 1006, 2953, 2683 +11882, 2689, 2941, 2960, 2664 +11883, 2962, 2721, 1164, 2701 +11884, 1164, 2938, 2721, 2962 +11885, 2714, 3146, 2695, 1298 +11886, 2695, 3178, 2726, 1297 +11887, 1126, 2651, 2682, 3150 +11888, 1030, 2651, 2947, 2682 +11889, 2938, 1163, 2721, 2951 +11890, 2681, 3160, 1121, 3174 +11891, 1171, 2929, 2726, 2958 +11892, 2651, 1125, 2671, 3169 +11893, 3146, 2714, 2703, 1299 +11894, 1113, 3155, 2655, 3182 +11895, 2723, 2927, 1168, 2947 +11896, 1006, 2683, 2939, 2660 +11897, 3146, 2703, 3179, 1299 +11898, 2697, 2719, 3182, 1280 +11899, 2695, 2942, 1172, 2958 +11900, 2951, 2681, 1025, 2657 +11901, 1121, 2657, 2681, 3174 +11902, 2726, 2695, 1171, 2958 +11903, 1172, 2695, 2714, 2942 +11904, 2658, 2680, 1133, 3179 +11905, 1107, 2673, 3166, 2662 +11906, 2723, 3151, 3167, 1294 +11907, 3168, 3160, 2721, 1289 +11908, 3175, 1272, 2699, 2717 +11909, 2934, 1142, 2953, 2718 +11910, 1129, 3171, 2679, 3147 +11911, 2703, 1173, 2714, 2942 +11912, 1107, 3166, 2673, 3181 +11913, 1173, 2942, 2703, 2959 +11914, 2655, 2675, 1113, 3182 +11915, 1167, 2708, 2723, 2947 +11916, 2733, 3158, 3177, 2700 +11917, 1030, 2947, 2651, 2932 +11918, 3162, 2657, 1120, 3174 +11919, 3161, 1267, 3172, 2718 +11920, 2678, 3159, 1105, 3175 +11921, 2957, 2652, 2679, 1033 +11922, 1004, 2950, 2934, 2659 +11923, 2724, 3179, 2703, 1300 +11924, 1025, 2935, 2951, 2657 +11925, 1168, 2723, 2694, 2927 +11926, 2706, 2721, 1163, 2951 +11927, 2667, 1127, 2682, 3151 +11928, 2702, 1273, 3166, 2717 +11929, 1120, 2676, 2657, 3162 +11930, 3151, 2694, 3171, 1295 +11931, 2939, 2953, 1143, 2698 +11932, 2652, 3171, 1128, 3151 +11933, 3179, 2680, 1133, 3152 +11934, 2703, 2724, 1174, 2959 +11935, 3151, 2723, 2694, 1294 +11936, 3160, 2706, 2721, 1289 +11937, 3159, 1272, 3175, 2717 +11938, 1167, 2932, 2708, 2947 +11939, 2698, 2953, 1142, 2718 +11940, 2679, 1129, 2652, 3171 +11941, 1027, 2938, 2962, 2654 +11942, 2668, 1004, 2934, 2659 +11943, 2724, 3152, 3179, 1300 +11944, 2655, 2945, 1017, 2675 +11945, 2687, 3165, 2661, 3156 +11946, 1154, 2940, 2697, 2719 +11947, 1274, 2702, 3166, 2722 +11948, 2934, 2668, 2953, 1005 +11949, 1273, 3159, 3166, 2717 +11950, 2943, 1174, 2724, 2959 +11951, 1274, 3166, 3181, 2722 +11952, 1017, 2940, 2945, 2655 +11953, 2668, 2683, 2953, 1005 +11954, 1287, 3162, 3174, 2711 +11955, 2944, 1024, 2676, 2657 +11956, 2654, 3149, 1123, 3168 +11957, 2957, 1032, 2927, 2652 +11958, 2694, 2957, 1169, 2927 +11959, 2710, 3171, 2694, 1295 +11960, 2939, 2698, 1143, 2712 +11961, 1128, 2667, 2652, 3151 +11962, 2938, 2654, 1027, 2666 +11963, 1140, 2950, 2713, 2704 +11964, 2698, 1268, 3161, 2718 +11965, 2660, 3180, 1102, 3164 +11966, 1102, 2683, 2660, 3164 +11967, 3168, 1122, 2666, 3160 +11968, 2929, 1170, 2710, 2957 +11969, 1336, 2728, 2361, 2359 +11970, 2729, 2556, 2557, 1335 +11971, 2556, 2685, 2555, 1335 +11972, 2684, 2361, 2357, 1336 +11973, 2935, 1024, 2944, 2657 +11974, 1266, 2713, 3172, 2704 +11975, 2927, 1031, 2947, 2667 +11976, 2681, 2666, 1122, 3160 +11977, 2710, 2726, 1170, 2929 +11978, 2669, 2659, 1099, 3172 +11979, 1154, 2945, 2940, 2719 +11980, 3162, 1287, 2725, 2711 +11981, 2947, 2667, 1031, 2682 +11982, 1003, 2669, 2950, 2659 +11983, 1106, 2678, 2662, 3159 +11984, 2651, 1029, 2932, 2671 +11985, 2950, 1003, 2926, 2669 +11986, 2698, 3164, 3161, 1268 +11987, 1123, 2666, 2654, 3168 +11988, 2667, 2927, 1032, 2652 +11989, 2710, 1169, 2694, 2957 +11990, 2943, 2665, 1038, 2680 +11991, 2709, 3152, 2724, 1301 +11992, 1101, 2668, 2683, 3161 +11993, 2950, 1140, 2713, 2926 +11994, 1029, 2946, 2932, 2671 +11995, 1101, 3161, 2683, 3164 +11996, 3172, 1099, 2669, 3148 +11997, 1106, 3159, 2662, 3166 +11998, 3180, 1269, 3164, 2698 +11999, 2698, 3180, 1269, 2712 +12000, 2719, 3165, 3182, 1281 +12001, 3177, 2725, 3162, 1286 +12002, 2935, 2706, 1162, 2951 +12003, 3148, 2713, 3172, 1266 +12004, 2676, 3162, 1119, 3177 +12005, 2659, 3161, 1100, 3172 +12006, 2930, 1038, 2943, 2665 +12007, 2724, 2709, 1175, 2943 +12008, 2676, 2944, 2960, 1023 +12009, 2935, 1162, 2706, 2711 +12010, 2668, 1100, 2659, 3161 +12011, 2709, 3163, 3152, 1301 +12012, 2945, 1155, 2961, 2719 +12013, 1160, 2944, 2960, 2725 +12014, 2961, 1018, 2945, 2675 +12015, 2930, 1175, 2709, 2943 +12016, 1114, 3182, 2675, 3165 +12017, 3165, 1281, 2719, 2705 +12018, 2680, 2665, 1134, 3152 +12019, 2664, 2676, 2960, 1023 +12020, 2497, 2500, 2735, 2877 +12021, 2495, 2691, 2498, 2875 +12022, 2416, 2419, 2734, 2802 +12023, 2417, 2800, 2414, 2690 +12024, 2719, 1155, 2961, 2705 +12025, 2422, 2734, 2419, 2802 +12026, 2800, 2417, 2420, 2690 +12027, 2492, 2691, 2495, 2875 +12028, 2497, 2877, 2735, 2494 +12029, 2676, 1119, 2664, 3177 +12030, 3177, 2700, 2725, 1286 +12031, 2961, 2661, 1018, 2675 +12032, 1160, 2725, 2960, 2700 +12033, 3153, 2727, 1270, 3191 +12034, 2735, 2497, 889, 2500 +12035, 2498, 760, 2691, 2495 +12036, 2734, 2416, 862, 2419 +12037, 733, 2417, 2414, 2690 +12038, 1134, 3152, 2665, 3163 +12039, 1270, 3180, 3153, 3191 +12040, 2675, 2661, 1114, 3165 +12041, 2417, 734, 2420, 2690 +12042, 2734, 2419, 863, 2422 +12043, 2497, 2735, 888, 2494 +12044, 2691, 2495, 759, 2492 +12045, 2741, 2737, 3158, 2733 +12046, 2941, 2742, 2737, 2689 +12047, 2712, 3180, 1270, 3191 +12048, 2732, 2737, 2941, 2745 +12049, 2737, 3158, 2688, 2736 +12050, 2928, 2739, 2744, 2686 +12051, 2739, 2738, 2687, 3156 +12052, 1270, 2727, 2712, 3191 +12053, 2731, 2739, 2746, 2928 +12054, 2739, 2740, 3156, 2730 +12055, 3185, 2648, 21, 1336 +12056, 2549, 2553, 1333, 2552 +12057, 2364, 2363, 1334, 2360 +12058, 2554, 2553, 1333, 2551 +12059, 2364, 2365, 2362, 1334 +12060, 1282, 3165, 3156, 2730 +12061, 3158, 2733, 3177, 1285 +12062, 2688, 2664, 1118, 3177 +12063, 1159, 2960, 2732, 2700 +12064, 2961, 1156, 2731, 2705 +12065, 1282, 2705, 3165, 2730 +12066, 1159, 2941, 2732, 2960 +12067, 1118, 3158, 2688, 3177 +12068, 2961, 2686, 1019, 2661 +12069, 2733, 2700, 3177, 1285 +12070, 2941, 2689, 2960, 1022 +12071, 2664, 2960, 2689, 1022 +12072, 2928, 1019, 2961, 2686 +12073, 2928, 1156, 2731, 2961 +12074, 2654, 2962, 1028, 3195 +12075, 2671, 1028, 2946, 3195 +12076, 3153, 2727, 3191, 3194 +12077, 2687, 1115, 2661, 3165 +12078, 2649, 3186, 22, 1335 +12079, 2729, 2557, 26, 1335 +12080, 2728, 1336, 28, 2359 +12081, 22, 2555, 2685, 1335 +12082, 2357, 21, 2684, 1336 +12083, 2965, 1039, 2930, 2665 +12084, 3165, 2687, 1115, 3156 +12085, 2654, 1028, 2671, 3195 +12086, 2946, 1028, 2962, 3195 +12087, 1333, 2649, 2966, 2685 +12088, 2418, 2421, 2802, 2801 +12089, 2801, 2418, 2421, 2800 +12090, 2499, 2879, 2496, 2875 +12091, 2877, 2496, 2499, 2879 +12092, 2339, 3134, 2342, 3135 +12093, 3136, 2341, 2344, 3135 +12094, 2983, 2575, 2985, 2572 +12095, 2570, 2981, 2573, 2985 +12096, 2269, 2262, 811, 3060 +12097, 2265, 2266, 811, 3060 +12098, 2648, 1334, 2965, 2684 +12099, 2985, 2571, 2982, 2983 +12100, 2985, 2981, 2982, 2571 +12101, 3134, 3135, 3138, 2346 +12102, 3138, 3135, 3136, 2346 +12103, 2573, 2574, 2570, 2985 +12104, 2575, 2574, 2985, 2572 +12105, 2339, 3135, 2342, 2343 +12106, 2344, 3135, 2341, 2343 +12107, 2496, 2495, 2499, 2875 +12108, 2800, 2418, 2421, 2417 +12109, 2802, 2418, 2419, 2421 +12110, 2499, 2877, 2497, 2496 +12111, 2879, 2500, 2877, 2880 +12112, 2879, 2875, 2498, 2878 +12113, 2799, 2416, 2802, 2801 +12114, 2801, 2800, 2797, 2414 +12115, 1039, 2965, 2648, 2665 +12116, 3063, 3061, 2264, 3060 +12117, 2264, 3059, 3063, 3060 +12118, 2267, 3057, 3056, 3060 +12119, 3057, 2267, 3058, 3060 +12120, 1136, 2732, 2737, 2733 +12121, 2800, 2804, 2803, 2420 +12122, 2802, 2422, 2805, 2804 +12123, 2876, 2872, 2492, 2875 +12124, 2494, 2877, 2874, 2876 +12125, 2571, 2983, 2985, 2572 +12126, 2981, 2985, 2570, 2571 +12127, 3135, 3134, 2342, 2346 +12128, 3136, 3135, 2344, 2346 +12129, 3132, 3131, 2340, 3135 +12130, 2340, 3133, 3132, 3135 +12131, 2984, 2985, 2988, 2577 +12132, 2577, 2985, 2988, 2986 +12133, 2267, 3056, 2269, 3060 +12134, 3058, 2267, 2266, 3060 +12135, 2264, 3061, 2265, 3060 +12136, 3059, 2264, 2262, 3060 +12137, 2499, 2500, 2877, 2879 +12138, 2498, 2879, 2499, 2875 +12139, 2418, 2802, 2416, 2801 +12140, 2418, 2800, 2801, 2414 +12141, 2737, 2688, 2689, 942 +12142, 2739, 940, 2686, 2687 +12143, 28, 1336, 2692, 3184 +12144, 2422, 2804, 2802, 2421 +12145, 2804, 2800, 2421, 2420 +12146, 2492, 2496, 2876, 2875 +12147, 2877, 2876, 2494, 2496 +12148, 2340, 2341, 3133, 3135 +12149, 2340, 3131, 2339, 3135 +12150, 2573, 2985, 2984, 2577 +12151, 2985, 2986, 2577, 2575 +12152, 2570, 2985, 2574, 2571 +12153, 2571, 2985, 2574, 2572 +12154, 2346, 2342, 3135, 2343 +12155, 2344, 2346, 3135, 2343 +12156, 2739, 2730, 2731, 1138 +12157, 2877, 2497, 2500, 2499 +12158, 2499, 2495, 2498, 2875 +12159, 2802, 2416, 2419, 2418 +12160, 2800, 2414, 2418, 2417 +12161, 811, 2267, 2269, 3060 +12162, 811, 2266, 2267, 3060 +12163, 2265, 811, 2264, 3060 +12164, 2264, 811, 2262, 3060 +12165, 2693, 2729, 26, 1335 +12166, 22, 2685, 2649, 1335 +12167, 2728, 2692, 28, 1336 +12168, 2684, 21, 2648, 1336 +12169, 2802, 2419, 2422, 2421 +12170, 2421, 2420, 2800, 2417 +12171, 2496, 2492, 2495, 2875 +12172, 2494, 2497, 2877, 2496 +12173, 3135, 2340, 2341, 2343 +12174, 2340, 3135, 2339, 2343 +12175, 2574, 2985, 2573, 2577 +12176, 2577, 2574, 2985, 2575 +12177, 2978, 2981, 2567, 2982 +12178, 2980, 2982, 2569, 2983 +12179, 3138, 3139, 2347, 3136 +12180, 2345, 3134, 3137, 3138 +12181, 2672, 3153, 3191, 3194 +12182, 2882, 2878, 2879, 2502 +12183, 2879, 2880, 2882, 2502 +12184, 2799, 2798, 2415, 2801 +12185, 2415, 2801, 2798, 2797 +12186, 2727, 2952, 3191, 3194 +12187, 3062, 2263, 3059, 3063 +12188, 3056, 2645, 3053, 3057 +12189, 3063, 3064, 2268, 3061 +12190, 3058, 3055, 2647, 3057 +12191, 2805, 2807, 2804, 2424 +12192, 2804, 2424, 2807, 2803 +12193, 2876, 2873, 2874, 2493 +12194, 2876, 2872, 2873, 2493 +12195, 2336, 3131, 3132, 3128 +12196, 3133, 3132, 3130, 2338 +12197, 2987, 2576, 2984, 2988 +12198, 2988, 2986, 2989, 2578 +12199, 2567, 2982, 2981, 2571 +12200, 2982, 2571, 2569, 2983 +12201, 3138, 3136, 2347, 2346 +12202, 3134, 3138, 2345, 2346 +12203, 2879, 2878, 2498, 2502 +12204, 2500, 2880, 2879, 2502 +12205, 2799, 2415, 2416, 2801 +12206, 2797, 2415, 2801, 2414 +12207, 1103, 2672, 3153, 3191 +12208, 3059, 3063, 2263, 2264 +12209, 2647, 2267, 3058, 3057 +12210, 3063, 2268, 2264, 3061 +12211, 3056, 2267, 2645, 3057 +12212, 2804, 2422, 2805, 2424 +12213, 2424, 2803, 2804, 2420 +12214, 2872, 2876, 2492, 2493 +12215, 2876, 2874, 2494, 2493 +12216, 2567, 2981, 2570, 2571 +12217, 2569, 2983, 2571, 2572 +12218, 2344, 2347, 3136, 2346 +12219, 2345, 2342, 3134, 2346 +12220, 2336, 2340, 3132, 3131 +12221, 3132, 3133, 2340, 2338 +12222, 2988, 2576, 2984, 2577 +12223, 2986, 2988, 2577, 2578 +12224, 2267, 3058, 2266, 2647 +12225, 2645, 3056, 2269, 2267 +12226, 3059, 2263, 2262, 2264 +12227, 2265, 2264, 2268, 3061 +12228, 2500, 2879, 2499, 2502 +12229, 2498, 2499, 2879, 2502 +12230, 2416, 2415, 2418, 2801 +12231, 2418, 2801, 2415, 2414 +12232, 2672, 1104, 3153, 3194 +12233, 3153, 3180, 1103, 3191 +12234, 1008, 2672, 2952, 3194 +12235, 2424, 2804, 2421, 2420 +12236, 2421, 2422, 2804, 2424 +12237, 2494, 2496, 2876, 2493 +12238, 2492, 2876, 2496, 2493 +12239, 2727, 1145, 2952, 3194 +12240, 1103, 3180, 2660, 3191 +12241, 2340, 2336, 2339, 3131 +12242, 2341, 2340, 3133, 2338 +12243, 2573, 2984, 2576, 2577 +12244, 2577, 2575, 2986, 2578 +12245, 2741, 1136, 2737, 2733 +12246, 2709, 3184, 3163, 1302 +12247, 2568, 2979, 2982, 2980 +12248, 2982, 2978, 2979, 2568 +12249, 3137, 3141, 2349, 3138 +12250, 2349, 3138, 3141, 3139 +12251, 2727, 2952, 1144, 3191 +12252, 3153, 1271, 2727, 3194 +12253, 2878, 2501, 2882, 2881 +12254, 2882, 2503, 2880, 2883 +12255, 2411, 2798, 2794, 2797 +12256, 2799, 2796, 2413, 2798 +12257, 2737, 2689, 2742, 942 +12258, 940, 2687, 2739, 2738 +12259, 2939, 2712, 1144, 3191 +12260, 3053, 2646, 3054, 3057 +12261, 3055, 3054, 2646, 3057 +12262, 2271, 3063, 3066, 3064 +12263, 3063, 3066, 3062, 2271 +12264, 2803, 2807, 2806, 2423 +12265, 2425, 2808, 2805, 2807 +12266, 2872, 2873, 2489, 2869 +12267, 2491, 2873, 2874, 2871 +12268, 2701, 1165, 2962, 3195 +12269, 3132, 3129, 3130, 2337 +12270, 3128, 3129, 3132, 2337 +12271, 2580, 2988, 2991, 2989 +12272, 2991, 2987, 2988, 2580 +12273, 2982, 2569, 2568, 2980 +12274, 2978, 2982, 2567, 2568 +12275, 2349, 2347, 3138, 3139 +12276, 3137, 2349, 2345, 3138 +12277, 1124, 2671, 3169, 3195 +12278, 2882, 2501, 2878, 2502 +12279, 2503, 2882, 2880, 2502 +12280, 2411, 2415, 2798, 2797 +12281, 2413, 2415, 2799, 2798 +12282, 1334, 2360, 2363, 2684 +12283, 2552, 1333, 2549, 2685 +12284, 2728, 2362, 2365, 1334 +12285, 2551, 1333, 2554, 2729 +12286, 2646, 3053, 2645, 3057 +12287, 2647, 3055, 2646, 3057 +12288, 3063, 3062, 2263, 2271 +12289, 2271, 2268, 3063, 3064 +12290, 2425, 2807, 2805, 2424 +12291, 2807, 2803, 2424, 2423 +12292, 2873, 2872, 2489, 2493 +12293, 2873, 2491, 2874, 2493 +12294, 2569, 2982, 2568, 2571 +12295, 2567, 2568, 2982, 2571 +12296, 2347, 2349, 3138, 2346 +12297, 2345, 3138, 2349, 2346 +12298, 3184, 2709, 2692, 1302 +12299, 3128, 3132, 2336, 2337 +12300, 2338, 3132, 3130, 2337 +12301, 2576, 2988, 2987, 2580 +12302, 2988, 2989, 2580, 2578 +12303, 2501, 2498, 2878, 2502 +12304, 2500, 2503, 2880, 2502 +12305, 2413, 2416, 2799, 2415 +12306, 2415, 2797, 2411, 2414 +12307, 1109, 2677, 3173, 3192 +12308, 1276, 3173, 2720, 3192 +12309, 2663, 1109, 3157, 3192 +12310, 1013, 2949, 2677, 3192 +12311, 2720, 2949, 1150, 3192 +12312, 2674, 1112, 3170, 3193 +12313, 2716, 3170, 1279, 3193 +12314, 2663, 2933, 1013, 3192 +12315, 2707, 3157, 1276, 3192 +12316, 3155, 1112, 2655, 3193 +12317, 3155, 2697, 1279, 3193 +12318, 2933, 2707, 1150, 3192 +12319, 2647, 2646, 2267, 3057 +12320, 2645, 2267, 2646, 3057 +12321, 2263, 2264, 3063, 2271 +12322, 3063, 2271, 2264, 2268 +12323, 3191, 2952, 2672, 3194 +12324, 2739, 2731, 2746, 1138 +12325, 1144, 2712, 2727, 3191 +12326, 2425, 2805, 2422, 2424 +12327, 2420, 2424, 2803, 2423 +12328, 2872, 2492, 2489, 2493 +12329, 2494, 2874, 2491, 2493 +12330, 2338, 2340, 3132, 2337 +12331, 2336, 3132, 2340, 2337 +12332, 2576, 2577, 2988, 2580 +12333, 2988, 2580, 2577, 2578 +12334, 24, 2963, 1333, 2693 +12335, 1153, 2955, 2716, 3193 +12336, 2566, 2977, 2979, 2980 +12337, 2978, 2564, 2975, 2979 +12338, 2350, 3141, 3142, 3139 +12339, 3137, 3140, 2348, 3141 +12340, 26, 3183, 2693, 1335 +12341, 2882, 2505, 2885, 2881 +12342, 2505, 2882, 2885, 2883 +12343, 2412, 2798, 2795, 2794 +12344, 2795, 2796, 2798, 2412 +12345, 3064, 3066, 2272, 3067 +12346, 3050, 3053, 2642, 3054 +12347, 3054, 2644, 3052, 3055 +12348, 3065, 2270, 3062, 3066 +12349, 2715, 2946, 1165, 3195 +12350, 2810, 2807, 2427, 2806 +12351, 2808, 2427, 2810, 2807 +12352, 2871, 2873, 2870, 2490 +12353, 2490, 2873, 2870, 2869 +12354, 3125, 3128, 2333, 3129 +12355, 3130, 3127, 2335, 3129 +12356, 2991, 2989, 2992, 2581 +12357, 2579, 2987, 2990, 2991 +12358, 1016, 2940, 2655, 3193 +12359, 2500, 1219, 2735, 2877 +12360, 2416, 2734, 1193, 2802 +12361, 2498, 2691, 985, 2875 +12362, 2800, 959, 2414, 2690 +12363, 2693, 1265, 2713, 3183 +12364, 2654, 1124, 3149, 3195 +12365, 2734, 2422, 1194, 2802 +12366, 2800, 2690, 2420, 960 +12367, 2691, 2492, 984, 2875 +12368, 2735, 2877, 1218, 2494 +12369, 2568, 2566, 2979, 2980 +12370, 2979, 2978, 2564, 2568 +12371, 2350, 2349, 3141, 3139 +12372, 2348, 2349, 3137, 3141 +12373, 2955, 1016, 2674, 3193 +12374, 2505, 2503, 2882, 2883 +12375, 2882, 2501, 2505, 2881 +12376, 2798, 2794, 2412, 2411 +12377, 2413, 2798, 2796, 2412 +12378, 2713, 1265, 3148, 3183 +12379, 2656, 1008, 2936, 3194 +12380, 2713, 1139, 2963, 2926 +12381, 3066, 2272, 2271, 3064 +12382, 2642, 3054, 3053, 2646 +12383, 2646, 2644, 3054, 3055 +12384, 3062, 3066, 2270, 2271 +12385, 2567, 2564, 2978, 2568 +12386, 2566, 2568, 2569, 2980 +12387, 2350, 2347, 2349, 3139 +12388, 3137, 2348, 2345, 2349 +12389, 1145, 2699, 2936, 3194 +12390, 3175, 2699, 1271, 3194 +12391, 2427, 2806, 2807, 2423 +12392, 2425, 2427, 2808, 2807 +12393, 2873, 2871, 2491, 2490 +12394, 2873, 2490, 2489, 2869 +12395, 2501, 2882, 2505, 2502 +12396, 2503, 2505, 2882, 2502 +12397, 2415, 2798, 2413, 2412 +12398, 2412, 2415, 2798, 2411 +12399, 2730, 2739, 2740, 1138 +12400, 1104, 2656, 3175, 3194 +12401, 3130, 3129, 2335, 2337 +12402, 2333, 3129, 3128, 2337 +12403, 2989, 2991, 2580, 2581 +12404, 2991, 2579, 2987, 2580 +12405, 1153, 2697, 2940, 3193 +12406, 2268, 2271, 2272, 3064 +12407, 2642, 3053, 2645, 2646 +12408, 3062, 2270, 2263, 2271 +12409, 2646, 2647, 2644, 3055 +12410, 2963, 1139, 2713, 2693 +12411, 2427, 2807, 2425, 2424 +12412, 2807, 2424, 2427, 2423 +12413, 2873, 2493, 2489, 2490 +12414, 2491, 2493, 2873, 2490 +12415, 2333, 3128, 2336, 2337 +12416, 3130, 2335, 2338, 2337 +12417, 2576, 2987, 2579, 2580 +12418, 2580, 2578, 2989, 2581 +12419, 2979, 2565, 2975, 2976 +12420, 2565, 2979, 2977, 2976 +12421, 2352, 3140, 3144, 3141 +12422, 3141, 3144, 2352, 3142 +12423, 2885, 2884, 2881, 2504 +12424, 2885, 2883, 2886, 2506 +12425, 2793, 2410, 2796, 2795 +12426, 2795, 2794, 2791, 2408 +12427, 3054, 3051, 3052, 2643 +12428, 3051, 3054, 3050, 2643 +12429, 3069, 2274, 3066, 3067 +12430, 3066, 3065, 2274, 3069 +12431, 2745, 2732, 2737, 1136 +12432, 2962, 1165, 2946, 3195 +12433, 2810, 2806, 2426, 2809 +12434, 2428, 2811, 2808, 2810 +12435, 2870, 2871, 2488, 2868 +12436, 2870, 2486, 2869, 2866 +12437, 25, 2964, 2692, 1334 +12438, 2686, 2739, 2744, 940 +12439, 942, 2737, 2688, 2736 +12440, 2334, 3126, 3125, 3129 +12441, 3126, 2334, 3127, 3129 +12442, 2994, 2583, 2991, 2992 +12443, 2583, 2991, 2990, 2994 +12444, 2671, 1124, 2654, 3195 +12445, 985, 760, 2691, 2498 +12446, 889, 1219, 2735, 2500 +12447, 2734, 1193, 862, 2416 +12448, 2414, 959, 733, 2690 +12449, 2979, 2977, 2566, 2565 +12450, 2975, 2979, 2564, 2565 +12451, 3141, 3142, 2352, 2350 +12452, 2352, 2348, 3140, 3141 +12453, 2505, 2883, 2885, 2506 +12454, 2881, 2505, 2885, 2504 +12455, 2796, 2795, 2410, 2412 +12456, 2794, 2795, 2412, 2408 +12457, 2568, 2564, 2979, 2565 +12458, 2979, 2566, 2568, 2565 +12459, 3141, 2352, 2349, 2350 +12460, 2352, 2349, 2348, 3141 +12461, 3054, 2642, 3050, 2643 +12462, 3052, 2644, 3054, 2643 +12463, 3065, 2274, 2270, 3066 +12464, 2272, 3066, 2274, 3067 +12465, 2883, 2505, 2503, 2506 +12466, 2505, 2881, 2501, 2504 +12467, 2412, 2411, 2794, 2408 +12468, 2796, 2410, 2413, 2412 +12469, 2360, 715, 2363, 2684 +12470, 778, 2552, 2549, 2685 +12471, 844, 2365, 2728, 2362 +12472, 2729, 2554, 2551, 907 +12473, 2426, 2810, 2427, 2806 +12474, 2810, 2808, 2428, 2427 +12475, 2869, 2870, 2490, 2486 +12476, 2871, 2870, 2488, 2490 +12477, 2734, 863, 1194, 2422 +12478, 2690, 734, 2420, 960 +12479, 759, 984, 2691, 2492 +12480, 1218, 888, 2735, 2494 +12481, 2270, 3066, 2274, 2271 +12482, 2646, 2642, 3054, 2643 +12483, 3054, 2644, 2646, 2643 +12484, 2274, 2271, 3066, 2272 +12485, 3127, 2334, 2335, 3129 +12486, 2333, 2334, 3125, 3129 +12487, 2991, 2992, 2583, 2581 +12488, 2990, 2583, 2579, 2991 +12489, 2425, 2428, 2808, 2427 +12490, 2806, 2427, 2426, 2423 +12491, 2491, 2871, 2488, 2490 +12492, 2489, 2869, 2490, 2486 +12493, 2334, 3129, 2333, 2337 +12494, 3129, 2334, 2335, 2337 +12495, 2991, 2583, 2579, 2580 +12496, 2583, 2580, 2991, 2581 +12497, 2977, 2974, 2563, 2976 +12498, 2970, 2975, 2561, 2976 +12499, 3143, 2351, 3140, 3144 +12500, 3144, 3142, 3145, 2353 +12501, 2508, 2886, 2885, 2888 +12502, 2885, 2884, 2508, 2888 +12503, 2409, 2793, 2792, 2795 +12504, 2795, 2792, 2409, 2791 +12505, 3052, 3049, 2641, 3051 +12506, 3050, 2639, 3047, 3051 +12507, 3065, 3068, 2273, 3069 +12508, 2275, 3069, 3070, 3067 +12509, 2430, 2813, 2810, 2809 +12510, 2813, 2810, 2811, 2430 +12511, 2868, 2870, 2867, 2487 +12512, 2487, 2870, 2867, 2866 +12513, 2332, 3127, 3124, 3126 +12514, 3125, 2330, 3122, 3126 +12515, 2995, 2994, 2992, 2584 +12516, 2582, 2990, 2993, 2994 +12517, 2709, 2964, 1176, 2930 +12518, 2975, 2564, 2561, 2565 +12519, 2977, 2563, 2566, 2565 +12520, 2352, 2350, 3142, 2353 +12521, 2348, 3140, 2351, 2352 +12522, 2565, 2561, 2975, 2976 +12523, 2563, 2565, 2977, 2976 +12524, 3144, 2351, 3140, 2352 +12525, 3142, 3144, 2352, 2353 +12526, 2885, 2508, 2505, 2506 +12527, 2508, 2885, 2505, 2504 +12528, 2410, 2795, 2409, 2412 +12529, 2409, 2412, 2795, 2408 +12530, 2885, 2886, 2508, 2506 +12531, 2508, 2884, 2885, 2504 +12532, 2409, 2410, 2793, 2795 +12533, 2795, 2791, 2409, 2408 +12534, 2275, 2272, 2274, 3067 +12535, 3065, 2273, 2270, 2274 +12536, 3052, 2641, 2644, 2643 +12537, 2639, 3050, 2642, 2643 +12538, 2275, 2274, 3069, 3067 +12539, 2273, 2274, 3065, 3069 +12540, 2639, 3051, 3050, 2643 +12541, 3052, 3051, 2641, 2643 +12542, 2810, 2427, 2428, 2430 +12543, 2430, 2810, 2427, 2426 +12544, 2487, 2488, 2870, 2490 +12545, 2487, 2490, 2870, 2486 +12546, 2810, 2428, 2811, 2430 +12547, 2810, 2426, 2430, 2809 +12548, 2870, 2868, 2488, 2487 +12549, 2487, 2486, 2870, 2866 +12550, 2330, 2334, 3125, 2333 +12551, 2335, 2332, 2334, 3127 +12552, 2990, 2582, 2579, 2583 +12553, 2584, 2583, 2992, 2581 +12554, 2334, 2330, 3125, 3126 +12555, 3127, 2332, 2334, 3126 +12556, 2583, 2992, 2994, 2584 +12557, 2582, 2583, 2990, 2994 +12558, 2970, 2562, 2971, 2976 +12559, 2562, 2974, 2971, 2976 +12560, 2968, 2355, 3144, 3145 +12561, 3143, 3144, 2968, 2355 +12562, 2507, 2884, 2887, 2888 +12563, 2886, 2509, 2889, 2888 +12564, 2407, 2793, 2790, 2792 +12565, 2788, 2792, 2791, 2405 +12566, 3048, 3047, 2640, 3051 +12567, 3049, 3048, 2640, 3051 +12568, 2277, 3069, 3072, 3070 +12569, 3068, 3072, 2277, 3069 +12570, 2952, 2936, 1008, 3194 +12571, 2811, 2431, 2814, 2813 +12572, 2813, 2809, 2429, 2812 +12573, 2485, 2865, 2867, 2868 +12574, 2867, 2863, 2483, 2866 +12575, 1104, 2672, 2656, 3194 +12576, 2672, 1008, 2656, 3194 +12577, 3123, 3122, 2331, 3126 +12578, 3124, 3123, 2331, 3126 +12579, 2586, 2994, 2997, 2995 +12580, 2993, 2997, 2586, 2994 +12581, 2936, 2952, 1145, 3194 +12582, 2709, 2692, 1176, 2964 +12583, 3153, 1104, 3175, 3194 +12584, 3175, 1271, 3153, 3194 +12585, 2699, 1145, 2727, 3194 +12586, 3173, 3157, 1109, 3192 +12587, 3157, 3173, 1276, 3192 +12588, 2933, 2949, 1013, 3192 +12589, 1150, 2949, 2933, 3192 +12590, 2663, 2677, 1109, 3192 +12591, 3170, 1112, 3155, 3193 +12592, 3170, 3155, 1279, 3193 +12593, 2697, 1153, 2716, 3193 +12594, 1276, 2720, 2707, 3192 +12595, 2697, 2716, 1279, 3193 +12596, 1013, 2677, 2663, 3192 +12597, 2655, 1112, 2674, 3193 +12598, 1150, 2707, 2720, 3192 +12599, 2361, 2728, 2362, 2359 +12600, 2557, 2729, 2554, 2556 +12601, 2555, 2552, 2685, 2556 +12602, 2360, 2357, 2684, 2361 +12603, 2699, 2727, 1271, 3194 +12604, 2561, 2565, 2562, 2976 +12605, 2565, 2563, 2562, 2976 +12606, 2351, 2352, 3144, 2355 +12607, 3144, 2355, 2352, 2353 +12608, 2508, 2506, 2886, 2509 +12609, 2508, 2507, 2884, 2504 +12610, 2409, 2408, 2791, 2405 +12611, 2410, 2793, 2407, 2409 +12612, 2974, 2562, 2563, 2976 +12613, 2561, 2562, 2970, 2976 +12614, 3144, 3143, 2351, 2355 +12615, 3144, 3145, 2355, 2353 +12616, 2641, 3051, 2640, 2643 +12617, 3051, 2639, 2640, 2643 +12618, 3069, 2277, 2274, 2275 +12619, 2277, 2274, 2273, 3069 +12620, 2509, 2886, 2508, 2888 +12621, 2884, 2507, 2508, 2888 +12622, 2792, 2407, 2793, 2409 +12623, 2791, 2792, 2409, 2405 +12624, 2428, 2431, 2811, 2430 +12625, 2430, 2426, 2429, 2809 +12626, 2868, 2485, 2488, 2487 +12627, 2486, 2487, 2483, 2866 +12628, 2974, 2973, 2560, 2971 +12629, 2970, 2558, 2969, 2971 +12630, 2354, 3143, 2972, 2968 +12631, 2967, 2356, 2968, 3145 +12632, 2331, 2330, 2334, 3126 +12633, 2332, 2331, 2334, 3126 +12634, 2583, 2994, 2586, 2584 +12635, 2582, 2586, 2583, 2994 +12636, 2640, 2641, 3049, 3051 +12637, 2640, 3047, 2639, 3051 +12638, 2277, 2273, 3068, 3069 +12639, 3069, 3070, 2277, 2275 +12640, 1291, 3169, 2715, 3195 +12641, 2429, 2813, 2430, 2809 +12642, 2813, 2811, 2431, 2430 +12643, 2867, 2483, 2487, 2866 +12644, 2485, 2868, 2867, 2487 +12645, 2891, 2889, 2511, 2888 +12646, 2511, 2887, 2891, 2888 +12647, 2792, 2789, 2406, 2788 +12648, 2790, 2406, 2792, 2789 +12649, 2636, 3044, 3047, 3048 +12650, 2638, 3049, 3046, 3048 +12651, 3072, 3073, 2278, 3070 +12652, 2276, 3068, 3071, 3072 +12653, 2332, 3124, 2331, 3126 +12654, 2330, 2331, 3122, 3126 +12655, 2993, 2586, 2582, 2994 +12656, 2995, 2586, 2994, 2584 +12657, 1291, 2701, 3149, 3195 +12658, 2814, 2813, 2433, 2816 +12659, 2433, 2816, 2813, 2812 +12660, 2864, 2484, 2867, 2863 +12661, 2484, 2864, 2867, 2865 +12662, 1016, 2655, 2674, 3193 +12663, 3121, 2329, 3124, 3123 +12664, 2327, 3119, 3122, 3123 +12665, 2996, 2585, 2993, 2997 +12666, 2997, 2995, 2998, 2587 +12667, 18, 2965, 1334, 2684 +12668, 2966, 19, 1333, 2685 +12669, 2955, 1153, 2940, 3193 +12670, 1016, 2955, 2940, 3193 +12671, 2560, 2563, 2974, 2562 +12672, 2970, 2561, 2558, 2562 +12673, 2355, 3145, 2356, 2353 +12674, 2354, 2351, 3143, 2355 +12675, 2511, 2509, 2508, 2888 +12676, 2507, 2511, 2508, 2888 +12677, 2792, 2406, 2409, 2405 +12678, 2407, 2409, 2792, 2406 +12679, 2636, 3047, 2639, 2640 +12680, 2638, 2641, 3049, 2640 +12681, 2277, 3070, 2278, 2275 +12682, 2276, 2273, 3068, 2277 +12683, 1007, 2952, 2672, 3191 +12684, 2715, 1165, 2701, 3195 +12685, 2813, 2431, 2433, 2430 +12686, 2430, 2433, 2813, 2429 +12687, 2485, 2867, 2484, 2487 +12688, 2487, 2867, 2484, 2483 +12689, 2558, 2971, 2970, 2562 +12690, 2974, 2971, 2560, 2562 +12691, 2968, 2356, 2355, 3145 +12692, 3143, 2968, 2354, 2355 +12693, 2332, 2329, 2331, 3124 +12694, 2327, 2331, 3122, 2330 +12695, 2582, 2993, 2585, 2586 +12696, 2995, 2587, 2586, 2584 +12697, 2892, 2891, 2889, 2512 +12698, 2887, 2891, 2890, 2510 +12699, 2785, 2789, 2788, 2402 +12700, 2404, 2790, 2787, 2789 +12701, 2511, 2507, 2887, 2888 +12702, 2509, 2511, 2889, 2888 +12703, 2407, 2792, 2790, 2406 +12704, 2792, 2788, 2406, 2405 +12705, 3044, 3048, 2637, 3045 +12706, 3048, 3046, 2637, 3045 +12707, 2280, 3072, 3075, 3073 +12708, 3071, 3075, 2280, 3072 +12709, 2638, 2640, 3049, 3048 +12710, 3047, 2640, 2636, 3048 +12711, 3072, 2278, 2277, 3070 +12712, 2276, 2277, 3068, 3072 +12713, 2480, 2863, 2864, 2860 +12714, 2864, 2865, 2482, 2862 +12715, 2434, 2817, 2814, 2816 +12716, 2816, 2812, 2432, 2815 +12717, 3123, 3119, 3120, 2328 +12718, 3121, 3123, 3120, 2328 +12719, 2997, 2998, 3000, 2589 +12720, 2997, 3000, 2996, 2589 +12721, 2813, 2429, 2433, 2812 +12722, 2433, 2814, 2431, 2813 +12723, 2867, 2485, 2484, 2865 +12724, 2483, 2867, 2484, 2863 +12725, 2973, 2559, 2971, 1335 +12726, 2968, 1336, 2972, 2358 +12727, 2559, 2969, 2971, 1335 +12728, 2358, 2968, 1336, 2967 +12729, 2331, 3124, 2329, 3123 +12730, 2331, 2327, 3122, 3123 +12731, 2586, 2995, 2997, 2587 +12732, 2586, 2993, 2585, 2997 +12733, 2660, 2939, 1007, 3191 +12734, 3149, 1124, 3169, 3195 +12735, 1103, 2660, 2672, 3191 +12736, 2560, 2562, 2971, 2559 +12737, 2562, 2558, 2971, 2559 +12738, 2354, 2355, 2968, 2358 +12739, 2968, 2358, 2355, 2356 +12740, 2507, 2511, 2887, 2510 +12741, 2511, 2509, 2889, 2512 +12742, 2407, 2790, 2404, 2406 +12743, 2406, 2405, 2788, 2402 +12744, 2638, 2637, 2640, 3048 +12745, 2637, 2636, 2640, 3048 +12746, 2277, 3072, 2280, 2278 +12747, 2276, 2280, 2277, 3072 +12748, 2432, 2433, 2429, 2812 +12749, 2434, 2814, 2431, 2433 +12750, 2483, 2484, 2480, 2863 +12751, 2484, 2485, 2482, 2865 +12752, 2514, 2891, 2894, 2892 +12753, 2891, 2514, 2894, 2890 +12754, 2789, 2786, 2403, 2785 +12755, 2403, 2789, 2787, 2786 +12756, 2331, 3123, 2329, 2328 +12757, 2327, 3123, 2331, 2328 +12758, 2586, 2587, 2997, 2589 +12759, 2586, 2997, 2585, 2589 +12760, 2968, 2972, 2354, 2358 +12761, 2971, 2973, 2560, 2559 +12762, 2971, 2558, 2969, 2559 +12763, 2968, 2967, 2358, 2356 +12764, 3041, 3044, 2633, 3045 +12765, 3046, 3043, 2635, 3045 +12766, 3071, 3074, 2279, 3075 +12767, 2281, 3075, 3076, 3073 +12768, 2864, 2861, 2481, 2860 +12769, 2864, 2862, 2481, 2861 +12770, 2819, 2817, 2436, 2816 +12771, 2816, 2436, 2819, 2815 +12772, 1144, 2952, 2939, 3191 +12773, 2324, 3120, 3116, 3119 +12774, 3120, 3118, 3121, 2326 +12775, 2996, 2999, 2588, 3000 +12776, 3000, 2590, 2998, 3001 +12777, 2891, 2887, 2511, 2510 +12778, 2889, 2891, 2511, 2512 +12779, 2404, 2406, 2790, 2789 +12780, 2406, 2788, 2789, 2402 +12781, 1334, 2363, 18, 2684 +12782, 19, 2549, 1333, 2685 +12783, 2728, 2365, 25, 1334 +12784, 1333, 2551, 24, 2729 +12785, 2637, 2638, 3046, 3048 +12786, 2636, 2637, 3044, 3048 +12787, 2280, 2276, 3071, 3072 +12788, 2280, 2278, 3072, 3073 +12789, 2972, 2357, 2354, 2358 +12790, 2557, 2560, 2973, 2559 +12791, 2558, 2555, 2969, 2559 +12792, 2358, 2967, 2359, 2356 +12793, 2814, 2433, 2434, 2816 +12794, 2433, 2432, 2816, 2812 +12795, 2864, 2480, 2484, 2863 +12796, 2484, 2482, 2864, 2865 +12797, 3123, 2327, 3119, 2328 +12798, 2329, 3123, 3121, 2328 +12799, 2997, 2587, 2998, 2589 +12800, 2997, 2996, 2585, 2589 +12801, 2511, 2514, 2891, 2510 +12802, 2514, 2511, 2891, 2512 +12803, 2403, 2406, 2789, 2402 +12804, 2789, 2404, 2406, 2403 +12805, 2693, 1333, 24, 2729 +12806, 3046, 2635, 2638, 2637 +12807, 2633, 3044, 2636, 2637 +12808, 3071, 2279, 2276, 2280 +12809, 2281, 2278, 2280, 3073 +12810, 2894, 2893, 2890, 2513 +12811, 2895, 2894, 2892, 2515 +12812, 2401, 2787, 2784, 2786 +12813, 2782, 2786, 2785, 2399 +12814, 2816, 2433, 2436, 2432 +12815, 2481, 2484, 2864, 2480 +12816, 2436, 2434, 2433, 2816 +12817, 2484, 2481, 2864, 2482 +12818, 2634, 3043, 3042, 3045 +12819, 3042, 3041, 2634, 3045 +12820, 3075, 3078, 2283, 3076 +12821, 3074, 2283, 3075, 3078 +12822, 2327, 2324, 3119, 2328 +12823, 2329, 2328, 3121, 2326 +12824, 2588, 2585, 2996, 2589 +12825, 2590, 2998, 2587, 2589 +12826, 2477, 2861, 2857, 2860 +12827, 2479, 2862, 2859, 2861 +12828, 2817, 2437, 2820, 2819 +12829, 2819, 2818, 2815, 2435 +12830, 3120, 3116, 3117, 2325 +12831, 2325, 3117, 3120, 3118 +12832, 3003, 3000, 3001, 2592 +12833, 3000, 3003, 2999, 2592 +12834, 2891, 2892, 2514, 2512 +12835, 2890, 2891, 2514, 2510 +12836, 2404, 2789, 2787, 2403 +12837, 2789, 2785, 2403, 2402 +12838, 2972, 1336, 2357, 2358 +12839, 2557, 2559, 2973, 1335 +12840, 2559, 2555, 2969, 1335 +12841, 1336, 2359, 2358, 2967 +12842, 2637, 2633, 3044, 3045 +12843, 2635, 2637, 3046, 3045 +12844, 2279, 2280, 3071, 3075 +12845, 2281, 2280, 3075, 3073 +12846, 2864, 2482, 2481, 2862 +12847, 2481, 2480, 2864, 2860 +12848, 2816, 2432, 2436, 2815 +12849, 2434, 2436, 2817, 2816 +12850, 2933, 1013, 1012, 2663 +12851, 2954, 1010, 1009, 2678 +12852, 2949, 1150, 1151, 2720 +12853, 1147, 2954, 1146, 2717 +12854, 2949, 2677, 1014, 1013 +12855, 2653, 1111, 1110, 3154 +12856, 3154, 1277, 2696, 1278 +12857, 1109, 2677, 1110, 3173 +12858, 1277, 3173, 2720, 1276 +12859, 1151, 2696, 1152, 2931 +12860, 1150, 2933, 1149, 2707 +12861, 1012, 1011, 2948, 2673 +12862, 1111, 2674, 1112, 3170 +12863, 2716, 1279, 3170, 1278 +12864, 1149, 2948, 1148, 2722 +12865, 1275, 2707, 3157, 1276 +12866, 2715, 1292, 3169, 1291 +12867, 1035, 1034, 2958, 2650 +12868, 2656, 2936, 1008, 1009 +12869, 1148, 2937, 1147, 2702 +12870, 2937, 1011, 1010, 2662 +12871, 1131, 2670, 1132, 3146 +12872, 1036, 2942, 2670, 1035 +12873, 1103, 2672, 1104, 3153 +12874, 3120, 3119, 2324, 2328 +12875, 2328, 3120, 3121, 2326 +12876, 2998, 2590, 3000, 2589 +12877, 2996, 3000, 2588, 2589 +12878, 2672, 2952, 1007, 1008 +12879, 1109, 1108, 2663, 3157 +12880, 2510, 2514, 2890, 2513 +12881, 2892, 2515, 2514, 2512 +12882, 2403, 2402, 2785, 2399 +12883, 2404, 2787, 2401, 2403 +12884, 2699, 2936, 1146, 1145 +12885, 3146, 1298, 2714, 1299 +12886, 3149, 1290, 2701, 1291 +12887, 2931, 2653, 1015, 1014 +12888, 2708, 1293, 3150, 1292 +12889, 2650, 1131, 1130, 3178 +12890, 2894, 2893, 2517, 2897 +12891, 2517, 2895, 2894, 2897 +12892, 2400, 2784, 2783, 2786 +12893, 2786, 2783, 2400, 2782 +12894, 2633, 2637, 2634, 3045 +12895, 2637, 2635, 2634, 3045 +12896, 2280, 3075, 2279, 2283 +12897, 2283, 2280, 3075, 2281 +12898, 1125, 2651, 1126, 3150 +12899, 3041, 2630, 3038, 3042 +12900, 3042, 3043, 2632, 3040 +12901, 3078, 3076, 3079, 2284 +12902, 3077, 2282, 3074, 3078 +12903, 3178, 1297, 2695, 1298 +12904, 2480, 2481, 2477, 2860 +12905, 2481, 2862, 2482, 2479 +12906, 2436, 2815, 2432, 2435 +12907, 2434, 2437, 2817, 2436 +12908, 2478, 2861, 2858, 2857 +12909, 2478, 2859, 2858, 2861 +12910, 2820, 2439, 2822, 2819 +12911, 2822, 2819, 2439, 2818 +12912, 1172, 2714, 1173, 2942 +12913, 2655, 1113, 1112, 3155 +12914, 3155, 1279, 2697, 1280 +12915, 2325, 3120, 2328, 2326 +12916, 3120, 2328, 2324, 2325 +12917, 3000, 2589, 2590, 2592 +12918, 2589, 3000, 2588, 2592 +12919, 3115, 3118, 3117, 2323 +12920, 3116, 2321, 3113, 3117 +12921, 3001, 2593, 3004, 3003 +12922, 2591, 2999, 3002, 3003 +12923, 1125, 1124, 2671, 3169 +12924, 2722, 3181, 1274, 1275 +12925, 2962, 1164, 1165, 2701 +12926, 1153, 2955, 1152, 2716 +12927, 1132, 2658, 1133, 3179 +12928, 2679, 1034, 2929, 1033 +12929, 2721, 1164, 1163, 2938 +12930, 1104, 2656, 1105, 3175 +12931, 2953, 2683, 1006, 1005 +12932, 1172, 1171, 2695, 2958 +12933, 2939, 1007, 1006, 2660 +12934, 1107, 2673, 1108, 3181 +12935, 1037, 1036, 2959, 2658 +12936, 2357, 1336, 2361, 2358 +12937, 2361, 2358, 1336, 2359 +12938, 2556, 2555, 2559, 1335 +12939, 2557, 2556, 2559, 1335 +12940, 1170, 2726, 1171, 2929 +12941, 1122, 1121, 2681, 3160 +12942, 1106, 2662, 1107, 3166 +12943, 25, 2692, 2728, 1334 +12944, 2935, 1025, 1024, 2657 +12945, 2952, 1144, 1145, 2727 +12946, 3159, 1273, 1272, 2717 +12947, 1167, 1166, 2708, 2932 +12948, 1289, 3160, 2706, 1288 +12949, 1102, 2660, 1103, 3180 +12950, 1016, 2940, 1017, 2655 +12951, 1270, 1271, 2727, 3153 +12952, 2682, 1127, 1126, 3167 +12953, 2726, 1297, 3147, 1296 +12954, 3171, 1295, 2710, 1296 +12955, 2939, 1143, 1144, 2712 +12956, 2667, 1128, 1127, 3151 +12957, 2938, 1027, 1026, 2666 +12958, 2744, 2746, 2739, 2928 +12959, 2736, 2737, 3158, 2741 +12960, 2941, 2745, 2737, 2742 +12961, 2746, 2744, 2743, 2928 +12962, 1332, 2736, 3158, 2741 +12963, 2743, 2745, 2941, 2742 +12964, 1300, 3179, 2703, 1299 +12965, 1332, 3156, 2738, 2740 +12966, 2890, 2514, 2894, 2513 +12967, 2514, 2892, 2894, 2515 +12968, 2403, 2785, 2786, 2399 +12969, 2401, 2403, 2787, 2786 +12970, 2896, 2516, 2893, 2897 +12971, 2895, 2518, 2898, 2897 +12972, 2783, 2782, 2779, 2396 +12973, 2781, 2398, 2784, 2783 +12974, 3175, 1271, 2699, 1272 +12975, 2955, 1016, 1015, 2674 +12976, 2723, 1294, 3167, 1293 +12977, 3168, 1289, 2721, 1290 +12978, 2679, 1130, 1129, 3147 +12979, 1121, 1120, 2657, 3174 +12980, 1029, 1028, 2946, 2671 +12981, 2894, 2517, 2514, 2515 +12982, 2517, 2894, 2514, 2513 +12983, 2400, 2403, 2401, 2786 +12984, 2786, 2400, 2403, 2399 +12985, 3038, 3039, 3042, 2631 +12986, 3040, 3042, 3039, 2631 +12987, 3081, 2286, 3077, 3078 +12988, 3078, 3081, 2286, 3079 +12989, 2947, 2682, 1031, 1030 +12990, 3043, 2634, 2635, 3045 +12991, 2633, 2634, 3041, 3045 +12992, 3075, 3076, 2283, 2281 +12993, 2279, 3075, 3074, 2283 +12994, 1142, 2934, 1141, 2718 +12995, 2474, 2857, 2858, 2854 +12996, 2858, 2856, 2859, 2476 +12997, 2822, 2821, 2818, 2438 +12998, 2823, 2820, 2440, 2822 +12999, 2630, 3041, 2633, 2634 +13000, 2632, 2634, 2635, 3043 +13001, 3074, 2282, 2279, 2283 +13002, 2283, 2281, 3076, 2284 +13003, 2862, 2479, 2481, 2861 +13004, 2861, 2477, 2481, 2860 +13005, 2817, 2436, 2437, 2819 +13006, 2815, 2436, 2819, 2435 +13007, 3117, 3113, 3114, 2322 +13008, 2322, 3114, 3117, 3115 +13009, 3003, 3004, 3006, 2595 +13010, 3002, 3003, 3006, 2595 +13011, 2861, 2478, 2481, 2477 +13012, 2481, 2479, 2478, 2861 +13013, 2436, 2439, 2437, 2819 +13014, 2439, 2819, 2436, 2435 +13015, 1003, 2950, 1004, 2659 +13016, 2738, 3156, 2739, 2740 +13017, 3116, 2324, 2321, 2325 +13018, 2325, 2323, 3118, 2326 +13019, 3001, 2590, 2593, 2592 +13020, 2588, 2999, 2591, 2592 +13021, 2325, 3118, 3120, 2326 +13022, 3116, 3120, 2324, 2325 +13023, 3001, 3000, 2590, 2592 +13024, 2588, 3000, 2999, 2592 +13025, 1027, 2962, 1028, 2654 +13026, 1143, 2953, 1142, 2698 +13027, 2694, 1295, 3151, 1294 +13028, 1128, 2652, 1129, 3171 +13029, 1168, 1167, 2723, 2947 +13030, 1025, 2951, 1026, 2681 +13031, 1173, 2703, 1174, 2959 +13032, 18, 2363, 715, 2684 +13033, 778, 2549, 19, 2685 +13034, 25, 2728, 844, 2365 +13035, 24, 2729, 2551, 907 +13036, 2520, 2898, 2897, 2900 +13037, 2896, 2520, 2897, 2900 +13038, 2783, 2780, 2397, 2779 +13039, 2781, 2397, 2783, 2780 +13040, 3035, 3038, 2627, 3039 +13041, 3039, 3040, 2629, 3037 +13042, 3080, 2285, 3077, 3081 +13043, 3081, 3079, 3082, 2287 +13044, 1268, 1267, 3161, 2718 +13045, 2950, 1140, 1141, 2704 +13046, 2823, 2825, 2822, 2442 +13047, 2822, 2442, 2825, 2821 +13048, 2475, 2858, 2855, 2854 +13049, 2855, 2856, 2858, 2475 +13050, 2517, 2515, 2895, 2518 +13051, 2893, 2513, 2517, 2516 +13052, 2784, 2398, 2401, 2400 +13053, 2400, 2399, 2782, 2396 +13054, 3112, 3115, 3114, 2320 +13055, 2318, 3110, 3113, 3114 +13056, 2596, 3007, 3004, 3006 +13057, 3005, 2594, 3002, 3006 +13058, 2630, 3042, 2634, 2631 +13059, 2632, 2634, 3042, 2631 +13060, 2283, 3078, 2286, 2284 +13061, 2282, 2286, 2283, 3078 +13062, 2435, 2439, 2818, 2438 +13063, 2859, 2479, 2478, 2476 +13064, 2478, 2857, 2474, 2477 +13065, 2440, 2820, 2437, 2439 +13066, 3148, 1265, 2713, 1266 +13067, 2322, 3117, 2325, 2323 +13068, 2325, 2321, 3117, 2322 +13069, 2595, 2591, 3003, 2592 +13070, 2593, 2595, 3003, 2592 +13071, 2894, 2895, 2517, 2515 +13072, 2517, 2893, 2894, 2513 +13073, 2400, 2401, 2784, 2786 +13074, 2786, 2782, 2400, 2399 +13075, 3041, 2634, 2630, 3042 +13076, 2634, 2632, 3042, 3043 +13077, 2283, 3076, 3078, 2284 +13078, 2283, 3074, 2282, 3078 +13079, 2478, 2479, 2859, 2861 +13080, 2439, 2820, 2437, 2819 +13081, 2861, 2857, 2478, 2477 +13082, 2439, 2818, 2819, 2435 +13083, 1175, 1174, 2724, 2943 +13084, 2321, 3117, 3116, 2325 +13085, 3117, 3118, 2325, 2323 +13086, 3003, 2591, 2999, 2592 +13087, 2593, 3003, 3001, 2592 +13088, 2901, 2898, 2521, 2900 +13089, 2900, 2896, 2519, 2899 +13090, 2781, 2778, 2395, 2780 +13091, 2779, 2776, 2780, 2393 +13092, 2269, 20, 15, 2262 +13093, 16, 2265, 27, 2266 +13094, 3039, 2628, 3036, 3037 +13095, 3035, 3036, 3039, 2628 +13096, 3084, 2289, 3081, 3082 +13097, 2289, 3081, 3080, 3084 +13098, 1140, 1139, 2713, 2926 +13099, 2654, 1124, 1123, 3149 +13100, 2652, 2957, 1032, 1033 +13101, 1064, 2342, 2339, 3134 +13102, 2341, 3136, 2344, 1327 +13103, 1240, 2575, 2983, 2572 +13104, 2573, 1073, 2981, 2570 +13105, 2826, 2823, 2443, 2825 +13106, 2441, 2825, 2821, 2824 +13107, 2856, 2473, 2855, 2853 +13108, 2471, 2855, 2851, 2854 +13109, 3114, 2319, 3111, 3112 +13110, 3110, 3111, 3114, 2319 +13111, 2598, 3009, 3007, 3006 +13112, 3005, 3009, 2598, 3006 +13113, 2724, 1301, 3152, 1300 +13114, 2517, 2897, 2516, 2520 +13115, 2897, 2517, 2518, 2520 +13116, 2398, 2400, 2783, 2397 +13117, 2783, 2397, 2400, 2396 +13118, 2694, 1169, 1168, 2927 +13119, 3038, 2630, 2627, 2631 +13120, 2632, 3040, 2629, 2631 +13121, 2282, 3077, 2285, 2286 +13122, 2287, 2286, 3079, 2284 +13123, 2439, 2440, 2822, 2442 +13124, 2442, 2822, 2439, 2438 +13125, 2858, 2475, 2478, 2474 +13126, 2476, 2478, 2858, 2475 +13127, 2318, 3113, 2321, 2322 +13128, 2322, 2320, 3115, 2323 +13129, 2591, 3002, 2594, 2595 +13130, 2596, 3004, 2593, 2595 +13131, 1219, 2877, 2500, 2880 +13132, 2875, 985, 2498, 2878 +13133, 2416, 2802, 1193, 2799 +13134, 2797, 2414, 2800, 959 +13135, 1003, 1002, 2926, 2669 +13136, 2934, 1004, 2668, 1005 +13137, 3166, 2702, 1274, 1273 +13138, 1165, 2715, 1166, 2946 +13139, 3182, 1280, 2719, 1281 +13140, 2805, 1194, 2422, 2802 +13141, 2420, 2803, 2800, 960 +13142, 2872, 984, 2492, 2875 +13143, 2874, 1218, 2877, 2494 +13144, 1266, 2704, 3172, 1267 +13145, 2903, 2900, 2523, 2899 +13146, 2523, 2903, 2901, 2900 +13147, 2394, 2778, 2777, 2780 +13148, 2776, 2394, 2777, 2780 +13149, 2709, 1302, 3163, 1301 +13150, 3035, 2624, 3032, 3036 +13151, 3036, 3034, 3037, 2626 +13152, 3084, 3085, 2290, 3082 +13153, 2288, 3080, 3083, 3084 +13154, 2516, 2517, 2893, 2897 +13155, 2518, 2895, 2517, 2897 +13156, 2784, 2783, 2398, 2400 +13157, 2782, 2783, 2400, 2396 +13158, 2828, 2825, 2826, 2445 +13159, 2445, 2828, 2825, 2824 +13160, 2852, 2472, 2855, 2851 +13161, 2472, 2852, 2855, 2853 +13162, 3174, 1288, 1287, 2711 +13163, 3111, 2317, 3109, 3112 +13164, 3107, 3110, 2315, 3111 +13165, 3010, 3007, 2599, 3009 +13166, 2597, 3005, 3008, 3009 +13167, 1100, 2668, 1101, 3161 +13168, 3042, 3040, 2632, 2631 +13169, 3038, 3042, 2630, 2631 +13170, 2286, 2282, 3077, 3078 +13171, 3079, 2286, 3078, 2284 +13172, 1169, 2710, 1170, 2957 +13173, 2666, 1123, 1122, 3168 +13174, 1031, 2927, 1032, 2667 +13175, 2859, 2478, 2858, 2476 +13176, 2858, 2474, 2478, 2857 +13177, 2440, 2822, 2820, 2439 +13178, 2822, 2818, 2439, 2438 +13179, 3113, 3117, 2321, 2322 +13180, 2322, 3115, 3117, 2323 +13181, 2591, 3003, 3002, 2595 +13182, 3003, 2593, 3004, 2595 +13183, 3164, 2698, 1269, 1268 +13184, 708, 2339, 1064, 2342 +13185, 837, 2341, 2344, 1327 +13186, 2575, 1240, 914, 2572 +13187, 1073, 2573, 785, 2570 +13188, 1154, 1153, 2697, 2940 +13189, 1105, 2678, 1106, 3159 +13190, 2521, 2898, 2518, 2520 +13191, 2516, 2896, 2519, 2520 +13192, 2398, 2781, 2395, 2397 +13193, 2397, 2396, 2779, 2393 +13194, 2629, 3039, 2628, 2631 +13195, 2627, 2628, 3039, 2631 +13196, 2285, 3081, 2289, 2286 +13197, 2289, 2286, 3081, 2287 +13198, 2438, 2442, 2821, 2441 +13199, 2474, 2475, 2471, 2854 +13200, 2856, 2473, 2476, 2475 +13201, 2443, 2823, 2440, 2442 +13202, 1162, 2935, 1161, 2711 +13203, 2943, 1038, 1037, 2680 +13204, 2675, 1114, 1113, 3182 +13205, 1287, 3162, 2725, 1286 +13206, 2322, 2318, 3114, 2319 +13207, 2319, 3114, 2322, 2320 +13208, 2594, 3006, 2598, 2595 +13209, 2598, 3006, 2596, 2595 +13210, 1334, 2367, 2750, 2749 +13211, 1333, 2752, 2550, 2754 +13212, 2751, 2550, 1333, 2752 +13213, 2367, 2749, 1334, 2747 +13214, 2945, 1154, 1155, 2719 +13215, 2901, 2524, 2904, 2903 +13216, 2902, 2903, 2522, 2899 +13217, 2392, 2778, 2775, 2777 +13218, 2776, 2390, 2773, 2777 +13219, 3036, 2625, 3032, 3033 +13220, 3036, 3034, 2625, 3033 +13221, 3084, 3083, 2292, 3087 +13222, 3087, 2292, 3084, 3085 +13223, 2966, 2649, 19, 2685 +13224, 1038, 2930, 1039, 2665 +13225, 1161, 2944, 1160, 2725 +13226, 2828, 2824, 2444, 2827 +13227, 2446, 2829, 2826, 2828 +13228, 2852, 2853, 2470, 2850 +13229, 2851, 2848, 2852, 2468 +13230, 3108, 3111, 2316, 3109 +13231, 3111, 2316, 3107, 3108 +13232, 2601, 3008, 3012, 3009 +13233, 3012, 3010, 2601, 3009 +13234, 1156, 2961, 1155, 2705 +13235, 2706, 1163, 1162, 2951 +13236, 2981, 2567, 1072, 2978 +13237, 1239, 2980, 2569, 2983 +13238, 2347, 3136, 3139, 1328 +13239, 3137, 1065, 3134, 2345 +13240, 2664, 1119, 1118, 3177 +13241, 1101, 2683, 1102, 3164 +13242, 2749, 2747, 2366, 2748 +13243, 2753, 2750, 2368, 2749 +13244, 2925, 2548, 2751, 2752 +13245, 2546, 2752, 2923, 2754 +13246, 2932, 1029, 2651, 1030 +13247, 1160, 2960, 1159, 2700 +13248, 1270, 1269, 3180, 2712 +13249, 3062, 1040, 3059, 2263 +13250, 1264, 2647, 3058, 3055 +13251, 2645, 3056, 3053, 1097 +13252, 2268, 3061, 3064, 1303 +13253, 2676, 1120, 1119, 3162 +13254, 2523, 2521, 2520, 2900 +13255, 2519, 2523, 2520, 2900 +13256, 2394, 2397, 2395, 2780 +13257, 2397, 2780, 2394, 2393 +13258, 2897, 2896, 2516, 2520 +13259, 2897, 2518, 2898, 2520 +13260, 2398, 2783, 2781, 2397 +13261, 2783, 2779, 2397, 2396 +13262, 2628, 3037, 2629, 2626 +13263, 3035, 2627, 2624, 2628 +13264, 2289, 3082, 2290, 2287 +13265, 2288, 2285, 3080, 2289 +13266, 1063, 3131, 2336, 3128 +13267, 2338, 3130, 3133, 1326 +13268, 2986, 1241, 2989, 2578 +13269, 1074, 2984, 2987, 2576 +13270, 2903, 2526, 2906, 2902 +13271, 2904, 2906, 2903, 2526 +13272, 2774, 2777, 2773, 2391 +13273, 2775, 2777, 2774, 2391 +13274, 1134, 1133, 2680, 3152 +13275, 2473, 2855, 2472, 2475 +13276, 2475, 2855, 2472, 2471 +13277, 2443, 2445, 2825, 2442 +13278, 2825, 2442, 2445, 2441 +13279, 2623, 3034, 3031, 3033 +13280, 2621, 3029, 3032, 3033 +13281, 3086, 2291, 3083, 3087 +13282, 3085, 3087, 2293, 3088 +13283, 2627, 3039, 3038, 2631 +13284, 3040, 3039, 2629, 2631 +13285, 3081, 2285, 3077, 2286 +13286, 3079, 3081, 2286, 2287 +13287, 2850, 2852, 2849, 2469 +13288, 2469, 2852, 2849, 2848 +13289, 2831, 2828, 2448, 2827 +13290, 2448, 2829, 2828, 2831 +13291, 3112, 2319, 2317, 2320 +13292, 2318, 2315, 3110, 2319 +13293, 2594, 2597, 2598, 3005 +13294, 3007, 2598, 2596, 2599 +13295, 3108, 2314, 3106, 3109 +13296, 3104, 3107, 2312, 3108 +13297, 2602, 3010, 3012, 3013 +13298, 2600, 3012, 3008, 3011 +13299, 2442, 2821, 2822, 2438 +13300, 2822, 2440, 2823, 2442 +13301, 2475, 2474, 2858, 2854 +13302, 2476, 2858, 2856, 2475 +13303, 1019, 1018, 2961, 2661 +13304, 2756, 2753, 2370, 2749 +13305, 2749, 2370, 2756, 2748 +13306, 2924, 2547, 2925, 2752 +13307, 2547, 2752, 2924, 2923 +13308, 2318, 3114, 3113, 2322 +13309, 3114, 3115, 2322, 2320 +13310, 3006, 2594, 3002, 2595 +13311, 2596, 3006, 3004, 2595 +13312, 18, 2648, 2965, 2684 +13313, 2906, 2902, 2525, 2905 +13314, 2527, 2907, 2904, 2906 +13315, 2774, 2770, 2387, 2773 +13316, 2775, 2774, 2772, 2389 +13317, 3030, 2622, 3031, 3033 +13318, 2622, 3030, 3029, 3033 +13319, 2295, 3087, 3086, 3090 +13320, 3087, 3090, 2295, 3088 +13321, 2447, 2831, 2827, 2830 +13322, 2832, 2829, 2449, 2831 +13323, 2467, 2849, 2850, 2847 +13324, 2849, 2848, 2845, 2465 +13325, 2313, 3105, 3108, 3106 +13326, 3104, 3108, 2313, 3105 +13327, 2604, 3012, 3015, 3013 +13328, 3012, 2604, 3015, 3011 +13329, 2753, 2371, 2757, 2756 +13330, 2756, 2755, 2748, 2369 +13331, 2924, 2543, 2923, 2920 +13332, 2925, 2922, 2545, 2924 +13333, 2901, 2521, 2524, 2523 +13334, 2519, 2522, 2523, 2899 +13335, 2392, 2395, 2778, 2394 +13336, 2390, 2394, 2776, 2393 +13337, 2625, 3036, 2628, 2626 +13338, 3036, 2628, 2624, 2625 +13339, 2289, 3084, 2292, 2290 +13340, 2288, 2292, 2289, 3084 +13341, 1100, 1099, 2659, 3172 +13342, 2826, 2443, 2446, 2445 +13343, 2444, 2445, 2441, 2824 +13344, 2470, 2472, 2473, 2853 +13345, 2468, 2472, 2851, 2471 +13346, 2365, 2368, 2750, 2367 +13347, 2363, 2366, 2367, 2747 +13348, 2550, 2546, 2549, 2754 +13349, 2551, 2751, 2548, 2550 +13350, 2365, 1334, 2364, 2367 +13351, 2364, 2367, 1334, 2363 +13352, 2551, 2553, 1333, 2550 +13353, 2550, 2553, 1333, 2549 +13354, 2319, 2315, 3111, 2316 +13355, 2316, 3111, 2319, 2317 +13356, 2599, 2598, 2601, 3009 +13357, 2597, 2601, 2598, 3009 +13358, 986, 2501, 2878, 2881 +13359, 2880, 2503, 1220, 2883 +13360, 2797, 2794, 2411, 958 +13361, 1192, 2413, 2799, 2796 +13362, 2909, 2906, 2529, 2905 +13363, 2529, 2907, 2906, 2909 +13364, 2771, 2774, 2770, 2388 +13365, 2774, 2771, 2772, 2388 +13366, 1099, 1098, 2669, 3148 +13367, 3026, 3029, 2618, 3030 +13368, 3030, 3028, 3031, 2620 +13369, 3090, 3091, 2296, 3088 +13370, 2294, 3086, 3089, 3090 +13371, 2709, 1176, 1175, 2930 +13372, 2832, 2451, 2834, 2831 +13373, 2834, 2831, 2451, 2830 +13374, 2846, 2466, 2849, 2845 +13375, 2847, 2466, 2849, 2846 +13376, 3101, 3104, 2309, 3105 +13377, 3105, 3103, 3106, 2311 +13378, 2603, 3015, 3011, 3014 +13379, 2605, 3015, 3016, 3013 +13380, 2520, 2521, 2898, 2900 +13381, 2520, 2896, 2519, 2900 +13382, 2395, 2397, 2781, 2780 +13383, 2397, 2779, 2780, 2393 +13384, 2757, 2373, 2759, 2756 +13385, 2759, 2756, 2373, 2755 +13386, 2922, 2924, 2921, 2544 +13387, 2921, 2544, 2924, 2920 +13388, 1195, 2805, 2425, 2808 +13389, 2423, 2806, 2803, 961 +13390, 983, 2872, 2489, 2869 +13391, 2871, 2874, 2491, 1217 +13392, 3039, 2629, 2628, 3037 +13393, 3035, 3039, 2627, 2628 +13394, 3080, 2289, 2285, 3081 +13395, 3081, 3082, 2289, 2287 +13396, 2825, 2821, 2442, 2441 +13397, 2443, 2825, 2823, 2442 +13398, 2855, 2471, 2475, 2854 +13399, 2473, 2856, 2855, 2475 +13400, 2319, 3112, 3114, 2320 +13401, 3114, 2318, 3110, 2319 +13402, 2598, 3007, 2596, 3006 +13403, 2594, 3005, 2598, 3006 +13404, 2526, 2903, 2523, 2522 +13405, 2523, 2524, 2903, 2526 +13406, 2392, 2394, 2777, 2391 +13407, 2394, 2390, 2777, 2391 +13408, 2909, 2905, 2528, 2908 +13409, 2907, 2530, 2910, 2909 +13410, 2767, 2770, 2384, 2771 +13411, 2772, 2769, 2386, 2771 +13412, 2625, 2623, 3034, 2626 +13413, 3032, 2624, 2621, 2625 +13414, 2292, 2293, 2290, 3085 +13415, 2288, 3083, 2291, 2292 +13416, 3093, 2298, 3089, 3090 +13417, 3026, 3027, 3030, 2619 +13418, 3028, 3030, 3027, 2619 +13419, 2298, 3090, 3093, 3091 +13420, 2842, 2846, 2845, 2462 +13421, 2847, 2844, 2464, 2846 +13422, 2833, 2834, 2450, 2830 +13423, 2835, 2832, 2452, 2834 +13424, 2981, 2570, 784, 2567 +13425, 913, 2983, 2569, 2572 +13426, 3136, 838, 2347, 2344 +13427, 3134, 709, 2342, 2345 +13428, 2828, 2445, 2448, 2444 +13429, 2446, 2448, 2828, 2445 +13430, 2852, 2470, 2472, 2469 +13431, 2852, 2469, 2472, 2468 +13432, 3101, 2310, 3102, 3105 +13433, 3102, 3105, 2310, 3103 +13434, 3014, 3015, 3018, 2607 +13435, 3016, 3018, 3015, 2607 +13436, 2266, 3058, 939, 2647 +13437, 3056, 2269, 810, 2645 +13438, 683, 2262, 3059, 2263 +13439, 812, 2265, 2268, 3061 +13440, 2760, 2757, 2374, 2759 +13441, 2372, 2759, 2755, 2758 +13442, 2922, 2921, 2919, 2542 +13443, 2917, 2921, 2920, 2540 +13444, 2315, 2312, 3107, 2316 +13445, 3109, 2316, 2314, 2317 +13446, 2601, 3008, 2597, 2600 +13447, 2601, 2602, 2599, 3010 +13448, 2370, 2749, 2367, 2366 +13449, 2368, 2367, 2370, 2749 +13450, 2550, 2752, 2547, 2546 +13451, 2547, 2550, 2548, 2752 +13452, 2910, 2909, 2532, 2912 +13453, 2532, 2912, 2909, 2908 +13454, 2385, 2769, 2768, 2771 +13455, 2768, 2767, 2385, 2771 +13456, 2617, 3027, 3028, 3025 +13457, 3026, 3023, 3027, 2615 +13458, 3094, 3093, 3091, 2299 +13459, 3089, 3092, 2297, 3093 +13460, 2844, 2846, 2843, 2463 +13461, 2843, 2463, 2846, 2842 +13462, 2454, 2837, 2834, 2833 +13463, 2835, 2834, 2454, 2837 +13464, 3102, 3100, 3103, 2308 +13465, 3101, 2306, 3098, 3102 +13466, 3019, 3018, 3016, 2608 +13467, 3018, 3017, 3014, 2606 +13468, 2762, 2759, 2760, 2376 +13469, 2376, 2762, 2759, 2758 +13470, 2921, 2919, 2541, 2918 +13471, 2921, 2918, 2541, 2917 +13472, 2336, 707, 2339, 3131 +13473, 836, 2341, 3133, 2338 +13474, 2984, 2576, 786, 2573 +13475, 2986, 2575, 915, 2578 +13476, 3165, 1282, 1281, 2705 +13477, 2910, 2533, 2913, 2912 +13478, 2911, 2912, 2531, 2908 +13479, 2764, 2768, 2767, 2381 +13480, 2766, 2768, 2383, 2769 +13481, 3096, 2301, 3092, 3093 +13482, 3027, 2616, 3024, 3025 +13483, 3027, 3023, 3024, 2616 +13484, 2301, 3093, 3096, 3094 +13485, 2839, 2843, 2842, 2459 +13486, 2843, 2841, 2844, 2461 +13487, 2837, 2836, 2833, 2453 +13488, 2838, 2835, 2455, 2837 +13489, 3099, 3102, 2307, 3100 +13490, 3102, 2307, 3098, 3099 +13491, 3018, 3017, 2610, 3021 +13492, 2610, 3019, 3018, 3021 +13493, 2762, 2761, 2758, 2375 +13494, 2760, 2377, 2763, 2762 +13495, 2918, 2537, 2917, 2914 +13496, 2539, 2919, 2916, 2918 +13497, 2527, 2904, 2524, 2526 +13498, 2526, 2522, 2525, 2902 +13499, 2387, 2773, 2390, 2391 +13500, 2775, 2389, 2392, 2391 +13501, 2676, 1024, 2944, 1023 +13502, 2295, 2292, 3087, 2293 +13503, 3087, 2291, 2292, 2295 +13504, 2623, 2622, 2625, 3033 +13505, 2622, 2621, 2625, 3033 +13506, 2915, 2912, 2535, 2911 +13507, 2913, 2535, 2915, 2912 +13508, 2768, 2766, 2382, 2765 +13509, 2382, 2764, 2768, 2765 +13510, 2448, 2827, 2444, 2447 +13511, 2467, 2470, 2850, 2469 +13512, 2465, 2469, 2848, 2468 +13513, 2446, 2449, 2829, 2448 +13514, 3096, 3094, 3097, 2302 +13515, 2300, 3092, 3095, 3096 +13516, 3020, 3024, 3023, 2612 +13517, 3024, 3022, 3025, 2614 +13518, 2840, 2837, 2838, 2457 +13519, 2837, 2457, 2840, 2836 +13520, 2840, 2843, 2460, 2841 +13521, 2843, 2840, 2460, 2839 +13522, 3098, 2303, 3095, 3099 +13523, 3099, 3097, 3100, 2305 +13524, 3019, 3022, 3021, 2611 +13525, 2609, 3017, 3020, 3021 +13526, 2762, 2761, 2379, 2765 +13527, 2918, 2915, 2538, 2914 +13528, 2915, 2538, 2916, 2918 +13529, 2762, 2379, 2763, 2765 +13530, 2316, 2313, 2312, 3108 +13531, 3108, 2316, 2313, 2314 +13532, 3012, 2604, 2601, 2602 +13533, 2601, 2604, 3012, 2600 +13534, 2914, 2915, 2534, 2911 +13535, 2536, 2916, 2913, 2915 +13536, 2380, 2766, 2763, 2765 +13537, 2378, 2761, 2764, 2765 +13538, 2304, 3096, 3095, 3099 +13539, 2613, 3020, 3024, 3021 +13540, 2613, 3021, 3024, 3022 +13541, 3096, 3099, 2304, 3097 +13542, 2458, 2840, 2841, 2838 +13543, 2456, 2840, 2836, 2839 +13544, 1238, 2977, 2566, 2980 +13545, 1071, 2975, 2978, 2564 +13546, 3139, 3142, 2350, 1329 +13547, 1066, 2348, 3137, 3140 +13548, 2370, 2748, 2366, 2369 +13549, 2368, 2371, 2753, 2370 +13550, 2545, 2925, 2547, 2548 +13551, 2547, 2546, 2923, 2543 +13552, 3177, 1285, 2700, 1286 +13553, 2900, 2519, 2523, 2899 +13554, 2521, 2523, 2901, 2900 +13555, 2780, 2776, 2394, 2393 +13556, 2778, 2394, 2395, 2780 +13557, 2960, 1022, 2664, 1023 +13558, 2624, 3036, 3035, 2628 +13559, 3037, 2628, 3036, 2626 +13560, 2288, 2289, 3080, 3084 +13561, 3084, 2290, 2289, 3082 +13562, 3067, 2272, 3064, 1304 +13563, 3053, 3050, 2642, 1096 +13564, 2644, 1263, 3052, 3055 +13565, 1041, 3062, 3065, 2270 +13566, 2825, 2443, 2826, 2445 +13567, 2825, 2441, 2445, 2824 +13568, 2851, 2472, 2855, 2471 +13569, 2855, 2473, 2472, 2853 +13570, 3111, 3110, 2315, 2319 +13571, 2317, 3111, 2319, 3112 +13572, 2598, 2599, 3007, 3009 +13573, 3005, 2597, 2598, 3009 +13574, 1062, 2333, 3125, 3128 +13575, 3127, 3130, 2335, 1325 +13576, 2990, 1075, 2987, 2579 +13577, 2989, 1242, 2992, 2581 +13578, 2527, 2529, 2906, 2526 +13579, 2906, 2526, 2529, 2525 +13580, 2774, 2388, 2389, 2391 +13581, 2388, 2774, 2387, 2391 +13582, 2291, 3086, 2294, 2295 +13583, 2295, 2296, 2293, 3088 +13584, 3029, 2621, 2618, 2622 +13585, 2623, 3031, 2620, 2622 +13586, 2451, 2831, 2448, 2447 +13587, 2451, 2449, 2448, 2831 +13588, 2466, 2469, 2849, 2465 +13589, 2466, 2467, 2849, 2469 +13590, 2309, 3104, 2312, 2313 +13591, 2313, 2311, 3106, 2314 +13592, 2604, 2605, 2602, 3013 +13593, 2604, 3011, 2600, 2603 +13594, 2373, 2756, 2370, 2369 +13595, 2371, 2370, 2373, 2756 +13596, 2547, 2924, 2545, 2544 +13597, 2544, 2547, 2924, 2543 +13598, 2878, 761, 2498, 2501 +13599, 2880, 2500, 890, 2503 +13600, 2797, 732, 2411, 2414 +13601, 2416, 2799, 861, 2413 +13602, 2750, 1334, 2365, 2367 +13603, 2550, 2549, 1333, 2754 +13604, 1334, 2363, 2367, 2747 +13605, 2551, 1333, 2751, 2550 +13606, 864, 2422, 2425, 2805 +13607, 735, 2420, 2803, 2423 +13608, 2489, 758, 2492, 2872 +13609, 2874, 2491, 887, 2494 +13610, 2529, 2525, 2528, 2905 +13611, 2530, 2907, 2527, 2529 +13612, 2772, 2386, 2389, 2388 +13613, 2770, 2387, 2384, 2388 +13614, 1018, 1017, 2945, 2675 +13615, 3030, 2622, 2618, 2619 +13616, 2622, 3030, 2620, 2619 +13617, 3090, 2298, 2295, 2296 +13618, 2298, 2295, 2294, 3090 +13619, 2450, 2451, 2447, 2830 +13620, 2832, 2449, 2452, 2451 +13621, 2467, 2464, 2466, 2847 +13622, 2462, 2466, 2845, 2465 +13623, 2313, 2310, 2309, 3105 +13624, 3105, 2313, 2310, 2311 +13625, 2604, 2605, 3015, 2607 +13626, 3015, 2603, 2604, 2607 +13627, 2374, 2757, 2371, 2373 +13628, 2369, 2373, 2755, 2372 +13629, 2922, 2542, 2545, 2544 +13630, 2920, 2544, 2543, 2540 +13631, 2524, 2903, 2901, 2523 +13632, 2523, 2522, 2903, 2899 +13633, 2778, 2777, 2392, 2394 +13634, 2390, 2777, 2776, 2394 +13635, 3032, 3036, 2624, 2625 +13636, 2625, 3034, 3036, 2626 +13637, 2292, 2288, 3083, 3084 +13638, 2290, 3084, 2292, 3085 +13639, 2445, 2444, 2828, 2824 +13640, 2446, 2828, 2826, 2445 +13641, 2472, 2470, 2852, 2853 +13642, 2851, 2852, 2472, 2468 +13643, 2883, 1221, 2886, 2506 +13644, 2884, 987, 2881, 2504 +13645, 2791, 2408, 2794, 957 +13646, 2410, 2796, 1191, 2793 +13647, 2529, 2532, 2530, 2909 +13648, 2909, 2529, 2532, 2528 +13649, 2386, 2771, 2385, 2388 +13650, 2385, 2771, 2384, 2388 +13651, 2619, 3028, 2620, 2617 +13652, 2615, 3026, 2618, 2619 +13653, 2296, 3091, 2298, 2299 +13654, 2297, 3089, 2298, 2294 +13655, 3107, 3111, 2315, 2316 +13656, 2316, 3109, 3111, 2317 +13657, 2597, 3008, 2601, 3009 +13658, 2601, 3010, 2599, 3009 +13659, 2466, 2846, 2464, 2463 +13660, 2834, 2452, 2454, 2451 +13661, 2451, 2454, 2834, 2450 +13662, 2463, 2466, 2846, 2462 +13663, 2311, 2310, 3103, 2308 +13664, 2309, 2306, 3101, 2310 +13665, 2606, 2603, 3014, 2607 +13666, 2607, 2605, 3016, 2608 +13667, 2759, 2373, 2376, 2372 +13668, 2374, 2376, 2759, 2373 +13669, 2542, 2921, 2541, 2544 +13670, 2544, 2921, 2541, 2540 +13671, 2366, 2749, 2367, 2747 +13672, 2367, 2368, 2750, 2749 +13673, 2752, 2546, 2550, 2754 +13674, 2550, 2751, 2548, 2752 +13675, 2811, 2808, 1196, 2428 +13676, 2426, 2809, 2806, 962 +13677, 2486, 982, 2869, 2866 +13678, 2488, 2868, 2871, 1216 +13679, 2910, 2530, 2533, 2532 +13680, 2532, 2528, 2531, 2908 +13681, 2386, 2383, 2385, 2769 +13682, 2381, 2385, 2767, 2384 +13683, 2298, 3093, 2301, 2299 +13684, 3027, 2619, 2616, 2617 +13685, 2297, 2301, 2298, 3093 +13686, 2616, 3027, 2615, 2619 +13687, 2844, 2461, 2464, 2463 +13688, 2463, 2462, 2842, 2459 +13689, 2455, 2835, 2452, 2454 +13690, 2454, 2833, 2450, 2453 +13691, 3102, 2310, 2307, 2308 +13692, 2306, 2307, 3102, 2310 +13693, 2606, 3018, 2610, 2607 +13694, 2610, 2607, 3018, 2608 +13695, 2376, 2758, 2372, 2375 +13696, 2374, 2377, 2760, 2376 +13697, 2539, 2919, 2541, 2542 +13698, 2541, 2540, 2917, 2537 +13699, 2715, 2701, 1291, 3195 +13700, 2385, 2768, 2382, 2381 +13701, 2768, 2385, 2382, 2383 +13702, 2532, 2535, 2533, 2912 +13703, 2535, 2912, 2532, 2531 +13704, 3092, 2300, 2297, 2301 +13705, 2301, 2299, 3094, 2302 +13706, 2612, 3023, 2615, 2616 +13707, 2616, 3025, 2617, 2614 +13708, 2455, 2837, 2454, 2457 +13709, 2454, 2457, 2837, 2453 +13710, 2461, 2843, 2460, 2463 +13711, 2463, 2843, 2460, 2459 +13712, 2307, 2305, 3100, 2308 +13713, 3098, 2306, 2303, 2307 +13714, 2610, 2609, 3017, 2606 +13715, 3019, 2611, 2610, 2608 +13716, 2376, 2379, 2762, 2375 +13717, 2379, 2762, 2377, 2376 +13718, 2541, 2918, 2538, 2537 +13719, 2539, 2538, 2541, 2918 +13720, 912, 2566, 2569, 2980 +13721, 783, 2978, 2567, 2564 +13722, 839, 2347, 2350, 3139 +13723, 710, 2345, 3137, 2348 +13724, 2378, 2382, 2764, 2381 +13725, 2380, 2382, 2383, 2766 +13726, 2535, 2531, 2534, 2911 +13727, 2536, 2913, 2533, 2535 +13728, 2300, 2301, 3096, 2304 +13729, 3096, 2304, 2301, 2302 +13730, 2616, 2613, 3024, 2614 +13731, 3024, 2612, 2613, 2616 +13732, 2460, 2839, 2456, 2459 +13733, 2455, 2458, 2838, 2457 +13734, 2457, 2456, 2836, 2453 +13735, 2461, 2460, 2841, 2458 +13736, 3099, 2307, 2304, 2305 +13737, 2304, 2303, 2307, 3099 +13738, 2610, 2609, 2613, 3021 +13739, 2610, 3021, 2613, 2611 +13740, 2379, 2380, 2377, 2763 +13741, 2537, 2538, 2534, 2914 +13742, 2916, 2536, 2539, 2538 +13743, 2375, 2379, 2761, 2378 +13744, 3149, 3169, 1291, 3195 +13745, 2538, 2915, 2535, 2534 +13746, 2535, 2536, 2915, 2538 +13747, 2378, 2382, 2379, 2765 +13748, 2380, 2379, 2382, 2765 +13749, 2304, 2302, 3097, 2305 +13750, 3095, 2303, 2300, 2304 +13751, 3022, 2614, 2613, 2611 +13752, 2609, 2613, 3020, 2612 +13753, 2457, 2460, 2840, 2456 +13754, 2458, 2460, 2840, 2457 +13755, 813, 2268, 2272, 3064 +13756, 3053, 2645, 809, 2642 +13757, 684, 2263, 3062, 2270 +13758, 2647, 938, 2644, 3055 +13759, 2903, 2524, 2904, 2526 +13760, 2903, 2522, 2526, 2902 +13761, 2392, 2777, 2775, 2391 +13762, 2777, 2390, 2773, 2391 +13763, 3034, 2623, 2625, 3033 +13764, 3032, 2625, 2621, 3033 +13765, 3087, 2293, 2292, 3085 +13766, 2292, 3083, 2291, 3087 +13767, 2829, 2828, 2446, 2448 +13768, 2444, 2448, 2828, 2827 +13769, 2852, 2848, 2469, 2468 +13770, 2852, 2850, 2470, 2469 +13771, 835, 2338, 3130, 2335 +13772, 706, 2336, 2333, 3128 +13773, 2987, 2579, 787, 2576 +13774, 2578, 916, 2989, 2581 +13775, 2316, 2314, 3108, 3109 +13776, 2316, 2312, 3107, 3108 +13777, 3012, 2602, 2601, 3010 +13778, 3012, 3008, 2601, 2600 +13779, 2665, 1135, 1134, 3163 +13780, 2749, 2366, 2370, 2748 +13781, 2368, 2370, 2753, 2749 +13782, 2923, 2547, 2752, 2546 +13783, 2548, 2925, 2547, 2752 +13784, 2563, 1237, 2974, 2977 +13785, 2975, 2561, 1070, 2970 +13786, 3145, 2353, 3142, 1330 +13787, 2351, 3140, 1067, 3143 +13788, 2639, 3050, 3047, 1095 +13789, 3067, 3070, 2275, 1305 +13790, 1042, 2273, 3065, 3068 +13791, 1262, 2641, 3052, 3049 +13792, 1061, 3122, 3125, 2330 +13793, 3127, 2332, 3124, 1324 +13794, 1243, 2995, 2992, 2584 +13795, 2993, 1076, 2990, 2582 +13796, 2525, 2906, 2526, 2902 +13797, 2527, 2906, 2904, 2526 +13798, 2774, 2773, 2387, 2391 +13799, 2389, 2775, 2774, 2391 +13800, 2554, 908, 2729, 2557 +13801, 843, 2362, 2728, 2359 +13802, 2685, 779, 2552, 2555 +13803, 714, 2684, 2360, 2357 +13804, 2732, 2941, 1158, 2745 +13805, 2291, 3087, 3086, 2295 +13806, 3031, 2622, 2623, 3033 +13807, 2621, 2622, 3029, 3033 +13808, 2295, 2293, 3087, 3088 +13809, 2827, 2448, 2831, 2447 +13810, 2448, 2449, 2829, 2831 +13811, 2848, 2849, 2469, 2465 +13812, 2849, 2467, 2850, 2469 +13813, 2313, 3106, 3108, 2314 +13814, 2313, 3104, 2312, 3108 +13815, 3012, 2600, 2604, 3011 +13816, 2604, 2602, 3012, 3013 +13817, 2748, 2370, 2756, 2369 +13818, 2753, 2370, 2371, 2756 +13819, 2547, 2925, 2545, 2924 +13820, 2547, 2923, 2924, 2543 +13821, 2928, 2686, 2744, 1020 +13822, 2881, 762, 2501, 2504 +13823, 891, 2883, 2503, 2506 +13824, 2410, 2413, 860, 2796 +13825, 2411, 731, 2794, 2408 +13826, 865, 2808, 2425, 2428 +13827, 736, 2806, 2426, 2423 +13828, 757, 2869, 2489, 2486 +13829, 2871, 2491, 2488, 886 +13830, 2688, 3158, 1117, 2736 +13831, 1222, 2889, 2886, 2509 +13832, 2887, 988, 2884, 2507 +13833, 2405, 2791, 2788, 956 +13834, 1190, 2790, 2407, 2793 +13835, 2865, 2868, 2485, 1215 +13836, 2863, 981, 2483, 2866 +13837, 2429, 2812, 2809, 963 +13838, 1197, 2814, 2811, 2431 +13839, 1114, 2661, 1115, 3165 +13840, 2525, 2529, 2906, 2905 +13841, 2906, 2527, 2907, 2529 +13842, 2389, 2774, 2772, 2388 +13843, 2770, 2774, 2387, 2388 +13844, 2618, 3030, 3029, 2622 +13845, 3030, 2620, 3031, 2622 +13846, 2294, 2295, 3086, 3090 +13847, 3090, 2296, 2295, 3088 +13848, 2449, 2451, 2832, 2831 +13849, 2447, 2451, 2831, 2830 +13850, 2467, 2466, 2849, 2847 +13851, 2849, 2845, 2466, 2465 +13852, 1117, 2736, 3158, 3176 +13853, 2313, 2309, 3104, 3105 +13854, 3106, 2313, 3105, 2311 +13855, 2605, 2604, 3015, 3013 +13856, 3015, 3011, 2604, 2603 +13857, 2956, 2928, 2744, 1020 +13858, 2746, 2956, 1157, 2928 +13859, 2742, 2941, 2956, 1021 +13860, 2941, 2956, 1158, 2745 +13861, 2373, 2757, 2371, 2756 +13862, 2373, 2755, 2756, 2369 +13863, 2543, 2924, 2544, 2920 +13864, 2924, 2922, 2545, 2544 +13865, 1116, 3156, 2738, 3176 +13866, 1284, 3158, 2741, 3176 +13867, 2563, 2566, 911, 2977 +13868, 782, 2561, 2975, 2564 +13869, 2350, 840, 3142, 2353 +13870, 711, 2351, 2348, 3140 +13871, 2973, 2560, 1236, 2974 +13872, 2558, 2969, 1069, 2970 +13873, 2972, 1068, 3143, 2354 +13874, 3145, 2967, 2356, 1331 +13875, 2907, 2529, 2530, 2909 +13876, 2529, 2528, 2909, 2905 +13877, 2384, 2771, 2770, 2388 +13878, 2772, 2771, 2386, 2388 +13879, 2620, 3030, 3028, 2619 +13880, 3030, 2618, 3026, 2619 +13881, 2298, 2296, 3090, 3091 +13882, 2298, 2294, 3089, 3090 +13883, 2451, 2450, 2834, 2830 +13884, 2452, 2834, 2832, 2451 +13885, 2466, 2845, 2846, 2462 +13886, 2466, 2847, 2464, 2846 +13887, 685, 2270, 3065, 2273 +13888, 814, 2272, 2275, 3067 +13889, 808, 2642, 2639, 3050 +13890, 937, 2644, 3052, 2641 +13891, 2310, 3101, 2309, 3105 +13892, 2310, 3103, 3105, 2311 +13893, 3015, 2605, 3016, 2607 +13894, 3015, 3014, 2603, 2607 +13895, 2374, 2759, 2757, 2373 +13896, 2759, 2755, 2373, 2372 +13897, 2542, 2922, 2921, 2544 +13898, 2920, 2921, 2544, 2540 +13899, 3044, 2636, 3047, 1094 +13900, 3071, 1043, 3068, 2276 +13901, 2278, 3070, 3073, 1306 +13902, 3049, 3046, 1261, 2638 +13903, 834, 2332, 2335, 3127 +13904, 705, 2330, 3125, 2333 +13905, 917, 2584, 2992, 2581 +13906, 2579, 2990, 788, 2582 +13907, 2329, 3121, 3124, 1323 +13908, 3119, 3122, 1060, 2327 +13909, 1077, 2993, 2996, 2585 +13910, 2998, 2995, 1244, 2587 +13911, 2532, 2910, 2530, 2909 +13912, 2909, 2528, 2532, 2908 +13913, 2384, 2385, 2767, 2771 +13914, 2769, 2385, 2386, 2771 +13915, 3026, 2615, 3027, 2619 +13916, 2619, 3027, 3028, 2617 +13917, 2298, 3089, 2297, 3093 +13918, 2298, 3091, 3093, 2299 +13919, 2846, 2844, 2464, 2463 +13920, 2452, 2454, 2835, 2834 +13921, 2834, 2450, 2454, 2833 +13922, 2846, 2842, 2463, 2462 +13923, 3102, 3101, 2306, 2310 +13924, 3102, 3103, 2310, 2308 +13925, 2607, 3016, 3018, 2608 +13926, 3018, 2606, 3014, 2607 +13927, 2759, 2374, 2760, 2376 +13928, 2759, 2372, 2376, 2758 +13929, 2541, 2919, 2921, 2542 +13930, 2917, 2541, 2921, 2540 +13931, 2910, 2532, 2533, 2912 +13932, 2532, 2531, 2912, 2908 +13933, 2383, 2768, 2385, 2769 +13934, 2385, 2767, 2768, 2381 +13935, 3027, 2615, 3023, 2616 +13936, 3027, 2617, 2616, 3025 +13937, 2301, 2297, 3092, 3093 +13938, 3094, 2301, 3093, 2299 +13939, 2454, 2455, 2835, 2837 +13940, 2833, 2454, 2837, 2453 +13941, 2842, 2843, 2463, 2459 +13942, 2461, 2844, 2843, 2463 +13943, 2307, 3100, 3102, 2308 +13944, 3098, 3102, 2306, 2307 +13945, 3018, 3019, 2610, 2608 +13946, 2610, 3017, 3018, 2606 +13947, 2762, 2758, 2376, 2375 +13948, 2762, 2760, 2377, 2376 +13949, 2541, 2917, 2918, 2537 +13950, 2919, 2539, 2541, 2918 +13951, 2687, 2738, 1116, 3156 +13952, 989, 2887, 2890, 2510 +13953, 1223, 2892, 2889, 2512 +13954, 2402, 2788, 2785, 955 +13955, 1189, 2787, 2404, 2790 +13956, 2886, 2506, 892, 2509 +13957, 2507, 763, 2884, 2504 +13958, 2410, 859, 2407, 2793 +13959, 2408, 730, 2791, 2405 +13960, 980, 2863, 2480, 2860 +13961, 2482, 2862, 2865, 1214 +13962, 2432, 2815, 2812, 964 +13963, 2814, 1198, 2817, 2434 +13964, 2535, 2913, 2533, 2912 +13965, 2531, 2535, 2912, 2911 +13966, 2383, 2382, 2768, 2766 +13967, 2764, 2382, 2768, 2381 +13968, 3092, 3096, 2300, 2301 +13969, 2301, 3094, 3096, 2302 +13970, 3024, 3025, 2616, 2614 +13971, 3023, 2612, 3024, 2616 +13972, 2836, 2837, 2457, 2453 +13973, 2838, 2837, 2455, 2457 +13974, 2841, 2843, 2460, 2461 +13975, 2839, 2460, 2843, 2459 +13976, 3098, 2307, 2303, 3099 +13977, 3100, 2307, 3099, 2305 +13978, 3017, 2609, 2610, 3021 +13979, 3021, 2610, 3019, 2611 +13980, 2761, 2762, 2379, 2375 +13981, 2379, 2763, 2377, 2762 +13982, 2916, 2538, 2539, 2918 +13983, 2538, 2537, 2918, 2914 +13984, 2426, 737, 2429, 2809 +13985, 2811, 2428, 866, 2431 +13986, 2485, 2868, 2488, 885 +13987, 756, 2486, 2483, 2866 +13988, 2536, 2915, 2913, 2535 +13989, 2534, 2915, 2535, 2911 +13990, 2766, 2380, 2382, 2765 +13991, 2382, 2378, 2764, 2765 +13992, 2300, 3096, 3095, 2304 +13993, 3020, 2613, 3024, 2612 +13994, 3096, 3097, 2304, 2302 +13995, 3022, 3024, 2613, 2614 +13996, 2840, 2836, 2457, 2456 +13997, 2840, 2838, 2458, 2457 +13998, 2456, 2460, 2840, 2839 +13999, 2841, 2460, 2840, 2458 +14000, 2303, 2304, 3095, 3099 +14001, 2304, 3097, 3099, 2305 +14002, 2613, 2609, 3020, 3021 +14003, 3022, 2613, 3021, 2611 +14004, 2915, 2534, 2538, 2914 +14005, 2380, 2763, 2379, 2765 +14006, 2761, 2378, 2379, 2765 +14007, 2916, 2915, 2536, 2538 +14008, 3158, 1284, 2741, 2733 +14009, 3156, 2740, 3176, 1283 +14010, 1260, 2635, 3046, 3043 +14011, 3044, 3041, 2633, 1093 +14012, 1044, 2279, 3071, 3074 +14013, 3073, 3076, 2281, 1307 +14014, 1021, 2742, 2941, 2689 +14015, 21, 2357, 2972, 1336 +14016, 2557, 2973, 26, 1335 +14017, 2555, 22, 2969, 1335 +14018, 28, 2359, 1336, 2967 +14019, 3121, 2326, 3118, 1322 +14020, 3116, 1059, 2324, 3119 +14021, 2590, 1245, 2998, 3001 +14022, 2588, 2996, 1078, 2999 +14023, 910, 2974, 2560, 2563 +14024, 2558, 781, 2561, 2970 +14025, 2351, 3143, 712, 2354 +14026, 3145, 841, 2356, 2353 +14027, 807, 2639, 2636, 3047 +14028, 3049, 936, 2641, 2638 +14029, 2273, 3068, 686, 2276 +14030, 2278, 3070, 815, 2275 +14031, 833, 2329, 2332, 3124 +14032, 704, 2327, 3122, 2330 +14033, 2993, 2585, 789, 2582 +14034, 918, 2587, 2995, 2584 +14035, 1224, 2895, 2892, 2515 +14036, 2893, 990, 2890, 2513 +14037, 1188, 2784, 2401, 2787 +14038, 2399, 2785, 2782, 954 +14039, 2730, 2740, 3156, 1283 +14040, 2862, 2479, 2859, 1213 +14041, 979, 2477, 2857, 2860 +14042, 2815, 2435, 2818, 965 +14043, 2437, 2820, 1199, 2817 +14044, 2731, 2746, 1157, 2928 +14045, 2889, 2509, 893, 2512 +14046, 764, 2507, 2887, 2510 +14047, 2407, 858, 2404, 2790 +14048, 2788, 2405, 729, 2402 +14049, 2482, 2865, 2485, 884 +14050, 755, 2483, 2480, 2863 +14051, 738, 2432, 2429, 2812 +14052, 2431, 867, 2814, 2434 +14053, 3074, 1045, 2282, 3077 +14054, 2630, 3041, 3038, 1092 +14055, 3043, 1259, 2632, 3040 +14056, 3079, 2284, 3076, 1308 +14057, 713, 2354, 2972, 2357 +14058, 909, 2973, 2557, 2560 +14059, 780, 2969, 2558, 2555 +14060, 2359, 2967, 842, 2356 +14061, 2321, 3113, 1058, 3116 +14062, 2323, 3115, 3118, 1321 +14063, 2999, 2591, 3002, 1079 +14064, 2593, 3001, 3004, 1246 +14065, 2841, 1206, 2458, 2838 +14066, 2836, 972, 2456, 2839 +14067, 2761, 2378, 2764, 947 +14068, 1181, 2763, 2380, 2766 +14069, 2916, 2536, 2913, 1231 +14070, 2911, 2534, 2914, 997 +14071, 1225, 2898, 2895, 2518 +14072, 991, 2893, 2896, 2516 +14073, 2784, 1187, 2398, 2781 +14074, 2779, 2396, 2782, 953 +14075, 2738, 2739, 1332, 2740 +14076, 2737, 2736, 1332, 2741 +14077, 2739, 2743, 2746, 2744 +14078, 2745, 2743, 2737, 2742 +14079, 978, 2857, 2474, 2854 +14080, 2859, 2476, 2856, 1212 +14081, 2818, 2438, 2821, 966 +14082, 2440, 2823, 1200, 2820 +14083, 3017, 2609, 3020, 1085 +14084, 3100, 2305, 3097, 1315 +14085, 2303, 3095, 1052, 3098 +14086, 2611, 3019, 3022, 1252 +14087, 806, 2636, 2633, 3044 +14088, 935, 2638, 3046, 2635 +14089, 687, 2276, 3071, 2279 +14090, 816, 2278, 2281, 3073 +14091, 3097, 2302, 3094, 1314 +14092, 3095, 2300, 1051, 3092 +14093, 3025, 2614, 3022, 1253 +14094, 2612, 3023, 3020, 1086 +14095, 2324, 3119, 703, 2327 +14096, 3121, 832, 2329, 2326 +14097, 790, 2585, 2996, 2588 +14098, 2998, 2590, 2587, 919 +14099, 1007, 2939, 2952, 3191 +14100, 3082, 2287, 3079, 1309 +14101, 2629, 3040, 1258, 3037 +14102, 2285, 3077, 1046, 3080 +14103, 3038, 3035, 2627, 1091 +14104, 2919, 2539, 2916, 1232 +14105, 2917, 2914, 2537, 998 +14106, 2758, 2375, 2761, 946 +14107, 2763, 1180, 2377, 2760 +14108, 1057, 3113, 2318, 3110 +14109, 2320, 3112, 3115, 1320 +14110, 2594, 3005, 3002, 1080 +14111, 3007, 2596, 3004, 1247 +14112, 1205, 2455, 2838, 2835 +14113, 2833, 2453, 2836, 971 +14114, 973, 2839, 2842, 2459 +14115, 2844, 2461, 2841, 1207 +14116, 1182, 2766, 2383, 2769 +14117, 2381, 2767, 2764, 948 +14118, 2533, 2910, 2913, 1230 +14119, 2908, 2531, 2911, 996 +14120, 2898, 2901, 2521, 1226 +14121, 2899, 2896, 2519, 992 +14122, 2781, 1186, 2395, 2778 +14123, 2776, 2393, 2779, 952 +14124, 765, 2510, 2890, 2513 +14125, 894, 2515, 2892, 2512 +14126, 2404, 857, 2401, 2787 +14127, 2402, 728, 2785, 2399 +14128, 3014, 2606, 3017, 1084 +14129, 2608, 3016, 3019, 1251 +14130, 2306, 3098, 1053, 3101 +14131, 3103, 2308, 3100, 1316 +14132, 2824, 2821, 2441, 967 +14133, 977, 2471, 2851, 2854 +14134, 1201, 2443, 2826, 2823 +14135, 2853, 2856, 2473, 1211 +14136, 2299, 3091, 3094, 1313 +14137, 1050, 3092, 2297, 3089 +14138, 2615, 3026, 3023, 1087 +14139, 1254, 2617, 3028, 3025 +14140, 2482, 2479, 2862, 883 +14141, 754, 2480, 2477, 2860 +14142, 2817, 868, 2437, 2434 +14143, 2815, 739, 2432, 2435 +14144, 2542, 2919, 2922, 1233 +14145, 2540, 2920, 2917, 999 +14146, 1179, 2374, 2760, 2757 +14147, 2758, 2755, 2372, 945 +14148, 3083, 1047, 3080, 2288 +14149, 3034, 1257, 3037, 2626 +14150, 2624, 3035, 3032, 1090 +14151, 2290, 3082, 3085, 1310 +14152, 2830, 2450, 2833, 970 +14153, 2452, 1204, 2832, 2835 +14154, 2844, 2847, 2464, 1208 +14155, 974, 2842, 2845, 2462 +14156, 3007, 3010, 2599, 1248 +14157, 3110, 2315, 1056, 3107 +14158, 3109, 3112, 2317, 1319 +14159, 3005, 2597, 3008, 1081 +14160, 2770, 2767, 2384, 949 +14161, 2530, 2907, 2910, 1229 +14162, 2528, 2908, 2905, 995 +14163, 1183, 2386, 2772, 2769 +14164, 2660, 1007, 2672, 3191 +14165, 2899, 2522, 2902, 993 +14166, 2524, 2901, 2904, 1227 +14167, 2775, 1185, 2778, 2392 +14168, 2390, 2776, 2773, 951 +14169, 3013, 3016, 2605, 1250 +14170, 1054, 2309, 3101, 3104 +14171, 3106, 2311, 3103, 1317 +14172, 3014, 3011, 2603, 1083 +14173, 2829, 2826, 1202, 2446 +14174, 2444, 2827, 2824, 968 +14175, 2470, 2850, 2853, 1210 +14176, 976, 2848, 2851, 2468 +14177, 3086, 3089, 1049, 2294 +14178, 2296, 3088, 3091, 1312 +14179, 3028, 1255, 3031, 2620 +14180, 3029, 3026, 2618, 1088 +14181, 25, 2365, 2750, 1334 +14182, 2363, 1334, 18, 2747 +14183, 1333, 2549, 19, 2754 +14184, 1333, 2751, 24, 2551 +14185, 2748, 2369, 2755, 944 +14186, 2922, 2925, 2545, 1234 +14187, 2923, 2920, 2543, 1000 +14188, 2371, 2757, 1178, 2753 +14189, 3031, 1256, 3034, 2623 +14190, 3088, 2293, 3085, 1311 +14191, 3029, 2621, 3032, 1089 +14192, 1048, 3083, 3086, 2291 +14193, 2729, 908, 26, 2557 +14194, 2728, 28, 843, 2359 +14195, 779, 2685, 22, 2555 +14196, 2684, 714, 21, 2357 +14197, 1203, 2449, 2832, 2829 +14198, 2830, 2827, 2447, 969 +14199, 2848, 975, 2845, 2465 +14200, 2847, 2850, 2467, 1209 +14201, 3107, 2312, 1055, 3104 +14202, 3011, 3008, 2600, 1082 +14203, 3106, 3109, 2314, 1318 +14204, 3013, 2602, 3010, 1249 +14205, 2525, 2905, 2902, 994 +14206, 2907, 2527, 2904, 1228 +14207, 1184, 2775, 2772, 2389 +14208, 2387, 2773, 2770, 950 +14209, 2548, 2925, 2751, 1235 +14210, 2366, 2748, 2747, 943 +14211, 2754, 2923, 2546, 1001 +14212, 1177, 2368, 2753, 2750 +14213, 3041, 2633, 805, 2630 +14214, 934, 2632, 2635, 3043 +14215, 2282, 2279, 688, 3074 +14216, 3076, 2281, 817, 2284 +14217, 2324, 2321, 702, 3116 +14218, 3118, 2323, 831, 2326 +14219, 2590, 3001, 2593, 920 +14220, 791, 2591, 2588, 2999 +14221, 2303, 2300, 695, 3095 +14222, 2302, 824, 3097, 2305 +14223, 798, 2609, 3020, 2612 +14224, 2611, 3022, 2614, 927 +14225, 2515, 895, 2895, 2518 +14226, 766, 2513, 2893, 2516 +14227, 2401, 856, 2398, 2784 +14228, 2399, 727, 2782, 2396 +14229, 773, 2537, 2534, 2914 +14230, 2536, 2916, 2539, 902 +14231, 2380, 849, 2377, 2763 +14232, 720, 2375, 2761, 2378 +14233, 869, 2437, 2440, 2820 +14234, 740, 2435, 2818, 2438 +14235, 2857, 753, 2474, 2477 +14236, 2476, 2859, 2479, 882 +14237, 2838, 875, 2458, 2455 +14238, 2456, 746, 2836, 2453 +14239, 2458, 2841, 2461, 876 +14240, 2839, 747, 2456, 2459 +14241, 721, 2378, 2764, 2381 +14242, 850, 2380, 2383, 2766 +14243, 2531, 772, 2534, 2911 +14244, 2913, 2536, 2533, 901 +14245, 2627, 3038, 804, 2630 +14246, 933, 2629, 2632, 3040 +14247, 689, 2285, 2282, 3077 +14248, 818, 2287, 3079, 2284 +14249, 2608, 3019, 2611, 926 +14250, 2306, 2303, 696, 3098 +14251, 3017, 2609, 797, 2606 +14252, 2305, 825, 3100, 2308 +14253, 701, 2321, 2318, 3113 +14254, 3115, 2320, 830, 2323 +14255, 792, 2594, 2591, 3002 +14256, 3004, 2596, 2593, 921 +14257, 3094, 2299, 823, 2302 +14258, 2297, 694, 2300, 3092 +14259, 2617, 2614, 3025, 928 +14260, 2615, 799, 3023, 2612 +14261, 2518, 896, 2898, 2521 +14262, 2519, 767, 2896, 2516 +14263, 855, 2395, 2398, 2781 +14264, 2396, 726, 2779, 2393 +14265, 2540, 774, 2917, 2537 +14266, 2542, 2539, 2919, 903 +14267, 2372, 2758, 719, 2375 +14268, 2377, 2760, 848, 2374 +14269, 752, 2474, 2471, 2854 +14270, 870, 2440, 2443, 2823 +14271, 741, 2438, 2821, 2441 +14272, 2473, 2856, 2476, 881 +14273, 2842, 2462, 748, 2459 +14274, 874, 2452, 2455, 2835 +14275, 2833, 745, 2450, 2453 +14276, 2461, 2844, 2464, 877 +14277, 851, 2383, 2386, 2769 +14278, 722, 2381, 2767, 2384 +14279, 2530, 2910, 2533, 900 +14280, 2528, 771, 2531, 2908 +14281, 2285, 3080, 690, 2288 +14282, 2290, 3082, 819, 2287 +14283, 803, 2624, 3035, 2627 +14284, 3037, 932, 2629, 2626 +14285, 3014, 796, 2603, 2606 +14286, 2306, 3101, 697, 2309 +14287, 3016, 2608, 2605, 925 +14288, 826, 2311, 3103, 2308 +14289, 700, 3110, 2318, 2315 +14290, 829, 3112, 2317, 2320 +14291, 2597, 2594, 793, 3005 +14292, 2599, 2596, 3007, 922 +14293, 3089, 2297, 693, 2294 +14294, 822, 3091, 2296, 2299 +14295, 800, 3026, 2618, 2615 +14296, 2617, 3028, 2620, 929 +14297, 2750, 845, 2368, 2365 +14298, 716, 2366, 2363, 2747 +14299, 2549, 2546, 777, 2754 +14300, 2751, 2551, 2548, 906 +14301, 768, 2522, 2519, 2899 +14302, 2521, 2901, 2524, 897 +14303, 2776, 725, 2390, 2393 +14304, 2395, 2778, 854, 2392 +14305, 2542, 2922, 2545, 904 +14306, 775, 2920, 2543, 2540 +14307, 847, 2371, 2374, 2757 +14308, 718, 2369, 2755, 2372 +14309, 871, 2446, 2826, 2443 +14310, 742, 2444, 2441, 2824 +14311, 2853, 2473, 2470, 880 +14312, 751, 2468, 2851, 2471 +14313, 2464, 2847, 2467, 878 +14314, 749, 2462, 2845, 2465 +14315, 744, 2450, 2447, 2830 +14316, 873, 2452, 2832, 2449 +14317, 852, 2389, 2772, 2386 +14318, 2387, 2384, 723, 2770 +14319, 2528, 2525, 770, 2905 +14320, 2907, 2530, 2527, 899 +14321, 3083, 2291, 691, 2288 +14322, 802, 2621, 3032, 2624 +14323, 2290, 2293, 820, 3085 +14324, 2623, 931, 3034, 2626 +14325, 2600, 3011, 795, 2603 +14326, 2602, 3013, 2605, 924 +14327, 2311, 827, 3106, 2314 +14328, 2312, 2309, 698, 3104 +14329, 2599, 3010, 2602, 923 +14330, 3008, 794, 2597, 2600 +14331, 699, 3107, 2315, 2312 +14332, 828, 3109, 2314, 2317 +14333, 3086, 2294, 692, 2291 +14334, 2296, 821, 2293, 3088 +14335, 2620, 930, 3031, 2623 +14336, 801, 2618, 3029, 2621 +14337, 2522, 769, 2525, 2902 +14338, 2904, 2527, 2524, 898 +14339, 853, 2392, 2775, 2389 +14340, 724, 2390, 2387, 2773 +14341, 2548, 2545, 2925, 905 +14342, 2923, 2546, 776, 2543 +14343, 2371, 2753, 846, 2368 +14344, 2748, 717, 2366, 2369 +14345, 2829, 872, 2449, 2446 +14346, 2827, 743, 2444, 2447 +14347, 750, 2465, 2848, 2468 +14348, 2470, 2467, 2850, 879 +14349, 1265, 2693, 26, 3183 +14350, 17, 2736, 1117, 3176 +14351, 2746, 1137, 1157, 2956 +14352, 2956, 1020, 2744, 941 +14353, 2742, 1021, 2956, 941 +14354, 1137, 1158, 2956, 2745 +14355, 24, 1139, 2963, 2693 +14356, 3176, 2740, 23, 1283 +14357, 23, 1284, 2741, 3176 +14358, 28, 3184, 2692, 1302 +14359, 21, 1135, 2648, 3185 +14360, 27, 2265, 812, 3061 +14361, 20, 3059, 683, 2262 +14362, 810, 3056, 20, 2269 +14363, 939, 2266, 27, 3058 +14364, 784, 2981, 1073, 2570 +14365, 2983, 913, 1240, 2572 +14366, 709, 2342, 1064, 3134 +14367, 838, 2344, 3136, 1327 +14368, 1116, 2738, 17, 3176 +14369, 2341, 836, 3133, 1327 +14370, 2339, 707, 1064, 3131 +14371, 1073, 2984, 786, 2573 +14372, 915, 2986, 1240, 2575 +14373, 16, 812, 27, 2265 +14374, 683, 15, 20, 2262 +14375, 810, 20, 15, 2269 +14376, 27, 939, 16, 2266 +14377, 1073, 785, 784, 2570 +14378, 914, 1240, 913, 2572 +14379, 1064, 709, 708, 2342 +14380, 837, 2344, 838, 1327 +14381, 2649, 1098, 22, 3186 +14382, 2956, 1137, 1157, 1158 +14383, 1021, 1020, 2956, 941 +14384, 1159, 1158, 2732, 2941 +14385, 2686, 2928, 1019, 1020 +14386, 1072, 2981, 784, 2567 +14387, 2569, 913, 1239, 2983 +14388, 3136, 2347, 838, 1328 +14389, 709, 3134, 1065, 2345 +14390, 2498, 985, 761, 2878 +14391, 1219, 2500, 890, 2880 +14392, 2416, 1193, 861, 2799 +14393, 732, 2414, 2797, 959 +14394, 939, 3058, 1264, 2647 +14395, 3056, 2645, 810, 1097 +14396, 683, 3059, 1040, 2263 +14397, 812, 3061, 2268, 1303 +14398, 707, 1064, 708, 2339 +14399, 836, 2341, 837, 1327 +14400, 1073, 786, 785, 2573 +14401, 915, 1240, 914, 2575 +14402, 1118, 1117, 2688, 3158 +14403, 1194, 2422, 864, 2805 +14404, 2803, 2420, 735, 960 +14405, 1218, 2874, 887, 2494 +14406, 2492, 758, 984, 2872 +14407, 786, 2984, 1074, 2576 +14408, 2986, 915, 1241, 2578 +14409, 707, 2336, 1063, 3131 +14410, 836, 2338, 3133, 1326 +14411, 1284, 3176, 23, 1283 +14412, 1002, 19, 2966, 2649 +14413, 2733, 3158, 1284, 1285 +14414, 889, 890, 1219, 2500 +14415, 760, 985, 761, 2498 +14416, 2414, 732, 733, 959 +14417, 862, 1193, 861, 2416 +14418, 864, 1194, 863, 2422 +14419, 2420, 734, 735, 960 +14420, 1218, 887, 888, 2494 +14421, 758, 984, 759, 2492 +14422, 1072, 2567, 783, 2978 +14423, 2569, 1239, 912, 2980 +14424, 2347, 3139, 839, 1328 +14425, 3137, 710, 1065, 2345 +14426, 2689, 2941, 1021, 1022 +14427, 761, 2878, 986, 2501 +14428, 1220, 2880, 890, 2503 +14429, 861, 2799, 1192, 2413 +14430, 732, 2797, 2411, 958 +14431, 809, 2645, 3053, 1097 +14432, 938, 2647, 1264, 3055 +14433, 1040, 3062, 684, 2263 +14434, 3064, 813, 2268, 1303 +14435, 735, 2423, 2803, 961 +14436, 2425, 1195, 864, 2805 +14437, 887, 2491, 2874, 1217 +14438, 758, 2489, 983, 2872 +14439, 3130, 2338, 835, 1326 +14440, 2336, 706, 1063, 3128 +14441, 1074, 2987, 787, 2576 +14442, 916, 2989, 1241, 2578 +14443, 17, 1117, 1116, 3176 +14444, 1116, 1115, 2687, 3156 +14445, 1176, 2692, 25, 2964 +14446, 3097, 2305, 824, 1315 +14447, 2303, 695, 1052, 3095 +14448, 3020, 2609, 798, 1085 +14449, 3022, 927, 2611, 1252 +14450, 875, 2458, 1206, 2838 +14451, 746, 2456, 2836, 972 +14452, 2458, 1206, 2841, 876 +14453, 972, 747, 2456, 2839 +14454, 773, 2914, 2534, 997 +14455, 2536, 1231, 2916, 902 +14456, 849, 2380, 1181, 2763 +14457, 720, 2378, 2761, 947 +14458, 695, 2300, 1051, 3095 +14459, 824, 2302, 3097, 1314 +14460, 798, 2612, 3020, 1086 +14461, 927, 3022, 2614, 1253 +14462, 1071, 2978, 783, 2564 +14463, 2566, 912, 1238, 2980 +14464, 710, 3137, 1066, 2348 +14465, 839, 3139, 2350, 1329 +14466, 2503, 891, 1220, 2883 +14467, 2501, 986, 762, 2881 +14468, 860, 2413, 1192, 2796 +14469, 731, 2411, 2794, 958 +14470, 1181, 2380, 850, 2766 +14471, 2764, 2378, 721, 947 +14472, 2913, 1231, 2536, 901 +14473, 2534, 2911, 772, 997 +14474, 813, 3064, 2272, 1304 +14475, 3053, 2642, 809, 1096 +14476, 684, 3062, 1041, 2270 +14477, 1263, 2644, 938, 3055 +14478, 2423, 736, 2806, 961 +14479, 1195, 2425, 865, 2808 +14480, 2491, 886, 2871, 1217 +14481, 983, 2489, 757, 2869 +14482, 706, 2333, 1062, 3128 +14483, 835, 2335, 3130, 1325 +14484, 787, 2987, 1075, 2579 +14485, 1242, 2989, 916, 2581 +14486, 1157, 1156, 2731, 2928 +14487, 2914, 773, 2537, 998 +14488, 1232, 2539, 2916, 902 +14489, 2761, 2375, 720, 946 +14490, 1180, 2377, 849, 2763 +14491, 911, 2566, 1238, 2977 +14492, 782, 2975, 1071, 2564 +14493, 840, 2350, 3142, 1329 +14494, 2348, 1066, 711, 3140 +14495, 797, 2609, 3017, 1085 +14496, 2611, 926, 3019, 1252 +14497, 2303, 1052, 696, 3098 +14498, 2305, 3100, 825, 1315 +14499, 1221, 2883, 891, 2506 +14500, 762, 2881, 987, 2504 +14501, 2410, 860, 1191, 2796 +14502, 2794, 2408, 731, 957 +14503, 875, 2838, 1205, 2455 +14504, 2453, 746, 2836, 971 +14505, 747, 2839, 973, 2459 +14506, 1207, 2461, 2841, 876 +14507, 2642, 3050, 808, 1096 +14508, 1263, 3052, 937, 2644 +14509, 3067, 814, 2272, 1304 +14510, 1041, 3065, 685, 2270 +14511, 1051, 2300, 694, 3092 +14512, 3094, 2302, 823, 1314 +14513, 3025, 928, 2614, 1253 +14514, 3023, 2612, 799, 1086 +14515, 2808, 865, 1196, 2428 +14516, 2426, 2806, 736, 962 +14517, 2871, 886, 2488, 1216 +14518, 2869, 757, 982, 2486 +14519, 705, 3125, 1062, 2333 +14520, 834, 3127, 2335, 1325 +14521, 917, 2992, 1242, 2581 +14522, 1075, 2990, 788, 2579 +14523, 2383, 1182, 850, 2766 +14524, 721, 2381, 2764, 948 +14525, 772, 2911, 2531, 996 +14526, 2913, 901, 2533, 1230 +14527, 2563, 911, 1237, 2977 +14528, 1070, 2975, 782, 2561 +14529, 1067, 2351, 711, 3140 +14530, 3142, 2353, 840, 1330 +14531, 987, 2884, 763, 2504 +14532, 2886, 1221, 892, 2506 +14533, 859, 2410, 1191, 2793 +14534, 730, 2408, 2791, 957 +14535, 2537, 774, 2917, 998 +14536, 2919, 903, 2539, 1232 +14537, 2375, 2758, 719, 946 +14538, 848, 2377, 1180, 2760 +14539, 685, 3065, 1042, 2273 +14540, 814, 3067, 2275, 1305 +14541, 808, 3050, 2639, 1095 +14542, 937, 3052, 1262, 2641 +14543, 866, 2811, 1196, 2428 +14544, 737, 2809, 2426, 962 +14545, 2488, 885, 2868, 1216 +14546, 982, 2486, 756, 2866 +14547, 2606, 797, 3017, 1084 +14548, 3019, 926, 2608, 1251 +14549, 1053, 2306, 696, 3098 +14550, 2308, 825, 3100, 1316 +14551, 1061, 3125, 705, 2330 +14552, 2332, 3127, 834, 1324 +14553, 788, 2990, 1076, 2582 +14554, 1243, 2992, 917, 2584 +14555, 2453, 2833, 745, 971 +14556, 2455, 1205, 874, 2835 +14557, 2844, 877, 2461, 1207 +14558, 2842, 748, 973, 2459 +14559, 823, 2299, 3094, 1313 +14560, 2297, 1050, 694, 3092 +14561, 3025, 1254, 2617, 928 +14562, 799, 2615, 3023, 1087 +14563, 2383, 851, 1182, 2769 +14564, 2767, 2381, 722, 948 +14565, 2531, 2908, 771, 996 +14566, 2533, 900, 2910, 1230 +14567, 1051, 1052, 695, 3095 +14568, 3097, 1315, 824, 1314 +14569, 1085, 798, 3020, 1086 +14570, 1253, 927, 3022, 1252 +14571, 1070, 2561, 781, 2970 +14572, 1237, 2974, 910, 2563 +14573, 712, 2351, 1067, 3143 +14574, 841, 2353, 3145, 1330 +14575, 1222, 2886, 892, 2509 +14576, 763, 2884, 988, 2507 +14577, 1190, 2407, 859, 2793 +14578, 2791, 2405, 730, 956 +14579, 936, 2641, 1262, 3049 +14580, 2639, 3047, 807, 1095 +14581, 686, 2273, 1042, 3068 +14582, 815, 2275, 3070, 1305 +14583, 2811, 866, 1197, 2431 +14584, 2429, 2809, 737, 963 +14585, 885, 2485, 2868, 1215 +14586, 756, 2483, 981, 2866 +14587, 704, 3122, 1061, 2330 +14588, 833, 3124, 2332, 1324 +14589, 1076, 2993, 789, 2582 +14590, 918, 2995, 1243, 2584 +14591, 2542, 903, 2919, 1233 +14592, 774, 2540, 2917, 999 +14593, 848, 2760, 1179, 2374 +14594, 719, 2758, 2372, 945 +14595, 3016, 1251, 2608, 925 +14596, 796, 2606, 3014, 1084 +14597, 2306, 1053, 697, 3101 +14598, 826, 2308, 3103, 1316 +14599, 773, 998, 2914, 997 +14600, 2916, 1231, 1232, 902 +14601, 720, 947, 2761, 946 +14602, 849, 1181, 1180, 2763 +14603, 2464, 877, 2844, 1208 +14604, 1204, 2452, 874, 2835 +14605, 745, 2833, 2450, 970 +14606, 748, 2842, 974, 2462 +14607, 2836, 971, 746, 972 +14608, 875, 1206, 1205, 2838 +14609, 973, 747, 972, 2839 +14610, 2841, 1206, 1207, 876 +14611, 3091, 2299, 822, 1313 +14612, 1050, 2297, 693, 3089 +14613, 3026, 2615, 800, 1087 +14614, 3028, 2617, 1254, 929 +14615, 851, 2386, 1183, 2769 +14616, 722, 2384, 2767, 949 +14617, 2530, 1229, 2910, 900 +14618, 771, 2908, 2528, 995 +14619, 1181, 850, 1182, 2766 +14620, 721, 948, 2764, 947 +14621, 772, 997, 2911, 996 +14622, 1231, 901, 2913, 1230 +14623, 781, 2558, 1069, 2970 +14624, 1236, 2560, 910, 2974 +14625, 712, 3143, 1068, 2354 +14626, 841, 3145, 2356, 1331 +14627, 893, 2889, 1222, 2509 +14628, 988, 2887, 764, 2507 +14629, 858, 2407, 1190, 2790 +14630, 729, 2405, 2788, 956 +14631, 686, 3068, 1043, 2276 +14632, 815, 3070, 2278, 1306 +14633, 807, 3047, 2636, 1094 +14634, 3049, 1261, 936, 2638 +14635, 2485, 884, 2865, 1215 +14636, 981, 2483, 755, 2863 +14637, 867, 2814, 1197, 2431 +14638, 738, 2812, 2429, 963 +14639, 1244, 2995, 918, 2587 +14640, 2993, 1077, 789, 2585 +14641, 1060, 3122, 704, 2327 +14642, 2329, 3124, 833, 1323 +14643, 2922, 904, 2542, 1233 +14644, 2920, 2540, 775, 999 +14645, 2374, 1179, 847, 2757 +14646, 718, 2372, 2755, 945 +14647, 796, 3014, 2603, 1083 +14648, 3103, 2311, 826, 1317 +14649, 925, 2605, 3016, 1250 +14650, 697, 3101, 1054, 2309 +14651, 1204, 2832, 873, 2452 +14652, 2450, 2830, 744, 970 +14653, 2845, 749, 974, 2462 +14654, 878, 2464, 2847, 1208 +14655, 1068, 2972, 713, 2354 +14656, 1236, 2973, 909, 2560 +14657, 2558, 780, 1069, 2969 +14658, 842, 2356, 2967, 1331 +14659, 1049, 3089, 693, 2294 +14660, 3091, 822, 2296, 1312 +14661, 1255, 2620, 3028, 929 +14662, 3026, 800, 2618, 1088 +14663, 2772, 1183, 852, 2386 +14664, 723, 2770, 2384, 949 +14665, 2528, 2905, 770, 995 +14666, 2907, 1229, 2530, 899 +14667, 713, 2972, 21, 2357 +14668, 26, 2557, 909, 2973 +14669, 22, 2969, 780, 2555 +14670, 842, 2359, 28, 2967 +14671, 1223, 2889, 893, 2512 +14672, 764, 2887, 989, 2510 +14673, 1189, 2404, 858, 2790 +14674, 2788, 2402, 729, 955 +14675, 3046, 935, 1261, 2638 +14676, 2636, 3044, 806, 1094 +14677, 1043, 3071, 687, 2276 +14678, 3073, 816, 2278, 1306 +14679, 1282, 2730, 3156, 1283 +14680, 2482, 1214, 2865, 884 +14681, 755, 2480, 980, 2863 +14682, 2812, 738, 2432, 964 +14683, 1198, 2814, 867, 2434 +14684, 703, 3119, 1060, 2327 +14685, 832, 3121, 2329, 1323 +14686, 2998, 2587, 1244, 919 +14687, 2996, 790, 1077, 2585 +14688, 1234, 2545, 2922, 904 +14689, 2920, 775, 2543, 1000 +14690, 1178, 2371, 847, 2757 +14691, 2755, 2369, 718, 944 +14692, 795, 2603, 3011, 1083 +14693, 1250, 2605, 3013, 924 +14694, 2311, 3106, 827, 1317 +14695, 2309, 1054, 698, 3104 +14696, 1209, 2467, 2847, 878 +14697, 873, 2832, 1203, 2449 +14698, 744, 2830, 2447, 969 +14699, 749, 2845, 975, 2465 +14700, 3086, 1049, 692, 2294 +14701, 821, 3088, 2296, 1312 +14702, 2618, 801, 3029, 1088 +14703, 930, 3031, 1255, 2620 +14704, 2770, 723, 2387, 950 +14705, 1184, 2772, 852, 2389 +14706, 2907, 899, 2527, 1228 +14707, 770, 2905, 2525, 994 +14708, 894, 2892, 1223, 2512 +14709, 989, 2890, 765, 2510 +14710, 857, 2404, 1189, 2787 +14711, 728, 2402, 2785, 955 +14712, 1332, 2736, 17, 3176 +14713, 806, 3044, 2633, 1093 +14714, 3046, 1260, 935, 2635 +14715, 687, 3071, 1044, 2279 +14716, 816, 3073, 2281, 1307 +14717, 3019, 1252, 926, 1251 +14718, 3017, 1084, 797, 1085 +14719, 3100, 1316, 825, 1315 +14720, 696, 1052, 1053, 3098 +14721, 2480, 754, 980, 2860 +14722, 868, 2817, 1198, 2434 +14723, 739, 2815, 2432, 964 +14724, 2862, 1214, 2482, 883 +14725, 17, 2738, 1332, 3176 +14726, 2326, 3121, 832, 1322 +14727, 703, 2324, 1059, 3119 +14728, 790, 2996, 1078, 2588 +14729, 2590, 2998, 1245, 919 +14730, 876, 2458, 1206, 875 +14731, 2456, 746, 747, 972 +14732, 2543, 776, 2923, 1000 +14733, 1234, 2925, 2545, 905 +14734, 2369, 2748, 717, 944 +14735, 2371, 1178, 846, 2753 +14736, 1051, 694, 1050, 3092 +14737, 3094, 1314, 823, 1313 +14738, 1254, 928, 3025, 1253 +14739, 1086, 799, 3023, 1087 +14740, 2602, 1249, 3013, 924 +14741, 795, 3011, 2600, 1082 +14742, 3106, 2314, 827, 1318 +14743, 1055, 2312, 698, 3104 +14744, 721, 2378, 720, 947 +14745, 1181, 849, 850, 2380 +14746, 773, 2534, 772, 997 +14747, 1231, 902, 2536, 901 +14748, 2449, 1203, 872, 2829 +14749, 743, 2447, 2827, 969 +14750, 1209, 2850, 2467, 879 +14751, 2848, 750, 975, 2465 +14752, 1048, 3086, 692, 2291 +14753, 2293, 3088, 821, 1311 +14754, 3031, 930, 1256, 2623 +14755, 801, 2621, 3029, 1089 +14756, 853, 2775, 1184, 2389 +14757, 724, 2773, 2387, 950 +14758, 898, 2904, 2527, 1228 +14759, 2902, 769, 2525, 994 +14760, 2892, 894, 1224, 2515 +14761, 765, 2890, 990, 2513 +14762, 1188, 2401, 857, 2787 +14763, 2785, 2399, 728, 954 +14764, 934, 2635, 1260, 3043 +14765, 805, 2633, 3041, 1093 +14766, 688, 2279, 1044, 3074 +14767, 817, 2281, 3076, 1307 +14768, 754, 2477, 979, 2860 +14769, 1213, 2862, 2479, 883 +14770, 2437, 1199, 868, 2817 +14771, 739, 2435, 2815, 965 +14772, 3118, 2326, 831, 1322 +14773, 1059, 2324, 702, 3116 +14774, 1245, 3001, 2590, 920 +14775, 791, 2588, 1078, 2999 +14776, 2965, 2648, 18, 1039 +14777, 776, 2546, 2923, 1001 +14778, 2925, 1235, 2548, 905 +14779, 717, 2748, 2366, 943 +14780, 846, 2753, 1177, 2368 +14781, 2956, 2743, 1137, 2745 +14782, 2742, 2956, 2743, 941 +14783, 2744, 2743, 2956, 941 +14784, 1137, 2956, 2746, 2743 +14785, 794, 2600, 3008, 1082 +14786, 1249, 2602, 3010, 923 +14787, 3107, 699, 1055, 2312 +14788, 3109, 828, 2314, 1318 +14789, 2850, 1210, 2470, 879 +14790, 2829, 1202, 872, 2446 +14791, 750, 2848, 976, 2468 +14792, 743, 2827, 2444, 968 +14793, 926, 2611, 927, 1252 +14794, 2609, 797, 798, 1085 +14795, 2305, 825, 824, 1315 +14796, 695, 1052, 696, 2303 +14797, 3034, 1256, 931, 2623 +14798, 820, 3085, 2293, 1311 +14799, 691, 3083, 1048, 2291 +14800, 3032, 2621, 802, 1089 +14801, 1185, 2775, 853, 2392 +14802, 2773, 724, 2390, 951 +14803, 2904, 898, 2524, 1227 +14804, 769, 2902, 2522, 993 +14805, 990, 2893, 766, 2513 +14806, 895, 2895, 1224, 2515 +14807, 727, 2399, 2782, 954 +14808, 856, 2401, 1188, 2784 +14809, 2282, 688, 1045, 3074 +14810, 3041, 2630, 805, 1092 +14811, 1259, 2632, 934, 3043 +14812, 3076, 2284, 817, 1308 +14813, 1199, 2437, 869, 2820 +14814, 2435, 740, 2818, 965 +14815, 882, 2859, 2479, 1213 +14816, 753, 2857, 979, 2477 +14817, 2750, 25, 845, 2365 +14818, 24, 2551, 2751, 906 +14819, 19, 2549, 777, 2754 +14820, 716, 2363, 18, 2747 +14821, 2321, 1058, 702, 3116 +14822, 831, 2323, 3118, 1321 +14823, 1246, 2593, 3001, 920 +14824, 2591, 2999, 791, 1079 +14825, 2302, 824, 823, 1314 +14826, 694, 1051, 695, 2300 +14827, 2612, 798, 799, 1086 +14828, 928, 927, 2614, 1253 +14829, 18, 716, 715, 2363 +14830, 844, 845, 25, 2365 +14831, 778, 777, 19, 2549 +14832, 24, 907, 2551, 906 +14833, 1056, 2315, 699, 3107 +14834, 3109, 2317, 828, 1319 +14835, 2599, 1248, 3010, 923 +14836, 794, 3008, 2597, 1081 +14837, 2824, 742, 2444, 968 +14838, 2826, 871, 1202, 2446 +14839, 2853, 880, 2470, 1210 +14840, 2851, 751, 976, 2468 +14841, 1047, 3083, 691, 2288 +14842, 2290, 3085, 820, 1310 +14843, 3034, 931, 1257, 2626 +14844, 802, 2624, 3032, 1090 +14845, 2747, 716, 2366, 943 +14846, 845, 2368, 1177, 2750 +14847, 2751, 906, 2548, 1235 +14848, 777, 2754, 2546, 1001 +14849, 854, 2778, 1185, 2392 +14850, 2776, 2390, 725, 951 +14851, 2522, 2899, 768, 993 +14852, 1227, 2524, 2901, 897 +14853, 2895, 895, 1225, 2518 +14854, 1187, 2398, 856, 2784 +14855, 2782, 2396, 727, 953 +14856, 766, 2893, 991, 2516 +14857, 689, 2282, 1045, 3077 +14858, 818, 2284, 3079, 1308 +14859, 804, 2630, 3038, 1092 +14860, 933, 2632, 1259, 3040 +14861, 753, 2474, 978, 2857 +14862, 740, 2438, 2818, 966 +14863, 869, 2440, 1200, 2820 +14864, 2476, 1212, 2859, 882 +14865, 1058, 2321, 701, 3113 +14866, 3115, 2323, 830, 1321 +14867, 792, 3002, 2591, 1079 +14868, 2593, 1246, 3004, 921 +14869, 2473, 880, 2853, 1211 +14870, 742, 2824, 2441, 967 +14871, 871, 2826, 1201, 2443 +14872, 751, 2851, 977, 2471 +14873, 3007, 1248, 2599, 922 +14874, 2317, 3112, 829, 1319 +14875, 2597, 3005, 793, 1081 +14876, 3110, 700, 1056, 2315 +14877, 768, 2899, 2519, 992 +14878, 854, 2395, 1186, 2778 +14879, 897, 2521, 2901, 1226 +14880, 725, 2393, 2776, 952 +14881, 896, 2898, 1225, 2518 +14882, 991, 2896, 767, 2516 +14883, 726, 2396, 2779, 953 +14884, 855, 2398, 1187, 2781 +14885, 690, 3080, 1047, 2288 +14886, 3082, 2290, 819, 1310 +14887, 932, 3037, 1257, 2626 +14888, 3035, 2624, 803, 1090 +14889, 1212, 2476, 2856, 881 +14890, 978, 2474, 752, 2854 +14891, 2440, 870, 1200, 2823 +14892, 2438, 741, 2821, 966 +14893, 804, 3038, 2627, 1091 +14894, 1046, 2285, 689, 3077 +14895, 3079, 2287, 818, 1309 +14896, 1258, 2629, 933, 3040 +14897, 701, 2318, 1057, 3113 +14898, 830, 2320, 3115, 1320 +14899, 3002, 792, 2594, 1080 +14900, 3004, 1247, 2596, 921 +14901, 793, 3005, 2594, 1080 +14902, 2596, 1247, 3007, 922 +14903, 1057, 2318, 700, 3110 +14904, 3112, 2320, 829, 1320 +14905, 819, 2287, 3082, 1309 +14906, 2285, 1046, 690, 3080 +14907, 803, 2627, 3035, 1091 +14908, 2629, 1258, 932, 3037 +14909, 752, 2471, 977, 2854 +14910, 881, 2473, 2856, 1211 +14911, 870, 2443, 1201, 2823 +14912, 741, 2441, 2821, 967 +14913, 1186, 2395, 855, 2781 +14914, 767, 2519, 2896, 992 +14915, 2521, 896, 2898, 1226 +14916, 2393, 726, 2779, 952 +14917, 2919, 1233, 903, 1232 +14918, 774, 999, 2917, 998 +14919, 848, 1180, 1179, 2760 +14920, 719, 946, 2758, 945 +14921, 1204, 874, 1205, 2835 +14922, 2833, 970, 745, 971 +14923, 2844, 1208, 877, 1207 +14924, 748, 973, 974, 2842 +14925, 2741, 1332, 23, 3176 +14926, 1183, 1182, 851, 2769 +14927, 2767, 948, 722, 949 +14928, 771, 996, 2908, 995 +14929, 2910, 900, 1229, 1230 +14930, 23, 3176, 1332, 2740 +14931, 2539, 1232, 903, 902 +14932, 774, 2537, 773, 998 +14933, 849, 1180, 848, 2377 +14934, 2375, 719, 720, 946 +14935, 746, 2453, 745, 971 +14936, 1205, 874, 875, 2455 +14937, 2461, 1207, 877, 876 +14938, 973, 748, 747, 2459 +14939, 851, 1182, 850, 2383 +14940, 2381, 721, 722, 948 +14941, 2533, 901, 900, 1230 +14942, 772, 2531, 771, 996 +14943, 3014, 1083, 796, 1084 +14944, 925, 3016, 1251, 1250 +14945, 3103, 1317, 826, 1316 +14946, 1054, 697, 1053, 3101 +14947, 1312, 3091, 822, 1313 +14948, 693, 1049, 1050, 3089 +14949, 800, 1088, 3026, 1087 +14950, 3028, 1254, 1255, 929 +14951, 3156, 1332, 2738, 3176 +14952, 2608, 1251, 926, 925 +14953, 797, 2606, 796, 1084 +14954, 825, 2308, 826, 1316 +14955, 1053, 697, 696, 2306 +14956, 693, 1050, 694, 2297 +14957, 2299, 823, 822, 1313 +14958, 2615, 799, 800, 1087 +14959, 928, 1254, 2617, 929 +14960, 1234, 904, 2922, 1233 +14961, 1000, 2920, 775, 999 +14962, 1178, 847, 1179, 2757 +14963, 2755, 944, 718, 945 +14964, 1204, 1203, 873, 2832 +14965, 2830, 969, 744, 970 +14966, 975, 749, 974, 2845 +14967, 878, 2847, 1209, 1208 +14968, 2770, 949, 723, 950 +14969, 1183, 852, 1184, 2772 +14970, 2905, 994, 770, 995 +14971, 1229, 899, 2907, 1228 +14972, 2744, 2956, 2743, 2928 +14973, 2746, 2743, 2956, 2928 +14974, 2956, 2743, 2941, 2742 +14975, 2941, 2743, 2956, 2745 +14976, 3158, 2736, 1332, 3176 +14977, 1332, 2741, 3158, 3176 +14978, 1332, 3176, 3156, 2740 +14979, 775, 2540, 774, 999 +14980, 903, 2542, 904, 1233 +14981, 1179, 847, 848, 2374 +14982, 2372, 718, 719, 945 +14983, 1204, 873, 874, 2452 +14984, 745, 2450, 744, 970 +14985, 748, 974, 749, 2462 +14986, 2464, 878, 877, 1208 +14987, 2384, 722, 723, 949 +14988, 852, 1183, 851, 2386 +14989, 1229, 900, 2530, 899 +14990, 2528, 770, 771, 995 +14991, 795, 1083, 3011, 1082 +14992, 1250, 3013, 1249, 924 +14993, 698, 1054, 1055, 3104 +14994, 827, 1317, 3106, 1318 +14995, 3088, 1312, 821, 1311 +14996, 1049, 692, 1048, 3086 +14997, 1088, 801, 3029, 1089 +14998, 1256, 1255, 930, 3031 +14999, 2605, 1250, 925, 924 +15000, 2603, 795, 796, 1083 +15001, 2311, 827, 826, 1317 +15002, 697, 1054, 698, 2309 +15003, 1049, 693, 692, 2294 +15004, 821, 2296, 822, 1312 +15005, 801, 2618, 800, 1088 +15006, 930, 2620, 1255, 929 +15007, 1001, 2923, 776, 1000 +15008, 2925, 1234, 1235, 905 +15009, 1177, 846, 1178, 2753 +15010, 2748, 943, 717, 944 +15011, 2850, 1209, 1210, 879 +15012, 750, 975, 976, 2848 +15013, 1202, 872, 1203, 2829 +15014, 2827, 968, 743, 969 +15015, 724, 951, 2773, 950 +15016, 853, 1185, 1184, 2775 +15017, 2902, 993, 769, 994 +15018, 898, 1227, 2904, 1228 +15019, 2545, 904, 1234, 905 +15020, 776, 2543, 775, 1000 +15021, 1178, 846, 847, 2371 +15022, 2369, 717, 718, 944 +15023, 873, 1203, 872, 2449 +15024, 2447, 743, 744, 969 +15025, 975, 750, 749, 2465 +15026, 879, 2467, 1209, 878 +15027, 1249, 3010, 1248, 923 +15028, 794, 1082, 3008, 1081 +15029, 699, 1055, 1056, 3107 +15030, 828, 1318, 3109, 1319 +15031, 1048, 691, 1047, 3083 +15032, 3085, 1311, 820, 1310 +15033, 3032, 1089, 802, 1090 +15034, 1257, 1256, 931, 3034 +15035, 1184, 852, 853, 2389 +15036, 724, 2387, 723, 950 +15037, 2527, 899, 898, 1228 +15038, 770, 2525, 769, 994 +15039, 19, 2754, 777, 1001 +15040, 24, 906, 2751, 1235 +15041, 845, 1177, 25, 2750 +15042, 716, 2747, 18, 943 +15043, 2824, 967, 742, 968 +15044, 1201, 871, 1202, 2826 +15045, 751, 976, 977, 2851 +15046, 880, 1210, 2853, 1211 +15047, 2600, 794, 795, 1082 +15048, 2602, 923, 1249, 924 +15049, 2314, 828, 827, 1318 +15050, 698, 1055, 699, 2312 +15051, 854, 1186, 1185, 2778 +15052, 725, 952, 2776, 951 +15053, 768, 993, 2899, 992 +15054, 897, 2901, 1227, 1226 +15055, 1048, 692, 691, 2291 +15056, 2293, 821, 820, 1311 +15057, 931, 1256, 930, 2623 +15058, 2621, 801, 802, 1089 +15059, 793, 1081, 3005, 1080 +15060, 3007, 1247, 1248, 922 +15061, 700, 1056, 1057, 3110 +15062, 829, 1319, 3112, 1320 +15063, 1310, 819, 3082, 1309 +15064, 1047, 690, 1046, 3080 +15065, 1090, 803, 3035, 1091 +15066, 1257, 932, 1258, 3037 +15067, 2548, 1235, 906, 905 +15068, 777, 2546, 776, 1001 +15069, 717, 2366, 716, 943 +15070, 1177, 845, 846, 2368 +15071, 743, 2444, 742, 968 +15072, 871, 872, 1202, 2446 +15073, 750, 976, 751, 2468 +15074, 2470, 1210, 880, 879 +15075, 1185, 853, 854, 2392 +15076, 725, 2390, 724, 951 +15077, 2524, 1227, 898, 897 +15078, 769, 2522, 768, 993 +15079, 881, 2856, 1212, 1211 +15080, 978, 752, 977, 2854 +15081, 1201, 1200, 870, 2823 +15082, 2821, 966, 741, 967 +15083, 726, 953, 2779, 952 +15084, 855, 1187, 1186, 2781 +15085, 767, 2896, 991, 992 +15086, 2898, 896, 1225, 1226 +15087, 794, 2597, 793, 1081 +15088, 923, 2599, 1248, 922 +15089, 2317, 829, 828, 1319 +15090, 699, 1056, 700, 2315 +15091, 1047, 691, 690, 2288 +15092, 2290, 820, 819, 1310 +15093, 932, 1257, 931, 2626 +15094, 2624, 802, 803, 1090 +15095, 3002, 1079, 792, 1080 +15096, 3004, 1246, 1247, 921 +15097, 701, 1057, 1058, 3113 +15098, 830, 1320, 3115, 1321 +15099, 3079, 1309, 818, 1308 +15100, 689, 1045, 1046, 3077 +15101, 3038, 1091, 804, 1092 +15102, 933, 1259, 1258, 3040 +15103, 811, 2269, 15, 2262 +15104, 2265, 16, 811, 2266 +15105, 2859, 882, 1212, 1213 +15106, 753, 978, 979, 2857 +15107, 869, 1200, 1199, 2820 +15108, 2818, 965, 740, 966 +15109, 977, 752, 751, 2471 +15110, 880, 2473, 881, 1211 +15111, 2441, 741, 742, 967 +15112, 1201, 870, 871, 2443 +15113, 856, 1188, 1187, 2784 +15114, 727, 954, 2782, 953 +15115, 1224, 895, 1225, 2895 +15116, 991, 766, 990, 2893 +15117, 2393, 725, 726, 952 +15118, 855, 1186, 854, 2395 +15119, 2521, 897, 896, 1226 +15120, 2519, 767, 768, 992 +15121, 791, 2999, 1078, 1079 +15122, 1245, 1246, 3001, 920 +15123, 702, 1058, 1059, 3116 +15124, 831, 1321, 3118, 1322 +15125, 1044, 1045, 688, 3074 +15126, 3076, 1308, 817, 1307 +15127, 3041, 1092, 805, 1093 +15128, 1260, 1259, 934, 3043 +15129, 793, 2594, 792, 1080 +15130, 1247, 922, 2596, 921 +15131, 700, 1057, 701, 2318 +15132, 2320, 830, 829, 1320 +15133, 818, 2287, 819, 1309 +15134, 689, 1046, 690, 2285 +15135, 804, 2627, 803, 1091 +15136, 1258, 932, 933, 2629 +15137, 2862, 1213, 1214, 883 +15138, 979, 980, 754, 2860 +15139, 2815, 964, 739, 965 +15140, 1198, 868, 1199, 2817 +15141, 2785, 954, 728, 955 +15142, 857, 1189, 1188, 2787 +15143, 765, 989, 990, 2890 +15144, 1223, 894, 1224, 2892 +15145, 1239, 913, 1240, 2983 +15146, 784, 1072, 1073, 2981 +15147, 709, 1064, 1065, 3134 +15148, 838, 1327, 3136, 1328 +15149, 27, 3061, 812, 1303 +15150, 20, 1040, 683, 3059 +15151, 20, 3056, 810, 1097 +15152, 27, 1264, 939, 3058 +15153, 26, 909, 1236, 2973 +15154, 713, 1068, 21, 2972 +15155, 22, 1069, 780, 2969 +15156, 842, 2967, 28, 1331 +15157, 790, 1077, 1078, 2996 +15158, 2998, 1244, 1245, 919 +15159, 703, 1059, 1060, 3119 +15160, 832, 1322, 3121, 1323 +15161, 935, 1261, 1260, 3046 +15162, 806, 1094, 3044, 1093 +15163, 687, 1043, 1044, 3071 +15164, 3073, 1307, 816, 1306 +15165, 3133, 1327, 836, 1326 +15166, 1063, 1064, 707, 3131 +15167, 1240, 915, 1241, 2986 +15168, 1074, 786, 1073, 2984 +15169, 986, 761, 985, 2878 +15170, 1192, 861, 1193, 2799 +15171, 958, 732, 2797, 959 +15172, 1219, 890, 1220, 2880 +15173, 1194, 864, 1195, 2805 +15174, 960, 735, 2803, 961 +15175, 2874, 1218, 887, 1217 +15176, 983, 984, 758, 2872 +15177, 741, 2438, 740, 966 +15178, 1200, 869, 870, 2440 +15179, 2476, 881, 1212, 882 +15180, 752, 978, 753, 2474 +15181, 981, 755, 980, 2863 +15182, 884, 1214, 2865, 1215 +15183, 1198, 1197, 867, 2814 +15184, 2812, 963, 738, 964 +15185, 856, 1187, 855, 2398 +15186, 2396, 726, 727, 953 +15187, 991, 767, 766, 2516 +15188, 896, 1225, 895, 2518 +15189, 858, 1190, 1189, 2790 +15190, 956, 2788, 729, 955 +15191, 764, 988, 989, 2887 +15192, 893, 1223, 1222, 2889 +15193, 1238, 912, 1239, 2980 +15194, 3139, 1329, 839, 1328 +15195, 783, 1071, 1072, 2978 +15196, 1066, 710, 1065, 3137 +15197, 1097, 3053, 809, 1096 +15198, 684, 1040, 1041, 3062 +15199, 3064, 1304, 813, 1303 +15200, 938, 1264, 1263, 3055 +15201, 1062, 1063, 706, 3128 +15202, 3130, 1326, 835, 1325 +15203, 787, 1074, 1075, 2987 +15204, 916, 1242, 1241, 2989 +15205, 1076, 1077, 789, 2993 +15206, 1243, 918, 1244, 2995 +15207, 704, 1060, 1061, 3122 +15208, 833, 1323, 3124, 1324 +15209, 936, 1262, 1261, 3049 +15210, 1042, 1043, 686, 3068 +15211, 3070, 1306, 815, 1305 +15212, 1095, 3047, 807, 1094 +15213, 3145, 1331, 841, 1330 +15214, 1067, 1068, 712, 3143 +15215, 781, 1069, 1070, 2970 +15216, 910, 1237, 1236, 2974 +15217, 1221, 1220, 891, 2883 +15218, 987, 762, 986, 2881 +15219, 2794, 957, 731, 958 +15220, 1192, 1191, 860, 2796 +15221, 865, 1196, 1195, 2808 +15222, 736, 962, 2806, 961 +15223, 1216, 2871, 886, 1217 +15224, 757, 982, 983, 2869 +15225, 2868, 1216, 885, 1215 +15226, 1197, 1196, 866, 2811 +15227, 2809, 962, 737, 963 +15228, 982, 756, 981, 2866 +15229, 859, 1191, 1190, 2793 +15230, 957, 2791, 730, 956 +15231, 763, 987, 988, 2884 +15232, 892, 1222, 1221, 2886 +15233, 3142, 1330, 840, 1329 +15234, 1238, 1237, 911, 2977 +15235, 782, 1070, 1071, 2975 +15236, 1067, 711, 1066, 3140 +15237, 1263, 1262, 937, 3052 +15238, 3050, 1095, 808, 1096 +15239, 3067, 1305, 814, 1304 +15240, 1041, 1042, 685, 3065 +15241, 1076, 788, 1075, 2990 +15242, 1061, 1062, 705, 3125 +15243, 3127, 1325, 834, 1324 +15244, 1243, 1242, 917, 2992 +15245, 701, 1058, 702, 2321 +15246, 921, 2593, 1246, 920 +15247, 792, 2591, 791, 1079 +15248, 2323, 831, 830, 1321 +15249, 817, 2284, 818, 1308 +15250, 688, 1045, 689, 2282 +15251, 934, 1259, 933, 2632 +15252, 2630, 804, 805, 1092 +15253, 889, 2735, 888, 2497 +15254, 759, 2691, 760, 2495 +15255, 734, 2417, 733, 2690 +15256, 2734, 862, 863, 2419 +15257, 2740, 1283, 2730, 1138 +15258, 1213, 2479, 882, 883 +15259, 979, 754, 753, 2477 +15260, 740, 2435, 739, 965 +15261, 869, 1199, 868, 2437 +15262, 857, 1188, 856, 2401 +15263, 2399, 727, 728, 954 +15264, 1224, 894, 895, 2515 +15265, 990, 766, 765, 2513 +15266, 1245, 920, 2590, 919 +15267, 790, 1078, 791, 2588 +15268, 2326, 832, 831, 1322 +15269, 702, 1059, 703, 2324 +15270, 1044, 688, 687, 2279 +15271, 816, 2281, 817, 1307 +15272, 1260, 934, 935, 2635 +15273, 806, 2633, 805, 1093 +15274, 1136, 2741, 1284, 2733 +15275, 2732, 2745, 1158, 1136 +15276, 21, 714, 713, 2357 +15277, 28, 842, 843, 2359 +15278, 22, 780, 779, 2555 +15279, 908, 909, 26, 2557 +15280, 2744, 1020, 2686, 940 +15281, 754, 980, 755, 2480 +15282, 868, 1198, 867, 2434 +15283, 2482, 883, 1214, 884 +15284, 739, 2432, 738, 964 +15285, 2742, 2689, 1021, 942 +15286, 858, 1189, 857, 2404 +15287, 989, 765, 764, 2510 +15288, 2402, 728, 729, 955 +15289, 894, 1223, 893, 2512 +15290, 2688, 1117, 942, 2736 +15291, 1244, 2587, 918, 919 +15292, 789, 1077, 790, 2585 +15293, 1060, 704, 703, 2327 +15294, 2329, 833, 832, 1323 +15295, 815, 2278, 816, 1306 +15296, 2636, 806, 807, 1094 +15297, 1043, 687, 686, 2276 +15298, 936, 1261, 935, 2638 +15299, 1068, 713, 712, 2354 +15300, 841, 2356, 842, 1331 +15301, 1069, 781, 780, 2558 +15302, 1236, 909, 910, 2560 +15303, 884, 2485, 885, 1215 +15304, 867, 1197, 866, 2431 +15305, 2429, 737, 738, 963 +15306, 755, 981, 756, 2483 +15307, 1190, 858, 859, 2407 +15308, 2405, 729, 730, 956 +15309, 893, 1222, 892, 2509 +15310, 988, 764, 763, 2507 +15311, 1072, 784, 783, 2567 +15312, 912, 913, 1239, 2569 +15313, 2347, 839, 838, 1328 +15314, 709, 1065, 710, 2345 +15315, 1243, 917, 918, 2584 +15316, 1076, 789, 788, 2582 +15317, 1061, 705, 704, 2330 +15318, 833, 2332, 834, 1324 +15319, 938, 939, 1264, 2647 +15320, 2645, 809, 810, 1097 +15321, 812, 2268, 813, 1303 +15322, 1040, 684, 683, 2263 +15323, 814, 2275, 815, 1305 +15324, 1042, 686, 685, 2273 +15325, 936, 937, 1262, 2641 +15326, 2639, 807, 808, 1095 +15327, 706, 1063, 707, 2336 +15328, 2338, 836, 835, 1326 +15329, 1074, 787, 786, 2576 +15330, 916, 1241, 915, 2578 +15331, 1067, 712, 711, 2351 +15332, 840, 2353, 841, 1330 +15333, 1070, 782, 781, 2561 +15334, 910, 911, 1237, 2563 +15335, 890, 891, 1220, 2503 +15336, 986, 762, 761, 2501 +15337, 1192, 860, 861, 2413 +15338, 732, 2411, 731, 958 +15339, 2426, 736, 737, 962 +15340, 756, 982, 757, 2486 +15341, 866, 1196, 865, 2428 +15342, 2488, 886, 885, 1216 +15343, 887, 886, 2491, 1217 +15344, 983, 758, 757, 2489 +15345, 736, 2423, 735, 961 +15346, 1195, 864, 865, 2425 +15347, 2408, 730, 731, 957 +15348, 860, 1191, 859, 2410 +15349, 891, 892, 1221, 2506 +15350, 987, 763, 762, 2504 +15351, 2350, 840, 839, 1329 +15352, 1071, 783, 782, 2564 +15353, 710, 1066, 711, 2348 +15354, 1238, 911, 912, 2566 +15355, 917, 1242, 916, 2581 +15356, 1075, 788, 787, 2579 +15357, 705, 1062, 706, 2333 +15358, 834, 2335, 835, 1325 +15359, 1041, 685, 684, 2270 +15360, 813, 2272, 814, 1304 +15361, 2642, 808, 809, 1096 +15362, 1263, 937, 938, 2644 +15363, 1157, 2746, 2731, 1138 +15364, 2687, 940, 1116, 2738 +15365, 23, 1283, 2740, 1138 +15366, 2744, 941, 1020, 940 +15367, 2746, 1157, 1137, 1138 +15368, 1021, 941, 2742, 942 +15369, 1158, 2745, 1137, 1136 +15370, 1284, 23, 2741, 1136 +15371, 1117, 17, 942, 2736 +15372, 17, 1116, 940, 2738 +15373, 715, 2360, 714, 2684 +15374, 2552, 778, 779, 2685 +15375, 844, 2728, 843, 2362 +15376, 2554, 907, 2729, 908 +15377, 985, 2691, 984, 2875 +15378, 1194, 1193, 2734, 2802 +15379, 2690, 2800, 959, 960 +15380, 2735, 1219, 1218, 2877 +15381, 1336, 3184, 2964, 2692 +15382, 2964, 3184, 1336, 2648 +15383, 2964, 1334, 1336, 2692 +15384, 1336, 1334, 2964, 2648 +15385, 1335, 3183, 2963, 2649 +15386, 2963, 3183, 1335, 2693 +15387, 2963, 1333, 1335, 2649 +15388, 1335, 1333, 2963, 2693 +15389, 1002, 2926, 2649, 2966 +15390, 2649, 2926, 1002, 2669 +15391, 1161, 2711, 2944, 2725 +15392, 2944, 2711, 1161, 2935 +15393, 2964, 3184, 2709, 2692 +15394, 2709, 3184, 2964, 3163 +15395, 1037, 2680, 2959, 2943 +15396, 2680, 1037, 2959, 2658 +15397, 2669, 2713, 2704, 3172 +15398, 2704, 2713, 2669, 2950 +15399, 2704, 2659, 2669, 3172 +15400, 2669, 2659, 2704, 2950 +15401, 3193, 2675, 2719, 2945 +15402, 2675, 3193, 2719, 3182 +15403, 2960, 3162, 2944, 2676 +15404, 3162, 2960, 2944, 2725 +15405, 3162, 2960, 3177, 2676 +15406, 2960, 3162, 3177, 2725 +15407, 2709, 2680, 2665, 2943 +15408, 2680, 2709, 2665, 3152 +15409, 2680, 2709, 2724, 2943 +15410, 2709, 2680, 2724, 3152 +15411, 3183, 2669, 2713, 2926 +15412, 2669, 3183, 2713, 3148 +15413, 2669, 3183, 2649, 2926 +15414, 1026, 2951, 2666, 2681 +15415, 2951, 1026, 2666, 2938 +15416, 2964, 2665, 3163, 2648 +15417, 2665, 2964, 2965, 2648 +15418, 2964, 2665, 2965, 2930 +15419, 2964, 2709, 2665, 2930 +15420, 2665, 2709, 2964, 3163 +15421, 2737, 3177, 2960, 2664 +15422, 3177, 2737, 2960, 2700 +15423, 2719, 2661, 2705, 2961 +15424, 2661, 2719, 2705, 3165 +15425, 2661, 2719, 2675, 2961 +15426, 2719, 2661, 2675, 3165 +15427, 1135, 3163, 2648, 3185 +15428, 2648, 3163, 1135, 2665 +15429, 1296, 2710, 3147, 2726 +15430, 2710, 1296, 3147, 3171 +15431, 2723, 3151, 2682, 3167 +15432, 2682, 3151, 2723, 2667 +15433, 1288, 2706, 3174, 3160 +15434, 2706, 1288, 3174, 2711 +15435, 2937, 2717, 3166, 3159 +15436, 3166, 2717, 2937, 2702 +15437, 1166, 2715, 2932, 2946 +15438, 2715, 1166, 2932, 2708 +15439, 2739, 3165, 2730, 3156 +15440, 3165, 2739, 2730, 2705 +15441, 2496, 2876, 2879, 2877 +15442, 2879, 2876, 2496, 2875 +15443, 2421, 2801, 2804, 2802 +15444, 2804, 2801, 2421, 2800 +15445, 2265, 3058, 3061, 27 +15446, 3058, 2265, 3061, 3060 +15447, 3058, 2265, 2266, 27 +15448, 2265, 3058, 2266, 3060 +15449, 2262, 3056, 2269, 20 +15450, 3056, 2262, 2269, 3060 +15451, 3056, 2262, 3059, 20 +15452, 2262, 3056, 3059, 3060 +15453, 2339, 3134, 3131, 1064 +15454, 3131, 3134, 2339, 3135 +15455, 2573, 2984, 2981, 1073 +15456, 2981, 2984, 2573, 2985 +15457, 2575, 2983, 2986, 1240 +15458, 2986, 2983, 2575, 2985 +15459, 2341, 3136, 3133, 3135 +15460, 3133, 3136, 2341, 1327 +15461, 3186, 2669, 3183, 2649 +15462, 2669, 3186, 3183, 3148 +15463, 2669, 3186, 1098, 2649 +15464, 3186, 2669, 1098, 3148 + +** Define element set Eall +*ELSET, ELSET=Eall +Evolumes + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=Steel_ScottySolid +7737, +7738, +7739, +7740, +7741, +7742, +7743, +7744, +7745, +7746, +7747, +7748, +7749, +7750, +7751, +7752, +7753, +7754, +7755, +7756, +7757, +7758, +7759, +7760, +7761, +7762, +7763, +7764, +7765, +7766, +7767, +7768, +7769, +7770, +7771, +7772, +7773, +7774, +7775, +7776, +7777, +7778, +7779, +7780, +7781, +7782, +7783, +7784, +7785, +7786, +7787, +7788, +7789, +7790, +7791, +7792, +7793, +7794, +7795, +7796, +7797, +7798, +7799, +7800, +7801, +7802, +7803, +7804, +7805, +7806, +7807, +7808, +7809, +7810, +7811, +7812, +7813, +7814, +7815, +7816, +7817, +7818, +7819, +7820, +7821, +7822, +7823, +7824, +7825, +7826, +7827, +7828, +7829, +7830, +7831, +7832, +7833, +7834, +7835, +7836, +7837, +7838, +7839, +7840, +7841, +7842, +7843, +7844, +7845, +7846, +7847, +7848, +7849, +7850, +7851, +7852, +7853, +7854, +7855, +7856, +7857, +7858, +7859, +7860, +7861, +7862, +7863, +7864, +7865, +7866, +7867, +7868, +7869, +7870, +7871, +7872, +7873, +7874, +7875, +7876, +7877, +7878, +7879, +7880, +7881, +7882, +7883, +7884, +7885, +7886, +7887, +7888, +7889, +7890, +7891, +7892, +7893, +7894, +7895, +7896, +7897, +7898, +7899, +7900, +7901, +7902, +7903, +7904, +7905, +7906, +7907, +7908, +7909, +7910, +7911, +7912, +7913, +7914, +7915, +7916, +7917, +7918, +7919, +7920, +7921, +7922, +7923, +7924, +7925, +7926, +7927, +7928, +7929, +7930, +7931, +7932, +7933, +7934, +7935, +7936, +7937, +7938, +7939, +7940, +7941, +7942, +7943, +7944, +7945, +7946, +7947, +7948, +7949, +7950, +7951, +7952, +7953, +7954, +7955, +7956, +7957, +7958, +7959, +7960, +7961, +7962, +7963, +7964, +7965, +7966, +7967, +7968, +7969, +7970, +7971, +7972, +7973, +7974, +7975, +7976, +7977, +7978, +7979, +7980, +7981, +7982, +7983, +7984, +7985, +7986, +7987, +7988, +7989, +7990, +7991, +7992, +7993, +7994, +7995, +7996, +7997, +7998, +7999, +8000, +8001, +8002, +8003, +8004, +8005, +8006, +8007, +8008, +8009, +8010, +8011, +8012, +8013, +8014, +8015, +8016, +8017, +8018, +8019, +8020, +8021, +8022, +8023, +8024, +8025, +8026, +8027, +8028, +8029, +8030, +8031, +8032, +8033, +8034, +8035, +8036, +8037, +8038, +8039, +8040, +8041, +8042, +8043, +8044, +8045, +8046, +8047, +8048, +8049, +8050, +8051, +8052, +8053, +8054, +8055, +8056, +8057, +8058, +8059, +8060, +8061, +8062, +8063, +8064, +8065, +8066, +8067, +8068, +8069, +8070, +8071, +8072, +8073, +8074, +8075, +8076, +8077, +8078, +8079, +8080, +8081, +8082, +8083, +8084, +8085, +8086, +8087, +8088, +8089, +8090, +8091, +8092, +8093, +8094, +8095, +8096, +8097, +8098, +8099, +8100, +8101, +8102, +8103, +8104, +8105, +8106, +8107, +8108, +8109, +8110, +8111, +8112, +8113, +8114, +8115, +8116, +8117, +8118, +8119, +8120, +8121, +8122, +8123, +8124, +8125, +8126, +8127, +8128, +8129, +8130, +8131, +8132, +8133, +8134, +8135, +8136, +8137, +8138, +8139, +8140, +8141, +8142, +8143, +8144, +8145, +8146, +8147, +8148, +8149, +8150, +8151, +8152, +8153, +8154, +8155, +8156, +8157, +8158, +8159, +8160, +8161, +8162, +8163, +8164, +8165, +8166, +8167, +8168, +8169, +8170, +8171, +8172, +8173, +8174, +8175, +8176, +8177, +8178, +8179, +8180, +8181, +8182, +8183, +8184, +8185, +8186, +8187, +8188, +8189, +8190, +8191, +8192, +8193, +8194, +8195, +8196, +8197, +8198, +8199, +8200, +8201, +8202, +8203, +8204, +8205, +8206, +8207, +8208, +8209, +8210, +8211, +8212, +8213, +8214, +8215, +8216, +8217, +8218, +8219, +8220, +8221, +8222, +8223, +8224, +8225, +8226, +8227, +8228, +8229, +8230, +8231, +8232, +8233, +8234, +8235, +8236, +8237, +8238, +8239, +8240, +8241, +8242, +8243, +8244, +8245, +8246, +8247, +8248, +8249, +8250, +8251, +8252, +8253, +8254, +8255, +8256, +8257, +8258, +8259, +8260, +8261, +8262, +8263, +8264, +8265, +8266, +8267, +8268, +8269, +8270, +8271, +8272, +8273, +8274, +8275, +8276, +8277, +8278, +8279, +8280, +8281, +8282, +8283, +8284, +8285, +8286, +8287, +8288, +8289, +8290, +8291, +8292, +8293, +8294, +8295, +8296, +8297, +8298, +8299, +8300, +8301, +8302, +8303, +8304, +8305, +8306, +8307, +8308, +8309, +8310, +8311, +8312, +8313, +8314, +8315, +8316, +8317, +8318, +8319, +8320, +8321, +8322, +8323, +8324, +8325, +8326, +8327, +8328, +8329, +8330, +8331, +8332, +8333, +8334, +8335, +8336, +8337, +8338, +8339, +8340, +8341, +8342, +8343, +8344, +8345, +8346, +8347, +8348, +8349, +8350, +8351, +8352, +8353, +8354, +8355, +8356, +8357, +8358, +8359, +8360, +8361, +8362, +8363, +8364, +8365, +8366, +8367, +8368, +8369, +8370, +8371, +8372, +8373, +8374, +8375, +8376, +8377, +8378, +8379, +8380, +8381, +8382, +8383, +8384, +8385, +8386, +8387, +8388, +8389, +8390, +8391, +8392, +8393, +8394, +8395, +8396, +8397, +8398, +8399, +8400, +8401, +8402, +8403, +8404, +8405, +8406, +8407, +8408, +8409, +8410, +8411, +8412, +8413, +8414, +8415, +8416, +8417, +8418, +8419, +8420, +8421, +8422, +8423, +8424, +8425, +8426, +8427, +8428, +8429, +8430, +8431, +8432, +8433, +8434, +8435, +8436, +8437, +8438, +8439, +8440, +8441, +8442, +8443, +8444, +8445, +8446, +8447, +8448, +8449, +8450, +8451, +8452, +8453, +8454, +8455, +8456, +8457, +8458, +8459, +8460, +8461, +8462, +8463, +8464, +8465, +8466, +8467, +8468, +8469, +8470, +8471, +8472, +8473, +8474, +8475, +8476, +8477, +8478, +8479, +8480, +8481, +8482, +8483, +8484, +8485, +8486, +8487, +8488, +8489, +8490, +8491, +8492, +8493, +8494, +8495, +8496, +8497, +8498, +8499, +8500, +8501, +8502, +8503, +8504, +8505, +8506, +8507, +8508, +8509, +8510, +8511, +8512, +8513, +8514, +8515, +8516, +8517, +8518, +8519, +8520, +8521, +8522, +8523, +8524, +8525, +8526, +8527, +8528, +8529, +8530, +8531, +8532, +8533, +8534, +8535, +8536, +8537, +8538, +8539, +8540, +8541, +8542, +8543, +8544, +8545, +8546, +8547, +8548, +8549, +8550, +8551, +8552, +8553, +8554, +8555, +8556, +8557, +8558, +8559, +8560, +8561, +8562, +8563, +8564, +8565, +8566, +8567, +8568, +8569, +8570, +8571, +8572, +8573, +8574, +8575, +8576, +8577, +8578, +8579, +8580, +8581, +8582, +8583, +8584, +8585, +8586, +8587, +8588, +8589, +8590, +8591, +8592, +8593, +8594, +8595, +8596, +8597, +8598, +8599, +8600, +8601, +8602, +8603, +8604, +8605, +8606, +8607, +8608, +8609, +8610, +8611, +8612, +8613, +8614, +8615, +8616, +8617, +8618, +8619, +8620, +8621, +8622, +8623, +8624, +8625, +8626, +8627, +8628, +8629, +8630, +8631, +8632, +8633, +8634, +8635, +8636, +8637, +8638, +8639, +8640, +8641, +8642, +8643, +8644, +8645, +8646, +8647, +8648, +8649, +8650, +8651, +8652, +8653, +8654, +8655, +8656, +8657, +8658, +8659, +8660, +8661, +8662, +8663, +8664, +8665, +8666, +8667, +8668, +8669, +8670, +8671, +8672, +8673, +8674, +8675, +8676, +8677, +8678, +8679, +8680, +8681, +8682, +8683, +8684, +8685, +8686, +8687, +8688, +8689, +8690, +8691, +8692, +8693, +8694, +8695, +8696, +8697, +8698, +8699, +8700, +8701, +8702, +8703, +8704, +8705, +8706, +8707, +8708, +8709, +8710, +8711, +8712, +8713, +8714, +8715, +8716, +8717, +8718, +8719, +8720, +8721, +8722, +8723, +8724, +8725, +8726, +8727, +8728, +8729, +8730, +8731, +8732, +8733, +8734, +8735, +8736, +8737, +8738, +8739, +8740, +8741, +8742, +8743, +8744, +8745, +8746, +8747, +8748, +8749, +8750, +8751, +8752, +8753, +8754, +8755, +8756, +8757, +8758, +8759, +8760, +8761, +8762, +8763, +8764, +8765, +8766, +8767, +8768, +8769, +8770, +8771, +8772, +8773, +8774, +8775, +8776, +8777, +8778, +8779, +8780, +8781, +8782, +8783, +8784, +8785, +8786, +8787, +8788, +8789, +8790, +8791, +8792, +8793, +8794, +8795, +8796, +8797, +8798, +8799, +8800, +8801, +8802, +8803, +8804, +8805, +8806, +8807, +8808, +8809, +8810, +8811, +8812, +8813, +8814, +8815, +8816, +8817, +8818, +8819, +8820, +8821, +8822, +8823, +8824, +8825, +8826, +8827, +8828, +8829, +8830, +8831, +8832, +8833, +8834, +8835, +8836, +8837, +8838, +8839, +8840, +8841, +8842, +8843, +8844, +8845, +8846, +8847, +8848, +8849, +8850, +8851, +8852, +8853, +8854, +8855, +8856, +8857, +8858, +8859, +8860, +8861, +8862, +8863, +8864, +8865, +8866, +8867, +8868, +8869, +8870, +8871, +8872, +8873, +8874, +8875, +8876, +8877, +8878, +8879, +8880, +8881, +8882, +8883, +8884, +8885, +8886, +8887, +8888, +8889, +8890, +8891, +8892, +8893, +8894, +8895, +8896, +8897, +8898, +8899, +8900, +8901, +8902, +8903, +8904, +8905, +8906, +8907, +8908, +8909, +8910, +8911, +8912, +8913, +8914, +8915, +8916, +8917, +8918, +8919, +8920, +8921, +8922, +8923, +8924, +8925, +8926, +8927, +8928, +8929, +8930, +8931, +8932, +8933, +8934, +8935, +8936, +8937, +8938, +8939, +8940, +8941, +8942, +8943, +8944, +8945, +8946, +8947, +8948, +8949, +8950, +8951, +8952, +8953, +8954, +8955, +8956, +8957, +8958, +8959, +8960, +8961, +8962, +8963, +8964, +8965, +8966, +8967, +8968, +8969, +8970, +8971, +8972, +8973, +8974, +8975, +8976, +8977, +8978, +8979, +8980, +8981, +8982, +8983, +8984, +8985, +8986, +8987, +8988, +8989, +8990, +8991, +8992, +8993, +8994, +8995, +8996, +8997, +8998, +8999, +9000, +9001, +9002, +9003, +9004, +9005, +9006, +9007, +9008, +9009, +9010, +9011, +9012, +9013, +9014, +9015, +9016, +9017, +9018, +9019, +9020, +9021, +9022, +9023, +9024, +9025, +9026, +9027, +9028, +9029, +9030, +9031, +9032, +9033, +9034, +9035, +9036, +9037, +9038, +9039, +9040, +9041, +9042, +9043, +9044, +9045, +9046, +9047, +9048, +9049, +9050, +9051, +9052, +9053, +9054, +9055, +9056, +9057, +9058, +9059, +9060, +9061, +9062, +9063, +9064, +9065, +9066, +9067, +9068, +9069, +9070, +9071, +9072, +9073, +9074, +9075, +9076, +9077, +9078, +9079, +9080, +9081, +9082, +9083, +9084, +9085, +9086, +9087, +9088, +9089, +9090, +9091, +9092, +9093, +9094, +9095, +9096, +9097, +9098, +9099, +9100, +9101, +9102, +9103, +9104, +9105, +9106, +9107, +9108, +9109, +9110, +9111, +9112, +9113, +9114, +9115, +9116, +9117, +9118, +9119, +9120, +9121, +9122, +9123, +9124, +9125, +9126, +9127, +9128, +9129, +9130, +9131, +9132, +9133, +9134, +9135, +9136, +9137, +9138, +9139, +9140, +9141, +9142, +9143, +9144, +9145, +9146, +9147, +9148, +9149, +9150, +9151, +9152, +9153, +9154, +9155, +9156, +9157, +9158, +9159, +9160, +9161, +9162, +9163, +9164, +9165, +9166, +9167, +9168, +9169, +9170, +9171, +9172, +9173, +9174, +9175, +9176, +9177, +9178, +9179, +9180, +9181, +9182, +9183, +9184, +9185, +9186, +9187, +9188, +9189, +9190, +9191, +9192, +9193, +9194, +9195, +9196, +9197, +9198, +9199, +9200, +9201, +9202, +9203, +9204, +9205, +9206, +9207, +9208, +9209, +9210, +9211, +9212, +9213, +9214, +9215, +9216, +9217, +9218, +9219, +9220, +9221, +9222, +9223, +9224, +9225, +9226, +9227, +9228, +9229, +9230, +9231, +9232, +9233, +9234, +9235, +9236, +9237, +9238, +9239, +9240, +9241, +9242, +9243, +9244, +9245, +9246, +9247, +9248, +9249, +9250, +9251, +9252, +9253, +9254, +9255, +9256, +9257, +9258, +9259, +9260, +9261, +9262, +9263, +9264, +9265, +9266, +9267, +9268, +9269, +9270, +9271, +9272, +9273, +9274, +9275, +9276, +9277, +9278, +9279, +9280, +9281, +9282, +9283, +9284, +9285, +9286, +9287, +9288, +9289, +9290, +9291, +9292, +9293, +9294, +9295, +9296, +9297, +9298, +9299, +9300, +9301, +9302, +9303, +9304, +9305, +9306, +9307, +9308, +9309, +9310, +9311, +9312, +9313, +9314, +9315, +9316, +9317, +9318, +9319, +9320, +9321, +9322, +9323, +9324, +9325, +9326, +9327, +9328, +9329, +9330, +9331, +9332, +9333, +9334, +9335, +9336, +9337, +9338, +9339, +9340, +9341, +9342, +9343, +9344, +9345, +9346, +9347, +9348, +9349, +9350, +9351, +9352, +9353, +9354, +9355, +9356, +9357, +9358, +9359, +9360, +9361, +9362, +9363, +9364, +9365, +9366, +9367, +9368, +9369, +9370, +9371, +9372, +9373, +9374, +9375, +9376, +9377, +9378, +9379, +9380, +9381, +9382, +9383, +9384, +9385, +9386, +9387, +9388, +9389, +9390, +9391, +9392, +9393, +9394, +9395, +9396, +9397, +9398, +9399, +9400, +9401, +9402, +9403, +9404, +9405, +9406, +9407, +9408, +9409, +9410, +9411, +9412, +9413, +9414, +9415, +9416, +9417, +9418, +9419, +9420, +9421, +9422, +9423, +9424, +9425, +9426, +9427, +9428, +9429, +9430, +9431, +9432, +9433, +9434, +9435, +9436, +9437, +9438, +9439, +9440, +9441, +9442, +9443, +9444, +9445, +9446, +9447, +9448, +9449, +9450, +9451, +9452, +9453, +9454, +9455, +9456, +9457, +9458, +9459, +9460, +9461, +9462, +9463, +9464, +9465, +9466, +9467, +9468, +9469, +9470, +9471, +9472, +9473, +9474, +9475, +9476, +9477, +9478, +9479, +9480, +9481, +9482, +9483, +9484, +9485, +9486, +9487, +9488, +9489, +9490, +9491, +9492, +9493, +9494, +9495, +9496, +9497, +9498, +9499, +9500, +9501, +9502, +9503, +9504, +9505, +9506, +9507, +9508, +9509, +9510, +9511, +9512, +9513, +9514, +9515, +9516, +9517, +9518, +9519, +9520, +9521, +9522, +9523, +9524, +9525, +9526, +9527, +9528, +9529, +9530, +9531, +9532, +9533, +9534, +9535, +9536, +9537, +9538, +9539, +9540, +9541, +9542, +9543, +9544, +9545, +9546, +9547, +9548, +9549, +9550, +9551, +9552, +9553, +9554, +9555, +9556, +9557, +9558, +9559, +9560, +9561, +9562, +9563, +9564, +9565, +9566, +9567, +9568, +9569, +9570, +9571, +9572, +9573, +9574, +9575, +9576, +9577, +9578, +9579, +9580, +9581, +9582, +9583, +9584, +9585, +9586, +9587, +9588, +9589, +9590, +9591, +9592, +9593, +9594, +9595, +9596, +9597, +9598, +9599, +9600, +9601, +9602, +9603, +9604, +9605, +9606, +9607, +9608, +9609, +9610, +9611, +9612, +9613, +9614, +9615, +9616, +9617, +9618, +9619, +9620, +9621, +9622, +9623, +9624, +9625, +9626, +9627, +9628, +9629, +9630, +9631, +9632, +9633, +9634, +9635, +9636, +9637, +9638, +9639, +9640, +9641, +9642, +9643, +9644, +9645, +9646, +9647, +9648, +9649, +9650, +9651, +9652, +9653, +9654, +9655, +9656, +9657, +9658, +9659, +9660, +9661, +9662, +9663, +9664, +9665, +9666, +9667, +9668, +9669, +9670, +9671, +9672, +9673, +9674, +9675, +9676, +9677, +9678, +9679, +9680, +9681, +9682, +9683, +9684, +9685, +9686, +9687, +9688, +9689, +9690, +9691, +9692, +9693, +9694, +9695, +9696, +9697, +9698, +9699, +9700, +9701, +9702, +9703, +9704, +9705, +9706, +9707, +9708, +9709, +9710, +9711, +9712, +9713, +9714, +9715, +9716, +9717, +9718, +9719, +9720, +9721, +9722, +9723, +9724, +9725, +9726, +9727, +9728, +9729, +9730, +9731, +9732, +9733, +9734, +9735, +9736, +9737, +9738, +9739, +9740, +9741, +9742, +9743, +9744, +9745, +9746, +9747, +9748, +9749, +9750, +9751, +9752, +9753, +9754, +9755, +9756, +9757, +9758, +9759, +9760, +9761, +9762, +9763, +9764, +9765, +9766, +9767, +9768, +9769, +9770, +9771, +9772, +9773, +9774, +9775, +9776, +9777, +9778, +9779, +9780, +9781, +9782, +9783, +9784, +9785, +9786, +9787, +9788, +9789, +9790, +9791, +9792, +9793, +9794, +9795, +9796, +9797, +9798, +9799, +9800, +9801, +9802, +9803, +9804, +9805, +9806, +9807, +9808, +9809, +9810, +9811, +9812, +9813, +9814, +9815, +9816, +9817, +9818, +9819, +9820, +9821, +9822, +9823, +9824, +9825, +9826, +9827, +9828, +9829, +9830, +9831, +9832, +9833, +9834, +9835, +9836, +9837, +9838, +9839, +9840, +9841, +9842, +9843, +9844, +9845, +9846, +9847, +9848, +9849, +9850, +9851, +9852, +9853, +9854, +9855, +9856, +9857, +9858, +9859, +9860, +9861, +9862, +9863, +9864, +9865, +9866, +9867, +9868, +9869, +9870, +9871, +9872, +9873, +9874, +9875, +9876, +9877, +9878, +9879, +9880, +9881, +9882, +9883, +9884, +9885, +9886, +9887, +9888, +9889, +9890, +9891, +9892, +9893, +9894, +9895, +9896, +9897, +9898, +9899, +9900, +9901, +9902, +9903, +9904, +9905, +9906, +9907, +9908, +9909, +9910, +9911, +9912, +9913, +9914, +9915, +9916, +9917, +9918, +9919, +9920, +9921, +9922, +9923, +9924, +9925, +9926, +9927, +9928, +9929, +9930, +9931, +9932, +9933, +9934, +9935, +9936, +9937, +9938, +9939, +9940, +9941, +9942, +9943, +9944, +9945, +9946, +9947, +9948, +9949, +9950, +9951, +9952, +9953, +9954, +9955, +9956, +9957, +9958, +9959, +9960, +9961, +9962, +9963, +9964, +9965, +9966, +9967, +9968, +9969, +9970, +9971, +9972, +9973, +9974, +9975, +9976, +9977, +9978, +9979, +9980, +9981, +9982, +9983, +9984, +9985, +9986, +9987, +9988, +9989, +9990, +9991, +9992, +9993, +9994, +9995, +9996, +9997, +9998, +9999, +10000, +10001, +10002, +10003, +10004, +10005, +10006, +10007, +10008, +10009, +10010, +10011, +10012, +10013, +10014, +10015, +10016, +10017, +10018, +10019, +10020, +10021, +10022, +10023, +10024, +10025, +10026, +10027, +10028, +10029, +10030, +10031, +10032, +10033, +10034, +10035, +10036, +10037, +10038, +10039, +10040, +10041, +10042, +10043, +10044, +10045, +10046, +10047, +10048, +10049, +10050, +10051, +10052, +10053, +10054, +10055, +10056, +10057, +10058, +10059, +10060, +10061, +10062, +10063, +10064, +10065, +10066, +10067, +10068, +10069, +10070, +10071, +10072, +10073, +10074, +10075, +10076, +10077, +10078, +10079, +10080, +10081, +10082, +10083, +10084, +10085, +10086, +10087, +10088, +10089, +10090, +10091, +10092, +10093, +10094, +10095, +10096, +10097, +10098, +10099, +10100, +10101, +10102, +10103, +10104, +10105, +10106, +10107, +10108, +10109, +10110, +10111, +10112, +10113, +10114, +10115, +10116, +10117, +10118, +10119, +10120, +10121, +10122, +10123, +10124, +10125, +10126, +10127, +10128, +10129, +10130, +10131, +10132, +10133, +10134, +10135, +10136, +10137, +10138, +10139, +10140, +10141, +10142, +10143, +10144, +10145, +10146, +10147, +10148, +10149, +10150, +10151, +10152, +10153, +10154, +10155, +10156, +10157, +10158, +10159, +10160, +10161, +10162, +10163, +10164, +10165, +10166, +10167, +10168, +10169, +10170, +10171, +10172, +10173, +10174, +10175, +10176, +10177, +10178, +10179, +10180, +10181, +10182, +10183, +10184, +10185, +10186, +10187, +10188, +10189, +10190, +10191, +10192, +10193, +10194, +10195, +10196, +10197, +10198, +10199, +10200, +10201, +10202, +10203, +10204, +10205, +10206, +10207, +10208, +10209, +10210, +10211, +10212, +10213, +10214, +10215, +10216, +10217, +10218, +10219, +10220, +10221, +10222, +10223, +10224, +10225, +10226, +10227, +10228, +10229, +10230, +10231, +10232, +10233, +10234, +10235, +10236, +10237, +10238, +10239, +10240, +10241, +10242, +10243, +10244, +10245, +10246, +10247, +10248, +10249, +10250, +10251, +10252, +10253, +10254, +10255, +10256, +10257, +10258, +10259, +10260, +10261, +10262, +10263, +10264, +10265, +10266, +10267, +10268, +10269, +10270, +10271, +10272, +10273, +10274, +10275, +10276, +10277, +10278, +10279, +10280, +10281, +10282, +10283, +10284, +10285, +10286, +10287, +10288, +10289, +10290, +10291, +10292, +10293, +10294, +10295, +10296, +10297, +10298, +10299, +10300, +10301, +10302, +10303, +10304, +10305, +10306, +10307, +10308, +10309, +10310, +10311, +10312, +10313, +10314, +10315, +10316, +10317, +10318, +10319, +10320, +10321, +10322, +10323, +10324, +10325, +10326, +10327, +10328, +10329, +10330, +10331, +10332, +10333, +10334, +10335, +10336, +10337, +10338, +10339, +10340, +10341, +10342, +10343, +10344, +10345, +10346, +10347, +10348, +10349, +10350, +10351, +10352, +10353, +10354, +10355, +10356, +10357, +10358, +10359, +10360, +10361, +10362, +10363, +10364, +10365, +10366, +10367, +10368, +10369, +10370, +10371, +10372, +10373, +10374, +10375, +10376, +10377, +10378, +10379, +10380, +10381, +10382, +10383, +10384, +10385, +10386, +10387, +10388, +10389, +10390, +10391, +10392, +10393, +10394, +10395, +10396, +10397, +10398, +10399, +10400, +10401, +10402, +10403, +10404, +10405, +10406, +10407, +10408, +10409, +10410, +10411, +10412, +10413, +10414, +10415, +10416, +10417, +10418, +10419, +10420, +10421, +10422, +10423, +10424, +10425, +10426, +10427, +10428, +10429, +10430, +10431, +10432, +10433, +10434, +10435, +10436, +10437, +10438, +10439, +10440, +10441, +10442, +10443, +10444, +10445, +10446, +10447, +10448, +10449, +10450, +10451, +10452, +10453, +10454, +10455, +10456, +10457, +10458, +10459, +10460, +10461, +10462, +10463, +10464, +10465, +10466, +10467, +10468, +10469, +10470, +10471, +10472, +10473, +10474, +10475, +10476, +10477, +10478, +10479, +10480, +10481, +10482, +10483, +10484, +10485, +10486, +10487, +10488, +10489, +10490, +10491, +10492, +10493, +10494, +10495, +10496, +10497, +10498, +10499, +10500, +10501, +10502, +10503, +10504, +10505, +10506, +10507, +10508, +10509, +10510, +10511, +10512, +10513, +10514, +10515, +10516, +10517, +10518, +10519, +10520, +10521, +10522, +10523, +10524, +10525, +10526, +10527, +10528, +10529, +10530, +10531, +10532, +10533, +10534, +10535, +10536, +10537, +10538, +10539, +10540, +10541, +10542, +10543, +10544, +10545, +10546, +10547, +10548, +10549, +10550, +10551, +10552, +10553, +10554, +10555, +10556, +10557, +10558, +10559, +10560, +10561, +10562, +10563, +10564, +10565, +10566, +10567, +10568, +10569, +10570, +10571, +10572, +10573, +10574, +10575, +10576, +10577, +10578, +10579, +10580, +10581, +10582, +10583, +10584, +10585, +10586, +10587, +10588, +10589, +10590, +10591, +10592, +10593, +10594, +10595, +10596, +10597, +10598, +10599, +10600, +10601, +10602, +10603, +10604, +10605, +10606, +10607, +10608, +10609, +10610, +10611, +10612, +10613, +10614, +10615, +10616, +10617, +10618, +10619, +10620, +10621, +10622, +10623, +10624, +10625, +10626, +10627, +10628, +10629, +10630, +10631, +10632, +10633, +10634, +10635, +10636, +10637, +10638, +10639, +10640, +10641, +10642, +10643, +10644, +10645, +10646, +10647, +10648, +10649, +10650, +10651, +10652, +10653, +10654, +10655, +10656, +10657, +10658, +10659, +10660, +10661, +10662, +10663, +10664, +10665, +10666, +10667, +10668, +10669, +10670, +10671, +10672, +10673, +10674, +10675, +10676, +10677, +10678, +10679, +10680, +10681, +10682, +10683, +10684, +10685, +10686, +10687, +10688, +10689, +10690, +10691, +10692, +10693, +10694, +10695, +10696, +10697, +10698, +10699, +10700, +10701, +10702, +10703, +10704, +10705, +10706, +10707, +10708, +10709, +10710, +10711, +10712, +10713, +10714, +10715, +10716, +10717, +10718, +10719, +10720, +10721, +10722, +10723, +10724, +10725, +10726, +10727, +10728, +10729, +10730, +10731, +10732, +10733, +10734, +10735, +10736, +10737, +10738, +10739, +10740, +10741, +10742, +10743, +10744, +10745, +10746, +10747, +10748, +10749, +10750, +10751, +10752, +10753, +10754, +10755, +10756, +10757, +10758, +10759, +10760, +10761, +10762, +10763, +10764, +10765, +10766, +10767, +10768, +10769, +10770, +10771, +10772, +10773, +10774, +10775, +10776, +10777, +10778, +10779, +10780, +10781, +10782, +10783, +10784, +10785, +10786, +10787, +10788, +10789, +10790, +10791, +10792, +10793, +10794, +10795, +10796, +10797, +10798, +10799, +10800, +10801, +10802, +10803, +10804, +10805, +10806, +10807, +10808, +10809, +10810, +10811, +10812, +10813, +10814, +10815, +10816, +10817, +10818, +10819, +10820, +10821, +10822, +10823, +10824, +10825, +10826, +10827, +10828, +10829, +10830, +10831, +10832, +10833, +10834, +10835, +10836, +10837, +10838, +10839, +10840, +10841, +10842, +10843, +10844, +10845, +10846, +10847, +10848, +10849, +10850, +10851, +10852, +10853, +10854, +10855, +10856, +10857, +10858, +10859, +10860, +10861, +10862, +10863, +10864, +10865, +10866, +10867, +10868, +10869, +10870, +10871, +10872, +10873, +10874, +10875, +10876, +10877, +10878, +10879, +10880, +10881, +10882, +10883, +10884, +10885, +10886, +10887, +10888, +10889, +10890, +10891, +10892, +10893, +10894, +10895, +10896, +10897, +10898, +10899, +10900, +10901, +10902, +10903, +10904, +10905, +10906, +10907, +10908, +10909, +10910, +10911, +10912, +10913, +10914, +10915, +10916, +10917, +10918, +10919, +10920, +10921, +10922, +10923, +10924, +10925, +10926, +10927, +10928, +10929, +10930, +10931, +10932, +10933, +10934, +10935, +10936, +10937, +10938, +10939, +10940, +10941, +10942, +10943, +10944, +10945, +10946, +10947, +10948, +10949, +10950, +10951, +10952, +10953, +10954, +10955, +10956, +10957, +10958, +10959, +10960, +10961, +10962, +10963, +10964, +10965, +10966, +10967, +10968, +10969, +10970, +10971, +10972, +10973, +10974, +10975, +10976, +10977, +10978, +10979, +10980, +10981, +10982, +10983, +10984, +10985, +10986, +10987, +10988, +10989, +10990, +10991, +10992, +10993, +10994, +10995, +10996, +10997, +10998, +10999, +11000, +11001, +11002, +11003, +11004, +11005, +11006, +11007, +11008, +11009, +11010, +11011, +11012, +11013, +11014, +11015, +11016, +11017, +11018, +11019, +11020, +11021, +11022, +11023, +11024, +11025, +11026, +11027, +11028, +11029, +11030, +11031, +11032, +11033, +11034, +11035, +11036, +11037, +11038, +11039, +11040, +11041, +11042, +11043, +11044, +11045, +11046, +11047, +11048, +11049, +11050, +11051, +11052, +11053, +11054, +11055, +11056, +11057, +11058, +11059, +11060, +11061, +11062, +11063, +11064, +11065, +11066, +11067, +11068, +11069, +11070, +11071, +11072, +11073, +11074, +11075, +11076, +11077, +11078, +11079, +11080, +11081, +11082, +11083, +11084, +11085, +11086, +11087, +11088, +11089, +11090, +11091, +11092, +11093, +11094, +11095, +11096, +11097, +11098, +11099, +11100, +11101, +11102, +11103, +11104, +11105, +11106, +11107, +11108, +11109, +11110, +11111, +11112, +11113, +11114, +11115, +11116, +11117, +11118, +11119, +11120, +11121, +11122, +11123, +11124, +11125, +11126, +11127, +11128, +11129, +11130, +11131, +11132, +11133, +11134, +11135, +11136, +11137, +11138, +11139, +11140, +11141, +11142, +11143, +11144, +11145, +11146, +11147, +11148, +11149, +11150, +11151, +11152, +11153, +11154, +11155, +11156, +11157, +11158, +11159, +11160, +11161, +11162, +11163, +11164, +11165, +11166, +11167, +11168, +11169, +11170, +11171, +11172, +11173, +11174, +11175, +11176, +11177, +11178, +11179, +11180, +11181, +11182, +11183, +11184, +11185, +11186, +11187, +11188, +11189, +11190, +11191, +11192, +11193, +11194, +11195, +11196, +11197, +11198, +11199, +11200, +11201, +11202, +11203, +11204, +11205, +11206, +11207, +11208, +11209, +11210, +11211, +11212, +11213, +11214, +11215, +11216, +11217, +11218, +11219, +11220, +11221, +11222, +11223, +11224, +11225, +11226, +11227, +11228, +11229, +11230, +11231, +11232, +11233, +11234, +11235, +11236, +11237, +11238, +11239, +11240, +11241, +11242, +11243, +11244, +11245, +11246, +11247, +11248, +11249, +11250, +11251, +11252, +11253, +11254, +11255, +11256, +11257, +11258, +11259, +11260, +11261, +11262, +11263, +11264, +11265, +11266, +11267, +11268, +11269, +11270, +11271, +11272, +11273, +11274, +11275, +11276, +11277, +11278, +11279, +11280, +11281, +11282, +11283, +11284, +11285, +11286, +11287, +11288, +11289, +11290, +11291, +11292, +11293, +11294, +11295, +11296, +11297, +11298, +11299, +11300, +11301, +11302, +11303, +11304, +11305, +11306, +11307, +11308, +11309, +11310, +11311, +11312, +11313, +11314, +11315, +11316, +11317, +11318, +11319, +11320, +11321, +11322, +11323, +11324, +11325, +11326, +11327, +11328, +11329, +11330, +11331, +11332, +11333, +11334, +11335, +11336, +11337, +11338, +11339, +11340, +11341, +11342, +11343, +11344, +11345, +11346, +11347, +11348, +11349, +11350, +11351, +11352, +11353, +11354, +11355, +11356, +11357, +11358, +11359, +11360, +11361, +11362, +11363, +11364, +11365, +11366, +11367, +11368, +11369, +11370, +11371, +11372, +11373, +11374, +11375, +11376, +11377, +11378, +11379, +11380, +11381, +11382, +11383, +11384, +11385, +11386, +11387, +11388, +11389, +11390, +11391, +11392, +11393, +11394, +11395, +11396, +11397, +11398, +11399, +11400, +11401, +11402, +11403, +11404, +11405, +11406, +11407, +11408, +11409, +11410, +11411, +11412, +11413, +11414, +11415, +11416, +11417, +11418, +11419, +11420, +11421, +11422, +11423, +11424, +11425, +11426, +11427, +11428, +11429, +11430, +11431, +11432, +11433, +11434, +11435, +11436, +11437, +11438, +11439, +11440, +11441, +11442, +11443, +11444, +11445, +11446, +11447, +11448, +11449, +11450, +11451, +11452, +11453, +11454, +11455, +11456, +11457, +11458, +11459, +11460, +11461, +11462, +11463, +11464, +11465, +11466, +11467, +11468, +11469, +11470, +11471, +11472, +11473, +11474, +11475, +11476, +11477, +11478, +11479, +11480, +11481, +11482, +11483, +11484, +11485, +11486, +11487, +11488, +11489, +11490, +11491, +11492, +11493, +11494, +11495, +11496, +11497, +11498, +11499, +11500, +11501, +11502, +11503, +11504, +11505, +11506, +11507, +11508, +11509, +11510, +11511, +11512, +11513, +11514, +11515, +11516, +11517, +11518, +11519, +11520, +11521, +11522, +11523, +11524, +11525, +11526, +11527, +11528, +11529, +11530, +11531, +11532, +11533, +11534, +11535, +11536, +11537, +11538, +11539, +11540, +11541, +11542, +11543, +11544, +11545, +11546, +11547, +11548, +11549, +11550, +11551, +11552, +11553, +11554, +11555, +11556, +11557, +11558, +11559, +11560, +11561, +11562, +11563, +11564, +11565, +11566, +11567, +11568, +11569, +11570, +11571, +11572, +11573, +11574, +11575, +11576, +11577, +11578, +11579, +11580, +11581, +11582, +11583, +11584, +11585, +11586, +11587, +11588, +11589, +11590, +11591, +11592, +11593, +*ELSET,ELSET=Steel_StdSolid +11594, +11595, +11596, +11597, +11598, +11599, +11600, +11601, +11602, +11603, +11604, +11605, +11606, +11607, +11608, +11609, +11610, +11611, +11612, +11613, +11614, +11615, +11616, +11617, +11618, +11619, +11620, +11621, +11622, +11623, +11624, +11625, +11626, +11627, +11628, +11629, +11630, +11631, +11632, +11633, +11634, +11635, +11636, +11637, +11638, +11639, +11640, +11641, +11642, +11643, +11644, +11645, +11646, +11647, +11648, +11649, +11650, +11651, +11652, +11653, +11654, +11655, +11656, +11657, +11658, +11659, +11660, +11661, +11662, +11663, +11664, +11665, +11666, +11667, +11668, +11669, +11670, +11671, +11672, +11673, +11674, +11675, +11676, +11677, +11678, +11679, +11680, +11681, +11682, +11683, +11684, +11685, +11686, +11687, +11688, +11689, +11690, +11691, +11692, +11693, +11694, +11695, +11696, +11697, +11698, +11699, +11700, +11701, +11702, +11703, +11704, +11705, +11706, +11707, +11708, +11709, +11710, +11711, +11712, +11713, +11714, +11715, +11716, +11717, +11718, +11719, +11720, +11721, +11722, +11723, +11724, +11725, +11726, +11727, +11728, +11729, +11730, +11731, +11732, +11733, +11734, +11735, +11736, +11737, +11738, +11739, +11740, +11741, +11742, +11743, +11744, +11745, +11746, +11747, +11748, +11749, +11750, +11751, +11752, +11753, +11754, +11755, +11756, +11757, +11758, +11759, +11760, +11761, +11762, +11763, +11764, +11765, +11766, +11767, +11768, +11769, +11770, +11771, +11772, +11773, +11774, +11775, +11776, +11777, +11778, +11779, +11780, +11781, +11782, +11783, +11784, +11785, +11786, +11787, +11788, +11789, +11790, +11791, +11792, +11793, +11794, +11795, +11796, +11797, +11798, +11799, +11800, +11801, +11802, +11803, +11804, +11805, +11806, +11807, +11808, +11809, +11810, +11811, +11812, +11813, +11814, +11815, +11816, +11817, +11818, +11819, +11820, +11821, +11822, +11823, +11824, +11825, +11826, +11827, +11828, +11829, +11830, +11831, +11832, +11833, +11834, +11835, +11836, +11837, +11838, +11839, +11840, +11841, +11842, +11843, +11844, +11845, +11846, +11847, +11848, +11849, +11850, +11851, +11852, +11853, +11854, +11855, +11856, +11857, +11858, +11859, +11860, +11861, +11862, +11863, +11864, +11865, +11866, +11867, +11868, +11869, +11870, +11871, +11872, +11873, +11874, +11875, +11876, +11877, +11878, +11879, +11880, +11881, +11882, +11883, +11884, +11885, +11886, +11887, +11888, +11889, +11890, +11891, +11892, +11893, +11894, +11895, +11896, +11897, +11898, +11899, +11900, +11901, +11902, +11903, +11904, +11905, +11906, +11907, +11908, +11909, +11910, +11911, +11912, +11913, +11914, +11915, +11916, +11917, +11918, +11919, +11920, +11921, +11922, +11923, +11924, +11925, +11926, +11927, +11928, +11929, +11930, +11931, +11932, +11933, +11934, +11935, +11936, +11937, +11938, +11939, +11940, +11941, +11942, +11943, +11944, +11945, +11946, +11947, +11948, +11949, +11950, +11951, +11952, +11953, +11954, +11955, +11956, +11957, +11958, +11959, +11960, +11961, +11962, +11963, +11964, +11965, +11966, +11967, +11968, +11969, +11970, +11971, +11972, +11973, +11974, +11975, +11976, +11977, +11978, +11979, +11980, +11981, +11982, +11983, +11984, +11985, +11986, +11987, +11988, +11989, +11990, +11991, +11992, +11993, +11994, +11995, +11996, +11997, +11998, +11999, +12000, +12001, +12002, +12003, +12004, +12005, +12006, +12007, +12008, +12009, +12010, +12011, +12012, +12013, +12014, +12015, +12016, +12017, +12018, +12019, +12020, +12021, +12022, +12023, +12024, +12025, +12026, +12027, +12028, +12029, +12030, +12031, +12032, +12033, +12034, +12035, +12036, +12037, +12038, +12039, +12040, +12041, +12042, +12043, +12044, +12045, +12046, +12047, +12048, +12049, +12050, +12051, +12052, +12053, +12054, +12055, +12056, +12057, +12058, +12059, +12060, +12061, +12062, +12063, +12064, +12065, +12066, +12067, +12068, +12069, +12070, +12071, +12072, +12073, +12074, +12075, +12076, +12077, +12078, +12079, +12080, +12081, +12082, +12083, +12084, +12085, +12086, +12087, +12088, +12089, +12090, +12091, +12092, +12093, +12094, +12095, +12096, +12097, +12098, +12099, +12100, +12101, +12102, +12103, +12104, +12105, +12106, +12107, +12108, +12109, +12110, +12111, +12112, +12113, +12114, +12115, +12116, +12117, +12118, +12119, +12120, +12121, +12122, +12123, +12124, +12125, +12126, +12127, +12128, +12129, +12130, +12131, +12132, +12133, +12134, +12135, +12136, +12137, +12138, +12139, +12140, +12141, +12142, +12143, +12144, +12145, +12146, +12147, +12148, +12149, +12150, +12151, +12152, +12153, +12154, +12155, +12156, +12157, +12158, +12159, +12160, +12161, +12162, +12163, +12164, +12165, +12166, +12167, +12168, +12169, +12170, +12171, +12172, +12173, +12174, +12175, +12176, +12177, +12178, +12179, +12180, +12181, +12182, +12183, +12184, +12185, +12186, +12187, +12188, +12189, +12190, +12191, +12192, +12193, +12194, +12195, +12196, +12197, +12198, +12199, +12200, +12201, +12202, +12203, +12204, +12205, +12206, +12207, +12208, +12209, +12210, +12211, +12212, +12213, +12214, +12215, +12216, +12217, +12218, +12219, +12220, +12221, +12222, +12223, +12224, +12225, +12226, +12227, +12228, +12229, +12230, +12231, +12232, +12233, +12234, +12235, +12236, +12237, +12238, +12239, +12240, +12241, +12242, +12243, +12244, +12245, +12246, +12247, +12248, +12249, +12250, +12251, +12252, +12253, +12254, +12255, +12256, +12257, +12258, +12259, +12260, +12261, +12262, +12263, +12264, +12265, +12266, +12267, +12268, +12269, +12270, +12271, +12272, +12273, +12274, +12275, +12276, +12277, +12278, +12279, +12280, +12281, +12282, +12283, +12284, +12285, +12286, +12287, +12288, +12289, +12290, +12291, +12292, +12293, +12294, +12295, +12296, +12297, +12298, +12299, +12300, +12301, +12302, +12303, +12304, +12305, +12306, +12307, +12308, +12309, +12310, +12311, +12312, +12313, +12314, +12315, +12316, +12317, +12318, +12319, +12320, +12321, +12322, +12323, +12324, +12325, +12326, +12327, +12328, +12329, +12330, +12331, +12332, +12333, +12334, +12335, +12336, +12337, +12338, +12339, +12340, +12341, +12342, +12343, +12344, +12345, +12346, +12347, +12348, +12349, +12350, +12351, +12352, +12353, +12354, +12355, +12356, +12357, +12358, +12359, +12360, +12361, +12362, +12363, +12364, +12365, +12366, +12367, +12368, +12369, +12370, +12371, +12372, +12373, +12374, +12375, +12376, +12377, +12378, +12379, +12380, +12381, +12382, +12383, +12384, +12385, +12386, +12387, +12388, +12389, +12390, +12391, +12392, +12393, +12394, +12395, +12396, +12397, +12398, +12399, +12400, +12401, +12402, +12403, +12404, +12405, +12406, +12407, +12408, +12409, +12410, +12411, +12412, +12413, +12414, +12415, +12416, +12417, +12418, +12419, +12420, +12421, +12422, +12423, +12424, +12425, +12426, +12427, +12428, +12429, +12430, +12431, +12432, +12433, +12434, +12435, +12436, +12437, +12438, +12439, +12440, +12441, +12442, +12443, +12444, +12445, +12446, +12447, +12448, +12449, +12450, +12451, +12452, +12453, +12454, +12455, +12456, +12457, +12458, +12459, +12460, +12461, +12462, +12463, +12464, +12465, +12466, +12467, +12468, +12469, +12470, +12471, +12472, +12473, +12474, +12475, +12476, +12477, +12478, +12479, +12480, +12481, +12482, +12483, +12484, +12485, +12486, +12487, +12488, +12489, +12490, +12491, +12492, +12493, +12494, +12495, +12496, +12497, +12498, +12499, +12500, +12501, +12502, +12503, +12504, +12505, +12506, +12507, +12508, +12509, +12510, +12511, +12512, +12513, +12514, +12515, +12516, +12517, +12518, +12519, +12520, +12521, +12522, +12523, +12524, +12525, +12526, +12527, +12528, +12529, +12530, +12531, +12532, +12533, +12534, +12535, +12536, +12537, +12538, +12539, +12540, +12541, +12542, +12543, +12544, +12545, +12546, +12547, +12548, +12549, +12550, +12551, +12552, +12553, +12554, +12555, +12556, +12557, +12558, +12559, +12560, +12561, +12562, +12563, +12564, +12565, +12566, +12567, +12568, +12569, +12570, +12571, +12572, +12573, +12574, +12575, +12576, +12577, +12578, +12579, +12580, +12581, +12582, +12583, +12584, +12585, +12586, +12587, +12588, +12589, +12590, +12591, +12592, +12593, +12594, +12595, +12596, +12597, +12598, +12599, +12600, +12601, +12602, +12603, +12604, +12605, +12606, +12607, +12608, +12609, +12610, +12611, +12612, +12613, +12614, +12615, +12616, +12617, +12618, +12619, +12620, +12621, +12622, +12623, +12624, +12625, +12626, +12627, +12628, +12629, +12630, +12631, +12632, +12633, +12634, +12635, +12636, +12637, +12638, +12639, +12640, +12641, +12642, +12643, +12644, +12645, +12646, +12647, +12648, +12649, +12650, +12651, +12652, +12653, +12654, +12655, +12656, +12657, +12658, +12659, +12660, +12661, +12662, +12663, +12664, +12665, +12666, +12667, +12668, +12669, +12670, +12671, +12672, +12673, +12674, +12675, +12676, +12677, +12678, +12679, +12680, +12681, +12682, +12683, +12684, +12685, +12686, +12687, +12688, +12689, +12690, +12691, +12692, +12693, +12694, +12695, +12696, +12697, +12698, +12699, +12700, +12701, +12702, +12703, +12704, +12705, +12706, +12707, +12708, +12709, +12710, +12711, +12712, +12713, +12714, +12715, +12716, +12717, +12718, +12719, +12720, +12721, +12722, +12723, +12724, +12725, +12726, +12727, +12728, +12729, +12730, +12731, +12732, +12733, +12734, +12735, +12736, +12737, +12738, +12739, +12740, +12741, +12742, +12743, +12744, +12745, +12746, +12747, +12748, +12749, +12750, +12751, +12752, +12753, +12754, +12755, +12756, +12757, +12758, +12759, +12760, +12761, +12762, +12763, +12764, +12765, +12766, +12767, +12768, +12769, +12770, +12771, +12772, +12773, +12774, +12775, +12776, +12777, +12778, +12779, +12780, +12781, +12782, +12783, +12784, +12785, +12786, +12787, +12788, +12789, +12790, +12791, +12792, +12793, +12794, +12795, +12796, +12797, +12798, +12799, +12800, +12801, +12802, +12803, +12804, +12805, +12806, +12807, +12808, +12809, +12810, +12811, +12812, +12813, +12814, +12815, +12816, +12817, +12818, +12819, +12820, +12821, +12822, +12823, +12824, +12825, +12826, +12827, +12828, +12829, +12830, +12831, +12832, +12833, +12834, +12835, +12836, +12837, +12838, +12839, +12840, +12841, +12842, +12843, +12844, +12845, +12846, +12847, +12848, +12849, +12850, +12851, +12852, +12853, +12854, +12855, +12856, +12857, +12858, +12859, +12860, +12861, +12862, +12863, +12864, +12865, +12866, +12867, +12868, +12869, +12870, +12871, +12872, +12873, +12874, +12875, +12876, +12877, +12878, +12879, +12880, +12881, +12882, +12883, +12884, +12885, +12886, +12887, +12888, +12889, +12890, +12891, +12892, +12893, +12894, +12895, +12896, +12897, +12898, +12899, +12900, +12901, +12902, +12903, +12904, +12905, +12906, +12907, +12908, +12909, +12910, +12911, +12912, +12913, +12914, +12915, +12916, +12917, +12918, +12919, +12920, +12921, +12922, +12923, +12924, +12925, +12926, +12927, +12928, +12929, +12930, +12931, +12932, +12933, +12934, +12935, +12936, +12937, +12938, +12939, +12940, +12941, +12942, +12943, +12944, +12945, +12946, +12947, +12948, +12949, +12950, +12951, +12952, +12953, +12954, +12955, +12956, +12957, +12958, +12959, +12960, +12961, +12962, +12963, +12964, +12965, +12966, +12967, +12968, +12969, +12970, +12971, +12972, +12973, +12974, +12975, +12976, +12977, +12978, +12979, +12980, +12981, +12982, +12983, +12984, +12985, +12986, +12987, +12988, +12989, +12990, +12991, +12992, +12993, +12994, +12995, +12996, +12997, +12998, +12999, +13000, +13001, +13002, +13003, +13004, +13005, +13006, +13007, +13008, +13009, +13010, +13011, +13012, +13013, +13014, +13015, +13016, +13017, +13018, +13019, +13020, +13021, +13022, +13023, +13024, +13025, +13026, +13027, +13028, +13029, +13030, +13031, +13032, +13033, +13034, +13035, +13036, +13037, +13038, +13039, +13040, +13041, +13042, +13043, +13044, +13045, +13046, +13047, +13048, +13049, +13050, +13051, +13052, +13053, +13054, +13055, +13056, +13057, +13058, +13059, +13060, +13061, +13062, +13063, +13064, +13065, +13066, +13067, +13068, +13069, +13070, +13071, +13072, +13073, +13074, +13075, +13076, +13077, +13078, +13079, +13080, +13081, +13082, +13083, +13084, +13085, +13086, +13087, +13088, +13089, +13090, +13091, +13092, +13093, +13094, +13095, +13096, +13097, +13098, +13099, +13100, +13101, +13102, +13103, +13104, +13105, +13106, +13107, +13108, +13109, +13110, +13111, +13112, +13113, +13114, +13115, +13116, +13117, +13118, +13119, +13120, +13121, +13122, +13123, +13124, +13125, +13126, +13127, +13128, +13129, +13130, +13131, +13132, +13133, +13134, +13135, +13136, +13137, +13138, +13139, +13140, +13141, +13142, +13143, +13144, +13145, +13146, +13147, +13148, +13149, +13150, +13151, +13152, +13153, +13154, +13155, +13156, +13157, +13158, +13159, +13160, +13161, +13162, +13163, +13164, +13165, +13166, +13167, +13168, +13169, +13170, +13171, +13172, +13173, +13174, +13175, +13176, +13177, +13178, +13179, +13180, +13181, +13182, +13183, +13184, +13185, +13186, +13187, +13188, +13189, +13190, +13191, +13192, +13193, +13194, +13195, +13196, +13197, +13198, +13199, +13200, +13201, +13202, +13203, +13204, +13205, +13206, +13207, +13208, +13209, +13210, +13211, +13212, +13213, +13214, +13215, +13216, +13217, +13218, +13219, +13220, +13221, +13222, +13223, +13224, +13225, +13226, +13227, +13228, +13229, +13230, +13231, +13232, +13233, +13234, +13235, +13236, +13237, +13238, +13239, +13240, +13241, +13242, +13243, +13244, +13245, +13246, +13247, +13248, +13249, +13250, +13251, +13252, +13253, +13254, +13255, +13256, +13257, +13258, +13259, +13260, +13261, +13262, +13263, +13264, +13265, +13266, +13267, +13268, +13269, +13270, +13271, +13272, +13273, +13274, +13275, +13276, +13277, +13278, +13279, +13280, +13281, +13282, +13283, +13284, +13285, +13286, +13287, +13288, +13289, +13290, +13291, +13292, +13293, +13294, +13295, +13296, +13297, +13298, +13299, +13300, +13301, +13302, +13303, +13304, +13305, +13306, +13307, +13308, +13309, +13310, +13311, +13312, +13313, +13314, +13315, +13316, +13317, +13318, +13319, +13320, +13321, +13322, +13323, +13324, +13325, +13326, +13327, +13328, +13329, +13330, +13331, +13332, +13333, +13334, +13335, +13336, +13337, +13338, +13339, +13340, +13341, +13342, +13343, +13344, +13345, +13346, +13347, +13348, +13349, +13350, +13351, +13352, +13353, +13354, +13355, +13356, +13357, +13358, +13359, +13360, +13361, +13362, +13363, +13364, +13365, +13366, +13367, +13368, +13369, +13370, +13371, +13372, +13373, +13374, +13375, +13376, +13377, +13378, +13379, +13380, +13381, +13382, +13383, +13384, +13385, +13386, +13387, +13388, +13389, +13390, +13391, +13392, +13393, +13394, +13395, +13396, +13397, +13398, +13399, +13400, +13401, +13402, +13403, +13404, +13405, +13406, +13407, +13408, +13409, +13410, +13411, +13412, +13413, +13414, +13415, +13416, +13417, +13418, +13419, +13420, +13421, +13422, +13423, +13424, +13425, +13426, +13427, +13428, +13429, +13430, +13431, +13432, +13433, +13434, +13435, +13436, +13437, +13438, +13439, +13440, +13441, +13442, +13443, +13444, +13445, +13446, +13447, +13448, +13449, +13450, +13451, +13452, +13453, +13454, +13455, +13456, +13457, +13458, +13459, +13460, +13461, +13462, +13463, +13464, +13465, +13466, +13467, +13468, +13469, +13470, +13471, +13472, +13473, +13474, +13475, +13476, +13477, +13478, +13479, +13480, +13481, +13482, +13483, +13484, +13485, +13486, +13487, +13488, +13489, +13490, +13491, +13492, +13493, +13494, +13495, +13496, +13497, +13498, +13499, +13500, +13501, +13502, +13503, +13504, +13505, +13506, +13507, +13508, +13509, +13510, +13511, +13512, +13513, +13514, +13515, +13516, +13517, +13518, +13519, +13520, +13521, +13522, +13523, +13524, +13525, +13526, +13527, +13528, +13529, +13530, +13531, +13532, +13533, +13534, +13535, +13536, +13537, +13538, +13539, +13540, +13541, +13542, +13543, +13544, +13545, +13546, +13547, +13548, +13549, +13550, +13551, +13552, +13553, +13554, +13555, +13556, +13557, +13558, +13559, +13560, +13561, +13562, +13563, +13564, +13565, +13566, +13567, +13568, +13569, +13570, +13571, +13572, +13573, +13574, +13575, +13576, +13577, +13578, +13579, +13580, +13581, +13582, +13583, +13584, +13585, +13586, +13587, +13588, +13589, +13590, +13591, +13592, +13593, +13594, +13595, +13596, +13597, +13598, +13599, +13600, +13601, +13602, +13603, +13604, +13605, +13606, +13607, +13608, +13609, +13610, +13611, +13612, +13613, +13614, +13615, +13616, +13617, +13618, +13619, +13620, +13621, +13622, +13623, +13624, +13625, +13626, +13627, +13628, +13629, +13630, +13631, +13632, +13633, +13634, +13635, +13636, +13637, +13638, +13639, +13640, +13641, +13642, +13643, +13644, +13645, +13646, +13647, +13648, +13649, +13650, +13651, +13652, +13653, +13654, +13655, +13656, +13657, +13658, +13659, +13660, +13661, +13662, +13663, +13664, +13665, +13666, +13667, +13668, +13669, +13670, +13671, +13672, +13673, +13674, +13675, +13676, +13677, +13678, +13679, +13680, +13681, +13682, +13683, +13684, +13685, +13686, +13687, +13688, +13689, +13690, +13691, +13692, +13693, +13694, +13695, +13696, +13697, +13698, +13699, +13700, +13701, +13702, +13703, +13704, +13705, +13706, +13707, +13708, +13709, +13710, +13711, +13712, +13713, +13714, +13715, +13716, +13717, +13718, +13719, +13720, +13721, +13722, +13723, +13724, +13725, +13726, +13727, +13728, +13729, +13730, +13731, +13732, +13733, +13734, +13735, +13736, +13737, +13738, +13739, +13740, +13741, +13742, +13743, +13744, +13745, +13746, +13747, +13748, +13749, +13750, +13751, +13752, +13753, +13754, +13755, +13756, +13757, +13758, +13759, +13760, +13761, +13762, +13763, +13764, +13765, +13766, +13767, +13768, +13769, +13770, +13771, +13772, +13773, +13774, +13775, +13776, +13777, +13778, +13779, +13780, +13781, +13782, +13783, +13784, +13785, +13786, +13787, +13788, +13789, +13790, +13791, +13792, +13793, +13794, +13795, +13796, +13797, +13798, +13799, +13800, +13801, +13802, +13803, +13804, +13805, +13806, +13807, +13808, +13809, +13810, +13811, +13812, +13813, +13814, +13815, +13816, +13817, +13818, +13819, +13820, +13821, +13822, +13823, +13824, +13825, +13826, +13827, +13828, +13829, +13830, +13831, +13832, +13833, +13834, +13835, +13836, +13837, +13838, +13839, +13840, +13841, +13842, +13843, +13844, +13845, +13846, +13847, +13848, +13849, +13850, +13851, +13852, +13853, +13854, +13855, +13856, +13857, +13858, +13859, +13860, +13861, +13862, +13863, +13864, +13865, +13866, +13867, +13868, +13869, +13870, +13871, +13872, +13873, +13874, +13875, +13876, +13877, +13878, +13879, +13880, +13881, +13882, +13883, +13884, +13885, +13886, +13887, +13888, +13889, +13890, +13891, +13892, +13893, +13894, +13895, +13896, +13897, +13898, +13899, +13900, +13901, +13902, +13903, +13904, +13905, +13906, +13907, +13908, +13909, +13910, +13911, +13912, +13913, +13914, +13915, +13916, +13917, +13918, +13919, +13920, +13921, +13922, +13923, +13924, +13925, +13926, +13927, +13928, +13929, +13930, +13931, +13932, +13933, +13934, +13935, +13936, +13937, +13938, +13939, +13940, +13941, +13942, +13943, +13944, +13945, +13946, +13947, +13948, +13949, +13950, +13951, +13952, +13953, +13954, +13955, +13956, +13957, +13958, +13959, +13960, +13961, +13962, +13963, +13964, +13965, +13966, +13967, +13968, +13969, +13970, +13971, +13972, +13973, +13974, +13975, +13976, +13977, +13978, +13979, +13980, +13981, +13982, +13983, +13984, +13985, +13986, +13987, +13988, +13989, +13990, +13991, +13992, +13993, +13994, +13995, +13996, +13997, +13998, +13999, +14000, +14001, +14002, +14003, +14004, +14005, +14006, +14007, +14008, +14009, +14010, +14011, +14012, +14013, +14014, +14015, +14016, +14017, +14018, +14019, +14020, +14021, +14022, +14023, +14024, +14025, +14026, +14027, +14028, +14029, +14030, +14031, +14032, +14033, +14034, +14035, +14036, +14037, +14038, +14039, +14040, +14041, +14042, +14043, +14044, +14045, +14046, +14047, +14048, +14049, +14050, +14051, +14052, +14053, +14054, +14055, +14056, +14057, +14058, +14059, +14060, +14061, +14062, +14063, +14064, +14065, +14066, +14067, +14068, +14069, +14070, +14071, +14072, +14073, +14074, +14075, +14076, +14077, +14078, +14079, +14080, +14081, +14082, +14083, +14084, +14085, +14086, +14087, +14088, +14089, +14090, +14091, +14092, +14093, +14094, +14095, +14096, +14097, +14098, +14099, +14100, +14101, +14102, +14103, +14104, +14105, +14106, +14107, +14108, +14109, +14110, +14111, +14112, +14113, +14114, +14115, +14116, +14117, +14118, +14119, +14120, +14121, +14122, +14123, +14124, +14125, +14126, +14127, +14128, +14129, +14130, +14131, +14132, +14133, +14134, +14135, +14136, +14137, +14138, +14139, +14140, +14141, +14142, +14143, +14144, +14145, +14146, +14147, +14148, +14149, +14150, +14151, +14152, +14153, +14154, +14155, +14156, +14157, +14158, +14159, +14160, +14161, +14162, +14163, +14164, +14165, +14166, +14167, +14168, +14169, +14170, +14171, +14172, +14173, +14174, +14175, +14176, +14177, +14178, +14179, +14180, +14181, +14182, +14183, +14184, +14185, +14186, +14187, +14188, +14189, +14190, +14191, +14192, +14193, +14194, +14195, +14196, +14197, +14198, +14199, +14200, +14201, +14202, +14203, +14204, +14205, +14206, +14207, +14208, +14209, +14210, +14211, +14212, +14213, +14214, +14215, +14216, +14217, +14218, +14219, +14220, +14221, +14222, +14223, +14224, +14225, +14226, +14227, +14228, +14229, +14230, +14231, +14232, +14233, +14234, +14235, +14236, +14237, +14238, +14239, +14240, +14241, +14242, +14243, +14244, +14245, +14246, +14247, +14248, +14249, +14250, +14251, +14252, +14253, +14254, +14255, +14256, +14257, +14258, +14259, +14260, +14261, +14262, +14263, +14264, +14265, +14266, +14267, +14268, +14269, +14270, +14271, +14272, +14273, +14274, +14275, +14276, +14277, +14278, +14279, +14280, +14281, +14282, +14283, +14284, +14285, +14286, +14287, +14288, +14289, +14290, +14291, +14292, +14293, +14294, +14295, +14296, +14297, +14298, +14299, +14300, +14301, +14302, +14303, +14304, +14305, +14306, +14307, +14308, +14309, +14310, +14311, +14312, +14313, +14314, +14315, +14316, +14317, +14318, +14319, +14320, +14321, +14322, +14323, +14324, +14325, +14326, +14327, +14328, +14329, +14330, +14331, +14332, +14333, +14334, +14335, +14336, +14337, +14338, +14339, +14340, +14341, +14342, +14343, +14344, +14345, +14346, +14347, +14348, +14349, +14350, +14351, +14352, +14353, +14354, +14355, +14356, +14357, +14358, +14359, +14360, +14361, +14362, +14363, +14364, +14365, +14366, +14367, +14368, +14369, +14370, +14371, +14372, +14373, +14374, +14375, +14376, +14377, +14378, +14379, +14380, +14381, +14382, +14383, +14384, +14385, +14386, +14387, +14388, +14389, +14390, +14391, +14392, +14393, +14394, +14395, +14396, +14397, +14398, +14399, +14400, +14401, +14402, +14403, +14404, +14405, +14406, +14407, +14408, +14409, +14410, +14411, +14412, +14413, +14414, +14415, +14416, +14417, +14418, +14419, +14420, +14421, +14422, +14423, +14424, +14425, +14426, +14427, +14428, +14429, +14430, +14431, +14432, +14433, +14434, +14435, +14436, +14437, +14438, +14439, +14440, +14441, +14442, +14443, +14444, +14445, +14446, +14447, +14448, +14449, +14450, +14451, +14452, +14453, +14454, +14455, +14456, +14457, +14458, +14459, +14460, +14461, +14462, +14463, +14464, +14465, +14466, +14467, +14468, +14469, +14470, +14471, +14472, +14473, +14474, +14475, +14476, +14477, +14478, +14479, +14480, +14481, +14482, +14483, +14484, +14485, +14486, +14487, +14488, +14489, +14490, +14491, +14492, +14493, +14494, +14495, +14496, +14497, +14498, +14499, +14500, +14501, +14502, +14503, +14504, +14505, +14506, +14507, +14508, +14509, +14510, +14511, +14512, +14513, +14514, +14515, +14516, +14517, +14518, +14519, +14520, +14521, +14522, +14523, +14524, +14525, +14526, +14527, +14528, +14529, +14530, +14531, +14532, +14533, +14534, +14535, +14536, +14537, +14538, +14539, +14540, +14541, +14542, +14543, +14544, +14545, +14546, +14547, +14548, +14549, +14550, +14551, +14552, +14553, +14554, +14555, +14556, +14557, +14558, +14559, +14560, +14561, +14562, +14563, +14564, +14565, +14566, +14567, +14568, +14569, +14570, +14571, +14572, +14573, +14574, +14575, +14576, +14577, +14578, +14579, +14580, +14581, +14582, +14583, +14584, +14585, +14586, +14587, +14588, +14589, +14590, +14591, +14592, +14593, +14594, +14595, +14596, +14597, +14598, +14599, +14600, +14601, +14602, +14603, +14604, +14605, +14606, +14607, +14608, +14609, +14610, +14611, +14612, +14613, +14614, +14615, +14616, +14617, +14618, +14619, +14620, +14621, +14622, +14623, +14624, +14625, +14626, +14627, +14628, +14629, +14630, +14631, +14632, +14633, +14634, +14635, +14636, +14637, +14638, +14639, +14640, +14641, +14642, +14643, +14644, +14645, +14646, +14647, +14648, +14649, +14650, +14651, +14652, +14653, +14654, +14655, +14656, +14657, +14658, +14659, +14660, +14661, +14662, +14663, +14664, +14665, +14666, +14667, +14668, +14669, +14670, +14671, +14672, +14673, +14674, +14675, +14676, +14677, +14678, +14679, +14680, +14681, +14682, +14683, +14684, +14685, +14686, +14687, +14688, +14689, +14690, +14691, +14692, +14693, +14694, +14695, +14696, +14697, +14698, +14699, +14700, +14701, +14702, +14703, +14704, +14705, +14706, +14707, +14708, +14709, +14710, +14711, +14712, +14713, +14714, +14715, +14716, +14717, +14718, +14719, +14720, +14721, +14722, +14723, +14724, +14725, +14726, +14727, +14728, +14729, +14730, +14731, +14732, +14733, +14734, +14735, +14736, +14737, +14738, +14739, +14740, +14741, +14742, +14743, +14744, +14745, +14746, +14747, +14748, +14749, +14750, +14751, +14752, +14753, +14754, +14755, +14756, +14757, +14758, +14759, +14760, +14761, +14762, +14763, +14764, +14765, +14766, +14767, +14768, +14769, +14770, +14771, +14772, +14773, +14774, +14775, +14776, +14777, +14778, +14779, +14780, +14781, +14782, +14783, +14784, +14785, +14786, +14787, +14788, +14789, +14790, +14791, +14792, +14793, +14794, +14795, +14796, +14797, +14798, +14799, +14800, +14801, +14802, +14803, +14804, +14805, +14806, +14807, +14808, +14809, +14810, +14811, +14812, +14813, +14814, +14815, +14816, +14817, +14818, +14819, +14820, +14821, +14822, +14823, +14824, +14825, +14826, +14827, +14828, +14829, +14830, +14831, +14832, +14833, +14834, +14835, +14836, +14837, +14838, +14839, +14840, +14841, +14842, +14843, +14844, +14845, +14846, +14847, +14848, +14849, +14850, +14851, +14852, +14853, +14854, +14855, +14856, +14857, +14858, +14859, +14860, +14861, +14862, +14863, +14864, +14865, +14866, +14867, +14868, +14869, +14870, +14871, +14872, +14873, +14874, +14875, +14876, +14877, +14878, +14879, +14880, +14881, +14882, +14883, +14884, +14885, +14886, +14887, +14888, +14889, +14890, +14891, +14892, +14893, +14894, +14895, +14896, +14897, +14898, +14899, +14900, +14901, +14902, +14903, +14904, +14905, +14906, +14907, +14908, +14909, +14910, +14911, +14912, +14913, +14914, +14915, +14916, +14917, +14918, +14919, +14920, +14921, +14922, +14923, +14924, +14925, +14926, +14927, +14928, +14929, +14930, +14931, +14932, +14933, +14934, +14935, +14936, +14937, +14938, +14939, +14940, +14941, +14942, +14943, +14944, +14945, +14946, +14947, +14948, +14949, +14950, +14951, +14952, +14953, +14954, +14955, +14956, +14957, +14958, +14959, +14960, +14961, +14962, +14963, +14964, +14965, +14966, +14967, +14968, +14969, +14970, +14971, +14972, +14973, +14974, +14975, +14976, +14977, +14978, +14979, +14980, +14981, +14982, +14983, +14984, +14985, +14986, +14987, +14988, +14989, +14990, +14991, +14992, +14993, +14994, +14995, +14996, +14997, +14998, +14999, +15000, +15001, +15002, +15003, +15004, +15005, +15006, +15007, +15008, +15009, +15010, +15011, +15012, +15013, +15014, +15015, +15016, +15017, +15018, +15019, +15020, +15021, +15022, +15023, +15024, +15025, +15026, +15027, +15028, +15029, +15030, +15031, +15032, +15033, +15034, +15035, +15036, +15037, +15038, +15039, +15040, +15041, +15042, +15043, +15044, +15045, +15046, +15047, +15048, +15049, +15050, +15051, +15052, +15053, +15054, +15055, +15056, +15057, +15058, +15059, +15060, +15061, +15062, +15063, +15064, +15065, +15066, +15067, +15068, +15069, +15070, +15071, +15072, +15073, +15074, +15075, +15076, +15077, +15078, +15079, +15080, +15081, +15082, +15083, +15084, +15085, +15086, +15087, +15088, +15089, +15090, +15091, +15092, +15093, +15094, +15095, +15096, +15097, +15098, +15099, +15100, +15101, +15102, +15103, +15104, +15105, +15106, +15107, +15108, +15109, +15110, +15111, +15112, +15113, +15114, +15115, +15116, +15117, +15118, +15119, +15120, +15121, +15122, +15123, +15124, +15125, +15126, +15127, +15128, +15129, +15130, +15131, +15132, +15133, +15134, +15135, +15136, +15137, +15138, +15139, +15140, +15141, +15142, +15143, +15144, +15145, +15146, +15147, +15148, +15149, +15150, +15151, +15152, +15153, +15154, +15155, +15156, +15157, +15158, +15159, +15160, +15161, +15162, +15163, +15164, +15165, +15166, +15167, +15168, +15169, +15170, +15171, +15172, +15173, +15174, +15175, +15176, +15177, +15178, +15179, +15180, +15181, +15182, +15183, +15184, +15185, +15186, +15187, +15188, +15189, +15190, +15191, +15192, +15193, +15194, +15195, +15196, +15197, +15198, +15199, +15200, +15201, +15202, +15203, +15204, +15205, +15206, +15207, +15208, +15209, +15210, +15211, +15212, +15213, +15214, +15215, +15216, +15217, +15218, +15219, +15220, +15221, +15222, +15223, +15224, +15225, +15226, +15227, +15228, +15229, +15230, +15231, +15232, +15233, +15234, +15235, +15236, +15237, +15238, +15239, +15240, +15241, +15242, +15243, +15244, +15245, +15246, +15247, +15248, +15249, +15250, +15251, +15252, +15253, +15254, +15255, +15256, +15257, +15258, +15259, +15260, +15261, +15262, +15263, +15264, +15265, +15266, +15267, +15268, +15269, +15270, +15271, +15272, +15273, +15274, +15275, +15276, +15277, +15278, +15279, +15280, +15281, +15282, +15283, +15284, +15285, +15286, +15287, +15288, +15289, +15290, +15291, +15292, +15293, +15294, +15295, +15296, +15297, +15298, +15299, +15300, +15301, +15302, +15303, +15304, +15305, +15306, +15307, +15308, +15309, +15310, +15311, +15312, +15313, +15314, +15315, +15316, +15317, +15318, +15319, +15320, +15321, +15322, +15323, +15324, +15325, +15326, +15327, +15328, +15329, +15330, +15331, +15332, +15333, +15334, +15335, +15336, +15337, +15338, +15339, +15340, +15341, +15342, +15343, +15344, +15345, +15346, +15347, +15348, +15349, +15350, +15351, +15352, +15353, +15354, +15355, +15356, +15357, +15358, +15359, +15360, +15361, +15362, +15363, +15364, +15365, +15366, +15367, +15368, +15369, +15370, +15371, +15372, +15373, +15374, +15375, +15376, +15377, +15378, +15379, +15380, +15381, +15382, +15383, +15384, +15385, +15386, +15387, +15388, +15389, +15390, +15391, +15392, +15393, +15394, +15395, +15396, +15397, +15398, +15399, +15400, +15401, +15402, +15403, +15404, +15405, +15406, +15407, +15408, +15409, +15410, +15411, +15412, +15413, +15414, +15415, +15416, +15417, +15418, +15419, +15420, +15421, +15422, +15423, +15424, +15425, +15426, +15427, +15428, +15429, +15430, +15431, +15432, +15433, +15434, +15435, +15436, +15437, +15438, +15439, +15440, +15441, +15442, +15443, +15444, +15445, +15446, +15447, +15448, +15449, +15450, +15451, +15452, +15453, +15454, +15455, +15456, +15457, +15458, +15459, +15460, +15461, +15462, +15463, +15464, + +*********************************************************** +** constraints centrif element sets +** ConstraintCentrif +*ELSET,ELSET=ConstraintCentrif +Evolumes + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +3, +9, +17, +23, +286, +287, +288, +482, +483, +484, +678, +940, +941, +942, +1136, +1137, +1138, +1332, +1811, +1812, +1813, +1814, +1815, +1816, +1817, +1818, +1819, +1820, +1821, +2736, +2737, +2738, +2739, +2740, +2741, +2742, +2743, +2744, +2745, +2746, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Steel_Scotty +** Steel_Scotty +*MATERIAL, NAME=Steel_Scotty +*ELASTIC +210000,0.3 +*DENSITY +4E-09 +** FreeCAD material name: Steel_Std +** Steel_Std +*MATERIAL, NAME=Steel_Std +*ELASTIC +210000,0.3 +*DENSITY +8E-09 + +*********************************************************** +** Sections +*SOLID SECTION, ELSET=Steel_ScottySolid, MATERIAL=Steel_Scotty +*SOLID SECTION, ELSET=Steel_StdSolid, MATERIAL=Steel_Std + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 + + +*********************************************************** +** Centrif Constraints +** ConstraintCentrif +*DLOAD +ConstraintCentrif,CENTRIF,394784.1760436,0,0,0,0,0,1 + + +*********************************************************** +** Outputs --> frd file +*NODE FILE +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25188 (Git) +** written on --> Mon Jul 5 15:41:32 2021 +** file name --> centrif.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_contact_shell_shell.inp b/src/Mod/Fem/femtest/data/calculix/constraint_contact_shell_shell.inp index 4accd664b5..963dec0633 100644 --- a/src/Mod/Fem/femtest/data/calculix/constraint_contact_shell_shell.inp +++ b/src/Mod/Fem/femtest/data/calculix/constraint_contact_shell_shell.inp @@ -22994,13 +22994,11 @@ Efaces *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialShellThickness Efaces *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 2, @@ -23070,7 +23068,6 @@ Efaces *********************************************************** ** constraints contact surface sets -** written by write_surfaces_constraints_contact function ** ConstraintContact *SURFACE, NAME=DEPConstraintContact 329,S2 @@ -38353,40 +38350,35 @@ Efaces *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: AlCuMgPb ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -72000, 0.300 +72000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SHELL SECTION, ELSET=MechanicalMaterialShellThickness, MATERIAL=MechanicalMaterial 0.5 *********************************************************** ** Contact Constraints -** written by write_constraints_contact function ** ConstraintContact *CONTACT PAIR, INTERACTION=INTConstraintContact,TYPE=SURFACE TO SURFACE DEPConstraintContact,INDConstraintContact *SURFACE INTERACTION, NAME=INTConstraintContact *SURFACE BEHAVIOR,PRESSURE-OVERCLOSURE=LINEAR -1000000.0 +1000000 *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -38399,7 +38391,6 @@ ConstraintFixed,6 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node load on shape: Load_place_point:Vertex1 @@ -38409,7 +38400,6 @@ ConstraintFixed,6 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE, OUTPUT=3d U *EL FILE @@ -38421,12 +38411,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.19278 (Git) ** written on --> Tue Jan 14 20:17:09 2020 ** file name --> Contact_Shell_Shell.FCStd @@ -38450,9 +38438,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_contact_solid_solid.inp b/src/Mod/Fem/femtest/data/calculix/constraint_contact_solid_solid.inp index 7787d6cbb5..71d055cc73 100644 --- a/src/Mod/Fem/femtest/data/calculix/constraint_contact_solid_solid.inp +++ b/src/Mod/Fem/femtest/data/calculix/constraint_contact_solid_solid.inp @@ -4315,13 +4315,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 1, @@ -4431,7 +4429,6 @@ Evolumes *********************************************************** ** constraints contact surface sets -** written by write_surfaces_constraints_contact function ** ConstraintContact *SURFACE, NAME=DEPConstraintContact 1344,S4 @@ -5040,22 +5037,19 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Steel-Generic ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000, 0.300 +200000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial *********************************************************** ** Contact Constraints -** written by write_constraints_contact function ** ConstraintContact *CONTACT PAIR, INTERACTION=INTConstraintContact,TYPE=SURFACE TO SURFACE DEPConstraintContact,INDConstraintContact @@ -5065,14 +5059,12 @@ DEPConstraintContact,INDConstraintContact *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -5082,7 +5074,6 @@ ConstraintFixed,3 *********************************************************** ** constraints pressure element face loads -** written by write_constraints_pressure function ** ConstraintPressure *DLOAD ** ConstraintPressure: face load @@ -5341,7 +5332,6 @@ ConstraintFixed,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -5353,12 +5343,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.19463 (Git) ** written on --> Mon Feb 3 23:28:02 2020 ** file name --> @@ -5382,9 +5370,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_sectionprint.inp b/src/Mod/Fem/femtest/data/calculix/constraint_sectionprint.inp index 937740938d..2eea3f4a01 100644 --- a/src/Mod/Fem/femtest/data/calculix/constraint_sectionprint.inp +++ b/src/Mod/Fem/femtest/data/calculix/constraint_sectionprint.inp @@ -3230,13 +3230,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 9, @@ -3357,7 +3355,6 @@ Evolumes *********************************************************** ** constraints sectionprint surface sets -** written by write_surfaces_constraints_sectionprint function ** ConstraintSectionPrint *SURFACE, NAME=SECTIONFACEConstraintSectionPrint 811,S4 @@ -3391,29 +3388,25 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** Material *MATERIAL, NAME=Material *ELASTIC -210000, 0.300 +210000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MaterialSolid, MATERIAL=Material *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -3423,39 +3416,36 @@ ConstraintFixed,3 *********************************************************** ** SectionPrint Constraints -** written by write_constraints_sectionprint function ** ConstraintSectionPrint *SECTION PRINT, SURFACE=SECTIONFACEConstraintSectionPrint, NAME=SECTIONPRINTConstraintSectionPrint SOF, SOM, SOAREA *********************************************************** ** constraints pressure element face loads -** written by write_constraints_pressure function ** ConstraintPressure *DLOAD ** ConstraintPressure: face load -846,P3,100.0 -861,P1,100.0 -875,P4,100.0 -883,P3,100.0 -887,P1,100.0 -888,P1,100.0 -903,P1,100.0 -929,P4,100.0 -933,P3,100.0 -936,P1,100.0 -937,P1,100.0 -940,P1,100.0 -941,P1,100.0 -946,P4,100.0 -949,P2,100.0 -951,P4,100.0 -954,P3,100.0 -955,P4,100.0 +846,P3,100 +861,P1,100 +875,P4,100 +883,P3,100 +887,P1,100 +888,P1,100 +903,P1,100 +929,P4,100 +933,P3,100 +936,P1,100 +937,P1,100 +940,P1,100 +941,P1,100 +946,P4,100 +949,P2,100 +951,P4,100 +954,P3,100 +955,P4,100 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -3467,12 +3457,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21759 (Git) ** written on --> Wed Jun 24 09:14:56 2020 ** file name --> @@ -3496,9 +3484,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_selfweight_cantilever.inp b/src/Mod/Fem/femtest/data/calculix/constraint_selfweight_cantilever.inp index 7c1ce57e7c..613c03c7fc 100644 --- a/src/Mod/Fem/femtest/data/calculix/constraint_selfweight_cantilever.inp +++ b/src/Mod/Fem/femtest/data/calculix/constraint_selfweight_cantilever.inp @@ -2115,13 +2115,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 1, @@ -2140,32 +2138,27 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 -** Density's unit is t/mm^3 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** FemMaterial *MATERIAL, NAME=FemMaterial *ELASTIC -210000, 0.300 +210000,0.3 *DENSITY -7.900e-09 +7.9E-09 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -2175,15 +2168,13 @@ ConstraintFixed,3 *********************************************************** ** Self weight Constraint -** written by write_constraints_selfweight function ** ConstraintSelfWeight *DLOAD -Eall,GRAV,9806,0.0,0.0,-1.0 +Eall,GRAV,9806,0,0,-1 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -2195,12 +2186,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21963 +19 (Git) ** written on --> Tue Jul 14 12:48:52 2020 ** file name --> @@ -2224,9 +2213,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_tie.inp b/src/Mod/Fem/femtest/data/calculix/constraint_tie.inp index f9b53e0077..ac07fd6743 100644 --- a/src/Mod/Fem/femtest/data/calculix/constraint_tie.inp +++ b/src/Mod/Fem/femtest/data/calculix/constraint_tie.inp @@ -18530,13 +18530,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 3, @@ -18545,7 +18543,6 @@ Evolumes *********************************************************** ** constraints tie surface sets -** written by write_surfaces_constraints_tie function ** ConstraintTie *SURFACE, NAME=TIE_DEPConstraintTie 4834,S1 @@ -18596,36 +18593,31 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Calculix-Steel ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -210000, 0.300 +210000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial *********************************************************** ** Tie Constraints -** written by write_constraints_tie function ** ConstraintTie -*TIE, POSITION TOLERANCE=25.0, ADJUST=NO, NAME=TIEConstraintTie +*TIE, POSITION TOLERANCE=25, ADJUST=NO, NAME=TIEConstraintTie TIE_DEPConstraintTie,TIE_INDConstraintTie *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -18635,7 +18627,6 @@ ConstraintFixed,3 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node loads on shape: BooleanFragments:Edge2 @@ -18647,7 +18638,6 @@ ConstraintFixed,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -18659,12 +18649,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.19481 (Git) ** written on --> Wed Feb 5 08:55:37 2020 ** file name --> @@ -18688,9 +18676,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_transform_beam_hinged.inp b/src/Mod/Fem/femtest/data/calculix/constraint_transform_beam_hinged.inp new file mode 100644 index 0000000000..16a3079264 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/constraint_transform_beam_hinged.inp @@ -0,0 +1,3817 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 200, 0, 0 +2, 200, 10, 0 +3, 0, 0, 0 +4, 184, 0, 10 +5, 16, 0, 10 +6, 0, 10, 0 +7, 184, 10, 10 +8, 16, 10, 10 +9, 200, 5, 0 +10, 200, 2.5, 0 +11, 200, 7.5, 0 +12, 6.896551724138, 0, 0 +13, 13.79310344828, 0, 0 +14, 20.68965517241, 0, 0 +15, 27.58620689655, 0, 0 +16, 34.48275862069, 0, 0 +17, 41.37931034483, 0, 0 +18, 48.27586206897, 0, 0 +19, 55.1724137931, 0, 0 +20, 62.06896551724, 0, 0 +21, 68.96551724138, 0, 0 +22, 75.86206896552, 0, 0 +23, 82.75862068966, 0, 0 +24, 89.65517241379, 0, 0 +25, 96.55172413793, 0, 0 +26, 103.4482758621, 0, 0 +27, 110.3448275862, 0, 0 +28, 117.2413793103, 0, 0 +29, 124.1379310345, 0, 0 +30, 131.0344827586, 0, 0 +31, 137.9310344828, 0, 0 +32, 144.8275862069, 0, 0 +33, 151.724137931, 0, 0 +34, 158.6206896552, 0, 0 +35, 165.5172413793, 0, 0 +36, 172.4137931034, 0, 0 +37, 179.3103448276, 0, 0 +38, 186.2068965517, 0, 0 +39, 193.1034482759, 0, 0 +40, 3.448275862069, 0, 0 +41, 10.34482758621, 0, 0 +42, 17.24137931034, 0, 0 +43, 24.13793103448, 0, 0 +44, 31.03448275862, 0, 0 +45, 37.93103448276, 0, 0 +46, 44.8275862069, 0, 0 +47, 51.72413793103, 0, 0 +48, 58.62068965517, 0, 0 +49, 65.51724137931, 0, 0 +50, 72.41379310345, 0, 0 +51, 79.31034482759, 0, 0 +52, 86.20689655172, 0, 0 +53, 93.10344827586, 0, 0 +54, 100, 0, 0 +55, 106.8965517241, 0, 0 +56, 113.7931034483, 0, 0 +57, 120.6896551724, 0, 0 +58, 127.5862068966, 0, 0 +59, 134.4827586207, 0, 0 +60, 141.3793103448, 0, 0 +61, 148.275862069, 0, 0 +62, 155.1724137931, 0, 0 +63, 162.0689655172, 0, 0 +64, 168.9655172414, 0, 0 +65, 175.8620689655, 0, 0 +66, 182.7586206897, 0, 0 +67, 189.6551724138, 0, 0 +68, 196.5517241379, 0, 0 +69, 186.2590611888, 1.032017556858e-15, 14.69098889481 +70, 191.3351256037, 1.28690484408e-15, 15.84956747309 +71, 195.4058132074, 5.727265356352e-16, 12.60330243471 +72, 195.4058132074, -5.727265356352e-16, 7.396697565295 +73, 191.3351256037, -1.28690484408e-15, 4.150432526909 +74, 186.2590611888, -1.032017556858e-15, 5.309011105192 +75, 184.5941867926, 5.727265356352e-16, 12.60330243471 +76, 188.6648743963, 1.28690484408e-15, 15.84956747309 +77, 193.7409388112, 1.032017556858e-15, 14.69098889481 +78, 196, -6.286527288318e-30, 10 +79, 193.7409388112, -1.032017556858e-15, 5.309011105192 +80, 188.6648743963, -1.28690484408e-15, 4.150432526909 +81, 184.5941867926, -5.727265356352e-16, 7.396697565295 +82, 13.74093881115, 1.032017556858e-15, 14.69098889481 +83, 8.664874396262, 1.28690484408e-15, 15.84956747309 +84, 4.594186792585, 5.727265356352e-16, 12.60330243471 +85, 4.594186792586, -5.727265356352e-16, 7.396697565295 +86, 8.664874396262, -1.28690484408e-15, 4.150432526909 +87, 13.74093881115, -1.032017556858e-15, 5.309011105192 +88, 15.40581320741, 5.727265356352e-16, 12.60330243471 +89, 11.33512560374, 1.28690484408e-15, 15.84956747309 +90, 6.259061188848, 1.032017556858e-15, 14.69098889481 +91, 4, -6.286527288318e-30, 10 +92, 6.259061188848, -1.032017556858e-15, 5.309011105192 +93, 11.33512560374, -1.28690484408e-15, 4.150432526909 +94, 15.40581320741, -5.727265356352e-16, 7.396697565295 +95, 0, 5, 0 +96, 0, 2.5, 0 +97, 0, 7.5, 0 +98, 184, 5, 10 +99, 184, 7.5, 10 +100, 184, 2.5, 10 +101, 186.2590611888, 10, 14.69098889481 +102, 191.3351256037, 10, 15.84956747309 +103, 195.4058132074, 10, 12.60330243471 +104, 195.4058132074, 10, 7.396697565295 +105, 191.3351256037, 10, 4.150432526909 +106, 186.2590611888, 10, 5.309011105192 +107, 184.5941867926, 10, 12.60330243471 +108, 188.6648743963, 10, 15.84956747309 +109, 193.7409388112, 10, 14.69098889481 +110, 196, 10, 10 +111, 193.7409388112, 10, 5.309011105192 +112, 188.6648743963, 10, 4.150432526909 +113, 184.5941867926, 10, 7.396697565295 +114, 16, 5, 10 +115, 16, 7.5, 10 +116, 16, 2.5, 10 +117, 13.74093881115, 10, 14.69098889481 +118, 8.664874396262, 10, 15.84956747309 +119, 4.594186792585, 10, 12.60330243471 +120, 4.594186792586, 10, 7.396697565295 +121, 8.664874396262, 10, 4.150432526909 +122, 13.74093881115, 10, 5.309011105192 +123, 15.40581320741, 10, 12.60330243471 +124, 11.33512560374, 10, 15.84956747309 +125, 6.259061188848, 10, 14.69098889481 +126, 4, 10, 10 +127, 6.259061188848, 10, 5.309011105192 +128, 11.33512560374, 10, 4.150432526909 +129, 15.40581320741, 10, 7.396697565295 +130, 193.1034482759, 10, 0 +131, 186.2068965517, 10, 0 +132, 179.3103448276, 10, 0 +133, 172.4137931034, 10, 0 +134, 165.5172413793, 10, 0 +135, 158.6206896552, 10, 0 +136, 151.724137931, 10, 0 +137, 144.8275862069, 10, 0 +138, 137.9310344828, 10, 0 +139, 131.0344827586, 10, 0 +140, 124.1379310345, 10, 0 +141, 117.2413793103, 10, 0 +142, 110.3448275862, 10, 0 +143, 103.4482758621, 10, 0 +144, 96.55172413793, 10, 0 +145, 89.65517241379, 10, 0 +146, 82.75862068966, 10, 0 +147, 75.86206896552, 10, 0 +148, 68.96551724138, 10, 0 +149, 62.06896551724, 10, 0 +150, 55.1724137931, 10, 0 +151, 48.27586206897, 10, 0 +152, 41.37931034483, 10, 0 +153, 34.48275862069, 10, 0 +154, 27.58620689655, 10, 0 +155, 20.68965517241, 10, 0 +156, 13.79310344828, 10, 0 +157, 6.896551724138, 10, 0 +158, 196.5517241379, 10, 0 +159, 189.6551724138, 10, 0 +160, 182.7586206897, 10, 0 +161, 175.8620689655, 10, 0 +162, 168.9655172414, 10, 0 +163, 162.0689655172, 10, 0 +164, 155.1724137931, 10, 0 +165, 148.275862069, 10, 0 +166, 141.3793103448, 10, 0 +167, 134.4827586207, 10, 0 +168, 127.5862068966, 10, 0 +169, 120.6896551724, 10, 0 +170, 113.7931034483, 10, 0 +171, 106.8965517241, 10, 0 +172, 100, 10, 0 +173, 93.10344827586, 10, 0 +174, 86.20689655172, 10, 0 +175, 79.31034482759, 10, 0 +176, 72.41379310345, 10, 0 +177, 65.51724137931, 10, 0 +178, 58.62068965517, 10, 0 +179, 51.72413793103, 10, 0 +180, 44.8275862069, 10, 0 +181, 37.93103448276, 10, 0 +182, 31.03448275862, 10, 0 +183, 24.13793103448, 10, 0 +184, 17.24137931034, 10, 0 +185, 10.34482758621, 10, 0 +186, 3.448275862069, 10, 0 +187, 185.3802161594, 4.216374436274, 6.171475837119 +188, 189.7858129642, 4.651746099663, 4.003824225918 +189, 184.5941867926, 7.5, 12.60330243471 +190, 184.5941867926, 7.5, 7.396697565295 +191, 190.1729284331, 4.651591325948, 15.99750746202 +192, 185.4508971409, 4.237127924082, 13.91224528598 +193, 194.9105562372, 5, 6.552328692923 +194, 195.9999601841, 2.497158145241, 10.02185839828 +195, 195.0925003817, 4.934574239389, 13.17276533358 +196, 195.9999601841, 7.497158145241, 10.02185839828 +197, 185.836731077, 2.118563962041, 14.3205545795 +198, 184.3744059356, 2.118563962041, 12.08631048092 +199, 185.7974552747, 2.108187218137, 5.717638755138 +200, 184.3555911273, 2.108187218137, 7.965141656508 +201, 184.3555911273, 4.608187218137, 7.965141656508 +202, 184.3744059356, 4.618563962041, 12.08631048092 +203, 184.1504325269, 6.25, 11.33512560374 +204, 184.1504325269, 8.75, 11.33512560374 +205, 184.1504325269, 6.25, 8.664874396262 +206, 184.1504325269, 8.75, 8.664874396262 +207, 185.3090111052, 8.75, 13.74093881115 +208, 185.3090111052, 8.75, 6.259061188848 +209, 190.7576465565, 2.325795662974, 15.95197208456 +210, 188.1001520571, 2.325795662974, 15.69127207168 +211, 187.5762002481, 4.444359625015, 15.48864234238 +212, 195.2568735055, 2.467287119694, 12.89227954175 +213, 193.4813663088, 2.467287119694, 14.88672575701 +214, 192.98763739, 4.793082782669, 15.20327039716 +215, 195.8519897483, 1.248579072621, 8.675531810208 +216, 195.847125789, 1.248579072621, 11.34577858774 +217, 195.7656503518, 3.715866192315, 11.66050474864 +218, 195.1754332502, 2.5, 6.964396160139 +219, 193.3458050918, 2.5, 5.019479114844 +220, 195.7244433125, 3.748579072621, 8.202571625513 +221, 190.565242706, 2.325873049831, 4.026684280631 +222, 187.9175415217, 2.325873049831, 4.372978879888 +223, 192.6716454992, 4.825873049831, 4.627634568778 +224, 187.3511328864, 4.434060267968, 4.616367117412 +225, 184.9499068213, 5.858187218137, 6.760160669615 +226, 184.9796990808, 5.868563962041, 13.28581476659 +227, 188.1001520571, 7.325795662974, 15.69127207168 +228, 190.7576465565, 7.325795662974, 15.95197208456 +229, 185.836731077, 7.118563962041, 14.3205545795 +230, 193.4813663088, 7.467287119694, 14.88672575701 +231, 195.2568735055, 7.467287119694, 12.89227954175 +232, 195.8519897483, 8.748579072621, 8.675531810208 +233, 195.847125789, 8.748579072621, 11.34577858774 +234, 195.7656503518, 6.215866192315, 11.66050474864 +235, 193.3458050918, 7.5, 5.019479114844 +236, 195.1754332502, 7.5, 6.964396160139 +237, 195.7244433125, 6.248579072621, 8.202571625513 +238, 187.9175415217, 7.325873049831, 4.372978879888 +239, 190.565242706, 7.325873049831, 4.026684280631 +240, 185.7974552747, 7.108187218137, 5.717638755138 +241, 195.9977354692, 4.967287119694, 9.835169051748 +242, 14.61978384064, 4.216374436274, 6.171475837119 +243, 10.21418703583, 4.651746099663, 4.003824225918 +244, 15.40581320741, 7.5, 12.60330243471 +245, 15.40581320741, 7.5, 7.396697565295 +246, 9.827071566932, 4.651591325948, 15.99750746202 +247, 14.54910285906, 4.237127924082, 13.91224528598 +248, 5.089443762835, 5, 6.552328692923 +249, 4.907499618262, 4.934574239389, 13.17276533358 +250, 4.00003981593, 2.497158145241, 10.02185839828 +251, 4.00003981593, 7.497158145241, 10.02185839828 +252, 15.62559406438, 2.118563962041, 12.08631048092 +253, 14.16326892304, 2.118563962041, 14.3205545795 +254, 15.64440887267, 2.108187218137, 7.965141656508 +255, 14.20254472534, 2.108187218137, 5.717638755138 +256, 15.64440887267, 4.608187218137, 7.965141656508 +257, 15.62559406438, 4.618563962041, 12.08631048092 +258, 15.84956747309, 8.75, 11.33512560374 +259, 15.84956747309, 6.25, 11.33512560374 +260, 15.84956747309, 8.75, 8.664874396262 +261, 15.84956747309, 6.25, 8.664874396262 +262, 14.69098889481, 8.75, 13.74093881115 +263, 14.69098889481, 8.75, 6.259061188848 +264, 11.8998479429, 2.325795662974, 15.69127207168 +265, 9.242353443509, 2.325795662974, 15.95197208456 +266, 12.42379975192, 4.444359625015, 15.48864234238 +267, 6.518633691234, 2.467287119694, 14.88672575701 +268, 4.743126494546, 2.467287119694, 12.89227954175 +269, 7.012362610022, 4.793082782669, 15.20327039716 +270, 4.152874210967, 1.248579072621, 11.34577858774 +271, 4.148010251698, 1.248579072621, 8.675531810208 +272, 4.234349648154, 3.715866192315, 11.66050474864 +273, 6.654194908169, 2.5, 5.019479114844 +274, 4.824566749786, 2.5, 6.964396160139 +275, 4.275556687451, 3.748579072621, 8.202571625513 +276, 12.08245847829, 2.325873049831, 4.372978879888 +277, 9.434757293954, 2.325873049831, 4.026684280631 +278, 7.328354500798, 4.825873049831, 4.627634568778 +279, 12.6488671136, 4.434060267968, 4.616367117412 +280, 15.05009317867, 5.858187218137, 6.760160669615 +281, 15.02030091923, 5.868563962041, 13.28581476659 +282, 9.242353443509, 7.325795662974, 15.95197208456 +283, 11.8998479429, 7.325795662974, 15.69127207168 +284, 14.16326892304, 7.118563962041, 14.3205545795 +285, 4.743126494546, 7.467287119694, 12.89227954175 +286, 6.518633691234, 7.467287119694, 14.88672575701 +287, 4.152874210967, 8.748579072621, 11.34577858774 +288, 4.148010251698, 8.748579072621, 8.675531810208 +289, 4.234349648154, 6.215866192315, 11.66050474864 +290, 4.824566749786, 7.5, 6.964396160139 +291, 6.654194908169, 7.5, 5.019479114844 +292, 4.275556687451, 6.248579072621, 8.202571625513 +293, 9.434757293954, 7.325873049831, 4.026684280631 +294, 12.08245847829, 7.325873049831, 4.372978879888 +295, 14.20254472534, 7.108187218137, 5.717638755138 +296, 4.0022645308, 4.967287119694, 9.835169051748 +297, 24.13793103448, 5, 0 +298, 189.5803712055, 4.994712328378, 0 +299, 182.7586206897, 5, 0 +300, 175.8620689655, 5, 0 +301, 10.41962879452, 4.994712328378, 0 +302, 17.24137931034, 5, 0 +303, 162.0689655172, 5, 0 +304, 31.03448275862, 5, 0 +305, 168.9655172414, 5, 0 +306, 37.93103448276, 5, 0 +307, 148.275862069, 5, 0 +308, 141.3793103448, 5, 0 +309, 155.1724137931, 5, 0 +310, 44.8275862069, 5, 0 +311, 51.72413793103, 5, 0 +312, 58.62068965517, 5, 0 +313, 134.4827586207, 5, 0 +314, 65.51724137931, 5, 0 +315, 72.41379310345, 5, 0 +316, 127.5862068966, 5, 0 +317, 79.31034482759, 5, 0 +318, 113.7931034483, 5, 0 +319, 120.6896551724, 5, 0 +320, 86.20689655172, 5, 0 +321, 93.10344827586, 5, 0 +322, 100, 5, 0 +323, 106.8965517241, 5, 0 +324, 4.876454187912, 4.909617909865, 0 +325, 195.1235458121, 4.909617909865, 0 +326, 197.561772906, 2.454808954933, 0 +327, 197.561772906, 4.954808954933, 0 +328, 194.113497044, 2.454808954933, 0 +329, 197.561772906, 7.454808954933, 0 +330, 194.113497044, 7.454808954933, 0 +331, 2.438227093956, 2.454808954933, 0 +332, 5.886502956025, 2.454808954933, 0 +333, 2.438227093956, 4.954808954933, 0 +334, 2.438227093956, 7.454808954933, 0 +335, 5.886502956025, 7.454808954933, 0 +336, 8.658090259327, 2.497356164189, 0 +337, 12.1063661214, 2.497356164189, 0 +338, 7.648041491214, 4.952165119122, 0 +339, 15.51724137931, 2.5, 0 +340, 18.96551724138, 2.5, 0 +341, 13.83050405243, 4.997356164189, 0 +342, 22.41379310345, 2.5, 0 +343, 25.86206896552, 2.5, 0 +344, 20.68965517241, 5, 0 +345, 29.31034482759, 2.5, 0 +346, 32.75862068966, 2.5, 0 +347, 27.58620689655, 5, 0 +348, 36.20689655172, 2.5, 0 +349, 39.65517241379, 2.5, 0 +350, 34.48275862069, 5, 0 +351, 43.10344827586, 2.5, 0 +352, 46.55172413793, 2.5, 0 +353, 41.37931034483, 5, 0 +354, 50, 2.5, 0 +355, 53.44827586207, 2.5, 0 +356, 48.27586206897, 5, 0 +357, 56.89655172414, 2.5, 0 +358, 60.34482758621, 2.5, 0 +359, 55.1724137931, 5, 0 +360, 63.79310344828, 2.5, 0 +361, 67.24137931034, 2.5, 0 +362, 62.06896551724, 5, 0 +363, 70.68965517241, 2.5, 0 +364, 74.13793103448, 2.5, 0 +365, 68.96551724138, 5, 0 +366, 77.58620689655, 2.5, 0 +367, 81.03448275862, 2.5, 0 +368, 75.86206896552, 5, 0 +369, 84.48275862069, 2.5, 0 +370, 87.93103448276, 2.5, 0 +371, 82.75862068966, 5, 0 +372, 91.37931034483, 2.5, 0 +373, 94.8275862069, 2.5, 0 +374, 89.65517241379, 5, 0 +375, 98.27586206897, 2.5, 0 +376, 101.724137931, 2.5, 0 +377, 96.55172413793, 5, 0 +378, 105.1724137931, 2.5, 0 +379, 108.6206896552, 2.5, 0 +380, 103.4482758621, 5, 0 +381, 112.0689655172, 2.5, 0 +382, 115.5172413793, 2.5, 0 +383, 110.3448275862, 5, 0 +384, 118.9655172414, 2.5, 0 +385, 122.4137931034, 2.5, 0 +386, 117.2413793103, 5, 0 +387, 125.8620689655, 2.5, 0 +388, 129.3103448276, 2.5, 0 +389, 124.1379310345, 5, 0 +390, 132.7586206897, 2.5, 0 +391, 136.2068965517, 2.5, 0 +392, 131.0344827586, 5, 0 +393, 139.6551724138, 2.5, 0 +394, 143.1034482759, 2.5, 0 +395, 137.9310344828, 5, 0 +396, 146.5517241379, 2.5, 0 +397, 150, 2.5, 0 +398, 144.8275862069, 5, 0 +399, 153.4482758621, 2.5, 0 +400, 156.8965517241, 2.5, 0 +401, 151.724137931, 5, 0 +402, 160.3448275862, 2.5, 0 +403, 163.7931034483, 2.5, 0 +404, 158.6206896552, 5, 0 +405, 167.2413793103, 2.5, 0 +406, 170.6896551724, 2.5, 0 +407, 165.5172413793, 5, 0 +408, 174.1379310345, 2.5, 0 +409, 177.5862068966, 2.5, 0 +410, 172.4137931034, 5, 0 +411, 181.0344827586, 2.5, 0 +412, 184.4827586207, 2.5, 0 +413, 179.3103448276, 5, 0 +414, 187.8936338786, 2.497356164189, 0 +415, 191.3419097407, 2.497356164189, 0 +416, 186.1694959476, 4.997356164189, 0 +417, 192.3519585088, 4.952165119122, 0 +418, 191.3419097407, 7.497356164189, 0 +419, 187.8936338786, 7.497356164189, 0 +420, 184.4827586207, 7.5, 0 +421, 181.0344827586, 7.5, 0 +422, 177.5862068966, 7.5, 0 +423, 174.1379310345, 7.5, 0 +424, 170.6896551724, 7.5, 0 +425, 167.2413793103, 7.5, 0 +426, 163.7931034483, 7.5, 0 +427, 160.3448275862, 7.5, 0 +428, 156.8965517241, 7.5, 0 +429, 153.4482758621, 7.5, 0 +430, 150, 7.5, 0 +431, 146.5517241379, 7.5, 0 +432, 143.1034482759, 7.5, 0 +433, 139.6551724138, 7.5, 0 +434, 136.2068965517, 7.5, 0 +435, 132.7586206897, 7.5, 0 +436, 129.3103448276, 7.5, 0 +437, 125.8620689655, 7.5, 0 +438, 122.4137931034, 7.5, 0 +439, 118.9655172414, 7.5, 0 +440, 115.5172413793, 7.5, 0 +441, 112.0689655172, 7.5, 0 +442, 108.6206896552, 7.5, 0 +443, 105.1724137931, 7.5, 0 +444, 101.724137931, 7.5, 0 +445, 98.27586206897, 7.5, 0 +446, 94.8275862069, 7.5, 0 +447, 91.37931034483, 7.5, 0 +448, 87.93103448276, 7.5, 0 +449, 84.48275862069, 7.5, 0 +450, 81.03448275862, 7.5, 0 +451, 77.58620689655, 7.5, 0 +452, 74.13793103448, 7.5, 0 +453, 70.68965517241, 7.5, 0 +454, 67.24137931034, 7.5, 0 +455, 63.79310344828, 7.5, 0 +456, 60.34482758621, 7.5, 0 +457, 56.89655172414, 7.5, 0 +458, 53.44827586207, 7.5, 0 +459, 50, 7.5, 0 +460, 46.55172413793, 7.5, 0 +461, 43.10344827586, 7.5, 0 +462, 39.65517241379, 7.5, 0 +463, 36.20689655172, 7.5, 0 +464, 32.75862068966, 7.5, 0 +465, 29.31034482759, 7.5, 0 +466, 25.86206896552, 7.5, 0 +467, 22.41379310345, 7.5, 0 +468, 18.96551724138, 7.5, 0 +469, 15.51724137931, 7.5, 0 +470, 12.1063661214, 7.497356164189, 0 +471, 8.658090259327, 7.497356164189, 0 +472, 200, 0, 20 +473, 200, 10, 20 +474, 0, 0, 20 +475, 0, 10, 20 +476, 200, 0, 6.666666666667 +477, 200, 0, 13.33333333333 +478, 200, 0, 3.333333333333 +479, 200, 0, 10 +480, 200, 0, 16.66666666667 +481, 200, 5, 20 +482, 200, 2.5, 20 +483, 200, 7.5, 20 +484, 200, 10, 6.666666666667 +485, 200, 10, 13.33333333333 +486, 200, 10, 3.333333333333 +487, 200, 10, 10 +488, 200, 10, 16.66666666667 +489, 193.1034482759, 0, 20 +490, 186.2068965517, 0, 20 +491, 179.3103448276, 0, 20 +492, 172.4137931034, 0, 20 +493, 165.5172413793, 0, 20 +494, 158.6206896552, 0, 20 +495, 151.724137931, 0, 20 +496, 144.8275862069, 0, 20 +497, 137.9310344828, 0, 20 +498, 131.0344827586, 0, 20 +499, 124.1379310345, 0, 20 +500, 117.2413793103, 0, 20 +501, 110.3448275862, 0, 20 +502, 103.4482758621, 0, 20 +503, 96.55172413793, 0, 20 +504, 89.65517241379, 0, 20 +505, 82.75862068966, 0, 20 +506, 75.86206896552, 0, 20 +507, 68.96551724138, 0, 20 +508, 62.06896551724, 0, 20 +509, 55.1724137931, 0, 20 +510, 48.27586206897, 0, 20 +511, 41.37931034483, 0, 20 +512, 34.48275862069, 0, 20 +513, 27.58620689655, 0, 20 +514, 20.68965517241, 0, 20 +515, 13.79310344828, 0, 20 +516, 6.896551724138, 0, 20 +517, 196.5517241379, 0, 20 +518, 189.6551724138, 0, 20 +519, 182.7586206897, 0, 20 +520, 175.8620689655, 0, 20 +521, 168.9655172414, 0, 20 +522, 162.0689655172, 0, 20 +523, 155.1724137931, 0, 20 +524, 148.275862069, 0, 20 +525, 141.3793103448, 0, 20 +526, 134.4827586207, 0, 20 +527, 127.5862068966, 0, 20 +528, 120.6896551724, 0, 20 +529, 113.7931034483, 0, 20 +530, 106.8965517241, 0, 20 +531, 100, 0, 20 +532, 93.10344827586, 0, 20 +533, 86.20689655172, 0, 20 +534, 79.31034482759, 0, 20 +535, 72.41379310345, 0, 20 +536, 65.51724137931, 0, 20 +537, 58.62068965517, 0, 20 +538, 51.72413793103, 0, 20 +539, 44.8275862069, 0, 20 +540, 37.93103448276, 0, 20 +541, 31.03448275862, 0, 20 +542, 24.13793103448, 0, 20 +543, 17.24137931034, 0, 20 +544, 10.34482758621, 0, 20 +545, 3.448275862069, 0, 20 +546, 0, 0, 6.666666666667 +547, 0, 0, 13.33333333333 +548, 0, 0, 3.333333333333 +549, 0, 0, 10 +550, 0, 0, 16.66666666667 +551, 0, 5, 20 +552, 0, 2.5, 20 +553, 0, 7.5, 20 +554, 0, 10, 6.666666666667 +555, 0, 10, 13.33333333333 +556, 0, 10, 3.333333333333 +557, 0, 10, 10 +558, 0, 10, 16.66666666667 +559, 193.1034482759, 10, 20 +560, 186.2068965517, 10, 20 +561, 179.3103448276, 10, 20 +562, 172.4137931034, 10, 20 +563, 165.5172413793, 10, 20 +564, 158.6206896552, 10, 20 +565, 151.724137931, 10, 20 +566, 144.8275862069, 10, 20 +567, 137.9310344828, 10, 20 +568, 131.0344827586, 10, 20 +569, 124.1379310345, 10, 20 +570, 117.2413793103, 10, 20 +571, 110.3448275862, 10, 20 +572, 103.4482758621, 10, 20 +573, 96.55172413793, 10, 20 +574, 89.65517241379, 10, 20 +575, 82.75862068966, 10, 20 +576, 75.86206896552, 10, 20 +577, 68.96551724138, 10, 20 +578, 62.06896551724, 10, 20 +579, 55.1724137931, 10, 20 +580, 48.27586206897, 10, 20 +581, 41.37931034483, 10, 20 +582, 34.48275862069, 10, 20 +583, 27.58620689655, 10, 20 +584, 20.68965517241, 10, 20 +585, 13.79310344828, 10, 20 +586, 6.896551724138, 10, 20 +587, 196.5517241379, 10, 20 +588, 189.6551724138, 10, 20 +589, 182.7586206897, 10, 20 +590, 175.8620689655, 10, 20 +591, 168.9655172414, 10, 20 +592, 162.0689655172, 10, 20 +593, 155.1724137931, 10, 20 +594, 148.275862069, 10, 20 +595, 141.3793103448, 10, 20 +596, 134.4827586207, 10, 20 +597, 127.5862068966, 10, 20 +598, 120.6896551724, 10, 20 +599, 113.7931034483, 10, 20 +600, 106.8965517241, 10, 20 +601, 100, 10, 20 +602, 93.10344827586, 10, 20 +603, 86.20689655172, 10, 20 +604, 79.31034482759, 10, 20 +605, 72.41379310345, 10, 20 +606, 65.51724137931, 10, 20 +607, 58.62068965517, 10, 20 +608, 51.72413793103, 10, 20 +609, 44.8275862069, 10, 20 +610, 37.93103448276, 10, 20 +611, 31.03448275862, 10, 20 +612, 24.13793103448, 10, 20 +613, 17.24137931034, 10, 20 +614, 10.34482758621, 10, 20 +615, 3.448275862069, 10, 20 +616, 200, 5, 10 +617, 200, 4.722222222222, 15 +618, 200, 4.722222222222, 5 +619, 200, 2.361111111111, 14.16666666667 +620, 200, 2.361111111111, 17.5 +621, 200, 4.861111111111, 17.5 +622, 200, 2.361111111111, 2.5 +623, 200, 2.361111111111, 5.833333333333 +624, 200, 4.861111111111, 2.5 +625, 200, 7.361111111111, 17.5 +626, 200, 7.361111111111, 14.16666666667 +627, 200, 7.361111111111, 5.833333333333 +628, 200, 7.361111111111, 2.5 +629, 200, 2.5, 8.333333333333 +630, 200, 2.5, 11.66666666667 +631, 200, 4.861111111111, 7.5 +632, 200, 4.861111111111, 12.5 +633, 200, 7.5, 11.66666666667 +634, 200, 7.5, 8.333333333333 +635, 173.6457994059, 0, 10 +636, 26.35420059411, 0, 10 +637, 140.8611111111, 0, 9.895795166698 +638, 59.33854656086, 0, 10.1042048333 +639, 37.74127668309, 0, 10 +640, 162.4583809889, 0, 10 +641, 71.89559386973, 0, 10.1042048333 +642, 106.1786948185, 0, 10.1042048333 +643, 93.82130518155, 0, 10.1042048333 +644, 128.1044061303, 0, 9.895795166698 +645, 116.9022988506, 0, 10 +646, 83.09770114943, 0, 10 +647, 152.0632183908, 0, 10 +648, 48.61494252874, 0, 10 +649, 134.4827586207, 0, 13.8770018484 +650, 65.5828914119, 0, 6.135800740571 +651, 100, 0, 6.148603329543 +652, 100, 0, 13.84163803668 +653, 65.57083324265, 0, 13.89798361522 +654, 134.4827586207, 0, 6.158361963325 +655, 168.336537284, 0, 6.13205030762 +656, 31.72911274859, 0, 13.88075228135 +657, 168.387443619, 0, 13.82341059884 +658, 31.68758498971, 0, 6.165615753469 +659, 179.8472901986, 0, 13.34284306555 +660, 20.15270980137, 0, 6.657156934454 +661, 20.02391265594, 0, 13.39805914795 +662, 179.9760873441, 0, 6.60194085205 +663, 77.75574712644, 0, 6.247522790329 +664, 122.2442528736, 0, 13.75247720967 +665, 77.75574712644, 0, 13.75247720967 +666, 122.2442528736, 0, 6.247522790329 +667, 146.7212643678, 0, 6.247522790329 +668, 146.7212643678, 0, 13.75247720967 +669, 43.27298850575, 0, 6.247522790329 +670, 43.27298850575, 0, 13.75247720967 +671, 53.14727620358, 0, 13.81843528067 +672, 156.5486318608, 0, 13.80354887592 +673, 87.63003482427, 0, 13.81843528067 +674, 112.3699651757, 0, 6.211337528842 +675, 53.08005621953, 0, 6.204056639489 +676, 156.4747089903, 0, 6.187043605481 +677, 112.4371851598, 0, 13.82996942853 +678, 87.56281484022, 0, 6.204056639489 +679, 4.031122582597, 0, 16.35724064823 +680, 195.9688774174, 0, 16.35724064823 +681, 195.9688774174, 0, 3.642759351774 +682, 4.031122582597, 0, 3.642759351774 +683, 72.00995208914, 0, 15.55093313164 +684, 128.0007662835, 0, 4.46033598407 +685, 140.9647509579, 0, 4.46033598407 +686, 140.9647509579, 0, 15.50505484495 +687, 37.93103448276, 0, 15.59453032105 +688, 37.93103448276, 0, 4.405469678954 +689, 72.01236372299, 0, 4.49750567284 +690, 128.0007662835, 0, 15.50505484495 +691, 59.05960706349, 0, 15.56412474584 +692, 162.3064775006, 0, 15.52539189495 +693, 93.53164731151, 0, 15.55285563013 +694, 106.5928476104, 0, 4.49449985314 +695, 58.94180396394, 0, 4.492800863318 +696, 162.2815116595, 0, 4.46381878262 +697, 106.4817966853, 0, 15.5551624597 +698, 93.40365280688, 0, 4.494120798093 +699, 174.2757142287, 0, 4.754177934225 +700, 25.80319479998, 0, 15.21251419535 +701, 174.2700370559, 0, 15.23855128036 +702, 25.80773818745, 0, 4.79277444049 +703, 182.9380974781, 0, 2.97773798931 +704, 17.06190252195, 0, 17.02226201069 +705, 17.1361810946, 0, 2.904999572688 +706, 182.8638189054, 0, 17.09500042731 +707, 82.75424104555, 0, 14.56318621308 +708, 117.2859624558, 0, 5.318855560231 +709, 117.2945364334, 0, 14.68641318433 +710, 82.70546356664, 0, 5.317926875364 +711, 151.6735700656, 0, 14.68304321589 +712, 48.22270494595, 0, 5.317926875364 +713, 48.27148242486, 0, 14.56318621308 +714, 151.664141128, 0, 5.315756845516 +715, 197.9844387087, 0, 18.17862032411 +716, 197.9844387087, 0, 14.84528699078 +717, 194.5361628466, 0, 18.17862032411 +718, 197.9844387087, 0, 5.15471300922 +719, 197.9844387087, 0, 1.821379675887 +720, 194.5361628466, 0, 1.821379675887 +721, 2.015561291299, 0, 18.17862032411 +722, 5.463837153368, 0, 18.17862032411 +723, 2.015561291299, 0, 14.84528699078 +724, 2.015561291299, 0, 1.821379675887 +725, 2.015561291299, 0, 5.15471300922 +726, 5.463837153368, 0, 1.821379675887 +727, 183.0531756937, 0, 14.01691598018 +728, 181.9236450993, 0, 11.67142153277 +729, 181.988043672, 0, 8.300970426025 +730, 183.1175742665, 0, 5.955475978621 +731, 179.9116887713, 0, 9.972391958798 +732, 18.01195632797, 0, 11.69902957398 +733, 16.88242573355, 0, 14.04452402138 +734, 16.94682430626, 0, 5.983084019823 +735, 18.07635490068, 0, 8.328578467227 +736, 20.08831122865, 0, 10.0276080412 +737, 197.7029066037, 0, 12.96831788402 +738, 197.7029066037, 0, 9.634984550686 +739, 197.7029066037, 0, 7.031682115981 +740, 195.6873453124, 0, 5.519728458534 +741, 195.6873453124, 0, 14.48027154147 +742, 188.7710110777, 0, 17.92478373655 +743, 192.2192869398, 0, 17.92478373655 +744, 193.6520015106, 0, 16.10340406066 +745, 181.0870818665, 0, 18.54750021366 +746, 184.5353577286, 0, 18.54750021366 +747, 186.2329788703, 0, 17.3454944474 +748, 184.5614400471, 0, 15.89299466106 +749, 173.3419150797, 0, 17.61927564018 +750, 176.7901909418, 0, 17.61927564018 +751, 177.0586636273, 0, 14.29069717295 +752, 179.5788175131, 0, 16.67142153277 +753, 181.355554552, 0, 15.21892174643 +754, 166.9523424991, 0, 16.91170529942 +755, 170.4006183612, 0, 16.91170529942 +756, 171.3287403374, 0, 14.5309809396 +757, 160.4635835779, 0, 17.76269594748 +758, 163.91185944, 0, 17.76269594748 +759, 165.3469605598, 0, 14.6744012469 +760, 154.1363848959, 0, 16.90177443796 +761, 157.584660758, 0, 16.90177443796 +762, 159.4275546807, 0, 14.66447038543 +763, 145.7744252874, 0, 16.87623860484 +764, 149.2227011494, 0, 16.87623860484 +765, 149.1974172167, 0, 14.21776021278 +766, 151.6988539983, 0, 17.34152160794 +767, 154.1111009632, 0, 14.2432960459 +768, 139.4478927203, 0, 17.75252742248 +769, 142.8961685824, 0, 17.75252742248 +770, 143.8430076628, 0, 14.62876602731 +771, 132.7586206897, 0, 16.9385009242 +772, 136.2068965517, 0, 16.9385009242 +773, 137.7237547893, 0, 14.69102834668 +774, 126.069348659, 0, 17.75252742248 +775, 129.5176245211, 0, 17.75252742248 +776, 131.2417624521, 0, 14.69102834668 +777, 119.742816092, 0, 16.87623860484 +778, 123.191091954, 0, 16.87623860484 +779, 125.1225095785, 0, 14.62876602731 +780, 111.391006373, 0, 16.91498471426 +781, 114.8392822351, 0, 16.91498471426 +782, 117.2679578719, 0, 17.34320659217 +783, 119.7693946535, 0, 14.219445197 +784, 114.8658607966, 0, 14.25819130643 +785, 104.9650362737, 0, 17.77758122985 +786, 108.4133121358, 0, 17.77758122985 +787, 109.4594909225, 0, 14.69256594411 +788, 98.27586206897, 0, 16.92081901834 +789, 101.724137931, 0, 16.92081901834 +790, 103.2408983427, 0, 14.69840024819 +791, 91.59340986265, 0, 17.77642781507 +792, 95.04168572472, 0, 17.77642781507 +793, 96.76582365575, 0, 14.6972468334 +794, 85.19432775696, 0, 16.90921764034 +795, 88.64260361903, 0, 16.90921764034 +796, 90.58084106789, 0, 14.6856454554 +797, 76.80890804598, 0, 16.87623860484 +798, 80.25718390805, 0, 16.87623860484 +799, 80.25499408599, 0, 14.15783171138 +800, 82.7564308676, 0, 17.28159310654 +801, 85.19213793491, 0, 14.19081074688 +802, 70.48773466526, 0, 17.77546656582 +803, 73.93601052733, 0, 17.77546656582 +804, 74.88284960779, 0, 14.65170517065 +805, 63.81989937994, 0, 16.94899180761 +806, 67.26817524201, 0, 16.94899180761 +807, 68.7903926659, 0, 14.72445837343 +808, 57.1160104283, 0, 17.78206237292 +809, 60.56428629036, 0, 17.78206237292 +810, 62.31522015307, 0, 14.73105418053 +811, 50.71156913627, 0, 16.90921764034 +812, 54.15984499834, 0, 16.90921764034 +813, 56.10344163353, 0, 14.69128001326 +814, 42.32614942529, 0, 16.87623860484 +815, 45.77442528736, 0, 16.87623860484 +816, 45.7722354653, 0, 14.15783171138 +817, 48.27367224691, 0, 17.28159310654 +818, 50.70937931422, 0, 14.19081074688 +819, 36.20689655172, 0, 17.79726516052 +820, 39.65517241379, 0, 17.79726516052 +821, 40.60201149425, 0, 14.67350376536 +822, 29.65765982257, 0, 16.94037614068 +823, 33.10593568464, 0, 16.94037614068 +824, 34.83007361568, 0, 14.7376413012 +825, 23.2464249862, 0, 17.60625709768 +826, 26.69470084826, 0, 17.60625709768 +827, 28.76615377428, 0, 14.54663323835 +828, 15.42750298511, 0, 18.51113100534 +829, 18.87577884718, 0, 18.51113100534 +830, 22.91355372796, 0, 14.30528667165 +831, 20.35678391418, 0, 16.69902957398 +832, 18.54290758894, 0, 15.21016057932 +833, 7.7807130602, 0, 17.92478373655 +834, 11.22898892227, 0, 17.92478373655 +835, 13.76702112971, 0, 17.3454944474 +836, 15.40142066655, 0, 15.85662545275 +837, 6.34799848943, 0, 16.10340406066 +838, 2.297093396293, 0, 7.031682115981 +839, 2.297093396293, 0, 10.36501544931 +840, 4.312654687591, 0, 5.519728458534 +841, 2.297093396293, 0, 12.96831788402 +842, 4.312654687591, 0, 14.48027154147 +843, 7.7807130602, 0, 2.075216263455 +844, 11.22898892227, 0, 2.075216263455 +845, 6.34799848943, 0, 3.896595939342 +846, 18.91291813351, 0, 1.452499786344 +847, 15.46464227144, 0, 1.452499786344 +848, 13.76702112971, 0, 2.654505552596 +849, 15.43855995288, 0, 4.10700533894 +850, 26.696972542, 0, 2.396387220245 +851, 23.24869667993, 0, 2.396387220245 +852, 22.98022399441, 0, 5.724965687472 +853, 20.42118248689, 0, 3.328578467227 +854, 18.64444544799, 0, 4.781078253571 +855, 33.0851718052, 0, 3.082807876735 +856, 29.63689594313, 0, 3.082807876735 +857, 28.74766158858, 0, 5.47919509698 +858, 39.65517241379, 0, 2.202734839477 +859, 36.20689655172, 0, 2.202734839477 +860, 34.80930973623, 0, 5.285542716212 +861, 45.77442528736, 0, 3.123761395164 +862, 42.32614942529, 0, 3.123761395164 +863, 40.60201149425, 0, 5.326496234641 +864, 54.12623500631, 0, 3.102028319745 +865, 50.67795914425, 0, 3.102028319745 +866, 48.24928350746, 0, 2.658963437682 +867, 45.74784672585, 0, 5.782724832847 +868, 50.65138058274, 0, 5.760991757427 +869, 60.50538474059, 0, 2.246400431659 +870, 57.05710887852, 0, 2.246400431659 +871, 56.01093009173, 0, 5.348428751404 +872, 67.27420432664, 0, 3.067900370285 +873, 63.82592846457, 0, 3.067900370285 +874, 62.26234768792, 0, 5.314300801944 +875, 73.93721634425, 0, 2.24875283642 +876, 70.48894048219, 0, 2.24875283642 +877, 68.79762756745, 0, 5.316653206706 +878, 80.25718390805, 0, 3.123761395165 +879, 76.80890804598, 0, 3.123761395165 +880, 74.88405542471, 0, 5.372514231585 +881, 88.608993627, 0, 3.102028319745 +882, 85.16071776494, 0, 3.102028319745 +883, 82.73204212815, 0, 2.658963437682 +884, 80.23060534654, 0, 5.782724832847 +885, 85.13413920343, 0, 5.760991757427 +886, 94.97768847241, 0, 2.247060399046 +887, 91.52941261034, 0, 2.247060399046 +888, 90.48323382355, 0, 5.349088718791 +889, 101.724137931, 0, 3.074301664772 +890, 98.27586206897, 0, 3.074301664772 +891, 96.70182640344, 0, 5.321362063818 +892, 108.4688375983, 0, 2.24724992657 +893, 105.0205617363, 0, 2.24724992657 +894, 103.2964238052, 0, 5.321551591342 +895, 114.805672243, 0, 3.105668764421 +896, 111.357396381, 0, 3.105668764421 +897, 109.4814063931, 0, 5.352918690991 +898, 123.191091954, 0, 3.123761395165 +899, 119.742816092, 0, 3.123761395165 +900, 119.7651076647, 0, 5.78318917528 +901, 117.2636708831, 0, 2.659427780115 +902, 114.8279638158, 0, 5.765096544536 +903, 129.5176245211, 0, 2.230167992035 +904, 126.069348659, 0, 2.230167992035 +905, 125.1225095785, 0, 5.3539293872 +906, 136.2068965517, 0, 3.079180981662 +907, 132.7586206897, 0, 3.079180981662 +908, 131.2417624521, 0, 5.309348973698 +909, 142.8961685824, 0, 2.230167992035 +910, 139.4478927203, 0, 2.230167992035 +911, 137.7237547893, 0, 5.309348973697 +912, 149.2227011494, 0, 3.123761395164 +913, 145.7744252874, 0, 3.123761395164 +914, 143.8430076628, 0, 5.3539293872 +915, 157.5476993227, 0, 3.09352180274 +916, 154.0994234607, 0, 3.09352180274 +917, 151.6941395295, 0, 2.657878422758 +918, 149.1927027479, 0, 5.781639817923 +919, 154.0694250592, 0, 5.751400225498 +920, 163.8993765194, 0, 2.23190939131 +921, 160.4511006574, 0, 2.23190939131 +922, 159.3781103249, 0, 5.32543119405 +923, 170.3751651937, 0, 3.06602515381 +924, 166.9268893317, 0, 3.06602515381 +925, 165.3090244718, 0, 5.29793454512 +926, 176.7930295281, 0, 2.377088967112 +927, 173.3447536661, 0, 2.377088967112 +928, 171.3061257564, 0, 5.443114120922 +929, 184.5724970149, 0, 1.488868994655 +930, 181.1242211528, 0, 1.488868994655 +931, 177.1259007864, 0, 5.678059393137 +932, 179.6432160858, 0, 3.300970426025 +933, 181.4570924111, 0, 4.78983942068 +934, 188.7710110777, 0, 2.075216263455 +935, 192.2192869398, 0, 2.075216263455 +936, 186.2329788703, 0, 2.654505552596 +937, 184.5985793335, 0, 4.143374547251 +938, 193.6520015106, 0, 3.896595939342 +939, 171.0166215124, 0, 11.91170529942 +940, 168.3619904515, 0, 9.97773045323 +941, 170.9911683449, 0, 8.06602515381 +942, 173.9607568173, 0, 7.377088967112 +943, 173.9579182309, 0, 12.61927564018 +944, 176.810943375, 0, 8.300970426025 +945, 176.7465448023, 0, 11.67142153277 +946, 29.02089279191, 0, 8.082807876735 +947, 31.70834886915, 0, 10.02318401741 +948, 29.04165667135, 0, 11.94037614068 +949, 26.07869769704, 0, 12.60625709768 +950, 26.08096939078, 0, 7.396387220245 +951, 23.18905662502, 0, 11.69902957398 +952, 23.25345519774, 0, 8.328578467227 +953, 134.4827586207, 0, 10.01768190586 +954, 137.6719348659, 0, 8.027078565011 +955, 137.6719348659, 0, 11.88639850755 +956, 140.9129310345, 0, 12.70042500583 +957, 140.9129310345, 0, 7.178065575384 +958, 146.7212643678, 0, 10 +959, 143.7911877395, 0, 11.82413618818 +960, 143.7911877395, 0, 8.071658978513 +961, 65.57686232727, 0, 10.0168921779 +962, 62.45468990175, 0, 12.00109422426 +963, 62.46071898638, 0, 8.120002786937 +964, 59.1401752624, 0, 7.29850284831 +965, 59.19907681217, 0, 12.83416478957 +966, 53.11366621155, 0, 10.01124596008 +967, 56.20930139019, 0, 8.154130736396 +968, 56.24291138222, 0, 11.96132005699 +969, 34.7144308364, 0, 8.082807876735 +970, 34.73519471584, 0, 11.94037614068 +971, 37.83615558292, 0, 12.79726516052 +972, 37.83615558292, 0, 7.202734839477 +973, 43.27298850575, 0, 10 +974, 40.50713259442, 0, 11.87623860484 +975, 40.50713259442, 0, 8.123761395164 +976, 165.4229123039, 0, 11.91170529942 +977, 165.3974591364, 0, 8.06602515381 +978, 162.3699463242, 0, 7.23190939131 +979, 162.3824292448, 0, 12.76269594748 +980, 156.5116704256, 0, 9.995296240698 +981, 159.4665449896, 0, 8.09352180274 +982, 159.5035064248, 0, 11.90177443796 +983, 68.73321355619, 0, 12.00109422426 +984, 68.73924264081, 0, 8.120002786937 +985, 71.95397879636, 0, 7.300855253071 +986, 71.95277297944, 0, 12.82756898247 +987, 77.75574712644, 0, 10 +988, 74.82567049808, 0, 11.92834102149 +989, 74.82567049808, 0, 8.175863811816 +990, 103.0893474092, 0, 11.97292143499 +991, 100, 0, 9.995120683109 +992, 103.0893474092, 0, 8.126404081423 +993, 106.3857712144, 0, 7.299352343221 +994, 106.3302457519, 0, 12.8296836465 +995, 112.4035751678, 0, 10.02065347868 +996, 109.3079399891, 0, 11.96708713092 +997, 109.2743299971, 0, 8.157771181072 +998, 96.91065259077, 0, 11.97292143499 +999, 96.91065259077, 0, 8.126404081423 +1000, 93.61247899422, 0, 7.299162815698 +1001, 93.67647624653, 0, 12.82853023172 +1002, 87.59642483224, 0, 10.01124596008 +1003, 90.69206001088, 0, 8.154130736396 +1004, 90.72567000291, 0, 11.96132005699 +1005, 131.2935823755, 0, 8.027078565011 +1006, 131.2935823755, 0, 11.88639850755 +1007, 128.0525862069, 0, 12.70042500583 +1008, 128.0525862069, 0, 7.178065575384 +1009, 122.2442528736, 0, 10 +1010, 125.1743295019, 0, 8.071658978513 +1011, 125.1743295019, 0, 11.82413618818 +1012, 119.5732758621, 0, 8.123761395165 +1013, 119.5732758621, 0, 11.87623860484 +1014, 117.098417642, 0, 12.34320659217 +1015, 117.0941306532, 0, 7.659427780115 +1016, 114.6697420052, 0, 11.91498471426 +1017, 114.6361320132, 0, 8.105668764421 +1018, 80.42672413793, 0, 11.87623860484 +1019, 80.42672413793, 0, 8.123761395165 +1020, 82.90158235803, 0, 7.658963437682 +1021, 82.92597109749, 0, 12.28159310654 +1022, 85.33025799482, 0, 8.102028319745 +1023, 85.36386798685, 0, 11.90921764034 +1024, 149.3922413793, 0, 11.87623860484 +1025, 149.3922413793, 0, 8.123761395164 +1026, 151.8636797594, 0, 7.657878422758 +1027, 151.8683942282, 0, 12.34152160794 +1028, 154.2689636906, 0, 8.09352180274 +1029, 154.3059251258, 0, 11.90177443796 +1030, 45.94396551724, 0, 11.87623860484 +1031, 45.94396551724, 0, 8.123761395164 +1032, 48.41882373734, 0, 7.658963437682 +1033, 48.4432124768, 0, 12.28159310654 +1034, 50.84749937413, 0, 8.102028319745 +1035, 50.88110936616, 0, 11.90921764034 +1036, 0, 5, 10 +1037, 0, 4.722222222222, 15 +1038, 0, 4.722222222222, 5 +1039, 0, 2.361111111111, 17.5 +1040, 0, 2.361111111111, 14.16666666667 +1041, 0, 4.861111111111, 17.5 +1042, 0, 2.361111111111, 5.833333333333 +1043, 0, 2.361111111111, 2.5 +1044, 0, 4.861111111111, 2.5 +1045, 0, 7.361111111111, 17.5 +1046, 0, 7.361111111111, 14.16666666667 +1047, 0, 7.361111111111, 2.5 +1048, 0, 7.361111111111, 5.833333333333 +1049, 0, 2.5, 11.66666666667 +1050, 0, 2.5, 8.333333333333 +1051, 0, 4.861111111111, 7.5 +1052, 0, 4.861111111111, 12.5 +1053, 0, 7.5, 8.333333333333 +1054, 0, 7.5, 11.66666666667 +1055, 134.4827586207, 5, 20 +1056, 148.275862069, 5, 20 +1057, 141.3793103448, 5, 20 +1058, 127.5862068966, 5, 20 +1059, 106.8965517241, 5, 20 +1060, 93.10344827586, 5, 20 +1061, 86.20689655172, 5, 20 +1062, 113.7931034483, 5, 20 +1063, 168.9655172414, 5, 20 +1064, 100, 5, 20 +1065, 189.5803712055, 5.005287671622, 20 +1066, 182.7586206897, 5, 20 +1067, 175.8620689655, 5, 20 +1068, 155.1724137931, 5, 20 +1069, 120.6896551724, 5, 20 +1070, 24.13793103448, 5, 20 +1071, 162.0689655172, 5, 20 +1072, 65.51724137931, 5, 20 +1073, 58.62068965517, 5, 20 +1074, 44.8275862069, 5, 20 +1075, 37.93103448276, 5, 20 +1076, 10.41962879452, 4.994712328378, 20 +1077, 79.31034482759, 5, 20 +1078, 72.41379310345, 5, 20 +1079, 51.72413793103, 5, 20 +1080, 31.03448275862, 5, 20 +1081, 17.24137931034, 5, 20 +1082, 4.876454187912, 4.909617909865, 20 +1083, 195.1235458121, 5.090382090135, 20 +1084, 197.561772906, 5.045191045067, 20 +1085, 197.561772906, 2.545191045067, 20 +1086, 194.113497044, 2.545191045067, 20 +1087, 197.561772906, 7.545191045067, 20 +1088, 194.113497044, 7.545191045067, 20 +1089, 5.886502956025, 2.454808954933, 20 +1090, 2.438227093956, 2.454808954933, 20 +1091, 2.438227093956, 4.954808954933, 20 +1092, 2.438227093956, 7.454808954933, 20 +1093, 5.886502956025, 7.454808954933, 20 +1094, 191.3419097407, 2.502643835811, 20 +1095, 187.8936338786, 2.502643835811, 20 +1096, 192.3519585088, 5.047834880878, 20 +1097, 184.4827586207, 2.5, 20 +1098, 181.0344827586, 2.5, 20 +1099, 186.1694959476, 5.002643835811, 20 +1100, 177.5862068966, 2.5, 20 +1101, 174.1379310345, 2.5, 20 +1102, 179.3103448276, 5, 20 +1103, 170.6896551724, 2.5, 20 +1104, 167.2413793103, 2.5, 20 +1105, 172.4137931034, 5, 20 +1106, 163.7931034483, 2.5, 20 +1107, 160.3448275862, 2.5, 20 +1108, 165.5172413793, 5, 20 +1109, 156.8965517241, 2.5, 20 +1110, 153.4482758621, 2.5, 20 +1111, 158.6206896552, 5, 20 +1112, 150, 2.5, 20 +1113, 146.5517241379, 2.5, 20 +1114, 151.724137931, 5, 20 +1115, 143.1034482759, 2.5, 20 +1116, 139.6551724138, 2.5, 20 +1117, 144.8275862069, 5, 20 +1118, 136.2068965517, 2.5, 20 +1119, 132.7586206897, 2.5, 20 +1120, 137.9310344828, 5, 20 +1121, 129.3103448276, 2.5, 20 +1122, 125.8620689655, 2.5, 20 +1123, 131.0344827586, 5, 20 +1124, 122.4137931034, 2.5, 20 +1125, 118.9655172414, 2.5, 20 +1126, 124.1379310345, 5, 20 +1127, 115.5172413793, 2.5, 20 +1128, 112.0689655172, 2.5, 20 +1129, 117.2413793103, 5, 20 +1130, 108.6206896552, 2.5, 20 +1131, 105.1724137931, 2.5, 20 +1132, 110.3448275862, 5, 20 +1133, 101.724137931, 2.5, 20 +1134, 98.27586206897, 2.5, 20 +1135, 103.4482758621, 5, 20 +1136, 94.8275862069, 2.5, 20 +1137, 91.37931034483, 2.5, 20 +1138, 96.55172413793, 5, 20 +1139, 87.93103448276, 2.5, 20 +1140, 84.48275862069, 2.5, 20 +1141, 89.65517241379, 5, 20 +1142, 81.03448275862, 2.5, 20 +1143, 77.58620689655, 2.5, 20 +1144, 82.75862068966, 5, 20 +1145, 74.13793103448, 2.5, 20 +1146, 70.68965517241, 2.5, 20 +1147, 75.86206896552, 5, 20 +1148, 67.24137931035, 2.5, 20 +1149, 63.79310344828, 2.5, 20 +1150, 68.96551724138, 5, 20 +1151, 60.34482758621, 2.5, 20 +1152, 56.89655172414, 2.5, 20 +1153, 62.06896551724, 5, 20 +1154, 53.44827586207, 2.5, 20 +1155, 50, 2.5, 20 +1156, 55.1724137931, 5, 20 +1157, 46.55172413793, 2.5, 20 +1158, 43.10344827586, 2.5, 20 +1159, 48.27586206897, 5, 20 +1160, 39.65517241379, 2.5, 20 +1161, 36.20689655172, 2.5, 20 +1162, 41.37931034483, 5, 20 +1163, 32.75862068966, 2.5, 20 +1164, 29.31034482759, 2.5, 20 +1165, 34.48275862069, 5, 20 +1166, 25.86206896552, 2.5, 20 +1167, 22.41379310345, 2.5, 20 +1168, 27.58620689655, 5, 20 +1169, 18.96551724138, 2.5, 20 +1170, 15.51724137931, 2.5, 20 +1171, 20.68965517241, 5, 20 +1172, 12.1063661214, 2.497356164189, 20 +1173, 8.658090259327, 2.497356164189, 20 +1174, 13.83050405243, 4.997356164189, 20 +1175, 7.648041491214, 4.952165119122, 20 +1176, 187.8936338786, 7.502643835811, 20 +1177, 191.3419097407, 7.502643835811, 20 +1178, 181.0344827586, 7.5, 20 +1179, 184.4827586207, 7.5, 20 +1180, 174.1379310345, 7.5, 20 +1181, 177.5862068966, 7.5, 20 +1182, 167.2413793103, 7.5, 20 +1183, 170.6896551724, 7.5, 20 +1184, 160.3448275862, 7.5, 20 +1185, 163.7931034483, 7.5, 20 +1186, 153.4482758621, 7.5, 20 +1187, 156.8965517241, 7.5, 20 +1188, 146.5517241379, 7.5, 20 +1189, 150, 7.5, 20 +1190, 139.6551724138, 7.5, 20 +1191, 143.1034482759, 7.5, 20 +1192, 132.7586206897, 7.5, 20 +1193, 136.2068965517, 7.5, 20 +1194, 125.8620689655, 7.5, 20 +1195, 129.3103448276, 7.5, 20 +1196, 118.9655172414, 7.5, 20 +1197, 122.4137931034, 7.5, 20 +1198, 112.0689655172, 7.5, 20 +1199, 115.5172413793, 7.5, 20 +1200, 105.1724137931, 7.5, 20 +1201, 108.6206896552, 7.5, 20 +1202, 98.27586206897, 7.5, 20 +1203, 101.724137931, 7.5, 20 +1204, 91.37931034483, 7.5, 20 +1205, 94.8275862069, 7.5, 20 +1206, 84.48275862069, 7.5, 20 +1207, 87.93103448276, 7.5, 20 +1208, 77.58620689655, 7.5, 20 +1209, 81.03448275862, 7.5, 20 +1210, 70.68965517241, 7.5, 20 +1211, 74.13793103448, 7.5, 20 +1212, 63.79310344828, 7.5, 20 +1213, 67.24137931035, 7.5, 20 +1214, 56.89655172414, 7.5, 20 +1215, 60.34482758621, 7.5, 20 +1216, 50, 7.5, 20 +1217, 53.44827586207, 7.5, 20 +1218, 43.10344827586, 7.5, 20 +1219, 46.55172413793, 7.5, 20 +1220, 36.20689655172, 7.5, 20 +1221, 39.65517241379, 7.5, 20 +1222, 29.31034482759, 7.5, 20 +1223, 32.75862068966, 7.5, 20 +1224, 22.41379310345, 7.5, 20 +1225, 25.86206896552, 7.5, 20 +1226, 15.51724137931, 7.5, 20 +1227, 18.96551724138, 7.5, 20 +1228, 8.658090259327, 7.497356164189, 20 +1229, 12.1063661214, 7.497356164189, 20 +1230, 173.6457994059, 10, 10 +1231, 26.35420059411, 10, 10 +1232, 134.4827586207, 10, 10 +1233, 106.8965517241, 10, 10 +1234, 93.82130518155, 10, 9.895795166698 +1235, 148.275862069, 10, 10 +1236, 120.6896551724, 10, 10 +1237, 161.7405240832, 10, 10.1042048333 +1238, 72.41379310345, 10, 10 +1239, 51.00628102535, 10, 9.895795166698 +1240, 38.2594759168, 10, 9.895795166698 +1241, 83.09770114943, 10, 10 +1242, 61.72988505747, 10, 10 +1243, 141.3793103448, 10, 13.21640903686 +1244, 155.1724137931, 10, 6.783590963139 +1245, 100.0997703532, 10, 13.68974948495 +1246, 113.7931034483, 10, 6.783590963139 +1247, 127.5862068966, 10, 6.783590963139 +1248, 44.73482791721, 10, 13.86419925943 +1249, 127.5862068966, 10, 13.84163803668 +1250, 100.1539314022, 10, 6.069443161766 +1251, 141.3793103448, 10, 6.158361963325 +1252, 113.7931034483, 10, 13.84163803668 +1253, 155.1602000788, 10, 13.88571900673 +1254, 44.72157673297, 10, 6.079478153363 +1255, 31.80314121055, 10, 6.10436131389 +1256, 31.77218894624, 10, 13.81737121252 +1257, 168.1968587894, 10, 6.134134123405 +1258, 168.2278110538, 10, 13.85139728054 +1259, 179.8472901986, 10, 13.34284306555 +1260, 179.9760873441, 10, 6.60194085205 +1261, 20.15270980137, 10, 6.657156934454 +1262, 20.02391265594, 10, 13.39805914795 +1263, 67.07183908046, 10, 13.75247720967 +1264, 67.07183908046, 10, 6.247522790329 +1265, 77.75574712644, 10, 6.247522790329 +1266, 77.75574712644, 10, 13.75247720967 +1267, 87.63003482427, 10, 13.78866247116 +1268, 87.56281484022, 10, 6.170030571472 +1269, 57.19755138263, 10, 13.78866247116 +1270, 57.26477136668, 10, 6.170030571472 +1271, 4.031122582597, 10, 16.35724064823 +1272, 195.9688774174, 10, 16.35724064823 +1273, 4.031122582597, 10, 3.642759351774 +1274, 195.9688774174, 10, 3.642759351774 +1275, 134.4827586207, 10, 4.405469678954 +1276, 106.8965517241, 10, 15.59453032105 +1277, 148.275862069, 10, 4.405469678954 +1278, 106.8965517241, 10, 4.405469678954 +1279, 134.4827586207, 10, 15.59453032105 +1280, 161.85329325, 10, 15.56826422411 +1281, 120.6896551724, 10, 15.59453032105 +1282, 120.6896551724, 10, 4.405469678954 +1283, 148.275862069, 10, 15.59453032105 +1284, 161.84954554, 10, 4.604385983969 +1285, 72.41379310345, 10, 15.50099088387 +1286, 72.41379310345, 10, 4.499009116132 +1287, 37.93103448276, 10, 15.59453032105 +1288, 38.12925256517, 10, 4.41592692679 +1289, 93.36334083201, 10, 15.50491219824 +1290, 93.54898959513, 10, 4.427053779987 +1291, 51.39614838603, 10, 15.50666845962 +1292, 51.28818099741, 10, 4.429060778306 +1293, 25.80543741751, 10, 15.2092144729 +1294, 25.81375423393, 10, 4.789585433848 +1295, 174.1878571917, 10, 15.20811128598 +1296, 174.1929511568, 10, 4.78826081531 +1297, 17.06190252195, 10, 17.02226201069 +1298, 17.1361810946, 10, 2.904999572688 +1299, 182.8638189054, 10, 17.09500042731 +1300, 182.9380974781, 10, 2.97773798931 +1301, 82.70546356664, 10, 5.313586815668 +1302, 82.7140375442, 10, 14.68114443977 +1303, 62.1135486627, 10, 14.68114443977 +1304, 62.12212264026, 10, 5.313586815668 +1305, 197.9844387087, 10, 14.84528699078 +1306, 197.9844387087, 10, 18.17862032411 +1307, 194.5361628466, 10, 18.17862032411 +1308, 197.9844387087, 10, 1.821379675887 +1309, 197.9844387087, 10, 5.15471300922 +1310, 194.5361628466, 10, 1.821379675887 +1311, 2.015561291299, 10, 18.17862032411 +1312, 2.015561291299, 10, 14.84528699078 +1313, 5.463837153368, 10, 18.17862032411 +1314, 2.015561291299, 10, 5.15471300922 +1315, 2.015561291299, 10, 1.821379675887 +1316, 5.463837153368, 10, 1.821379675887 +1317, 181.9236450993, 10, 11.67142153277 +1318, 183.0531756937, 10, 14.01691598018 +1319, 183.1175742665, 10, 5.955475978621 +1320, 181.988043672, 10, 8.300970426025 +1321, 179.9116887713, 10, 9.972391958798 +1322, 16.88242573355, 10, 14.04452402138 +1323, 18.01195632797, 10, 11.69902957398 +1324, 18.07635490068, 10, 8.328578467227 +1325, 16.94682430626, 10, 5.983084019823 +1326, 20.08831122865, 10, 10.0276080412 +1327, 197.7029066037, 10, 9.634984550686 +1328, 197.7029066037, 10, 12.96831788402 +1329, 197.7029066037, 10, 7.031682115981 +1330, 195.6873453124, 10, 5.519728458534 +1331, 195.6873453124, 10, 14.48027154147 +1332, 2.297093396293, 10, 10.36501544931 +1333, 2.297093396293, 10, 7.031682115981 +1334, 4.312654687591, 10, 5.519728458534 +1335, 2.297093396293, 10, 12.96831788402 +1336, 4.312654687591, 10, 14.48027154147 +1337, 186.2329788703, 10, 17.3454944474 +1338, 188.7710110777, 10, 17.92478373655 +1339, 184.5614400471, 10, 15.89299466106 +1340, 184.5353577286, 10, 18.54750021366 +1341, 181.355554552, 10, 15.21892174643 +1342, 193.6520015106, 10, 16.10340406066 +1343, 192.2192869398, 10, 17.92478373655 +1344, 193.6520015106, 10, 3.896595939342 +1345, 186.2329788703, 10, 2.654505552596 +1346, 188.7710110777, 10, 2.075216263455 +1347, 192.2192869398, 10, 2.075216263455 +1348, 184.5724970149, 10, 1.488868994655 +1349, 184.5985793335, 10, 4.143374547251 +1350, 181.4570924111, 10, 4.78983942068 +1351, 11.22898892227, 10, 17.92478373655 +1352, 13.76702112971, 10, 17.3454944474 +1353, 15.42750298511, 10, 18.51113100534 +1354, 15.40142066655, 10, 15.85662545275 +1355, 18.54290758894, 10, 15.21016057932 +1356, 6.34799848943, 10, 16.10340406066 +1357, 7.7807130602, 10, 17.92478373655 +1358, 6.34799848943, 10, 3.896595939342 +1359, 11.22898892227, 10, 2.075216263455 +1360, 13.76702112971, 10, 2.654505552596 +1361, 7.7807130602, 10, 2.075216263455 +1362, 15.43855995288, 10, 4.10700533894 +1363, 15.46464227144, 10, 1.452499786344 +1364, 18.64444544799, 10, 4.781078253571 +1365, 181.0870818665, 10, 18.54750021366 +1366, 176.7491010097, 10, 17.60405564299 +1367, 173.3008251476, 10, 17.60405564299 +1368, 177.0175736952, 10, 14.27547717576 +1369, 179.5788175131, 10, 16.67142153277 +1370, 170.3208020786, 10, 16.92569864027 +1371, 166.8725262165, 10, 16.92569864027 +1372, 171.2078341228, 10, 14.52975428326 +1373, 163.6852673147, 10, 17.78413211206 +1374, 160.2369914526, 10, 17.78413211206 +1375, 165.0405521519, 10, 14.70983075233 +1376, 156.890444867, 10, 16.94285950336 +1377, 153.4421690049, 10, 16.94285950336 +1378, 158.5067466644, 10, 14.72699161542 +1379, 150, 10, 17.79726516052 +1380, 146.5517241379, 10, 17.79726516052 +1381, 151.7180310739, 10, 14.74012466389 +1382, 143.1034482759, 10, 16.60820451843 +1383, 139.6551724138, 10, 16.60820451843 +1384, 144.8275862069, 10, 14.40546967895 +1385, 136.2068965517, 10, 17.79726516052 +1386, 132.7586206897, 10, 17.79726516052 +1387, 137.9310344828, 10, 14.40546967895 +1388, 129.3103448276, 10, 16.92081901834 +1389, 125.8620689655, 10, 16.92081901834 +1390, 131.0344827586, 10, 14.71808417886 +1391, 122.4137931034, 10, 17.79726516052 +1392, 118.9655172414, 10, 17.79726516052 +1393, 124.1379310345, 10, 14.71808417886 +1394, 115.5172413793, 10, 16.92081901834 +1395, 112.0689655172, 10, 16.92081901834 +1396, 117.2413793103, 10, 14.71808417886 +1397, 108.6206896552, 10, 17.79726516052 +1398, 105.1724137931, 10, 17.79726516052 +1399, 110.3448275862, 10, 14.71808417886 +1400, 101.7740231077, 10, 16.84487474248 +1401, 98.32574724559, 10, 16.84487474248 +1402, 103.4981610387, 10, 14.642139903 +1403, 94.95753248497, 10, 17.75245609912 +1404, 91.5092566229, 10, 17.75245609912 +1405, 96.73155559263, 10, 14.59733084159 +1406, 88.64260361903, 10, 16.89433123558 +1407, 85.19432775696, 10, 16.89433123558 +1408, 90.49668782814, 10, 14.6467873347 +1409, 80.25718390805, 10, 16.87623860484 +1410, 76.80890804598, 10, 16.87623860484 +1411, 82.73632911693, 10, 17.34057221988 +1412, 80.23489233532, 10, 14.21681082472 +1413, 85.17203618423, 10, 14.23490345546 +1414, 74.13793103448, 10, 17.75049544193 +1415, 70.68965517241, 10, 17.75049544193 +1416, 75.08477011494, 10, 14.62673404677 +1417, 68.01867816092, 10, 16.87623860484 +1418, 64.57040229885, 10, 16.87623860484 +1419, 69.74281609195, 10, 14.62673404677 +1420, 59.63325844993, 10, 16.89433123558 +1421, 56.18498258787, 10, 16.89433123558 +1422, 64.59269387158, 10, 14.21681082472 +1423, 62.09125708997, 10, 17.34057221988 +1424, 59.65555002266, 10, 14.23490345546 +1425, 53.28428108957, 10, 17.75333422981 +1426, 49.8360052275, 10, 17.75333422981 +1427, 54.29684988433, 10, 14.64766546539 +1428, 46.50534499309, 10, 16.93209962971 +1429, 43.05706913102, 10, 16.93209962971 +1430, 48.06548815162, 10, 14.68543385952 +1431, 39.65517241379, 10, 17.79726516052 +1432, 36.20689655172, 10, 17.79726516052 +1433, 41.33293119999, 10, 14.72936479024 +1434, 33.12747378346, 10, 16.90868560626 +1435, 29.67919792139, 10, 16.90868560626 +1436, 34.8516117145, 10, 14.70595076678 +1437, 26.69582215703, 10, 17.60460723645 +1438, 23.24754629496, 10, 17.60460723645 +1439, 28.78881318187, 10, 14.51329284271 +1440, 18.87577884718, 10, 18.51113100534 +1441, 22.91467503673, 10, 14.30363681043 +1442, 20.35678391418, 10, 16.69902957398 +1443, 181.1242211528, 10, 1.488868994655 +1444, 173.3033721301, 10, 2.394130407655 +1445, 176.7516479922, 10, 2.394130407655 +1446, 177.0845192504, 10, 5.69510083368 +1447, 179.6432160858, 10, 3.300970426025 +1448, 166.8570500844, 10, 3.067067061702 +1449, 170.3053259464, 10, 3.067067061702 +1450, 171.1949049731, 10, 5.461197469357 +1451, 160.2351175976, 10, 2.302192991985 +1452, 163.6833934597, 10, 2.302192991985 +1453, 165.0232021647, 10, 5.369260053687 +1454, 153.4482758621, 10, 3.39179548157 +1455, 156.8965517241, 10, 3.39179548157 +1456, 158.5109796666, 10, 5.693988473554 +1457, 146.5517241379, 10, 2.202734839477 +1458, 150, 10, 2.202734839477 +1459, 151.724137931, 10, 5.594530321046 +1460, 139.6551724138, 10, 3.079180981662 +1461, 143.1034482759, 10, 3.079180981662 +1462, 144.8275862069, 10, 5.281915821139 +1463, 132.7586206897, 10, 2.202734839477 +1464, 136.2068965517, 10, 2.202734839477 +1465, 137.9310344828, 10, 5.281915821139 +1466, 125.8620689655, 10, 3.39179548157 +1467, 129.3103448276, 10, 3.39179548157 +1468, 131.0344827586, 10, 5.594530321046 +1469, 118.9655172414, 10, 2.202734839477 +1470, 122.4137931034, 10, 2.202734839477 +1471, 124.1379310345, 10, 5.594530321046 +1472, 112.0689655172, 10, 3.39179548157 +1473, 115.5172413793, 10, 3.39179548157 +1474, 117.2413793103, 10, 5.594530321046 +1475, 105.1724137931, 10, 2.202734839477 +1476, 108.6206896552, 10, 2.202734839477 +1477, 110.3448275862, 10, 5.594530321046 +1478, 98.35282777004, 10, 3.034721580883 +1479, 101.8011036321, 10, 3.034721580883 +1480, 103.5252415631, 10, 5.23745642036 +1481, 91.60208100446, 10, 2.213526889994 +1482, 95.05035686653, 10, 2.213526889994 +1483, 96.85146049864, 10, 5.248248470877 +1484, 85.16071776494, 10, 3.085015285736 +1485, 88.608993627, 10, 3.085015285736 +1486, 90.55590221767, 10, 5.29854217573 +1487, 76.80890804598, 10, 3.123761395164 +1488, 80.25718390805, 10, 3.123761395164 +1489, 80.23060534654, 10, 5.780554802999 +1490, 82.73204212815, 10, 2.656793407834 +1491, 85.13413920343, 10, 5.74180869357 +1492, 70.68965517241, 10, 2.249504558066 +1493, 74.13793103448, 10, 2.249504558066 +1494, 75.08477011494, 10, 5.37326595323 +1495, 64.57040229885, 10, 3.123761395164 +1496, 68.01867816092, 10, 3.123761395164 +1497, 69.74281609195, 10, 5.37326595323 +1498, 56.21859257989, 10, 3.085015285736 +1499, 59.66686844196, 10, 3.085015285736 +1500, 62.09554407875, 10, 2.656793407834 +1501, 64.59698086036, 10, 5.780554802999 +1502, 59.69344700347, 10, 5.74180869357 +1503, 49.78202153319, 10, 2.214530389153 +1504, 53.23029739526, 10, 2.214530389153 +1505, 54.27647618205, 10, 5.299545674889 +1506, 43.0504435389, 10, 3.039739076681 +1507, 46.49871940097, 10, 3.039739076681 +1508, 48.00487886519, 10, 5.254269465835 +1509, 36.30600559293, 10, 2.207963463395 +1510, 39.754281455, 10, 2.207963463395 +1511, 41.42541464907, 10, 5.247702540076 +1512, 29.69467405355, 10, 3.052180656945 +1513, 33.14294991562, 10, 3.052180656945 +1514, 34.96619688786, 10, 5.26014412034 +1515, 23.25170470317, 10, 2.394792716924 +1516, 26.69998056524, 10, 2.394792716924 +1517, 28.80844772224, 10, 5.446973373869 +1518, 18.91291813351, 10, 1.452499786344 +1519, 22.98323201765, 10, 5.723371184151 +1520, 20.42118248689, 10, 3.328578467227 +1521, 168.2123349216, 10, 9.992765701972 +1522, 170.9368052298, 10, 11.92569864027 +1523, 170.9213290977, 10, 8.067067061702 +1524, 173.9193752814, 10, 7.394130407655 +1525, 173.9168282988, 10, 12.60405564299 +1526, 176.810943375, 10, 8.300970426025 +1527, 176.7465448023, 10, 11.67142153277 +1528, 29.06319477017, 10, 11.90868560626 +1529, 31.78766507839, 10, 9.960866263206 +1530, 29.07867090233, 10, 8.052180656945 +1531, 26.08397741402, 10, 7.394792716924 +1532, 26.07981900581, 10, 12.60460723645 +1533, 23.18905662502, 10, 11.69902957398 +1534, 23.25345519774, 10, 8.328578467227 +1535, 141.3793103448, 10, 9.687385500093 +1536, 137.9310344828, 10, 8.079180981662 +1537, 137.9310344828, 10, 11.60820451843 +1538, 134.4827586207, 10, 12.79726516052 +1539, 127.5862068966, 10, 10.31261449991 +1540, 131.0344827586, 10, 11.92081901834 +1541, 131.0344827586, 10, 8.39179548157 +1542, 134.4827586207, 10, 7.202734839477 +1543, 103.5252415631, 10, 8.034721580883 +1544, 100.1268508777, 10, 9.879596323359 +1545, 103.4981610387, 10, 11.84487474248 +1546, 106.8965517241, 10, 12.79726516052 +1547, 110.3448275862, 10, 11.92081901834 +1548, 113.7931034483, 10, 10.31261449991 +1549, 110.3448275862, 10, 8.39179548157 +1550, 106.8965517241, 10, 7.202734839477 +1551, 96.98761829185, 10, 7.982619164232 +1552, 96.9605377674, 10, 11.79277232582 +1553, 93.59232300678, 10, 12.70035368247 +1554, 93.68514738834, 10, 7.161424473342 +1555, 90.69206001088, 10, 8.032912869085 +1556, 87.59642483224, 10, 9.979346521315 +1557, 90.72567000291, 10, 11.84222881893 +1558, 144.8275862069, 10, 8.079180981662 +1559, 144.8275862069, 10, 11.60820451843 +1560, 148.275862069, 10, 12.79726516052 +1561, 151.7180310739, 10, 11.94285950336 +1562, 155.166306936, 10, 10.33465498493 +1563, 151.724137931, 10, 8.39179548157 +1564, 148.275862069, 10, 7.202734839477 +1565, 117.2413793103, 10, 11.92081901834 +1566, 117.2413793103, 10, 8.39179548157 +1567, 120.6896551724, 10, 7.202734839477 +1568, 124.1379310345, 10, 11.92081901834 +1569, 124.1379310345, 10, 8.39179548157 +1570, 120.6896551724, 10, 12.79726516052 +1571, 158.450362081, 10, 11.99496192001 +1572, 158.4564689382, 10, 8.443897898221 +1573, 161.7950348116, 10, 7.354295408636 +1574, 161.7969086666, 10, 12.83623452871 +1575, 164.9841675685, 10, 11.97780105692 +1576, 164.9686914363, 10, 8.119169478353 +1577, 69.74281609195, 10, 8.123761395164 +1578, 67.07183908046, 10, 10 +1579, 69.74281609195, 10, 11.87623860484 +1580, 72.41379310345, 10, 12.75049544193 +1581, 72.41379310345, 10, 7.249504558066 +1582, 75.08477011494, 10, 11.87623860484 +1583, 77.75574712644, 10, 10 +1584, 75.08477011494, 10, 8.123761395164 +1585, 47.86392887916, 10, 7.98763666003 +1586, 44.72820232509, 10, 9.971838706396 +1587, 47.87055447128, 10, 11.87999721306 +1588, 51.20121470569, 10, 12.70123181316 +1589, 51.14723101138, 10, 7.162427972502 +1590, 57.23116137465, 10, 9.979346521315 +1591, 54.13552619601, 10, 8.032912869085 +1592, 54.10191620399, 10, 11.84222881893 +1593, 41.49052632489, 10, 7.98763666003 +1594, 41.49715191701, 10, 11.87999721306 +1595, 38.09525519978, 10, 12.74516274387 +1596, 38.19436424099, 10, 7.155861046744 +1597, 35.01583243152, 10, 11.85658318961 +1598, 35.03130856368, 10, 8.000078240294 +1599, 80.42672413793, 10, 11.87623860484 +1600, 80.42672413793, 10, 8.123761395164 +1601, 82.90158235803, 10, 7.656793407834 +1602, 82.90586934681, 10, 12.34057221988 +1603, 85.33025799482, 10, 8.085015285736 +1604, 85.36386798685, 10, 11.89433123558 +1605, 64.40086206897, 10, 8.123761395164 +1606, 64.40086206897, 10, 11.87623860484 +1607, 61.92171686008, 10, 12.34057221988 +1608, 61.92600384886, 10, 7.656793407834 +1609, 59.49732821208, 10, 8.085015285736 +1610, 59.46371822005, 10, 11.89433123558 +1611, 23.25345519774, 5, 8.328578467227 +1612, 20.15270980137, 5, 6.657156934454 +1613, 18.07635490068, 2.5, 8.328578467227 +1614, 18.07635490068, 7.5, 8.328578467227 +1615, 21.17710029705, 2.5, 10 +1616, 176.7465448023, 5, 11.67142153277 +1617, 178.8228997029, 2.5, 10 +1618, 181.9236450993, 7.5, 11.67142153277 +1619, 179.8472901986, 5, 13.34284306555 +1620, 181.9236450993, 2.5, 11.67142153277 +1621, 26.35420059411, 5, 10 +1622, 21.17710029705, 7.5, 10 +1623, 173.6457994059, 5, 10 +1624, 178.8228997029, 7.5, 10 +1625, 18.01195632797, 7.5, 11.69902957398 +1626, 20.02391265594, 5, 13.39805914795 +1627, 23.18905662502, 5, 11.69902957398 +1628, 18.01195632797, 2.5, 11.69902957398 +1629, 181.988043672, 7.5, 8.300970426025 +1630, 176.810943375, 5, 8.300970426025 +1631, 179.9760873441, 5, 6.60194085205 +1632, 181.988043672, 2.5, 8.300970426025 +1633, 80.23060534654, 5, 5.782724832847 +1634, 82.70546356664, 5, 5.315756845516 +1635, 82.90158235803, 5, 7.658963437682 +1636, 82.92597109749, 5, 12.28159310654 +1637, 80.25499408599, 5, 14.15783171138 +1638, 82.73413929488, 5, 14.62216532642 +1639, 85.13413920343, 5, 5.758821727579 +1640, 85.33025799482, 5, 8.102028319745 +1641, 85.19213793491, 5, 14.17592434212 +1642, 15.87798246762, 7.108187218137, 4.538237704904 +1643, 17.386246821, 7.108187218137, 6.414316385786 +1644, 16.27099715101, 8.75, 5.150848568991 +1645, 17.77926150439, 8.75, 7.026927249874 +1646, 72.21307841322, 5, 4.498257394486 +1647, 75.08477011494, 5, 5.37326595323 +1648, 75.08477011494, 5, 8.123761395165 +1649, 72.21307841322, 5, 7.24875283642 +1650, 83.09770114943, 5, 10 +1651, 80.42672413793, 5, 8.123761395164 +1652, 182.2851370683, 8.75, 6.999319208672 +1653, 183.7661421353, 8.75, 5.187217777303 +1654, 184.1591568187, 7.108187218137, 4.574606913215 +1655, 182.6781517517, 7.108187218137, 6.386708344584 +1656, 80.42672413793, 5, 11.87623860484 +1657, 182.6490936698, 2.118563962041, 13.62754417576 +1658, 182.2207384956, 3.75, 12.97307275013 +1659, 69.54210140173, 5, 5.372514231585 +1660, 85.36386798685, 5, 11.89433123558 +1661, 162.0798853753, 5, 15.54682805953 +1662, 165.2671442772, 5, 14.68839458775 +1663, 165.3430960213, 5, 11.92569864027 +1664, 162.1558371195, 5, 12.78413211206 +1665, 182.2207384956, 8.75, 12.97307275013 +1666, 165.3276198892, 5, 8.067067061702 +1667, 162.1539632645, 5, 7.302192991985 +1668, 162.0655285998, 5, 4.534102383295 +1669, 165.2391852245, 5, 5.298976453012 +1670, 84.45618005918, 7.5, 2.656793407834 +1671, 86.88485569597, 2.5, 3.102028319745 +1672, 84.45618005918, 2.5, 2.658963437682 +1673, 72.15469348659, 5, 10.05210241665 +1674, 72.15469348659, 5, 12.80259785859 +1675, 75.08477011494, 5, 14.62673404677 +1676, 75.08477011494, 5, 11.87623860484 +1677, 81.00790419711, 2.5, 2.658963437682 +1678, 78.53304597701, 7.5, 3.123761395164 +1679, 81.00790419711, 7.5, 2.656793407834 +1680, 87.59642483224, 5, 9.996359555324 +1681, 173.9193752814, 5, 7.394130407655 +1682, 177.1259007864, 5, 5.678059393137 +1683, 174.2343326928, 5, 4.771219374767 +1684, 63.85250702608, 5, 5.724693778119 +1685, 63.65638823468, 5, 8.067900370285 +1686, 60.73033460056, 5, 7.708895824485 +1687, 60.53421580917, 5, 10.05210241665 +1688, 93.59232300678, 5, 12.80455851577 +1689, 93.44749407176, 5, 15.52888391418 +1690, 96.9605377674, 5, 11.89697715913 +1691, 96.81570883238, 5, 14.62130255754 +1692, 93.47632120101, 5, 4.46058728904 +1693, 96.77449479756, 5, 5.287828554765 +1694, 96.91065259077, 5, 8.02219924812 +1695, 93.61247899422, 5, 7.194957982395 +1696, 72.2118725963, 5, 15.52596200775 +1697, 173.9168282988, 5, 12.60405564299 +1698, 174.2289471238, 5, 15.22333128317 +1699, 177.0586636273, 5, 14.29069717295 +1700, 84.46046704796, 7.5, 17.34057221988 +1701, 86.918465688, 7.5, 16.89433123558 +1702, 84.48056879864, 2.5, 17.28159310654 +1703, 182.8112197975, 7.5, 18.54750021366 +1704, 181.3029554441, 7.5, 16.67142153277 +1705, 183.6764037411, 6.25, 16.30165121735 +1706, 183.729002849, 8.75, 14.84915143101 +1707, 25.80431610874, 5, 15.21086433413 +1708, 26.07981900581, 5, 12.60460723645 +1709, 22.91467503673, 5, 14.30363681043 +1710, 115.539532952, 5, 6.051223261685 +1711, 118.9878088141, 5, 7.659427780115 +1712, 118.7959770115, 5, 10 +1713, 115.3477011494, 5, 8.39179548157 +1714, 26.08397741402, 5, 7.394792716924 +1715, 25.81074621069, 5, 4.791179937169 +1716, 22.98022399441, 5, 5.724965687472 +1717, 153.4182774606, 5, 6.049673904328 +1718, 149.9700015985, 5, 7.657878422758 +1719, 150.1695402299, 5, 10 +1720, 153.617816092, 5, 8.39179548157 +1721, 46.47214083946, 5, 5.698702514363 +1722, 49.61449298565, 5, 7.606861021031 +1723, 49.81061177704, 5, 9.947897583349 +1724, 46.66825963085, 5, 8.039739076681 +1725, 60.72604761178, 5, 12.39267463654 +1726, 63.84219095267, 5, 14.28956402749 +1727, 63.65035915006, 5, 11.94899180761 +1728, 93.82130518155, 5, 10 +1729, 100.0498851766, 5, 9.919176407247 +1730, 46.50315517104, 5, 14.21369273625 +1731, 49.6388817251, 5, 12.22949068989 +1732, 46.67488522297, 5, 11.93209962971 +1733, 115.5438199408, 5, 14.2640256105 +1734, 118.9920958029, 5, 12.34320659217 +1735, 115.3477011494, 5, 11.92081901834 +1736, 153.4168850722, 5, 14.28438111131 +1737, 149.9747160673, 5, 12.34152160794 +1738, 153.6117092348, 5, 11.94285950336 +1739, 106.6891742047, 2.5, 17.77758122985 +1740, 103.2408983427, 2.5, 17.77758122985 +1741, 106.8965517241, 7.5, 17.79726516052 +1742, 103.4482758621, 7.5, 17.79726516052 +1743, 106.6891742047, 5, 15.57484639037 +1744, 159.1621272652, 5, 5.395714794725 +1745, 171.0166215124, 5, 11.91170529942 +1746, 170.9911683449, 5, 8.06602515381 +1747, 31.74536310013, 5, 6.134988533679 +1748, 34.77220894682, 5, 8.052180656945 +1749, 34.75673281466, 5, 11.90868560626 +1750, 31.72988696797, 5, 9.991493482996 +1751, 29.02089279191, 5, 8.082807876735 +1752, 29.06319477017, 5, 11.90868560626 +1753, 168.2921512042, 5, 9.978772361122 +1754, 168.2666980367, 5, 6.133092215512 +1755, 69.4837164751, 5, 11.92834102149 +1756, 31.75065084741, 5, 13.84906174694 +1757, 168.3076273364, 5, 13.83740393969 +1758, 106.8965517241, 7.5, 2.202734839477 +1759, 103.4482758621, 7.5, 2.202734839477 +1760, 106.7446996673, 2.5, 2.24724992657 +1761, 103.2964238052, 2.5, 2.24724992657 +1762, 106.7446996673, 5, 4.449984766047 +1763, 90.69206001088, 5, 8.049925903093 +1764, 90.72567000291, 5, 11.94643365223 +1765, 127.79348659, 2.5, 17.75252742248 +1766, 131.2417624521, 2.5, 17.75252742248 +1767, 131.2417624521, 5, 15.549792583 +1768, 134.4827586207, 7.5, 17.79726516052 +1769, 131.0344827586, 7.5, 17.79726516052 +1770, 141.1720306513, 2.5, 17.75252742248 +1771, 137.7237547893, 2.5, 17.75252742248 +1772, 137.7237547893, 5, 15.549792583 +1773, 137.9310344828, 7.5, 17.79726516052 +1774, 60.5319633021, 5, 4.903193839493 +1775, 134.4827586207, 7.5, 2.202734839477 +1776, 131.0344827586, 7.5, 2.202734839477 +1777, 127.79348659, 2.5, 2.230167992035 +1778, 131.2417624521, 5, 4.432902831512 +1779, 131.2417624521, 2.5, 2.230167992035 +1780, 137.9310344828, 7.5, 2.202734839477 +1781, 137.7237547893, 5, 4.432902831512 +1782, 141.1720306513, 2.5, 2.230167992035 +1783, 137.7237547893, 2.5, 2.230167992035 +1784, 90.48323382355, 5, 5.332075684782 +1785, 69.5408955848, 5, 14.65170517065 +1786, 77.75574712644, 5, 6.247522790329 +1787, 77.75574712644, 5, 13.75247720967 +1788, 100.0498851766, 5, 13.76569376081 +1789, 38.00037629995, 5, 9.947897583349 +1790, 60.58657786309, 5, 15.1226345928 +1791, 34.8516117145, 5, 14.70595076678 +1792, 96.76582365575, 2.5, 17.77642781507 +1793, 96.681670416, 7.5, 17.75245609912 +1794, 93.23339455393, 7.5, 17.75245609912 +1795, 93.31754779369, 2.5, 17.77642781507 +1796, 118.9920958029, 2.5, 17.34320659217 +1797, 115.5438199408, 2.5, 17.34320659217 +1798, 120.6896551724, 7.5, 17.79726516052 +1799, 117.2413793103, 7.5, 17.79726516052 +1800, 118.9920958029, 5, 15.14047175269 +1801, 93.25355054137, 2.5, 2.247060399046 +1802, 96.70182640344, 2.5, 2.247060399046 +1803, 96.77449479756, 7.5, 2.213526889994 +1804, 93.3262189355, 7.5, 2.213526889994 +1805, 103.1392325858, 5, 11.89697715913 +1806, 49.75544297168, 5, 4.873493826835 +1807, 100.0769657011, 5, 6.109023245655 +1808, 103.1663131103, 5, 8.086823997534 +1809, 34.86708784665, 5, 5.254915496422 +1810, 100.0498851766, 7.5, 16.84487474248 +1811, 90.49668782814, 5, 14.66167373946 +1812, 162.099452536, 5, 10.05210241665 +1813, 52.04316862244, 5, 8.049925903093 +1814, 55.1724137931, 5, 6.187043605481 +1815, 55.1724137931, 5, 10 +1816, 58.30165896377, 5, 8.137117702387 +1817, 100, 2.5, 3.074301664772 +1818, 49.83381540545, 5, 15.03492733635 +1819, 58.26804897174, 5, 11.94643365223 +1820, 58.78124680956, 2.5, 2.246400431659 +1821, 62.22952267163, 2.5, 2.246400431659 +1822, 63.81968200978, 7.5, 2.656793407834 +1823, 60.37140614771, 7.5, 2.656793407834 +1824, 52.07677861446, 5, 11.85711522369 +1825, 148.275862069, 7.5, 2.202734839477 +1826, 151.724137931, 7.5, 2.202734839477 +1827, 149.9700015985, 5, 4.860613262235 +1828, 153.4182774606, 2.5, 2.657878422758 +1829, 149.9700015985, 2.5, 2.657878422758 +1830, 153.4229919293, 2.5, 17.34152160794 +1831, 149.9747160673, 2.5, 17.34152160794 +1832, 151.724137931, 7.5, 17.79726516052 +1833, 148.275862069, 7.5, 17.79726516052 +1834, 149.9747160673, 5, 15.13878676847 +1835, 120.6896551724, 7.5, 2.202734839477 +1836, 117.2413793103, 7.5, 2.202734839477 +1837, 115.539532952, 2.5, 2.659427780115 +1838, 118.9878088141, 5, 4.862162619592 +1839, 118.9878088141, 2.5, 2.659427780115 +1840, 62.2884242214, 2.5, 17.78206237292 +1841, 63.815395021, 7.5, 17.34057221988 +1842, 58.84014835933, 2.5, 17.78206237292 +1843, 60.36711915894, 7.5, 17.34057221988 +1844, 55.1724137931, 5, 13.80354887592 +1845, 87.56281484022, 5, 6.187043605481 +1846, 49.97342143849, 2.5, 2.658963437682 +1847, 46.52514557642, 2.5, 2.658963437682 +1848, 48.05788360216, 7.5, 2.214530389153 +1849, 51.50615946422, 7.5, 2.214530389153 +1850, 38.03014352396, 7.5, 2.207963463395 +1851, 37.93103448276, 2.5, 2.202734839477 +1852, 38.03014352396, 5, 4.410698302872 +1853, 34.86708784665, 7.5, 3.052180656945 +1854, 48.11186729646, 7.5, 17.75333422981 +1855, 46.54953431588, 2.5, 17.28159310654 +1856, 51.56014315853, 7.5, 17.75333422981 +1857, 49.99781017795, 2.5, 17.28159310654 +1858, 81.01219118589, 7.5, 17.34057221988 +1859, 81.03229293657, 2.5, 17.28159310654 +1860, 87.63003482427, 5, 13.80354887592 +1861, 103.3733895063, 5, 5.281971507453 +1862, 37.93103448276, 7.5, 17.79726516052 +1863, 34.8516117145, 7.5, 16.90868560626 +1864, 37.93103448276, 2.5, 17.79726516052 +1865, 37.93103448276, 5, 15.59453032105 +1866, 103.2907835193, 5, 14.62245597233 +1867, 66.32736524618, 5, 9.944138975121 +1868, 66.32133616155, 5, 13.82523041245 +1869, 58.10328766531, 5, 5.331415717395 +1870, 161.9611293836, 7.5, 17.78413211206 +1871, 162.1877215089, 2.5, 17.76269594748 +1872, 165.1483882855, 7.5, 16.92569864027 +1873, 44.00390821148, 5, 10.05586102488 +1874, 43.99728261936, 5, 6.163500471846 +1875, 155.1724137931, 7.5, 3.39179548157 +1876, 72.21307841322, 2.5, 2.24875283642 +1877, 75.08477011494, 2.5, 3.123761395165 +1878, 72.41379310345, 7.5, 2.249504558066 +1879, 113.7931034483, 7.5, 3.39179548157 +1880, 28.76727508305, 5, 14.54498337713 +1881, 72.2118725963, 2.5, 17.77546656582 +1882, 72.41379310345, 7.5, 17.75049544193 +1883, 75.08477011494, 2.5, 16.87623860484 +1884, 171.2647442204, 5, 5.460155561465 +1885, 141.3793103448, 7.5, 16.60820451843 +1886, 141.1720306513, 5, 14.36073194091 +1887, 127.5862068966, 7.5, 3.39179548157 +1888, 127.79348659, 5, 5.621963473605 +1889, 106.5376232713, 5, 10.05210241665 +1890, 161.9592555286, 7.5, 2.302192991985 +1891, 165.1329121533, 7.5, 3.067067061702 +1892, 162.1752385884, 2.5, 2.23190939131 +1893, 28.75066961182, 5, 5.477600593659 +1894, 58.12857922306, 5, 14.6763936085 +1895, 171.2876504054, 5, 14.51576094241 +1896, 52.18411860847, 5, 5.316558708898 +1897, 65.54403731098, 2.5, 16.94899180761 +1898, 69.4837164751, 5, 8.175863811816 +1899, 65.5500663956, 2.5, 3.067900370285 +1900, 66.32736524618, 5, 6.19166176545 +1901, 44.00390821148, 5, 13.80833823455 +1902, 44.77458146993, 7.5, 3.039739076681 +1903, 134.4827586207, 2.5, 16.9385009242 +1904, 134.4827586207, 5, 14.73576608472 +1905, 134.4827586207, 5, 5.281915821139 +1906, 134.4827586207, 2.5, 3.079180981662 +1907, 77.75574712644, 5, 10 +1908, 52.2717122948, 5, 14.66255187014 +1909, 121.466954023, 5, 11.87623860484 +1910, 121.466954023, 5, 8.123761395165 +1911, 44.78120706205, 7.5, 16.93209962971 +1912, 147.4985632184, 5, 11.87623860484 +1913, 147.4985632184, 5, 8.123761395164 +1914, 100, 2.5, 16.92081901834 +1915, 100.0769657011, 7.5, 3.034721580883 +1916, 137.9310344828, 5, 13.54670544263 +1917, 131.0344827586, 5, 6.470976463232 +1918, 113.7931034483, 7.5, 16.92081901834 +1919, 38.09525519978, 5, 12.74516274387 +1920, 40.60201149425, 5, 14.67350376536 +1921, 40.76623221128, 5, 11.82413618818 +1922, 69.74281609195, 7.5, 3.123761395164 +1923, 159.1076165368, 5, 8.145624219391 +1924, 159.144577972, 5, 11.95387685461 +1925, 127.5862068966, 7.5, 16.92081901834 +1926, 127.79348659, 5, 14.67334644081 +1927, 69.74281609195, 7.5, 16.87623860484 +1928, 141.3793103448, 7.5, 3.079180981662 +1929, 141.1720306513, 5, 5.309348973697 +1930, 40.70112053546, 5, 5.331724858559 +1931, 40.76623221128, 5, 8.071658978513 +1932, 38.09525519978, 5, 7.150632422826 +1933, 141.120210728, 5, 11.55610210178 +1934, 24.971684226, 7.5, 17.60460723645 +1935, 22.08092184521, 2.5, 16.69902957398 +1936, 24.97056291723, 2.5, 17.60625709768 +1937, 175.0275100612, 7.5, 2.394130407655 +1938, 177.9190781548, 7.5, 3.300970426025 +1939, 175.0688915971, 2.5, 2.377088967112 +1940, 175.0249630786, 7.5, 17.60405564299 +1941, 175.0660530107, 2.5, 17.61927564018 +1942, 177.8546795821, 7.5, 16.67142153277 +1943, 24.97584263421, 7.5, 2.394792716924 +1944, 24.97283461097, 2.5, 2.396387220245 +1945, 22.14532041793, 7.5, 3.328578467227 +1946, 155.8605228269, 5, 10.29356991953 +1947, 155.8235613917, 5, 6.48531728431 +1948, 109.666868442, 5, 14.71224987479 +1949, 109.666868442, 5, 11.91498471426 +1950, 106.6891742047, 5, 12.77758122985 +1951, 177.8546795821, 2.5, 16.67142153277 +1952, 22.14532041793, 2.5, 3.328578467227 +1953, 113.115144304, 5, 10.30678019583 +1954, 113.081534312, 5, 6.497464245991 +1955, 109.6332584499, 5, 8.105668764421 +1956, 131.0344827586, 5, 13.85931994254 +1957, 127.8453065134, 5, 11.86871660169 +1958, 127.8453065134, 5, 8.339693064918 +1959, 155.166306936, 7.5, 16.94285950336 +1960, 177.9190781548, 2.5, 3.300970426025 +1961, 22.08092184521, 7.5, 16.69902957398 +1962, 34.83007361568, 2.5, 16.94037614068 +1963, 90.33313155804, 7.5, 3.085015285736 +1964, 141.120210728, 5, 8.027078565011 +1965, 137.9310344828, 5, 6.158361963325 +1966, 113.115144304, 5, 13.8358037326 +1967, 34.80930973623, 2.5, 3.082807876735 +1968, 155.8544159698, 5, 13.84463394132 +1969, 121.466954023, 5, 14.67350376536 +1970, 159.2718372538, 2.5, 3.09352180274 +1971, 159.308798689, 2.5, 16.90177443796 +1972, 159.2009625554, 5, 14.68590655001 +1973, 90.36674155007, 2.5, 16.90921764034 +1974, 106.7446996673, 5, 7.24724992657 +1975, 109.6332584499, 5, 5.308403603898 +1976, 168.6510272627, 2.5, 3.06602515381 +1977, 171.5792341991, 7.5, 2.394130407655 +1978, 171.620615735, 2.5, 2.377088967112 +1979, 28.41996008807, 7.5, 17.60460723645 +1980, 28.4188387793, 2.5, 17.60625709768 +1981, 31.38179775361, 2.5, 16.94037614068 +1982, 134.4827586207, 5, 11.9385009242 +1983, 137.6719348659, 5, 9.947897583349 +1984, 171.6177771487, 2.5, 17.61927564018 +1985, 168.6764804302, 2.5, 16.91170529942 +1986, 171.5766872166, 7.5, 17.60405564299 +1987, 121.466954023, 5, 5.326496234641 +1988, 147.4985632184, 5, 14.67350376536 +1989, 28.42111047303, 2.5, 2.396387220245 +1990, 31.36103387417, 2.5, 3.082807876735 +1991, 28.42411849628, 7.5, 2.394792716924 +1992, 147.4985632184, 5, 5.326496234641 +1993, 113.115144304, 2.5, 16.91498471426 +1994, 109.666868442, 2.5, 16.91498471426 +1995, 110.3448275862, 7.5, 17.79726516052 +1996, 131.2935823755, 5, 9.947897583349 +1997, 134.4827586207, 5, 8.079180981662 +1998, 124.3970306513, 5, 9.947897583349 +1999, 155.8605228269, 2.5, 16.90177443796 +2000, 158.5128535216, 7.5, 17.78413211206 +2001, 144.56848659, 5, 9.947897583349 +2002, 158.5109796666, 7.5, 2.302192991985 +2003, 155.8235613917, 2.5, 3.09352180274 +2004, 40.60201149425, 2.5, 16.87623860484 +2005, 41.37931034483, 7.5, 17.79726516052 +2006, 44.05028735632, 2.5, 16.87623860484 +2007, 144.0502873563, 5, 13.48444312327 +2008, 40.60201149425, 2.5, 3.123761395164 +2009, 124.9152298851, 5, 6.515556876734 +2010, 44.05028735632, 2.5, 3.123761395164 +2011, 41.47841938603, 7.5, 2.207963463395 +2012, 124.9152298851, 5, 13.79705762317 +2013, 110.3448275862, 7.5, 2.202734839477 +2014, 113.081534312, 2.5, 3.105668764421 +2015, 109.6332584499, 2.5, 3.105668764421 +2016, 124.9152298851, 2.5, 16.87623860484 +2017, 121.466954023, 2.5, 16.87623860484 +2018, 124.1379310345, 7.5, 17.79726516052 +2019, 68.76480255115, 2.5, 2.24875283642 +2020, 66.29454022989, 7.5, 3.123761395164 +2021, 66.29454022989, 7.5, 16.87623860484 +2022, 68.76359673423, 2.5, 17.77546656582 +2023, 144.0502873563, 5, 6.202942376827 +2024, 75.08477011494, 7.5, 3.123761395164 +2025, 75.08477011494, 7.5, 16.87623860484 +2026, 31.40333585243, 7.5, 16.90868560626 +2027, 31.41881198459, 7.5, 3.052180656945 +2028, 147.4985632184, 2.5, 16.87623860484 +2029, 144.0502873563, 2.5, 16.87623860484 +2030, 144.8275862069, 7.5, 17.79726516052 +2031, 144.8275862069, 7.5, 2.202734839477 +2032, 147.4985632184, 2.5, 3.123761395164 +2033, 144.0502873563, 2.5, 3.123761395164 +2034, 124.1379310345, 7.5, 2.202734839477 +2035, 124.9152298851, 2.5, 3.123761395165 +2036, 121.466954023, 2.5, 3.123761395165 +2037, 86.88485569597, 7.5, 3.085015285736 +2038, 57.9091205189, 7.5, 16.89433123558 +2039, 52.40209707528, 2.5, 3.102028319745 +2040, 57.94273051093, 7.5, 3.085015285736 +2041, 15.93058157549, 4.608187218137, 3.08573791856 +2042, 17.386246821, 2.108187218137, 6.414316385786 +2043, 18.69704455586, 2.5, 3.328578467227 +2044, 18.69704455586, 7.5, 3.328578467227 +2045, 90.33313155804, 2.5, 3.102028319745 +2046, 168.5811880154, 7.5, 3.067067061702 +2047, 86.918465688, 2.5, 16.90921764034 +2048, 181.3029554441, 2.5, 16.67142153277 +2049, 168.5966641476, 7.5, 16.92569864027 +2050, 78.53304597701, 2.5, 3.123761395165 +2051, 17.18878020247, 7.5, 1.452499786344 +2052, 52.43570706731, 2.5, 16.90921764034 +2053, 15.87798246762, 2.108187218137, 4.538237704904 +2054, 17.18878020247, 2.5, 1.452499786344 +2055, 184.1573580232, 2.118563962041, 15.50362285665 +2056, 184.1047589153, 4.618563962041, 16.95612264299 +2057, 182.8112197975, 2.5, 18.54750021366 +2058, 182.8483590839, 7.5, 1.488868994655 +2059, 181.3673540169, 7.5, 3.300970426025 +2060, 184.0694184245, 4.608187218137, 3.08573791856 +2061, 182.6781517517, 2.108187218137, 6.386708344584 +2062, 181.3673540169, 2.5, 3.300970426025 +2063, 90.36674155007, 7.5, 16.89433123558 +2064, 18.63264598314, 7.5, 16.69902957398 +2065, 18.63264598314, 2.5, 16.69902957398 +2066, 17.2865077575, 2.118563962041, 13.65515221696 +2067, 17.2865077575, 7.118563962041, 13.65515221696 +2068, 15.8952410847, 4.618563962041, 16.95612264299 +2069, 184.1591568187, 2.108187218137, 4.574606913215 +2070, 182.8483590839, 2.5, 1.488868994655 +2071, 17.15164091615, 2.5, 18.51113100534 +2072, 15.8055026905, 2.118563962041, 15.46725364833 +2073, 55.85037293735, 2.5, 3.102028319745 +2074, 54.49445464886, 7.5, 3.085015285736 +2075, 55.88398292938, 2.5, 16.90921764034 +2076, 54.46084465683, 7.5, 16.89433123558 +2077, 78.53304597701, 2.5, 16.87623860484 +2078, 78.53304597701, 7.5, 16.87623860484 +2079, 165.6235144505, 2.5, 2.23190939131 +2080, 17.15164091615, 7.5, 18.51113100534 +2081, 165.635997371, 2.5, 17.76269594748 +2082, 17.71486293168, 8.75, 13.00068079133 +2083, 184.5088409393, 7.5, 2.654505552596 +2084, 15.49115906075, 7.5, 2.654505552596 +2085, 14.17110315367, 7.118563962041, 16.95612264299 +2086, 15.8055026905, 7.118563962041, 15.46725364833 +2087, 16.23385786468, 8.75, 14.8127822227 +2088, 195.9999601841, 4.997158145241, 10.02185839828 +2089, 4.00003981593, 4.997158145241, 10.02185839828 +2090, 187.9963547579, 7.325873049831, 2.001912112959 +2091, 185.7935563555, 7.108187218137, 3.08573791856 +2092, 12.00364524205, 7.325873049831, 2.001912112959 +2093, 14.20644364446, 7.108187218137, 3.08573791856 +2094, 13.72778317309, 4.825873049831, 2.001912112959 +2095, 11.8100875076, 7.325795662974, 17.99875373101 +2096, 188.1899124924, 7.325795662974, 17.99875373101 +2097, 185.8288968463, 7.118563962041, 16.95612264299 +2098, 12.48436582679, 4.61592012623, 16.95612264299 +2099, 187.5156341732, 4.621207797852, 16.95612264299 +2100, 10.12335018072, 4.823151827163, 17.99875373101 +2101, 189.8766498193, 4.828439498785, 17.99875373101 +2102, 185.7935563555, 2.108187218137, 3.08573791856 +2103, 14.20644364446, 2.108187218137, 3.08573791856 +2104, 14.17110315367, 2.118563962041, 16.95612264299 +2105, 185.8288968463, 2.118563962041, 16.95612264299 +2106, 189.6830920848, 4.823229214021, 2.001912112959 +2107, 187.4802936824, 4.605543382326, 3.08573791856 +2108, 187.9963547579, 2.325873049831, 2.001912112959 +2109, 10.31690791517, 4.82322921402, 2.001912112959 +2110, 2.015561291299, 7.5, 18.17862032411 +2111, 4.453788385254, 7.454808954933, 18.17862032411 +2112, 2.438227093956, 4.815920066044, 17.5 +2113, 2.015561291299, 7.361111111111, 15.67862032411 +2114, 2.438227093956, 4.815920066044, 2.5 +2115, 2.015561291299, 7.361111111111, 4.321379675887 +2116, 2.015561291299, 7.5, 1.821379675887 +2117, 4.453788385254, 7.454808954933, 1.821379675887 +2118, 197.9844387087, 7.5, 1.821379675887 +2119, 195.5462116147, 7.454808954933, 1.821379675887 +2120, 197.561772906, 4.815920066044, 2.5 +2121, 197.9844387087, 7.361111111111, 4.321379675887 +2122, 197.561772906, 4.906302156179, 17.5 +2123, 195.5462116147, 7.545191045067, 18.17862032411 +2124, 197.9844387087, 7.361111111111, 15.67862032411 +2125, 197.9844387087, 7.5, 18.17862032411 +2126, 2.000019907965, 1.248579072621, 11.6775958658 +2127, 197.999980092, 1.248579072621, 8.344262532471 +2128, 2.000019907965, 8.748579072621, 11.6775958658 +2129, 197.999980092, 8.748579072621, 8.344262532471 +2130, 6.770664292087, 7.454808954933, 2.075216263455 +2131, 4.982948975373, 4.954808954933, 3.276164346462 +2132, 4.560283172716, 7.5, 5.097544022349 +2133, 193.2293357079, 7.454808954933, 2.075216263455 +2134, 195.4397168273, 7.5, 5.097544022349 +2135, 195.0170510246, 4.954808954933, 3.276164346462 +2136, 7.351762877422, 4.780604617907, 17.99875373101 +2137, 6.929097074765, 7.325795662974, 16.17737405513 +2138, 4.469311100429, 7.467287119694, 14.76500299091 +2139, 4.891976903087, 4.922096074627, 16.58638266679 +2140, 193.0709029252, 7.325795662974, 16.17737405513 +2141, 195.5306888996, 7.467287119694, 14.76500299091 +2142, 192.6482371226, 4.870986708042, 17.99875373101 +2143, 195.1080230969, 5.012478164762, 16.58638266679 +2144, 6.770664292087, 7.454808954933, 17.92478373655 +2145, 197.9844387087, 2.5, 18.17862032411 +2146, 197.9844387087, 2.361111111111, 15.67862032411 +2147, 195.5462116147, 2.545191045067, 18.17862032411 +2148, 193.2293357079, 2.454808954933, 2.075216263455 +2149, 195.4397168273, 2.5, 5.097544022349 +2150, 195.5462116147, 2.454808954933, 1.821379675887 +2151, 4.560283172716, 2.5, 5.097544022349 +2152, 4.453788385254, 2.454808954933, 1.821379675887 +2153, 6.770664292087, 2.454808954933, 2.075216263455 +2154, 193.2293357079, 7.545191045067, 17.92478373655 +2155, 4.453788385254, 2.454808954933, 18.17862032411 +2156, 2.015561291299, 2.5, 18.17862032411 +2157, 2.015561291299, 2.361111111111, 15.67862032411 +2158, 197.9844387087, 2.361111111111, 4.321379675887 +2159, 197.9844387087, 2.5, 1.821379675887 +2160, 2.015561291299, 2.361111111111, 4.321379675887 +2161, 2.015561291299, 2.5, 1.821379675887 +2162, 188.1899124924, 2.325795662974, 17.99875373101 +2163, 11.8100875076, 2.325795662974, 17.99875373101 +2164, 197.4552781186, 4.861111111111, 5.776164346462 +2165, 197.999980092, 3.609690183732, 7.510929199138 +2166, 197.7029066037, 2.361111111111, 6.198348782647 +2167, 193.0709029252, 2.325795662974, 16.17737405513 +2168, 195.5306888996, 2.467287119694, 14.76500299091 +2169, 12.00364524205, 2.325873049831, 2.001912112959 +2170, 6.929097074765, 2.325795662974, 16.17737405513 +2171, 4.469311100429, 2.467287119694, 14.76500299091 +2172, 197.4552781186, 7.5, 6.609497679795 +2173, 192.4546793881, 4.780682004764, 2.001912112959 +2174, 7.545320611869, 4.780682004764, 2.001912112959 +2175, 193.2293357079, 2.545191045067, 17.92478373655 +2176, 6.770664292087, 2.454808954933, 17.92478373655 +2177, 2.544721881418, 4.861111111111, 5.776164346462 +2178, 197.999980092, 8.748579072621, 11.6775958658 +2179, 197.999980092, 6.248579072621, 10.01092919914 +2180, 2.000019907965, 8.748579072621, 8.344262532471 +2181, 2.000019907965, 6.248579072621, 10.01092919914 +2182, 2.000019907965, 3.748579072621, 10.01092919914 +2183, 2.000019907965, 1.248579072621, 8.344262532471 +2184, 197.999980092, 1.248579072621, 11.6775958658 +2185, 197.999980092, 3.748579072621, 10.01092919914 +2186, 2.453749809131, 4.828398230806, 14.08638266679 +2187, 2.000019907965, 6.109690183732, 7.510929199138 +2188, 197.5462501909, 4.828398230806, 14.08638266679 +2189, 2.453749809131, 7.467287119694, 13.25304933346 +2190, 197.999980092, 6.109690183732, 12.51092919914 +2191, 2.544721881418, 7.5, 6.609497679795 +2192, 9.542251595389, 7.497356164189, 2.075216263455 +2193, 190.4577484046, 7.497356164189, 2.075216263455 +2194, 190.4577484046, 7.502643835811, 17.92478373655 +2195, 9.542251595389, 7.497356164189, 17.92478373655 +2196, 197.4552781186, 5, 8.276164346462 +2197, 2.544721881418, 5, 8.276164346462 +2198, 191.44463062, 7.325873049831, 2.001912112959 +2199, 8.555369379982, 7.325873049831, 2.001912112959 +2200, 197.999980092, 6.109690183732, 7.510929199138 +2201, 197.5462501909, 7.467287119694, 13.25304933346 +2202, 2.297093396293, 2.361111111111, 13.80165121735 +2203, 2.000019907965, 3.609690183732, 7.510929199138 +2204, 197.5462501909, 4.967287119694, 11.58638266679 +2205, 2.453749809131, 4.967287119694, 11.58638266679 +2206, 2.000019907965, 6.109690183732, 12.51092919914 +2207, 197.999980092, 3.609690183732, 12.51092919914 +2208, 191.44463062, 2.325873049831, 2.001912112959 +2209, 8.555369379982, 2.325873049831, 2.001912112959 +2210, 190.4577484046, 2.497356164189, 2.075216263455 +2211, 9.542251595389, 2.497356164189, 2.075216263455 +2212, 8.361811645535, 7.325795662974, 17.99875373101 +2213, 191.6381883545, 2.325795662974, 17.99875373101 +2214, 190.4577484046, 2.502643835811, 17.92478373655 +2215, 9.542251595389, 2.497356164189, 17.92478373655 +2216, 2.297093396293, 2.361111111111, 6.198348782647 +2217, 191.6381883545, 7.325795662974, 17.99875373101 +2218, 2.000019907965, 3.609690183732, 12.51092919914 +2219, 8.361811645535, 2.325795662974, 17.99875373101 +2220, 197.7029066037, 2.361111111111, 13.80165121735 +2221, 184.5088409393, 7.5, 17.3454944474 + + +** Volume elements +*Element, TYPE=C3D10, ELSET=Evolumes +975, 1261, 660, 636, 114, 1612, 952, 1611, 1614, 1613, 1615 +976, 98, 1259, 635, 659, 1618, 1616, 1617, 1620, 1619, 945 +977, 636, 1231, 1261, 114, 1621, 1534, 1611, 1615, 1622, 1614 +978, 98, 635, 1259, 1230, 1617, 1616, 1618, 1624, 1623, 1527 +979, 1231, 1262, 114, 661, 1533, 1625, 1622, 1627, 1626, 1628 +980, 114, 636, 1231, 661, 1615, 1621, 1622, 1628, 951, 1627 +981, 635, 1260, 98, 662, 1630, 1629, 1617, 944, 1631, 1632 +982, 98, 635, 1230, 1260, 1617, 1623, 1624, 1629, 1630, 1526 +983, 1261, 114, 1231, 1262, 1614, 1622, 1534, 1326, 1625, 1533 +984, 114, 660, 636, 661, 1613, 952, 1615, 1628, 736, 951 +985, 635, 98, 659, 662, 1617, 1620, 945, 944, 1632, 731 +986, 1259, 98, 1230, 1260, 1618, 1624, 1527, 1321, 1629, 1526 +987, 710, 1301, 1265, 1241, 1634, 1489, 1633, 1635, 1601, 1600 +988, 1266, 1241, 1302, 707, 1599, 1602, 1412, 1637, 1636, 1638 +989, 1301, 710, 678, 1241, 1634, 885, 1639, 1601, 1635, 1640 +990, 1302, 1241, 1267, 707, 1602, 1604, 1413, 1638, 1636, 1641 +991, 1261, 1298, 242, 245, 1364, 1642, 1643, 1645, 1644, 280 +992, 663, 1286, 689, 1238, 1647, 1646, 880, 1648, 1581, 1649 +993, 710, 1241, 1265, 646, 1635, 1600, 1633, 1020, 1650, 1651 +994, 1300, 190, 1260, 187, 1653, 1652, 1350, 1654, 225, 1655 +995, 1266, 646, 1241, 707, 1656, 1650, 1599, 1637, 1021, 1636 +996, 189, 192, 659, 98, 226, 1657, 1658, 203, 202, 1620 +997, 689, 1238, 1286, 1264, 1649, 1581, 1646, 1659, 1577, 1497 +998, 1241, 710, 678, 646, 1635, 885, 1640, 1650, 1020, 1022 +999, 646, 1267, 1241, 707, 1660, 1604, 1650, 1021, 1641, 1636 +1000, 1258, 692, 1280, 640, 1662, 1661, 1375, 1663, 979, 1664 +1001, 189, 659, 1259, 98, 1658, 1619, 1665, 203, 1620, 1618 +1002, 640, 1284, 1257, 696, 1667, 1453, 1666, 978, 1668, 1669 +1003, 1266, 1265, 1241, 646, 1583, 1600, 1599, 1656, 1651, 1650 +1004, 320, 678, 1301, 710, 1671, 1639, 1670, 1672, 885, 1634 +1005, 1285, 641, 1238, 665, 1674, 1673, 1580, 1675, 988, 1676 +1006, 317, 1265, 710, 1301, 1678, 1633, 1677, 1679, 1489, 1634 +1007, 678, 1267, 1241, 646, 1680, 1604, 1640, 1022, 1660, 1650 +1008, 1260, 635, 1296, 699, 1630, 1681, 1446, 1682, 942, 1683 +1009, 1242, 1304, 650, 638, 1608, 1684, 1685, 1687, 1686, 963 +1010, 693, 643, 1289, 1245, 1001, 1688, 1689, 1691, 1690, 1405 +1011, 651, 1290, 698, 1234, 1693, 1692, 891, 1694, 1554, 1695 +1012, 665, 1285, 641, 683, 1675, 1674, 988, 804, 1696, 986 +1013, 1259, 1295, 635, 701, 1368, 1697, 1616, 1699, 1698, 943 +1014, 1267, 1061, 1302, 707, 1701, 1700, 1413, 1641, 1702, 1638 +1015, 1066, 1259, 1299, 189, 1704, 1341, 1703, 1705, 1665, 1706 +1016, 635, 701, 659, 1259, 943, 751, 945, 1616, 1699, 1619 +1017, 636, 700, 1293, 661, 949, 1707, 1708, 951, 830, 1709 +1018, 708, 1236, 1246, 645, 1711, 1566, 1710, 1015, 1712, 1713 +1019, 1261, 1294, 636, 702, 1519, 1714, 1611, 1716, 1715, 950 +1020, 1235, 714, 1244, 647, 1718, 1717, 1563, 1719, 1026, 1720 +1021, 712, 1239, 1254, 648, 1722, 1585, 1721, 1032, 1723, 1724 +1022, 1303, 638, 1242, 653, 1725, 1687, 1607, 1726, 962, 1727 +1023, 636, 702, 660, 1261, 950, 852, 952, 1611, 1716, 1612 +1024, 1260, 662, 635, 699, 1631, 944, 1630, 1682, 931, 942 +1025, 1234, 643, 651, 1245, 1728, 999, 1694, 1552, 1690, 1729 +1026, 1239, 713, 1248, 648, 1731, 1730, 1587, 1723, 1033, 1732 +1027, 1236, 709, 1252, 645, 1734, 1733, 1565, 1712, 1014, 1735 +1028, 1260, 1296, 635, 1230, 1446, 1681, 1630, 1526, 1524, 1623 +1029, 1231, 1293, 1262, 661, 1532, 1441, 1533, 1627, 1709, 1626 +1030, 1293, 1231, 636, 661, 1532, 1621, 1708, 1709, 1627, 951 +1031, 711, 1235, 1253, 647, 1737, 1561, 1736, 1027, 1719, 1738 +1032, 1261, 636, 1294, 1231, 1611, 1714, 1519, 1534, 1621, 1531 +1033, 1259, 635, 1295, 1230, 1616, 1697, 1368, 1527, 1623, 1525 +1034, 1064, 1059, 697, 1276, 1135, 1739, 1740, 1742, 1741, 1743 +1035, 1284, 640, 676, 696, 1667, 981, 1744, 1668, 978, 922 +1036, 657, 1230, 635, 655, 1745, 1623, 939, 940, 1746, 941 +1037, 639, 1255, 658, 1256, 1748, 1747, 969, 1749, 1529, 1750 +1038, 658, 1231, 636, 1256, 1751, 1621, 946, 1750, 1528, 1752 +1039, 655, 657, 1257, 640, 940, 1753, 1754, 977, 976, 1666 +1040, 1238, 1285, 1263, 641, 1580, 1419, 1579, 1673, 1674, 1755 +1041, 639, 1256, 658, 656, 1749, 1750, 969, 970, 1756, 947 +1042, 1257, 657, 1258, 640, 1753, 1757, 1521, 1666, 976, 1663 +1043, 322, 323, 1278, 694, 380, 1758, 1759, 1761, 1760, 1762 +1044, 1267, 678, 1234, 643, 1680, 1763, 1557, 1764, 1003, 1728 +1045, 1055, 690, 1058, 1279, 1766, 1765, 1123, 1768, 1767, 1769 +1046, 686, 1055, 1057, 1279, 1771, 1120, 1770, 1772, 1768, 1773 +1047, 1304, 695, 650, 638, 1774, 874, 1684, 1686, 964, 963 +1048, 1275, 316, 313, 684, 1776, 392, 1775, 1778, 1777, 1779 +1049, 308, 1275, 313, 685, 1780, 1775, 395, 1782, 1781, 1783 +1050, 1268, 698, 1290, 1234, 1784, 1692, 1486, 1555, 1695, 1554 +1051, 1263, 641, 1285, 683, 1755, 1674, 1419, 1785, 986, 1696 +1052, 1238, 663, 1286, 1265, 1648, 1647, 1581, 1584, 1786, 1494 +1053, 1285, 1238, 1266, 665, 1580, 1582, 1416, 1675, 1676, 1787 +1054, 652, 651, 643, 1245, 991, 999, 998, 1788, 1729, 1690 +1055, 1240, 1255, 639, 1256, 1598, 1748, 1789, 1597, 1529, 1749 +1056, 653, 1303, 638, 691, 1726, 1725, 962, 810, 1790, 965 +1057, 710, 1265, 663, 646, 1633, 1786, 884, 1020, 1651, 1019 +1058, 639, 687, 1256, 656, 971, 1791, 1749, 970, 824, 1756 +1059, 1064, 1289, 693, 1060, 1793, 1689, 1792, 1138, 1794, 1795 +1060, 1062, 1069, 709, 1281, 1129, 1796, 1797, 1799, 1798, 1800 +1061, 698, 322, 321, 1290, 1802, 377, 1801, 1692, 1803, 1804 +1062, 655, 640, 1257, 696, 977, 1666, 1754, 925, 978, 1669 +1063, 642, 651, 652, 1245, 992, 991, 990, 1805, 1729, 1788 +1064, 1292, 1254, 712, 1239, 1508, 1721, 1806, 1589, 1585, 1722 +1065, 651, 1234, 698, 643, 1694, 1695, 891, 999, 1728, 1000 +1066, 692, 1258, 657, 640, 1662, 1757, 759, 979, 1663, 976 +1067, 651, 1245, 642, 1250, 1729, 1805, 992, 1807, 1544, 1808 +1068, 688, 658, 639, 1255, 860, 969, 972, 1809, 1747, 1748 +1069, 1289, 1064, 693, 1245, 1793, 1792, 1689, 1405, 1810, 1691 +1070, 1234, 1245, 651, 1250, 1552, 1729, 1694, 1551, 1544, 1807 +1071, 1289, 673, 643, 693, 1811, 1004, 1688, 1689, 796, 1001 +1072, 1237, 1257, 1258, 640, 1576, 1521, 1575, 1812, 1666, 1663 +1073, 1266, 665, 646, 707, 1787, 1018, 1656, 1637, 799, 1021 +1074, 1270, 1239, 675, 638, 1591, 1813, 1814, 1816, 1815, 967 +1075, 643, 693, 652, 1245, 1001, 793, 998, 1690, 1691, 1788 +1076, 643, 1234, 1289, 1245, 1728, 1553, 1688, 1690, 1552, 1405 +1077, 651, 322, 698, 1290, 1817, 1802, 891, 1693, 1803, 1692 +1078, 1239, 1291, 1248, 713, 1588, 1430, 1587, 1731, 1818, 1730 +1079, 1270, 1269, 1239, 638, 1590, 1592, 1591, 1816, 1819, 1815 +1080, 695, 314, 312, 1304, 1821, 362, 1820, 1774, 1822, 1823 +1081, 675, 638, 1239, 671, 967, 1815, 1813, 966, 968, 1824 +1082, 1304, 1242, 1270, 638, 1608, 1609, 1502, 1686, 1687, 1816 +1083, 309, 1277, 307, 714, 1826, 1825, 401, 1828, 1827, 1829 +1084, 1056, 1068, 711, 1283, 1114, 1830, 1831, 1833, 1832, 1834 +1085, 1282, 318, 319, 708, 1836, 386, 1835, 1838, 1837, 1839 +1086, 1303, 691, 1072, 1073, 1790, 1840, 1841, 1843, 1842, 1153 +1087, 638, 1269, 1239, 671, 1819, 1592, 1815, 968, 1844, 1824 +1088, 710, 320, 317, 1301, 1672, 371, 1677, 1634, 1670, 1679 +1089, 678, 1268, 1301, 1241, 1845, 1491, 1639, 1640, 1603, 1601 +1090, 310, 712, 311, 1292, 1847, 1846, 356, 1848, 1806, 1849 +1091, 657, 1257, 1230, 655, 1753, 1523, 1745, 940, 1754, 1746 +1092, 688, 1288, 306, 1255, 1852, 1850, 1851, 1809, 1514, 1853 +1093, 713, 1291, 1074, 1079, 1818, 1854, 1855, 1857, 1856, 1159 +1094, 1302, 1061, 1077, 707, 1700, 1144, 1858, 1638, 1702, 1859 +1095, 663, 1238, 689, 641, 1648, 1649, 880, 989, 1673, 985 +1096, 1230, 657, 1258, 1257, 1745, 1757, 1522, 1523, 1753, 1521 +1097, 1234, 1268, 678, 1267, 1555, 1845, 1763, 1557, 1556, 1680 +1098, 643, 1267, 678, 673, 1764, 1680, 1003, 1004, 1860, 1002 +1099, 658, 1256, 636, 656, 1750, 1752, 946, 947, 1756, 948 +1100, 651, 1250, 642, 694, 1807, 1808, 992, 894, 1861, 993 +1101, 1231, 658, 1255, 1256, 1751, 1747, 1530, 1528, 1750, 1529 +1102, 1075, 1256, 1287, 687, 1863, 1436, 1862, 1864, 1791, 1865 +1103, 697, 642, 652, 1245, 994, 990, 790, 1866, 1805, 1788 +1104, 1280, 1237, 1258, 640, 1574, 1575, 1375, 1664, 1812, 1663 +1105, 1064, 1276, 697, 1245, 1742, 1743, 1740, 1810, 1402, 1866 +1106, 650, 1263, 1242, 653, 1867, 1606, 1685, 961, 1868, 1727 +1107, 1282, 1236, 1246, 708, 1567, 1566, 1474, 1838, 1711, 1710 +1108, 1235, 1277, 1244, 714, 1564, 1459, 1563, 1718, 1827, 1717 +1109, 1234, 678, 698, 643, 1763, 888, 1695, 1728, 1003, 1000 +1110, 695, 1304, 1270, 638, 1774, 1502, 1869, 964, 1686, 1816 +1111, 709, 1252, 1281, 1236, 1733, 1396, 1800, 1734, 1565, 1570 +1112, 692, 1280, 1071, 1258, 1661, 1870, 1871, 1662, 1375, 1872 +1113, 1254, 1248, 669, 648, 1586, 1873, 1874, 1724, 1732, 1031 +1114, 1238, 641, 663, 665, 1673, 989, 1648, 1676, 988, 987 +1115, 1277, 309, 1244, 714, 1826, 1875, 1459, 1827, 1828, 1717 +1116, 663, 315, 689, 1286, 1877, 1876, 880, 1647, 1878, 1646 +1117, 1246, 318, 1282, 708, 1879, 1836, 1474, 1710, 1837, 1838 +1118, 1290, 1234, 651, 1250, 1554, 1694, 1693, 1483, 1551, 1807 +1119, 700, 636, 1293, 656, 949, 1708, 1707, 827, 948, 1880 +1120, 1285, 683, 665, 1078, 1696, 804, 1675, 1882, 1881, 1883 +1121, 1239, 712, 675, 648, 1722, 868, 1813, 1723, 1032, 1034 +1122, 1242, 1303, 1269, 638, 1607, 1424, 1610, 1687, 1725, 1819 +1123, 673, 1267, 646, 707, 1860, 1660, 1023, 801, 1641, 1021 +1124, 655, 1296, 635, 699, 1884, 1681, 941, 928, 1683, 942 +1125, 1279, 1057, 686, 1243, 1773, 1770, 1772, 1387, 1885, 1886 +1126, 1247, 316, 1275, 684, 1887, 1776, 1468, 1888, 1777, 1778 +1127, 648, 1239, 713, 671, 1723, 1731, 1033, 1035, 1824, 818 +1128, 1233, 642, 1245, 1250, 1889, 1805, 1545, 1543, 1808, 1544 +1129, 303, 1257, 1284, 696, 1891, 1453, 1890, 1892, 1669, 1668 +1130, 658, 702, 636, 1294, 857, 950, 946, 1893, 1715, 1714 +1131, 1269, 638, 1303, 691, 1819, 1725, 1424, 1894, 965, 1790 +1132, 701, 635, 657, 1295, 943, 939, 756, 1698, 1697, 1895 +1133, 1292, 712, 675, 1239, 1806, 868, 1896, 1589, 1722, 1813 +1134, 1293, 1256, 636, 1231, 1439, 1752, 1708, 1532, 1528, 1621 +1135, 1303, 653, 1072, 691, 1726, 1897, 1841, 1790, 810, 1840 +1136, 1238, 1264, 689, 641, 1577, 1659, 1649, 1673, 1898, 985 +1137, 314, 695, 650, 1304, 1821, 874, 1899, 1822, 1774, 1684 +1138, 650, 1264, 1242, 1263, 1900, 1605, 1685, 1867, 1578, 1606 +1139, 1253, 711, 1283, 1235, 1736, 1834, 1381, 1561, 1737, 1560 +1140, 1248, 670, 669, 648, 1901, 973, 1873, 1732, 1030, 1031 +1141, 1237, 1284, 1257, 640, 1573, 1453, 1576, 1812, 1667, 1666 +1142, 1241, 678, 1268, 1267, 1640, 1845, 1603, 1604, 1680, 1556 +1143, 712, 1292, 310, 1254, 1806, 1848, 1847, 1721, 1508, 1902 +1144, 690, 1055, 649, 1279, 1766, 1903, 776, 1767, 1768, 1904 +1145, 649, 1055, 686, 1279, 1903, 1771, 773, 1904, 1768, 1772 +1146, 1275, 684, 313, 654, 1778, 1779, 1775, 1905, 908, 1906 +1147, 685, 1275, 313, 654, 1781, 1775, 1783, 911, 1905, 1906 +1148, 1265, 1266, 663, 646, 1583, 1907, 1786, 1651, 1656, 1019 +1149, 663, 1265, 1238, 1266, 1786, 1584, 1648, 1907, 1583, 1582 +1150, 663, 646, 1266, 665, 1019, 1656, 1907, 987, 1018, 1787 +1151, 663, 1266, 1238, 665, 1907, 1582, 1648, 987, 1787, 1676 +1152, 1230, 1296, 635, 655, 1524, 1681, 1623, 1746, 1884, 941 +1153, 646, 678, 1267, 673, 1022, 1680, 1660, 1023, 1002, 1860 +1154, 658, 1294, 636, 1231, 1893, 1714, 946, 1751, 1531, 1621 +1155, 1234, 1289, 1267, 643, 1553, 1408, 1557, 1728, 1688, 1764 +1156, 1291, 713, 1239, 671, 1818, 1731, 1588, 1908, 818, 1824 +1157, 709, 1236, 664, 645, 1734, 1909, 783, 1014, 1712, 1013 +1158, 1236, 708, 666, 645, 1711, 900, 1910, 1712, 1015, 1012 +1159, 1291, 1074, 1248, 713, 1854, 1911, 1430, 1818, 1855, 1730 +1160, 668, 1235, 711, 647, 1912, 1737, 765, 1024, 1719, 1027 +1161, 657, 1295, 635, 1230, 1895, 1697, 939, 1745, 1525, 1623 +1162, 714, 1235, 667, 647, 1718, 1913, 918, 1026, 1719, 1025 +1163, 1064, 652, 693, 1245, 1914, 793, 1792, 1810, 1788, 1691 +1164, 322, 1278, 1250, 694, 1759, 1480, 1915, 1761, 1762, 1861 +1165, 649, 1279, 686, 1243, 1904, 1772, 773, 1916, 1387, 1886 +1166, 1247, 684, 1275, 654, 1888, 1778, 1468, 1917, 908, 1905 +1167, 1062, 1281, 709, 1252, 1799, 1800, 1797, 1918, 1396, 1733 +1168, 1268, 678, 698, 1234, 1845, 888, 1784, 1555, 1763, 1695 +1169, 1287, 687, 1240, 670, 1865, 1919, 1595, 1920, 821, 1921 +1170, 1238, 1263, 1264, 641, 1579, 1578, 1577, 1673, 1755, 1898 +1171, 689, 1286, 315, 1264, 1646, 1878, 1876, 1659, 1497, 1922 +1172, 672, 676, 1237, 640, 980, 1923, 1924, 982, 981, 1812 +1173, 1058, 1279, 690, 1249, 1769, 1767, 1765, 1925, 1390, 1926 +1174, 1263, 683, 1285, 1078, 1785, 1696, 1419, 1927, 1881, 1882 +1175, 641, 1263, 650, 653, 1755, 1867, 984, 983, 1868, 961 +1176, 1275, 308, 1251, 685, 1780, 1928, 1465, 1781, 1782, 1929 +1177, 669, 1288, 688, 1240, 1930, 1852, 863, 1931, 1596, 1932 +1178, 649, 1243, 686, 637, 1916, 1886, 773, 955, 1933, 956 +1179, 1070, 661, 1293, 700, 1935, 1709, 1934, 1936, 830, 1707 +1180, 300, 1260, 1296, 699, 1938, 1446, 1937, 1939, 1682, 1683 +1181, 701, 1295, 1067, 1259, 1698, 1940, 1941, 1699, 1368, 1942 +1182, 702, 1294, 297, 1261, 1715, 1943, 1944, 1716, 1519, 1945 +1183, 672, 1244, 1237, 676, 1946, 1572, 1924, 980, 1947, 1923 +1184, 1254, 669, 712, 648, 1874, 867, 1721, 1724, 1031, 1032 +1185, 1276, 677, 697, 1233, 1948, 787, 1743, 1546, 1949, 1950 +1186, 1067, 659, 701, 1259, 1951, 751, 1941, 1942, 1619, 1699 +1187, 297, 660, 702, 1261, 1952, 852, 1944, 1945, 1612, 1716 +1188, 1303, 1242, 1263, 653, 1607, 1606, 1422, 1726, 1727, 1868 +1189, 650, 1304, 1242, 1264, 1684, 1608, 1685, 1900, 1501, 1605 +1190, 1240, 669, 1254, 1248, 1931, 1874, 1593, 1594, 1873, 1586 +1191, 1246, 677, 1233, 674, 1953, 1949, 1549, 1954, 995, 1955 +1192, 1249, 649, 690, 644, 1956, 776, 1926, 1957, 1006, 1007 +1193, 1247, 644, 684, 654, 1958, 1008, 1888, 1917, 1005, 908 +1194, 697, 652, 1064, 1245, 790, 1914, 1740, 1866, 1788, 1810 +1195, 711, 1283, 1068, 1253, 1834, 1832, 1830, 1736, 1381, 1959 +1196, 1240, 687, 639, 670, 1919, 971, 1789, 1921, 821, 974 +1197, 670, 1248, 713, 648, 1901, 1730, 816, 1030, 1732, 1033 +1198, 300, 662, 1260, 699, 1960, 1631, 1938, 1939, 931, 1682 +1199, 1070, 1293, 661, 1262, 1934, 1709, 1935, 1961, 1441, 1626 +1200, 1256, 687, 1075, 656, 1791, 1864, 1863, 1756, 824, 1962 +1201, 1244, 676, 672, 647, 1947, 980, 1946, 1720, 1028, 1029 +1202, 676, 1284, 1237, 640, 1744, 1573, 1923, 981, 1667, 1812 +1203, 1264, 1263, 650, 641, 1578, 1867, 1900, 1898, 1755, 984 +1204, 698, 1290, 321, 1268, 1692, 1804, 1801, 1784, 1486, 1963 +1205, 677, 674, 1246, 645, 995, 1954, 1953, 1016, 1017, 1713 +1206, 685, 637, 1251, 654, 957, 1964, 1929, 911, 954, 1965 +1207, 669, 1248, 1240, 670, 1873, 1594, 1931, 973, 1901, 1921 +1208, 677, 1246, 1252, 645, 1953, 1548, 1966, 1016, 1713, 1735 +1209, 1233, 1252, 677, 1246, 1547, 1966, 1949, 1549, 1548, 1953 +1210, 1267, 643, 1289, 673, 1764, 1688, 1408, 1860, 1004, 1811 +1211, 1293, 636, 1256, 656, 1708, 1752, 1439, 1880, 948, 1756 +1212, 642, 697, 677, 1233, 994, 787, 996, 1889, 1950, 1949 +1213, 1290, 651, 322, 1250, 1693, 1817, 1803, 1483, 1807, 1915 +1214, 1242, 638, 650, 653, 1687, 963, 1685, 1727, 962, 961 +1215, 688, 306, 658, 1255, 1851, 1967, 860, 1809, 1853, 1747 +1216, 1248, 1254, 1239, 648, 1586, 1585, 1587, 1732, 1724, 1723 +1217, 642, 1233, 677, 674, 1889, 1949, 996, 997, 1955, 995 +1218, 1279, 649, 690, 1249, 1904, 776, 1767, 1390, 1956, 1926 +1219, 1253, 1244, 672, 647, 1562, 1946, 1968, 1738, 1720, 1029 +1220, 685, 1251, 1275, 654, 1929, 1465, 1781, 911, 1965, 1905 +1221, 1250, 651, 322, 694, 1807, 1817, 1915, 1861, 894, 1761 +1222, 1237, 672, 1253, 1244, 1924, 1968, 1571, 1572, 1946, 1562 +1223, 1296, 1230, 1257, 655, 1524, 1523, 1450, 1884, 1746, 1754 +1224, 709, 1281, 664, 1236, 1800, 1969, 783, 1734, 1570, 1909 +1225, 658, 1255, 1294, 1231, 1747, 1517, 1893, 1751, 1530, 1531 +1226, 1284, 676, 303, 696, 1744, 1970, 1890, 1668, 922, 1892 +1227, 672, 1071, 692, 1280, 1971, 1871, 762, 1972, 1870, 1661 +1228, 669, 688, 639, 1240, 863, 972, 975, 1931, 1932, 1789 +1229, 673, 693, 1289, 1060, 796, 1689, 1811, 1973, 1795, 1794 +1230, 657, 1258, 1295, 1230, 1757, 1372, 1895, 1745, 1522, 1525 +1231, 1233, 694, 1278, 674, 1974, 1762, 1550, 1955, 897, 1975 +1232, 1296, 655, 305, 699, 1884, 1976, 1977, 1683, 928, 1978 +1233, 700, 1293, 1080, 656, 1707, 1979, 1980, 827, 1880, 1981 +1234, 1243, 649, 1232, 637, 1916, 1982, 1537, 1933, 955, 1983 +1235, 657, 1063, 701, 1295, 1985, 1984, 756, 1895, 1986, 1698 +1236, 1244, 714, 676, 647, 1717, 919, 1947, 1720, 1026, 1028 +1237, 1282, 666, 1236, 708, 1987, 1910, 1567, 1838, 900, 1711 +1238, 1240, 639, 669, 670, 1789, 975, 1931, 1921, 974, 973 +1239, 668, 1283, 711, 1235, 1988, 1834, 765, 1912, 1560, 1737 +1240, 658, 304, 702, 1294, 1990, 1989, 857, 1893, 1991, 1715 +1241, 1235, 667, 1277, 714, 1913, 1992, 1564, 1718, 918, 1827 +1242, 1059, 1062, 677, 1276, 1132, 1993, 1994, 1741, 1995, 1948 +1243, 677, 1252, 709, 645, 1966, 1733, 784, 1016, 1735, 1014 +1244, 644, 1247, 1232, 654, 1958, 1541, 1996, 1005, 1917, 1997 +1245, 649, 1249, 1232, 644, 1956, 1540, 1982, 1006, 1957, 1996 +1246, 1253, 672, 711, 647, 1968, 767, 1736, 1738, 1029, 1027 +1247, 694, 1233, 642, 674, 1974, 1889, 993, 897, 1955, 997 +1248, 708, 1246, 674, 645, 1710, 1954, 902, 1015, 1713, 1017 +1249, 1247, 1249, 1236, 644, 1539, 1568, 1569, 1958, 1957, 1998 +1250, 1071, 672, 1068, 1280, 1971, 1999, 1111, 1870, 1972, 2000 +1251, 1251, 637, 1232, 654, 1964, 1983, 1536, 1965, 954, 1997 +1252, 1235, 1243, 1251, 637, 1559, 1535, 1558, 2001, 1933, 1964 +1253, 303, 1284, 309, 676, 1890, 2002, 404, 1970, 1744, 2003 +1254, 1059, 677, 697, 1276, 1994, 787, 1739, 1741, 1948, 1743 +1255, 1075, 687, 1287, 670, 1864, 1865, 1862, 2004, 821, 1920 +1256, 1075, 1287, 1074, 670, 1862, 2005, 1162, 2004, 1920, 2006 +1257, 1243, 1235, 668, 637, 1559, 1912, 2007, 1933, 2001, 959 +1258, 669, 306, 688, 1288, 2008, 1851, 863, 1930, 1850, 1852 +1259, 1236, 666, 1247, 644, 1910, 2009, 1569, 1998, 1010, 1958 +1260, 306, 669, 310, 1288, 2008, 2010, 353, 1850, 1930, 2011 +1261, 649, 1232, 1279, 1243, 1982, 1538, 1904, 1916, 1537, 1387 +1262, 664, 1236, 1249, 644, 1909, 1568, 2012, 1011, 1998, 1957 +1263, 323, 318, 1278, 674, 383, 2013, 1758, 2015, 2014, 1975 +1264, 664, 1069, 1058, 1281, 2017, 1126, 2016, 1969, 1798, 2018 +1265, 1275, 1232, 1247, 654, 1542, 1541, 1468, 1905, 1997, 1917 +1266, 689, 315, 314, 1264, 1876, 365, 2019, 1659, 1922, 2020 +1267, 1284, 1237, 1244, 676, 1573, 1572, 1456, 1744, 1923, 1947 +1268, 683, 1263, 1072, 1078, 1785, 2021, 2022, 1881, 1927, 1150 +1269, 1235, 637, 1251, 667, 2001, 1964, 1558, 1913, 960, 2023 +1270, 1286, 663, 315, 1265, 1647, 1877, 1878, 1494, 1786, 2024 +1271, 1285, 665, 1266, 1078, 1675, 1787, 1416, 1882, 1883, 2025 +1272, 1279, 1232, 649, 1249, 1538, 1982, 1904, 1390, 1540, 1956 +1273, 1232, 1275, 1251, 654, 1542, 1465, 1536, 1997, 1905, 1965 +1274, 1256, 1075, 1080, 656, 1863, 1165, 2026, 1756, 1962, 1981 +1275, 658, 306, 304, 1255, 1967, 350, 1990, 1747, 1853, 2027 +1276, 1057, 1056, 668, 1283, 1117, 2028, 2029, 2030, 1833, 1988 +1277, 307, 1277, 308, 667, 1825, 2031, 398, 2032, 1992, 2033 +1278, 319, 316, 1282, 666, 389, 2034, 1835, 2036, 2035, 1987 +1279, 320, 1301, 678, 1268, 1670, 1639, 1671, 2037, 1491, 1845 +1280, 691, 1303, 1269, 1073, 1790, 1424, 1894, 1842, 1843, 2038 +1281, 1264, 650, 689, 641, 1900, 877, 1659, 1898, 984, 985 +1282, 1278, 694, 323, 674, 1762, 1760, 1758, 1975, 897, 2015 +1283, 311, 712, 675, 1292, 1846, 868, 2039, 1849, 1806, 1896 +1284, 1270, 695, 312, 1304, 1869, 1820, 2040, 1502, 1774, 1823 +1285, 660, 302, 242, 1261, 2043, 2041, 2042, 1612, 2044, 1643 +1286, 1256, 1080, 1293, 656, 2026, 1979, 1439, 1756, 1981, 1880 +1287, 321, 678, 698, 1268, 2045, 888, 1801, 1963, 1845, 1784 +1288, 1244, 1253, 1235, 647, 1562, 1561, 1563, 1720, 1738, 1719 +1289, 1057, 668, 686, 1243, 2029, 770, 1770, 1885, 2007, 1886 +1290, 1252, 1246, 1236, 645, 1548, 1566, 1565, 1735, 1713, 1712 +1291, 316, 684, 1247, 666, 1777, 1888, 1887, 2035, 905, 2009 +1292, 672, 1253, 1280, 1237, 1968, 1378, 1972, 1924, 1571, 1574 +1293, 1294, 658, 304, 1255, 1893, 1990, 1991, 1517, 1747, 2027 +1294, 1257, 305, 1296, 655, 2046, 1977, 1450, 1754, 1976, 1884 +1295, 1263, 653, 641, 683, 1868, 983, 1755, 1785, 807, 986 +1296, 1244, 309, 1284, 676, 1875, 2002, 1456, 1947, 2003, 1744 +1297, 1276, 1252, 677, 1233, 1399, 1966, 1948, 1546, 1547, 1949 +1298, 664, 666, 1236, 644, 1009, 1910, 1909, 1011, 1010, 1998 +1299, 1267, 673, 1061, 707, 1860, 2047, 1701, 1641, 801, 1702 +1300, 1057, 1283, 668, 1243, 2030, 1988, 2029, 1885, 1384, 2007 +1301, 316, 1247, 1282, 666, 1887, 1471, 2034, 2035, 2009, 1987 +1302, 668, 637, 1235, 667, 959, 2001, 1912, 958, 960, 1913 +1303, 660, 297, 302, 1261, 1952, 344, 2043, 1612, 1945, 2044 +1304, 659, 1067, 1066, 1259, 1951, 1102, 2048, 1619, 1942, 1704 +1305, 1063, 1295, 657, 1258, 1986, 1895, 1985, 2049, 1372, 1757 +1306, 710, 317, 663, 1265, 1677, 2050, 884, 1633, 1678, 1786 +1307, 1298, 242, 302, 1261, 1642, 2041, 2051, 1364, 1643, 2044 +1308, 1233, 1278, 1246, 674, 1550, 1477, 1549, 1955, 1975, 1954 +1309, 1287, 1240, 1248, 670, 1595, 1594, 1433, 1920, 1921, 1901 +1310, 669, 1254, 1288, 1240, 1874, 1511, 1930, 1931, 1593, 1596 +1311, 671, 1291, 713, 1079, 1908, 1818, 818, 2052, 1856, 1857 +1312, 318, 1246, 1278, 674, 1879, 1477, 2013, 2014, 1954, 1975 +1313, 1069, 664, 709, 1281, 2017, 783, 1796, 1798, 1969, 1800 +1314, 649, 644, 1232, 654, 1006, 1996, 1982, 953, 1005, 1997 +1315, 1232, 637, 649, 654, 1983, 955, 1982, 1997, 954, 953 +1316, 1276, 1062, 677, 1252, 1995, 1993, 1948, 1399, 1918, 1966 +1317, 1247, 1232, 1249, 644, 1541, 1540, 1539, 1958, 1996, 1957 +1318, 676, 1244, 309, 714, 1947, 1875, 2003, 919, 1717, 1828 +1319, 1232, 1251, 1243, 637, 1536, 1535, 1537, 1983, 1964, 1933 +1320, 1248, 1074, 1287, 670, 1911, 2005, 1433, 1901, 2006, 1920 +1321, 1280, 672, 1068, 1253, 1972, 1999, 2000, 1378, 1968, 1959 +1322, 705, 242, 660, 302, 2053, 2042, 854, 2054, 2041, 2043 +1323, 706, 192, 659, 1066, 2055, 1657, 753, 2057, 2056, 2048 +1324, 1260, 299, 1300, 187, 2059, 2058, 1350, 1655, 2060, 1654 +1325, 299, 187, 1260, 662, 2060, 1655, 2059, 2062, 2061, 1631 +1326, 1246, 674, 318, 708, 1954, 2014, 1879, 1710, 902, 1837 +1327, 1267, 673, 1289, 1060, 1860, 1811, 1408, 2063, 1973, 1794 +1328, 1288, 669, 310, 1254, 1930, 2010, 2011, 1511, 1874, 1902 +1329, 1242, 1269, 1270, 638, 1610, 1590, 1609, 1687, 1819, 1816 +1330, 1281, 1058, 664, 1249, 2018, 2016, 1969, 1393, 1925, 2012 +1331, 1262, 1070, 1081, 661, 1961, 1171, 2064, 1626, 1935, 2065 +1332, 1260, 300, 299, 662, 1938, 413, 2059, 1631, 1960, 2062 +1333, 1239, 648, 675, 671, 1723, 1034, 1813, 1824, 1035, 966 +1334, 314, 650, 689, 1264, 1899, 877, 2019, 2020, 1900, 1659 +1335, 1262, 661, 1081, 247, 1626, 2065, 2064, 2067, 2066, 2068 +1336, 653, 1263, 1072, 683, 1868, 2021, 1897, 807, 1785, 2022 +1337, 319, 666, 1282, 708, 2036, 1987, 1835, 1839, 900, 1838 +1338, 711, 668, 1056, 1283, 765, 2028, 1831, 1834, 1988, 1833 +1339, 1277, 667, 307, 714, 1992, 2032, 1825, 1827, 918, 1829 +1340, 690, 664, 1058, 1249, 779, 2016, 1765, 1926, 2012, 1925 +1341, 1251, 308, 1277, 667, 1928, 2031, 1462, 2023, 2033, 1992 +1342, 1251, 685, 308, 667, 1929, 1782, 1928, 2023, 914, 2033 +1343, 1243, 668, 686, 637, 2007, 770, 1886, 1933, 959, 956 +1344, 187, 662, 299, 703, 2061, 2062, 2060, 2069, 933, 2070 +1345, 1081, 661, 704, 247, 2065, 832, 2071, 2068, 2066, 2072 +1346, 664, 1249, 690, 644, 2012, 1926, 779, 1011, 1957, 1007 +1347, 1247, 666, 684, 644, 2009, 905, 1888, 1958, 1010, 1008 +1348, 1270, 675, 695, 638, 1814, 871, 1869, 1816, 967, 964 +1349, 1251, 637, 685, 667, 1964, 957, 1929, 2023, 960, 914 +1350, 1296, 305, 300, 699, 1977, 410, 1937, 1683, 1978, 1939 +1351, 701, 1063, 1067, 1295, 1984, 1105, 1941, 1698, 1986, 1940 +1352, 1062, 709, 677, 1252, 1797, 784, 1993, 1918, 1733, 1966 +1353, 1292, 1239, 675, 1270, 1589, 1813, 1896, 1505, 1591, 1814 +1354, 314, 1304, 650, 1264, 1822, 1684, 1899, 2020, 1501, 1900 +1355, 1263, 1072, 1303, 653, 2021, 1841, 1422, 1868, 1897, 1726 +1356, 1068, 672, 711, 1253, 1999, 767, 1830, 1959, 1968, 1736 +1357, 311, 675, 312, 1270, 2039, 2073, 359, 2074, 1814, 2040 +1358, 320, 678, 321, 1268, 1671, 2045, 374, 2037, 1845, 1963 +1359, 310, 669, 712, 1254, 2010, 867, 1847, 1902, 1874, 1721 +1360, 1070, 1293, 1080, 700, 1934, 1979, 1168, 1936, 1707, 1980 +1361, 702, 304, 297, 1294, 1989, 347, 1944, 1715, 1991, 1943 +1362, 1269, 671, 638, 691, 1844, 968, 1819, 1894, 813, 965 +1363, 1291, 1239, 1269, 671, 1588, 1592, 1427, 1908, 1824, 1844 +1364, 713, 1074, 1248, 670, 1855, 1911, 1730, 816, 2006, 1901 +1365, 1249, 664, 1281, 1236, 2012, 1969, 1393, 1568, 1909, 1570 +1366, 1236, 1282, 1247, 666, 1567, 1471, 1569, 1910, 1987, 2009 +1367, 311, 1292, 675, 1270, 1849, 1896, 2039, 2074, 1505, 1814 +1368, 668, 1243, 1283, 1235, 2007, 1384, 1988, 1912, 1559, 1560 +1369, 1073, 1269, 671, 1079, 2038, 1844, 2075, 1156, 2076, 2052 +1370, 673, 1267, 1061, 1060, 1860, 1701, 2047, 1973, 2063, 1141 +1371, 312, 675, 695, 1270, 2073, 871, 1820, 2040, 1814, 1869 +1372, 691, 1269, 671, 1073, 1894, 1844, 813, 1842, 2038, 2075 +1373, 1251, 1277, 1235, 667, 1462, 1564, 1558, 2023, 1992, 1913 +1374, 666, 664, 1236, 645, 1009, 1909, 1910, 1012, 1013, 1712 +1375, 668, 667, 1235, 647, 958, 1913, 1912, 1024, 1025, 1719 +1376, 1291, 671, 1269, 1079, 1908, 1844, 1427, 1856, 2052, 2076 +1377, 317, 315, 663, 1265, 368, 1877, 2050, 1678, 2024, 1786 +1378, 1266, 665, 1077, 1078, 1787, 2077, 2078, 2025, 1883, 1147 +1379, 491, 706, 659, 1066, 745, 753, 752, 1098, 2057, 2048 +1380, 660, 14, 705, 302, 853, 846, 854, 2043, 340, 2054 +1381, 155, 1298, 302, 1261, 1518, 2051, 468, 1520, 1364, 2044 +1382, 561, 1299, 1066, 1259, 1365, 1703, 1178, 1369, 1341, 1704 +1383, 299, 703, 662, 37, 2070, 933, 2062, 411, 930, 932 +1384, 696, 303, 305, 35, 1892, 407, 2079, 920, 403, 405 +1385, 514, 704, 1081, 661, 829, 2071, 1169, 831, 832, 2065 +1386, 1260, 132, 1300, 299, 1447, 1443, 1350, 2059, 421, 2058 +1387, 1262, 584, 1297, 1081, 1442, 1440, 1355, 2064, 1227, 2080 +1388, 692, 1071, 493, 1063, 1871, 1106, 758, 2081, 1108, 1104 +1389, 1287, 1074, 581, 1075, 2005, 1218, 1431, 1862, 1162, 1221 +1390, 1071, 563, 1063, 1258, 1185, 1182, 1108, 1872, 1371, 2049 +1391, 1062, 570, 1069, 1281, 1199, 1196, 1129, 1799, 1392, 1798 +1392, 1059, 571, 1062, 1276, 1201, 1198, 1132, 1741, 1397, 1995 +1393, 569, 1058, 1069, 1281, 1194, 1126, 1197, 1391, 2018, 1798 +1394, 322, 143, 1278, 323, 444, 1475, 1759, 380, 443, 1758 +1395, 1071, 1280, 563, 1258, 1870, 1373, 1185, 1872, 1375, 1371 +1396, 306, 1288, 153, 1255, 1850, 1509, 463, 1853, 1514, 1513 +1397, 134, 305, 1257, 303, 425, 2046, 1448, 426, 407, 1891 +1398, 1064, 572, 1059, 1276, 1203, 1200, 1135, 1742, 1398, 1741 +1399, 153, 304, 306, 1255, 464, 350, 463, 1513, 2027, 1853 +1400, 310, 152, 306, 1288, 461, 462, 353, 2011, 1510, 1850 +1401, 1068, 1283, 1056, 565, 1832, 1833, 1114, 1186, 1379, 1189 +1402, 308, 137, 1277, 307, 432, 1457, 2031, 398, 431, 1825 +1403, 1055, 1279, 1058, 568, 1768, 1769, 1123, 1192, 1386, 1195 +1404, 313, 138, 1275, 308, 434, 1464, 1775, 395, 433, 1780 +1405, 1261, 114, 8, 245, 1614, 115, 1324, 1645, 261, 260 +1406, 7, 189, 1259, 98, 204, 1665, 1317, 99, 203, 1618 +1407, 1286, 315, 147, 1265, 1878, 452, 1493, 1494, 2024, 1487 +1408, 1263, 1285, 577, 1078, 1419, 1415, 1417, 1927, 1882, 1210 +1409, 1266, 576, 1285, 1078, 1410, 1414, 1416, 2025, 1211, 1882 +1410, 1286, 148, 315, 1264, 1492, 453, 1878, 1497, 1496, 1922 +1411, 134, 1257, 1284, 303, 1448, 1453, 1452, 426, 1891, 1890 +1412, 655, 696, 305, 35, 925, 2079, 1976, 924, 920, 405 +1413, 1068, 564, 1071, 1280, 1187, 1184, 1111, 2000, 1374, 1870 +1414, 692, 493, 657, 1063, 758, 754, 759, 2081, 1104, 1985 +1415, 321, 698, 25, 322, 1801, 886, 373, 377, 1802, 375 +1416, 7, 190, 98, 1260, 206, 205, 99, 1320, 1652, 1629 +1417, 8, 244, 114, 1262, 258, 259, 115, 1323, 2082, 1625 +1418, 322, 26, 323, 694, 376, 378, 380, 1761, 893, 1760 +1419, 21, 314, 689, 315, 361, 2019, 876, 363, 365, 1876 +1420, 1248, 581, 1287, 1074, 1429, 1431, 1433, 1911, 1218, 2005 +1421, 303, 696, 676, 34, 1892, 922, 1970, 402, 921, 915 +1422, 507, 683, 1072, 1078, 802, 2022, 1148, 1146, 1881, 1150 +1423, 20, 312, 695, 314, 358, 1820, 869, 360, 362, 1821 +1424, 491, 1066, 659, 1067, 1098, 2048, 752, 1100, 1102, 1951 +1425, 498, 690, 1058, 1055, 775, 1765, 1121, 1119, 1766, 1123 +1426, 1057, 686, 497, 1055, 1770, 768, 1116, 1120, 1771, 1118 +1427, 580, 1074, 1291, 1079, 1219, 1854, 1426, 1216, 1159, 1856 +1428, 14, 302, 660, 297, 340, 2043, 853, 342, 344, 1952 +1429, 155, 302, 297, 1261, 468, 344, 467, 1520, 2044, 1945 +1430, 561, 1066, 1067, 1259, 1178, 1102, 1181, 1369, 1704, 1942 +1431, 1276, 1064, 572, 1245, 1742, 1203, 1398, 1402, 1810, 1400 +1432, 313, 684, 316, 30, 1779, 1777, 392, 390, 903, 388 +1433, 685, 313, 308, 31, 1783, 395, 1782, 910, 391, 393 +1434, 502, 697, 1064, 1059, 785, 1740, 1133, 1131, 1739, 1135 +1435, 1289, 1064, 573, 1060, 1793, 1202, 1403, 1794, 1138, 1205 +1436, 503, 1064, 693, 1060, 1134, 1792, 792, 1136, 1138, 1795 +1437, 319, 1282, 141, 318, 1835, 1469, 439, 386, 1836, 440 +1438, 139, 313, 1275, 316, 435, 1775, 1463, 436, 392, 1776 +1439, 1279, 1055, 1057, 567, 1768, 1120, 1773, 1385, 1193, 1190 +1440, 1056, 1283, 1057, 566, 1833, 2030, 1117, 1188, 1380, 1191 +1441, 307, 136, 1277, 309, 430, 1458, 1825, 401, 429, 1826 +1442, 1278, 323, 142, 318, 1758, 442, 1476, 2013, 383, 441 +1443, 1282, 319, 140, 316, 1835, 438, 1470, 2034, 389, 437 +1444, 1058, 1281, 569, 1249, 2018, 1391, 1194, 1925, 1393, 1389 +1445, 1062, 1276, 571, 1252, 1995, 1397, 1198, 1918, 1399, 1395 +1446, 570, 1281, 1062, 1252, 1392, 1799, 1199, 1394, 1396, 1918 +1447, 494, 692, 672, 1071, 757, 762, 761, 1107, 1871, 1971 +1448, 299, 662, 300, 37, 2062, 1960, 413, 411, 932, 409 +1449, 1250, 1278, 322, 143, 1480, 1759, 1915, 1479, 1475, 444 +1450, 1072, 691, 508, 1073, 1840, 809, 1149, 1153, 1842, 1151 +1451, 310, 1292, 311, 151, 1848, 1849, 356, 460, 1503, 459 +1452, 1288, 310, 152, 1254, 2011, 461, 1510, 1511, 1902, 1506 +1453, 299, 106, 1300, 187, 2083, 1349, 2058, 2060, 240, 1654 +1454, 1081, 1070, 514, 661, 1171, 1167, 1169, 2065, 1935, 831 +1455, 132, 299, 1260, 300, 421, 2059, 1447, 422, 413, 1938 +1456, 1081, 1262, 584, 1070, 2064, 1442, 1227, 1171, 1961, 1224 +1457, 303, 676, 309, 34, 1970, 2003, 404, 402, 915, 400 +1458, 144, 321, 322, 1290, 446, 377, 445, 1482, 1804, 1803 +1459, 565, 1068, 1283, 1253, 1186, 1832, 1379, 1377, 1959, 1381 +1460, 122, 242, 1298, 245, 295, 1642, 1362, 263, 280, 1644 +1461, 1284, 309, 135, 303, 2002, 428, 1451, 1890, 404, 427 +1462, 137, 1277, 1251, 308, 1457, 1462, 1461, 432, 2031, 1928 +1463, 1058, 568, 1279, 1249, 1195, 1386, 1769, 1925, 1388, 1390 +1464, 1251, 1275, 138, 308, 1465, 1464, 1460, 1928, 1780, 433 +1465, 190, 1300, 106, 187, 1653, 1349, 208, 225, 1654, 240 +1466, 675, 312, 19, 311, 2073, 357, 864, 2039, 359, 355 +1467, 678, 321, 24, 320, 2045, 372, 881, 1671, 374, 370 +1468, 1246, 141, 1282, 318, 1473, 1469, 1474, 1879, 440, 1836 +1469, 1275, 1247, 139, 316, 1468, 1467, 1463, 1776, 1887, 436 +1470, 566, 1283, 1057, 1243, 1380, 2030, 1191, 1382, 1384, 1885 +1471, 1279, 567, 1057, 1243, 1385, 1190, 1773, 1387, 1383, 1885 +1472, 1244, 1277, 136, 309, 1459, 1458, 1454, 1875, 1826, 429 +1473, 142, 1246, 1278, 318, 1472, 1477, 1476, 441, 1879, 2013 +1474, 140, 1247, 1282, 316, 1466, 1471, 1470, 437, 1887, 2034 +1475, 312, 150, 311, 1270, 457, 458, 359, 2040, 1498, 2074 +1476, 321, 145, 320, 1268, 447, 448, 374, 1963, 1485, 2037 +1477, 1059, 501, 677, 1062, 1130, 780, 1994, 1132, 1128, 1993 +1478, 672, 1068, 494, 1071, 1999, 1109, 761, 1971, 1111, 1107 +1479, 511, 687, 1075, 670, 820, 1864, 1160, 814, 821, 2004 +1480, 651, 25, 698, 322, 890, 886, 891, 1817, 375, 1802 +1481, 651, 26, 322, 694, 889, 376, 1817, 894, 893, 1761 +1482, 1061, 1267, 574, 1060, 1701, 1406, 1207, 1141, 2063, 1204 +1483, 1073, 579, 1269, 1079, 1214, 1421, 2038, 1156, 1217, 2076 +1484, 323, 27, 318, 674, 379, 381, 383, 2015, 896, 2014 +1485, 688, 669, 17, 306, 863, 862, 858, 1851, 2008, 349 +1486, 509, 1073, 671, 1079, 1152, 2075, 812, 1154, 1156, 2052 +1487, 504, 673, 1061, 1060, 795, 2047, 1139, 1137, 1973, 1141 +1488, 564, 1280, 1068, 1253, 1374, 2000, 1187, 1376, 1378, 1959 +1489, 242, 1298, 302, 122, 1642, 2051, 2041, 295, 1362, 2084 +1490, 1244, 135, 1284, 309, 1455, 1451, 1456, 1875, 428, 2002 +1491, 20, 695, 650, 314, 869, 874, 873, 360, 1821, 1899 +1492, 650, 689, 21, 314, 877, 876, 872, 1899, 2019, 361 +1493, 1064, 1289, 573, 1245, 1793, 1403, 1202, 1810, 1405, 1401 +1494, 24, 678, 698, 321, 881, 888, 887, 372, 2045, 1801 +1495, 507, 653, 1072, 683, 806, 1897, 1148, 802, 807, 2022 +1496, 501, 677, 697, 1059, 780, 787, 786, 1130, 1994, 1739 +1497, 498, 649, 690, 1055, 771, 776, 775, 1119, 1903, 1766 +1498, 649, 497, 686, 1055, 772, 768, 773, 1903, 1118, 1771 +1499, 1069, 1058, 499, 664, 1126, 1122, 1124, 2017, 2016, 778 +1500, 317, 147, 315, 1265, 451, 452, 368, 1678, 1487, 2024 +1501, 317, 22, 663, 315, 366, 879, 2050, 368, 364, 1877 +1502, 577, 1072, 1263, 1078, 1213, 2021, 1417, 1210, 1150, 1927 +1503, 32, 307, 308, 667, 396, 398, 394, 913, 2032, 2033 +1504, 29, 316, 319, 666, 387, 389, 385, 898, 2035, 2036 +1505, 1056, 668, 496, 1057, 2028, 763, 1113, 1117, 2029, 1115 +1506, 1266, 1077, 576, 1078, 2078, 1208, 1410, 2025, 1147, 1211 +1507, 310, 17, 669, 306, 351, 862, 2010, 353, 349, 2008 +1508, 148, 314, 315, 1264, 454, 365, 453, 1496, 2020, 1922 +1509, 1077, 665, 506, 1078, 2077, 797, 1143, 1147, 1883, 1145 +1510, 511, 1075, 1074, 670, 1160, 1162, 1158, 814, 2004, 2006 +1511, 1248, 1291, 580, 1074, 1430, 1426, 1428, 1911, 1854, 1219 +1512, 675, 695, 19, 312, 871, 870, 864, 2073, 1820, 357 +1513, 1064, 502, 652, 697, 1133, 789, 1914, 1740, 785, 790 +1514, 585, 117, 1297, 247, 1352, 1354, 1353, 2085, 284, 2086 +1515, 684, 30, 313, 654, 903, 390, 1779, 908, 907, 1906 +1516, 313, 31, 685, 654, 391, 910, 1783, 1906, 906, 911 +1517, 652, 693, 503, 1064, 793, 792, 788, 1914, 1792, 1134 +1518, 311, 150, 1292, 1270, 458, 1504, 1849, 2074, 1498, 1505 +1519, 321, 1290, 145, 1268, 1804, 1481, 447, 1963, 1486, 1485 +1520, 323, 694, 27, 674, 1760, 892, 379, 2015, 897, 896 +1521, 504, 693, 673, 1060, 791, 796, 795, 1137, 1795, 1973 +1522, 653, 508, 1072, 691, 805, 1149, 1897, 810, 809, 1840 +1523, 509, 691, 671, 1073, 808, 813, 812, 1152, 1842, 2075 +1524, 1297, 1081, 585, 247, 2080, 1226, 1353, 2086, 2068, 2085 +1525, 1291, 1269, 579, 1079, 1427, 1421, 1425, 1856, 2076, 1217 +1526, 151, 310, 1292, 1254, 460, 1848, 1503, 1507, 1902, 1508 +1527, 1289, 574, 1267, 1060, 1404, 1406, 1408, 1794, 1204, 2063 +1528, 1290, 322, 144, 1250, 1803, 445, 1482, 1483, 1915, 1478 +1529, 689, 663, 22, 315, 880, 879, 875, 1876, 1877, 364 +1530, 683, 506, 665, 1078, 803, 797, 804, 1881, 1145, 1883 +1531, 244, 1297, 117, 247, 2087, 1354, 262, 281, 2086, 284 +1532, 8, 114, 1261, 1262, 115, 1614, 1324, 1323, 1625, 1326 +1533, 98, 1259, 7, 1260, 1618, 1317, 99, 1629, 1321, 1320 +1534, 690, 499, 1058, 664, 774, 1122, 1765, 779, 778, 2016 +1535, 496, 668, 686, 1057, 763, 770, 769, 1115, 2029, 1770 +1536, 316, 29, 684, 666, 387, 904, 1777, 2035, 898, 905 +1537, 685, 32, 308, 667, 909, 394, 1782, 914, 913, 2033 +1538, 131, 106, 1300, 299, 1345, 1349, 1348, 420, 2083, 2058 +1539, 195, 196, 194, 193, 234, 2088, 217, 241, 237, 220 +1540, 251, 250, 248, 249, 2089, 275, 292, 289, 272, 296 +1541, 302, 1298, 156, 122, 2051, 1363, 469, 2084, 1362, 1360 +1542, 660, 114, 5, 661, 1613, 116, 735, 736, 1628, 732 +1543, 659, 98, 4, 662, 1620, 100, 728, 731, 1632, 729 +1544, 510, 713, 1074, 1079, 817, 1855, 1157, 1155, 1857, 1159 +1545, 1077, 1061, 505, 707, 1144, 1140, 1142, 1859, 1702, 800 +1546, 575, 1077, 1302, 1061, 1209, 1858, 1411, 1206, 1144, 1700 +1547, 1303, 1072, 578, 1073, 1841, 1212, 1423, 1843, 1153, 1215 +1548, 28, 319, 318, 708, 384, 386, 382, 901, 1839, 1837 +1549, 317, 710, 23, 320, 1677, 883, 367, 371, 1672, 369 +1550, 712, 311, 18, 310, 1846, 354, 866, 1847, 356, 352 +1551, 495, 711, 1056, 1068, 766, 1831, 1112, 1110, 1830, 1114 +1552, 309, 714, 307, 33, 1828, 1829, 401, 399, 917, 397 +1553, 709, 500, 1069, 1062, 782, 1125, 1796, 1797, 1127, 1129 +1554, 149, 312, 314, 1304, 456, 362, 455, 1500, 1823, 1822 +1555, 146, 317, 320, 1301, 450, 371, 449, 1490, 1679, 1670 +1556, 131, 188, 106, 187, 2090, 238, 1345, 2091, 224, 240 +1557, 242, 156, 243, 122, 2093, 2092, 279, 295, 1360, 294 +1558, 242, 302, 243, 156, 2041, 2094, 279, 2093, 469, 2092 +1559, 659, 701, 491, 1067, 751, 750, 752, 1951, 1941, 1100 +1560, 662, 699, 300, 37, 931, 1939, 1960, 932, 926, 409 +1561, 14, 660, 702, 297, 853, 852, 851, 342, 1952, 1944 +1562, 1294, 155, 297, 1261, 1515, 467, 1943, 1519, 1520, 1945 +1563, 1295, 561, 1067, 1259, 1366, 1181, 1940, 1368, 1369, 1942 +1564, 1070, 700, 514, 661, 1936, 825, 1167, 1935, 830, 831 +1565, 132, 1260, 1296, 300, 1447, 1446, 1445, 422, 1938, 1937 +1566, 1293, 584, 1262, 1070, 1438, 1442, 1441, 1934, 1224, 1961 +1567, 585, 246, 117, 247, 2095, 283, 1352, 2085, 266, 284 +1568, 192, 560, 191, 101, 2097, 2096, 211, 229, 1337, 227 +1569, 585, 1081, 1076, 247, 1226, 1174, 1229, 2085, 2068, 2098 +1570, 1066, 1065, 192, 560, 1099, 2099, 2056, 1179, 1176, 2097 +1571, 699, 305, 300, 36, 1978, 410, 1939, 927, 406, 408 +1572, 106, 299, 131, 187, 2083, 420, 1345, 240, 2060, 2091 +1573, 492, 1067, 701, 1063, 1101, 1941, 749, 1103, 1105, 1984 +1574, 246, 585, 1076, 247, 2095, 1229, 2100, 266, 2085, 2098 +1575, 192, 1065, 191, 560, 2099, 2101, 211, 2097, 1176, 2096 +1576, 302, 156, 242, 122, 469, 2093, 2041, 2084, 1360, 295 +1577, 187, 703, 299, 38, 2069, 2070, 2060, 2102, 929, 412 +1578, 513, 1070, 1080, 700, 1166, 1168, 1164, 826, 1936, 1980 +1579, 15, 297, 702, 304, 343, 1944, 850, 345, 347, 1989 +1580, 154, 297, 304, 1294, 466, 347, 465, 1516, 1943, 1991 +1581, 300, 1296, 133, 305, 1937, 1444, 423, 410, 1977, 424 +1582, 562, 1067, 1063, 1295, 1180, 1105, 1183, 1367, 1940, 1986 +1583, 1293, 1080, 583, 1070, 1979, 1222, 1437, 1934, 1168, 1225 +1584, 13, 242, 705, 302, 2103, 2053, 847, 339, 2041, 2054 +1585, 1081, 704, 515, 247, 2071, 828, 1170, 2068, 2072, 2104 +1586, 706, 490, 192, 1066, 746, 2105, 2055, 2057, 1097, 2056 +1587, 187, 298, 188, 38, 2107, 2106, 224, 2102, 414, 2108 +1588, 703, 187, 74, 38, 2069, 199, 937, 929, 2102, 936 +1589, 243, 302, 301, 156, 2094, 341, 2109, 2092, 469, 470 +1590, 187, 299, 298, 38, 2060, 416, 2107, 2102, 412, 414 +1591, 13, 87, 705, 242, 848, 849, 847, 2103, 255, 2053 +1592, 82, 515, 704, 247, 835, 828, 836, 253, 2104, 2072 +1593, 1271, 1082, 551, 1037, 2111, 1091, 2110, 2113, 2112, 1041 +1594, 95, 1038, 324, 1273, 1044, 2114, 333, 2116, 2115, 2117 +1595, 1274, 325, 9, 618, 2119, 327, 2118, 2121, 2120, 624 +1596, 192, 1066, 490, 1065, 2056, 1097, 2105, 2099, 1099, 1095 +1597, 1081, 515, 1076, 247, 1170, 1172, 1174, 2068, 2104, 2098 +1598, 617, 1083, 481, 1272, 2122, 1084, 621, 2124, 2123, 2125 +1599, 4, 659, 192, 98, 728, 1657, 198, 100, 1620, 202 +1600, 305, 699, 655, 36, 1978, 928, 1976, 406, 927, 923 +1601, 492, 701, 657, 1063, 749, 756, 755, 1103, 1984, 1985 +1602, 84, 85, 547, 250, 91, 839, 841, 270, 271, 2126 +1603, 476, 71, 194, 72, 738, 216, 2127, 739, 78, 215 +1604, 251, 120, 555, 119, 288, 1332, 2128, 287, 126, 1335 +1605, 484, 196, 103, 104, 2129, 233, 1327, 1329, 232, 110 +1606, 248, 121, 324, 1273, 291, 2130, 2131, 2132, 1358, 2117 +1607, 325, 1274, 105, 193, 2119, 1344, 2133, 2135, 2134, 235 +1608, 660, 242, 5, 114, 2042, 254, 735, 1613, 256, 116 +1609, 69, 490, 192, 706, 747, 2105, 197, 748, 746, 2055 +1610, 1271, 246, 1082, 249, 2137, 2136, 2111, 2138, 269, 2139 +1611, 246, 1271, 118, 249, 2137, 1356, 282, 269, 2138, 286 +1612, 102, 191, 195, 1272, 228, 214, 230, 1342, 2140, 2141 +1613, 1083, 195, 191, 1272, 2143, 214, 2142, 2123, 2141, 2140 +1614, 513, 700, 1080, 656, 826, 1980, 1164, 822, 827, 1981 +1615, 1256, 583, 1293, 1080, 1435, 1437, 1439, 2026, 1222, 1979 +1616, 1257, 133, 1296, 305, 1449, 1444, 1450, 2046, 424, 1977 +1617, 1082, 1271, 118, 246, 2111, 1356, 2144, 2136, 2137, 282 +1618, 702, 658, 15, 304, 857, 856, 850, 1989, 1990, 345 +1619, 154, 1294, 304, 1255, 1516, 1991, 465, 1512, 1517, 2027 +1620, 562, 1295, 1063, 1258, 1367, 1986, 1183, 1370, 1372, 2049 +1621, 617, 680, 481, 1083, 2146, 2145, 621, 2122, 2147, 1084 +1622, 193, 73, 325, 681, 219, 2148, 2135, 2149, 938, 2150 +1623, 682, 248, 86, 324, 2151, 273, 845, 2152, 2131, 2153 +1624, 191, 102, 1083, 1272, 228, 2154, 2142, 2140, 1342, 2123 +1625, 5, 661, 114, 247, 732, 1628, 116, 252, 2066, 257 +1626, 679, 551, 1082, 1037, 2156, 1091, 2155, 2157, 1041, 2112 +1627, 9, 618, 325, 681, 624, 2120, 327, 2159, 2158, 2150 +1628, 324, 682, 1038, 95, 2152, 2160, 2114, 333, 2161, 1044 +1629, 1265, 317, 146, 1301, 1678, 450, 1488, 1489, 1679, 1490 +1630, 500, 709, 1069, 664, 782, 1796, 1125, 777, 783, 2017 +1631, 149, 1304, 314, 1264, 1500, 1822, 455, 1495, 1501, 2020 +1632, 307, 714, 667, 33, 1829, 918, 2032, 397, 917, 912 +1633, 495, 668, 1056, 711, 764, 2028, 1112, 766, 765, 1831 +1634, 712, 18, 669, 310, 866, 861, 867, 1847, 352, 2010 +1635, 710, 23, 663, 317, 883, 878, 884, 1677, 367, 2050 +1636, 28, 666, 319, 708, 899, 2036, 384, 901, 900, 1839 +1637, 1263, 578, 1303, 1072, 1418, 1423, 1422, 2021, 1212, 1841 +1638, 1302, 575, 1266, 1077, 1411, 1409, 1412, 1858, 1209, 2078 +1639, 2, 1274, 9, 618, 1308, 2118, 11, 628, 2121, 624 +1640, 1038, 95, 6, 1273, 1044, 97, 1047, 2115, 2116, 1315 +1641, 1271, 551, 475, 1037, 2110, 553, 1311, 2113, 1041, 1045 +1642, 617, 481, 473, 1272, 621, 483, 625, 2124, 2125, 1306 +1643, 98, 187, 4, 662, 201, 200, 100, 1632, 2061, 729 +1644, 490, 191, 192, 1065, 2162, 211, 2105, 1095, 2101, 2099 +1645, 246, 1076, 515, 247, 2100, 1172, 2163, 266, 2098, 2104 +1646, 665, 1077, 505, 707, 2077, 1142, 798, 799, 1859, 800 +1647, 713, 510, 1074, 670, 817, 1157, 1855, 816, 815, 2006 +1648, 578, 1269, 1303, 1073, 1420, 1424, 1423, 1215, 2038, 1843 +1649, 1267, 575, 1302, 1061, 1407, 1411, 1413, 1701, 1206, 1700 +1650, 318, 674, 28, 708, 2014, 895, 382, 1837, 902, 901 +1651, 678, 23, 710, 320, 882, 883, 885, 1671, 369, 1672 +1652, 675, 18, 712, 311, 865, 866, 868, 2039, 354, 1846 +1653, 711, 495, 672, 1068, 766, 760, 767, 1830, 1110, 1999 +1654, 709, 677, 500, 1062, 784, 781, 782, 1797, 1993, 1127 +1655, 149, 1270, 312, 1304, 1499, 2040, 456, 1500, 1502, 1823 +1656, 146, 1301, 320, 1268, 1490, 1670, 449, 1484, 1491, 2037 +1657, 676, 714, 309, 33, 919, 1828, 2003, 916, 917, 399 +1658, 510, 671, 713, 1079, 811, 818, 817, 1155, 2052, 1857 +1659, 1061, 673, 505, 707, 2047, 794, 1140, 1702, 801, 800 +1660, 481, 680, 472, 1083, 2145, 715, 482, 1084, 2147, 1085 +1661, 9, 325, 1, 681, 327, 326, 10, 2159, 2150, 719 +1662, 1082, 474, 551, 679, 1090, 552, 1091, 2155, 721, 2156 +1663, 682, 324, 3, 95, 2152, 331, 724, 2161, 333, 96 +1664, 3, 1038, 682, 95, 1043, 2160, 724, 96, 1044, 2161 +1665, 1, 618, 9, 681, 622, 624, 10, 719, 2158, 2159 +1666, 679, 474, 551, 1037, 721, 552, 2156, 2157, 1039, 1041 +1667, 188, 74, 187, 38, 222, 199, 224, 2108, 936, 2102 +1668, 515, 82, 246, 247, 835, 264, 2163, 2104, 253, 266 +1669, 194, 193, 618, 72, 220, 2164, 2165, 215, 218, 2166 +1670, 195, 191, 680, 1083, 214, 2167, 2168, 2143, 2142, 2147 +1671, 481, 617, 472, 680, 621, 620, 482, 2145, 2146, 715 +1672, 87, 242, 13, 243, 255, 2103, 848, 276, 279, 2169 +1673, 490, 69, 192, 191, 747, 197, 2105, 2162, 210, 211 +1674, 679, 1082, 246, 249, 2155, 2136, 2170, 2171, 2139, 269 +1675, 6, 95, 324, 1273, 97, 333, 334, 1315, 2116, 2117 +1676, 9, 1274, 2, 325, 2118, 1308, 11, 327, 2119, 329 +1677, 551, 1271, 475, 1082, 2110, 1311, 553, 1091, 2111, 1092 +1678, 196, 104, 484, 193, 232, 1329, 2129, 237, 236, 2172 +1679, 105, 188, 325, 193, 239, 2173, 2133, 235, 223, 2135 +1680, 324, 248, 243, 121, 2131, 278, 2174, 2130, 291, 293 +1681, 1261, 8, 122, 245, 1324, 129, 1325, 1645, 260, 263 +1682, 1083, 473, 481, 1272, 1087, 483, 1084, 2123, 1306, 2125 +1683, 191, 70, 680, 1083, 209, 744, 2167, 2142, 2175, 2147 +1684, 1057, 567, 566, 1243, 1190, 595, 1191, 1885, 1383, 1382 +1685, 141, 1246, 142, 318, 1473, 1472, 170, 440, 1879, 441 +1686, 136, 135, 1244, 309, 164, 1455, 1454, 429, 428, 1875 +1687, 1247, 140, 139, 316, 1466, 168, 1467, 1887, 437, 436 +1688, 1082, 679, 246, 83, 2155, 2170, 2136, 2176, 837, 265 +1689, 101, 1259, 7, 189, 1318, 1317, 107, 207, 1665, 204 +1690, 325, 193, 188, 73, 2135, 223, 2173, 2148, 219, 221 +1691, 243, 86, 248, 324, 277, 273, 278, 2174, 2153, 2131 +1692, 1298, 1261, 122, 245, 1364, 1325, 1362, 1644, 1645, 263 +1693, 325, 618, 1274, 193, 2120, 2121, 2119, 2135, 2164, 2134 +1694, 248, 324, 1038, 1273, 2131, 2114, 2177, 2132, 2117, 2115 +1695, 246, 83, 679, 249, 265, 837, 2170, 269, 267, 2171 +1696, 680, 195, 70, 191, 2168, 213, 744, 2167, 214, 209 +1697, 485, 196, 484, 616, 2178, 2129, 487, 633, 2179, 634 +1698, 1036, 251, 554, 555, 2181, 2180, 1053, 1054, 2128, 557 +1699, 1036, 547, 546, 250, 1049, 549, 1050, 2182, 2126, 2183 +1700, 194, 477, 476, 616, 2184, 479, 2127, 2185, 630, 629 +1701, 573, 572, 1064, 1245, 601, 1203, 1202, 1401, 1400, 1810 +1702, 1271, 249, 1082, 1037, 2138, 2139, 2111, 2113, 2186, 2112 +1703, 69, 192, 659, 706, 197, 1657, 727, 748, 2055, 753 +1704, 130, 1274, 105, 325, 1310, 1344, 1347, 330, 2119, 2133 +1705, 324, 121, 157, 1273, 2130, 1361, 335, 2117, 1358, 1316 +1706, 652, 503, 502, 1064, 788, 531, 789, 1914, 1134, 1133 +1707, 322, 651, 25, 26, 1817, 890, 375, 376, 889, 54 +1708, 250, 85, 547, 546, 271, 839, 2126, 2183, 838, 549 +1709, 477, 194, 476, 71, 2184, 2127, 479, 737, 216, 738 +1710, 251, 555, 120, 554, 2128, 1332, 288, 2180, 557, 1333 +1711, 485, 103, 484, 196, 1328, 1327, 487, 2178, 233, 2129 +1712, 657, 493, 492, 1063, 754, 521, 755, 1985, 1104, 1103 +1713, 313, 30, 31, 654, 390, 59, 391, 1906, 907, 906 +1714, 497, 649, 498, 1055, 772, 771, 526, 1118, 1903, 1119 +1715, 1036, 1038, 554, 251, 1051, 1048, 1053, 2181, 2187, 2180 +1716, 1256, 582, 583, 1080, 1434, 611, 1435, 2026, 1223, 1222 +1717, 1274, 484, 104, 193, 1309, 1329, 1330, 2134, 2172, 236 +1718, 15, 658, 16, 304, 856, 855, 44, 345, 1990, 346 +1719, 21, 20, 650, 314, 49, 873, 872, 361, 360, 1899 +1720, 190, 1260, 7, 106, 1652, 1320, 206, 208, 1319, 113 +1721, 305, 36, 655, 35, 406, 923, 1976, 405, 64, 924 +1722, 508, 1072, 507, 653, 1149, 1148, 536, 805, 1897, 806 +1723, 1083, 617, 195, 1272, 2122, 2188, 2143, 2123, 2124, 2141 +1724, 581, 1248, 580, 1074, 1429, 1428, 609, 1218, 1911, 1219 +1725, 1299, 1259, 101, 189, 1341, 1318, 1339, 1706, 1665, 207 +1726, 1063, 563, 562, 1258, 1182, 591, 1183, 2049, 1371, 1370 +1727, 705, 87, 660, 242, 849, 734, 854, 2053, 255, 2042 +1728, 310, 151, 152, 1254, 460, 180, 461, 1902, 1507, 1506 +1729, 251, 119, 555, 249, 287, 1335, 2128, 289, 285, 2189 +1730, 133, 1257, 134, 305, 1449, 1448, 162, 424, 2046, 425 +1731, 106, 131, 105, 188, 1345, 1346, 112, 238, 2090, 239 +1732, 513, 1080, 512, 656, 1164, 1163, 541, 822, 1981, 823 +1733, 1250, 322, 144, 143, 1915, 445, 1478, 1479, 444, 172 +1734, 121, 243, 156, 122, 293, 2092, 1359, 128, 294, 1360 +1735, 196, 485, 617, 616, 2178, 626, 2190, 2179, 633, 632 +1736, 489, 680, 70, 1083, 717, 744, 743, 1086, 2147, 2175 +1737, 304, 153, 154, 1255, 464, 182, 465, 2027, 1513, 1512 +1738, 569, 568, 1058, 1249, 597, 1195, 1194, 1389, 1388, 1925 +1739, 1062, 571, 570, 1252, 1198, 599, 1199, 1918, 1395, 1394 +1740, 137, 1251, 138, 308, 1461, 1460, 166, 432, 1928, 433 +1741, 1069, 499, 500, 664, 1124, 528, 1125, 2017, 778, 777 +1742, 663, 23, 22, 317, 878, 51, 879, 2050, 367, 366 +1743, 147, 317, 146, 1265, 451, 450, 175, 1487, 1678, 1488 +1744, 149, 314, 148, 1264, 455, 454, 177, 1495, 2020, 1496 +1745, 506, 1077, 505, 665, 1143, 1142, 534, 797, 2077, 798 +1746, 576, 1266, 575, 1077, 1410, 1409, 604, 1208, 2078, 1209 +1747, 319, 28, 29, 666, 384, 57, 385, 2036, 899, 898 +1748, 496, 1056, 495, 668, 1113, 1112, 524, 763, 2028, 764 +1749, 1263, 577, 578, 1072, 1417, 606, 1418, 2021, 1213, 1212 +1750, 17, 669, 18, 310, 862, 861, 46, 351, 2010, 352 +1751, 307, 667, 32, 33, 2032, 913, 396, 397, 912, 61 +1752, 511, 1074, 510, 670, 1158, 1157, 539, 814, 2006, 815 +1753, 618, 476, 194, 72, 623, 2127, 2165, 2166, 739, 215 +1754, 1068, 565, 564, 1253, 1186, 593, 1187, 1959, 1377, 1376 +1755, 586, 1271, 118, 1082, 1313, 1356, 1357, 1093, 2111, 2144 +1756, 704, 661, 82, 247, 832, 733, 836, 2072, 2066, 253 +1757, 575, 1267, 574, 1061, 1407, 1406, 603, 1206, 1701, 1207 +1758, 1269, 578, 579, 1073, 1420, 607, 1421, 2038, 1215, 1214 +1759, 318, 27, 28, 674, 381, 56, 382, 2014, 896, 895 +1760, 703, 37, 299, 38, 930, 411, 2070, 929, 66, 412 +1761, 23, 678, 24, 320, 882, 881, 52, 369, 1671, 370 +1762, 19, 18, 675, 311, 47, 865, 864, 355, 354, 2039 +1763, 672, 495, 494, 1068, 760, 523, 761, 1999, 1110, 1109 +1764, 671, 510, 509, 1079, 811, 538, 812, 2052, 1155, 1154 +1765, 505, 1061, 504, 673, 1140, 1139, 533, 794, 2047, 795 +1766, 680, 617, 195, 1083, 2146, 2188, 2168, 2147, 2122, 2143 +1767, 676, 33, 309, 34, 916, 399, 2003, 915, 62, 400 +1768, 490, 706, 491, 1066, 746, 745, 519, 1097, 2057, 1098 +1769, 500, 677, 501, 1062, 781, 780, 529, 1127, 1993, 1128 +1770, 149, 150, 312, 1270, 178, 457, 456, 1499, 1498, 2040 +1771, 320, 145, 146, 1268, 448, 174, 449, 2037, 1485, 1484 +1772, 244, 1262, 8, 117, 2082, 1323, 258, 262, 1322, 123 +1773, 248, 554, 1038, 251, 2191, 1048, 2177, 292, 2180, 2187 +1774, 1271, 555, 119, 249, 1312, 1335, 1336, 2138, 2189, 285 +1775, 1081, 514, 515, 704, 1169, 543, 1170, 2071, 829, 828 +1776, 1300, 132, 131, 299, 1443, 160, 1348, 2058, 421, 420 +1777, 585, 1297, 584, 1081, 1353, 1440, 613, 1226, 2080, 1227 +1778, 662, 187, 74, 703, 2061, 199, 730, 933, 2069, 937 +1779, 193, 325, 618, 681, 2135, 2120, 2164, 2149, 2150, 2158 +1780, 682, 1038, 248, 324, 2160, 2177, 2151, 2152, 2114, 2131 +1781, 117, 585, 118, 246, 1352, 1351, 124, 283, 2095, 282 +1782, 102, 191, 560, 101, 228, 2096, 1338, 108, 227, 1337 +1783, 325, 681, 73, 39, 2150, 938, 2148, 328, 720, 935 +1784, 86, 12, 682, 324, 843, 726, 845, 2153, 332, 2152 +1785, 13, 705, 14, 302, 847, 846, 42, 339, 2054, 340 +1786, 156, 302, 155, 1298, 469, 468, 184, 1363, 2051, 1518 +1787, 1066, 561, 560, 1299, 1178, 589, 1179, 1703, 1365, 1340 +1788, 106, 190, 1260, 1300, 208, 1652, 1319, 1349, 1653, 1350 +1789, 1082, 249, 679, 1037, 2139, 2171, 2155, 2112, 2186, 2157 +1790, 1273, 6, 1038, 554, 1315, 1047, 2115, 1314, 556, 1048 +1791, 485, 617, 473, 1272, 626, 625, 488, 1305, 2124, 1306 +1792, 156, 301, 243, 121, 470, 2109, 2092, 1359, 2192, 293 +1793, 298, 105, 131, 188, 2193, 1346, 419, 2106, 239, 2090 +1794, 679, 1082, 516, 83, 2155, 1089, 722, 837, 2176, 833 +1795, 191, 560, 1065, 102, 2096, 1176, 2101, 228, 1338, 2194 +1796, 618, 72, 193, 681, 2166, 218, 2164, 2158, 740, 2149 +1797, 1076, 118, 585, 246, 2195, 1351, 1229, 2100, 282, 2095 +1798, 616, 194, 196, 193, 2185, 2088, 2179, 2196, 220, 237 +1799, 248, 251, 1036, 250, 292, 2181, 2197, 275, 2089, 2182 +1800, 130, 325, 105, 188, 330, 2133, 1347, 2198, 2173, 239 +1801, 243, 157, 324, 121, 2199, 335, 2174, 293, 1361, 2130 +1802, 1083, 102, 559, 1272, 2154, 1343, 1088, 2123, 1342, 1307 +1803, 117, 244, 1262, 1297, 262, 2082, 1322, 1354, 2087, 1355 +1804, 315, 1286, 147, 148, 1878, 1493, 452, 453, 1492, 176 +1805, 576, 577, 1285, 1078, 605, 1415, 1414, 1211, 1210, 1882 +1806, 1038, 1036, 248, 251, 1051, 2197, 2177, 2187, 2181, 292 +1807, 196, 618, 616, 193, 2200, 631, 2179, 237, 2164, 2196 +1808, 680, 489, 472, 1083, 717, 517, 715, 2147, 1086, 1085 +1809, 119, 118, 1271, 249, 125, 1356, 1336, 285, 286, 2138 +1810, 195, 485, 617, 196, 2201, 626, 2188, 234, 2178, 2190 +1811, 192, 659, 4, 69, 1657, 728, 198, 197, 727, 75 +1812, 679, 249, 84, 1037, 2171, 268, 842, 2157, 2186, 2202 +1813, 1036, 546, 1038, 250, 1050, 1042, 1051, 2182, 2183, 2203 +1814, 195, 196, 617, 616, 234, 2190, 2188, 2204, 2179, 632 +1815, 249, 251, 1036, 1037, 289, 2181, 2205, 2186, 2206, 1052 +1816, 484, 616, 196, 618, 634, 2179, 2129, 627, 631, 2200 +1817, 477, 194, 617, 616, 2184, 2207, 619, 630, 2185, 632 +1818, 157, 6, 324, 1273, 186, 334, 335, 1316, 1315, 2117 +1819, 586, 475, 1271, 1082, 615, 1311, 1313, 1093, 1092, 2111 +1820, 130, 2, 1274, 325, 158, 1308, 1310, 330, 329, 2119 +1821, 660, 87, 5, 242, 734, 94, 735, 2042, 255, 254 +1822, 1082, 516, 474, 679, 1089, 545, 1090, 2155, 722, 721 +1823, 681, 325, 1, 39, 2150, 326, 719, 720, 328, 68 +1824, 3, 682, 12, 324, 724, 726, 40, 331, 2152, 332 +1825, 248, 120, 554, 251, 290, 1333, 2191, 292, 288, 2180 +1826, 555, 1036, 251, 1037, 1054, 2181, 2128, 1046, 1052, 2206 +1827, 104, 105, 1274, 193, 111, 1344, 1330, 236, 235, 2134 +1828, 73, 193, 72, 681, 219, 218, 79, 938, 2149, 740 +1829, 84, 679, 83, 249, 842, 837, 90, 268, 2171, 267 +1830, 105, 298, 130, 188, 2193, 418, 1347, 239, 2106, 2198 +1831, 157, 243, 301, 121, 2199, 2109, 471, 1361, 293, 2192 +1832, 130, 298, 325, 188, 418, 417, 330, 2198, 2106, 2173 +1833, 324, 243, 301, 157, 2174, 2109, 338, 335, 2199, 471 +1834, 248, 1273, 1038, 554, 2132, 2115, 2177, 2191, 1314, 1048 +1835, 661, 5, 82, 247, 732, 88, 733, 2066, 252, 253 +1836, 484, 618, 196, 193, 627, 2200, 2129, 2172, 2164, 237 +1837, 546, 682, 3, 1038, 725, 724, 548, 1042, 2160, 1043 +1838, 696, 34, 303, 35, 921, 402, 1892, 920, 63, 403 +1839, 74, 4, 187, 662, 81, 200, 199, 730, 729, 2061 +1840, 692, 494, 493, 1071, 757, 522, 758, 1871, 1107, 1106 +1841, 1274, 2, 484, 618, 1308, 486, 1309, 2121, 628, 627 +1842, 1271, 475, 555, 1037, 1311, 558, 1312, 2113, 1045, 1046 +1843, 559, 473, 1083, 1272, 587, 1087, 1088, 1307, 1306, 2123 +1844, 325, 73, 188, 39, 2148, 221, 2173, 328, 935, 2208 +1845, 86, 243, 12, 324, 277, 2209, 843, 2153, 2174, 332 +1846, 83, 246, 515, 82, 265, 2163, 834, 89, 264, 835 +1847, 485, 195, 617, 1272, 2201, 2188, 626, 1305, 2141, 2124 +1848, 156, 157, 301, 121, 185, 471, 470, 1359, 1361, 2192 +1849, 105, 131, 130, 298, 1346, 159, 1347, 2193, 419, 418 +1850, 36, 300, 699, 37, 408, 1939, 927, 65, 409, 926 +1851, 38, 298, 73, 39, 414, 2210, 934, 67, 415, 935 +1852, 12, 86, 13, 301, 843, 844, 41, 336, 2211, 337 +1853, 701, 492, 491, 1067, 749, 520, 750, 1941, 1101, 1100 +1854, 188, 73, 74, 38, 221, 80, 222, 2108, 934, 936 +1855, 472, 617, 477, 680, 620, 619, 480, 715, 2146, 716 +1856, 586, 1082, 118, 246, 1093, 2144, 1357, 2212, 2136, 282 +1857, 616, 618, 194, 193, 631, 2165, 2185, 2196, 2164, 220 +1858, 248, 1036, 1038, 250, 2197, 1051, 2177, 275, 2182, 2203 +1859, 514, 1070, 513, 700, 1167, 1166, 542, 825, 1936, 826 +1860, 14, 702, 15, 297, 851, 850, 43, 342, 1944, 343 +1861, 155, 297, 154, 1294, 467, 466, 183, 1515, 1943, 1516 +1862, 490, 70, 69, 191, 742, 76, 747, 2162, 209, 210 +1863, 561, 1067, 562, 1295, 1181, 1180, 590, 1366, 1940, 1367 +1864, 1296, 133, 132, 300, 1444, 161, 1445, 1937, 423, 422 +1865, 73, 188, 298, 38, 221, 2106, 2210, 934, 2108, 414 +1866, 243, 13, 86, 301, 2169, 844, 277, 2109, 337, 2211 +1867, 512, 1075, 511, 687, 1161, 1160, 540, 819, 1864, 820 +1868, 1293, 583, 584, 1070, 1437, 612, 1438, 1934, 1225, 1224 +1869, 554, 248, 1273, 120, 2191, 2132, 1314, 1333, 290, 1334 +1870, 70, 191, 489, 1083, 209, 2213, 743, 2175, 2142, 1086 +1871, 70, 490, 489, 1065, 742, 518, 743, 2214, 1095, 1094 +1872, 87, 13, 86, 243, 848, 844, 93, 276, 2169, 277 +1873, 516, 1076, 515, 83, 1173, 1172, 544, 833, 2215, 834 +1874, 16, 688, 17, 306, 859, 858, 45, 348, 1851, 349 +1875, 476, 72, 618, 681, 739, 2166, 623, 718, 740, 2158 +1876, 84, 547, 679, 1037, 841, 723, 842, 2202, 1040, 2157 +1877, 118, 585, 586, 1076, 1351, 614, 1357, 2195, 1229, 1228 +1878, 559, 1065, 560, 102, 1177, 1176, 588, 1343, 2194, 1338 +1879, 103, 485, 195, 196, 1328, 2201, 231, 233, 2178, 234 +1880, 1038, 85, 248, 250, 2216, 274, 2177, 2203, 271, 275 +1881, 689, 22, 21, 315, 875, 50, 876, 1876, 364, 363 +1882, 251, 249, 555, 1037, 289, 2189, 2128, 2206, 2186, 1046 +1883, 191, 559, 1083, 102, 2217, 1088, 2142, 228, 1343, 2154 +1884, 85, 1038, 546, 250, 2216, 1042, 838, 271, 2203, 2183 +1885, 506, 683, 507, 1078, 803, 802, 535, 1145, 1881, 1146 +1886, 499, 1058, 498, 690, 1122, 1121, 527, 774, 1765, 775 +1887, 686, 497, 496, 1057, 768, 525, 769, 1770, 1116, 1115 +1888, 70, 191, 490, 1065, 209, 2162, 742, 2214, 2101, 1095 +1889, 616, 476, 194, 618, 629, 2127, 2185, 631, 623, 2165 +1890, 246, 515, 1076, 83, 2163, 1172, 2100, 265, 834, 2215 +1891, 1272, 485, 195, 103, 1305, 2201, 2141, 1331, 1328, 231 +1892, 316, 30, 684, 29, 388, 903, 1777, 387, 58, 904 +1893, 308, 32, 685, 31, 394, 909, 1782, 393, 60, 910 +1894, 503, 693, 504, 1060, 792, 791, 532, 1136, 1795, 1137 +1895, 547, 250, 1036, 1037, 2126, 2182, 1049, 1040, 2218, 1052 +1896, 617, 194, 195, 616, 2207, 217, 2188, 632, 2185, 2204 +1897, 249, 1036, 250, 1037, 2205, 2182, 272, 2186, 1052, 2218 +1898, 501, 697, 502, 1059, 786, 785, 530, 1130, 1739, 1131 +1899, 508, 691, 509, 1073, 809, 808, 537, 1151, 1842, 1152 +1900, 323, 26, 27, 694, 378, 55, 379, 1760, 893, 892 +1901, 698, 25, 24, 321, 886, 53, 887, 1801, 373, 372 +1902, 153, 306, 152, 1288, 463, 462, 181, 1509, 1850, 1510 +1903, 150, 311, 1292, 151, 458, 1849, 1504, 179, 459, 1503 +1904, 250, 251, 1036, 249, 2089, 2181, 2182, 272, 289, 2205 +1905, 196, 195, 194, 616, 234, 217, 2088, 2179, 2204, 2185 +1906, 246, 516, 1082, 83, 2219, 1089, 2136, 265, 833, 2176 +1907, 695, 20, 19, 312, 869, 48, 870, 1820, 358, 357 +1908, 1274, 618, 484, 193, 2121, 627, 1309, 2134, 2164, 2172 +1909, 145, 321, 144, 1290, 447, 446, 173, 1481, 1804, 1482 +1910, 580, 1291, 579, 1079, 1426, 1425, 608, 1216, 1856, 1217 +1911, 1082, 586, 1076, 246, 1093, 1228, 1175, 2136, 2212, 2100 +1912, 563, 1071, 564, 1280, 1185, 1184, 592, 1373, 1870, 1374 +1913, 474, 679, 547, 1037, 721, 723, 550, 1039, 2157, 1040 +1914, 618, 1, 476, 681, 622, 478, 623, 2158, 719, 718 +1915, 191, 1065, 1083, 559, 2101, 1096, 2142, 2217, 1177, 1088 +1916, 1287, 581, 582, 1075, 1431, 610, 1432, 1862, 1221, 1220 +1917, 249, 1271, 555, 1037, 2138, 1312, 2189, 2186, 2113, 1046 +1918, 325, 188, 298, 39, 2173, 2106, 417, 328, 2208, 415 +1919, 301, 12, 243, 324, 336, 2209, 2109, 338, 332, 2174 +1920, 574, 1289, 573, 1060, 1404, 1403, 602, 1204, 1794, 1205 +1921, 569, 1069, 570, 1281, 1197, 1196, 598, 1391, 1798, 1392 +1922, 1284, 135, 134, 303, 1451, 163, 1452, 1890, 427, 426 +1923, 571, 1059, 572, 1276, 1201, 1200, 600, 1397, 1741, 1398 +1924, 1065, 559, 191, 102, 1177, 2217, 2101, 2194, 1343, 228 +1925, 118, 1076, 586, 246, 2195, 1228, 1357, 282, 2100, 2212 +1926, 248, 682, 85, 1038, 2151, 840, 274, 2177, 2160, 2216 +1927, 489, 1083, 191, 1065, 1086, 2142, 2213, 1094, 1096, 2101 +1928, 1278, 143, 142, 323, 1475, 171, 1476, 1758, 443, 442 +1929, 546, 85, 682, 1038, 838, 840, 725, 1042, 2216, 2160 +1930, 71, 477, 617, 680, 737, 619, 2220, 741, 716, 2146 +1931, 566, 1056, 1283, 565, 1188, 1833, 1380, 594, 1189, 1379 +1932, 1272, 195, 102, 103, 2141, 230, 1342, 1331, 231, 109 +1933, 1279, 568, 1055, 567, 1386, 1192, 1768, 1385, 596, 1193 +1934, 138, 1275, 139, 313, 1464, 1463, 167, 434, 1775, 435 +1935, 136, 1277, 137, 307, 1458, 1457, 165, 430, 1825, 431 +1936, 516, 1082, 1076, 246, 1089, 1175, 1173, 2219, 2136, 2100 +1937, 71, 617, 195, 680, 2220, 2188, 212, 741, 2146, 2168 +1938, 12, 243, 86, 301, 2209, 277, 843, 336, 2109, 2211 +1939, 73, 298, 188, 39, 2210, 2106, 221, 935, 415, 2208 +1940, 195, 70, 71, 680, 213, 77, 212, 2168, 744, 741 +1941, 682, 85, 86, 248, 840, 92, 845, 2151, 274, 273 +1942, 121, 1273, 248, 120, 1358, 2132, 291, 127, 1334, 290 +1943, 1282, 141, 140, 319, 1469, 169, 1470, 1835, 439, 438 +1944, 489, 191, 70, 1065, 2213, 209, 743, 1094, 2101, 2214 +1945, 516, 246, 1076, 83, 2219, 2100, 1173, 833, 265, 2215 +1946, 1262, 1297, 247, 1081, 1355, 2086, 2067, 2064, 2080, 2068 +1947, 1297, 1262, 247, 244, 1355, 2067, 2086, 2087, 2082, 281 +1948, 101, 189, 1066, 1299, 207, 1705, 2221, 1339, 1706, 1703 +1949, 1066, 189, 101, 192, 1705, 207, 2221, 2056, 226, 229 +1950, 1066, 560, 101, 1299, 1179, 1337, 2221, 1703, 1340, 1339 +1951, 101, 560, 1066, 192, 1337, 1179, 2221, 229, 2097, 2056 +1952, 1066, 659, 189, 192, 2048, 1658, 1705, 2056, 1657, 226 +1953, 659, 1066, 189, 1259, 2048, 1705, 1658, 1619, 1704, 1665 +1954, 114, 242, 1261, 660, 256, 1643, 1614, 1613, 2042, 1612 +1955, 1261, 242, 114, 245, 1643, 256, 1614, 1645, 280, 261 +1956, 672, 640, 1280, 692, 982, 1664, 1972, 762, 979, 1661 +1957, 1280, 640, 672, 1237, 1664, 982, 1972, 1574, 1812, 1924 +1958, 114, 247, 1262, 244, 257, 2067, 1625, 259, 281, 2082 +1959, 1262, 247, 114, 661, 2067, 257, 1625, 1626, 2066, 1628 +1960, 98, 187, 1260, 190, 201, 1655, 1629, 205, 225, 1652 +1961, 1260, 187, 98, 662, 1655, 201, 1629, 1631, 2061, 1632 +1962, 1258, 692, 1063, 1071, 1662, 2081, 2049, 1872, 1871, 1108 +1963, 692, 1258, 1063, 657, 1662, 2049, 2081, 759, 1757, 1985 +1964, 1077, 1266, 707, 665, 2078, 1637, 1859, 2077, 1787, 799 +1965, 1266, 1077, 707, 1302, 2078, 1859, 1637, 1412, 1858, 1638 +1966, 1255, 688, 1240, 639, 1809, 1932, 1598, 1748, 972, 1789 +1967, 688, 1255, 1240, 1288, 1809, 1598, 1932, 1852, 1514, 1596 +1968, 1257, 305, 696, 303, 2046, 2079, 1669, 1891, 407, 1892 +1969, 305, 1257, 696, 655, 2046, 1669, 2079, 1976, 1754, 925 +1970, 1256, 687, 1240, 1287, 1791, 1919, 1597, 1436, 1865, 1595 +1971, 1240, 687, 1256, 639, 1919, 1791, 1597, 1789, 971, 1749 +1972, 1250, 694, 1233, 642, 1861, 1974, 1543, 1808, 993, 1889 +1973, 1233, 694, 1250, 1278, 1974, 1861, 1543, 1550, 1762, 1480 +1974, 1245, 697, 1233, 1276, 1866, 1950, 1545, 1402, 1743, 1546 +1975, 697, 1245, 1233, 642, 1866, 1545, 1950, 994, 1805, 1889 +1976, 16, 658, 306, 304, 855, 1967, 348, 346, 1990, 350 +1977, 658, 16, 306, 688, 855, 348, 1967, 860, 859, 1851 +1978, 512, 1075, 656, 1080, 1161, 1962, 823, 1163, 1165, 1981 +1979, 1075, 512, 656, 687, 1161, 823, 1962, 1864, 819, 824 +1980, 582, 1075, 1256, 1287, 1220, 1863, 1434, 1432, 1862, 1436 +1981, 1256, 1075, 582, 1080, 1863, 1220, 1434, 2026, 1165, 1223 +1982, 131, 298, 187, 299, 419, 2107, 2091, 420, 416, 2060 +1983, 298, 131, 187, 188, 419, 2091, 2107, 2106, 2090, 224 +1984, 13, 243, 302, 301, 2169, 2094, 339, 337, 2109, 341 +1985, 243, 13, 302, 242, 2169, 339, 2094, 279, 2103, 2041 +1986, 250, 1037, 84, 249, 2218, 2202, 270, 272, 2186, 268 +1987, 84, 1037, 250, 547, 2202, 2218, 270, 841, 1040, 2126 +1988, 194, 617, 71, 477, 2207, 2220, 216, 2184, 619, 737 +1989, 617, 194, 71, 195, 2207, 216, 2220, 2188, 217, 212 + +** Define element set Eall +*ELSET, ELSET=Eall +Evolumes + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=FemMaterialSolid +Evolumes + +*********************************************************** +** constraints displacement node sets +** FemConstraintDisplacment +*NSET,NSET=FemConstraintDisplacment +4, +5, +7, +8, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, +83, +84, +85, +86, +87, +88, +89, +90, +91, +92, +93, +94, +98, +99, +100, +101, +102, +103, +104, +105, +106, +107, +108, +109, +110, +111, +112, +113, +114, +115, +116, +117, +118, +119, +120, +121, +122, +123, +124, +125, +126, +127, +128, +129, +187, +188, +189, +190, +191, +192, +193, +194, +195, +196, +197, +198, +199, +200, +201, +202, +203, +204, +205, +206, +207, +208, +209, +210, +211, +212, +213, +214, +215, +216, +217, +218, +219, +220, +221, +222, +223, +224, +225, +226, +227, +228, +229, +230, +231, +232, +233, +234, +235, +236, +237, +238, +239, +240, +241, +242, +243, +244, +245, +246, +247, +248, +249, +250, +251, +252, +253, +254, +255, +256, +257, +258, +259, +260, +261, +262, +263, +264, +265, +266, +267, +268, +269, +270, +271, +272, +273, +274, +275, +276, +277, +278, +279, +280, +281, +282, +283, +284, +285, +286, +287, +288, +289, +290, +291, +292, +293, +294, +295, +296, +2088, +2089, + +*********************************************************** +** constraints transform node sets +** FemConstraintTransform1 +*NSET,NSET=CylinFemConstraintTransform1 +5, +8, +82, +83, +84, +85, +86, +87, +88, +89, +90, +91, +92, +93, +94, +114, +115, +116, +117, +118, +119, +120, +121, +122, +123, +124, +125, +126, +127, +128, +129, +242, +243, +244, +245, +246, +247, +248, +249, +250, +251, +252, +253, +254, +255, +256, +257, +258, +259, +260, +261, +262, +263, +264, +265, +266, +267, +268, +269, +270, +271, +272, +273, +274, +275, +276, +277, +278, +279, +280, +281, +282, +283, +284, +285, +286, +287, +288, +289, +290, +291, +292, +293, +294, +295, +296, +2089, +** FemConstraintTransform2 +*NSET,NSET=CylinFemConstraintTransform2 +4, +7, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +98, +99, +100, +101, +102, +103, +104, +105, +106, +107, +108, +109, +110, +111, +112, +113, +187, +188, +189, +190, +191, +192, +193, +194, +195, +196, +197, +198, +199, +200, +201, +202, +203, +204, +205, +206, +207, +208, +209, +210, +211, +212, +213, +214, +215, +216, +217, +218, +219, +220, +221, +222, +223, +224, +225, +226, +227, +228, +229, +230, +231, +232, +233, +234, +235, +236, +237, +238, +239, +240, +241, +2088, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: CalculiX-Steel +** FemMaterial +*MATERIAL, NAME=FemMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial + +*********************************************************** +** Transform Constraints +** FemConstraintTransform1 +*TRANSFORM, NSET=CylinFemConstraintTransform1, TYPE=C +10,27,10,10,7,10 +** FemConstraintTransform2 +*TRANSFORM, NSET=CylinFemConstraintTransform2, TYPE=C +190,27,10,190,7,10 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Displacement constraint applied +** FemConstraintDisplacment +*BOUNDARY +FemConstraintDisplacment,1 + + +*********************************************************** +** constraints pressure element face loads +** FemConstraintPressure +*DLOAD +** FemConstraintPressure: face load +1384,P3,10 +1394,P2,10 +1397,P2,10 +1399,P1,10 +1400,P1,10 +1402,P2,10 +1404,P2,10 +1415,P4,10 +1418,P1,10 +1419,P2,10 +1423,P2,10 +1428,P2,10 +1429,P1,10 +1432,P4,10 +1433,P3,10 +1437,P4,10 +1438,P2,10 +1441,P2,10 +1442,P3,10 +1443,P3,10 +1448,P4,10 +1451,P4,10 +1455,P2,10 +1457,P4,10 +1458,P1,10 +1461,P3,10 +1466,P3,10 +1467,P3,10 +1475,P1,10 +1476,P1,10 +1484,P1,10 +1500,P1,10 +1501,P2,10 +1503,P1,10 +1504,P1,10 +1507,P2,10 +1508,P1,10 +1548,P1,10 +1549,P4,10 +1550,P3,10 +1552,P4,10 +1554,P1,10 +1555,P1,10 +1571,P3,10 +1579,P2,10 +1580,P1,10 +1581,P4,10 +1589,P3,10 +1590,P3,10 +1661,P1,10 +1663,P3,10 +1675,P1,10 +1676,P4,10 +1685,P4,10 +1686,P2,10 +1687,P3,10 +1707,P4,10 +1713,P1,10 +1718,P4,10 +1719,P2,10 +1721,P2,10 +1728,P1,10 +1730,P4,10 +1733,P3,10 +1737,P1,10 +1740,P4,10 +1742,P3,10 +1743,P1,10 +1744,P1,10 +1747,P1,10 +1750,P4,10 +1751,P4,10 +1759,P1,10 +1760,P3,10 +1761,P4,10 +1762,P2,10 +1767,P3,10 +1770,P1,10 +1771,P1,10 +1776,P3,10 +1785,P4,10 +1786,P1,10 +1804,P4,10 +1818,P1,10 +1820,P2,10 +1823,P3,10 +1824,P4,10 +1832,P1,10 +1833,P4,10 +1838,P3,10 +1848,P1,10 +1849,P3,10 +1850,P2,10 +1851,P2,10 +1852,P4,10 +1860,P4,10 +1861,P1,10 +1864,P3,10 +1874,P4,10 +1881,P3,10 +1892,P2,10 +1893,P2,10 +1900,P1,10 +1901,P3,10 +1902,P1,10 +1903,P2,10 +1907,P3,10 +1909,P1,10 +1918,P4,10 +1919,P2,10 +1922,P3,10 +1928,P3,10 +1934,P4,10 +1935,P4,10 +1943,P3,10 +1976,P4,10 +1982,P2,10 +1984,P4,10 + +*********************************************************** +** Outputs --> frd file +*NODE FILE +U +*EL FILE +S, E + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25211 (Git) +** written on --> Fri Jul 9 17:37:32 2021 +** file name --> constraint_transform_beam_hinged.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/constraint_transform_torque.inp b/src/Mod/Fem/femtest/data/calculix/constraint_transform_torque.inp new file mode 100644 index 0000000000..4e0ba5f9b6 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/constraint_transform_torque.inp @@ -0,0 +1,13195 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 4, -9.797174393179e-16, 0 +2, 4, -9.797174393179e-16, 50 +3, 5, -1.224646799147e-15, 0 +4, 5, -1.224646799147e-15, 50 +5, 4, -9.797174393179e-16, 1.8 +6, 4, -9.797174393179e-16, 3.65 +7, 4, -9.797174393179e-16, 5.45 +8, 4, -9.797174393179e-16, 7.15 +9, 4, -9.797174393179e-16, 9 +10, 4, -9.797174393179e-16, 10.85 +11, 4, -9.797174393179e-16, 12.55 +12, 4, -9.797174393179e-16, 14.4 +13, 4, -9.797174393179e-16, 16.05 +14, 4, -9.797174393179e-16, 17.9 +15, 4, -9.797174393179e-16, 19.7 +16, 4, -9.797174393179e-16, 21.45 +17, 4, -9.797174393179e-16, 23.3 +18, 4, -9.797174393179e-16, 25.1 +19, 4, -9.797174393179e-16, 26.85 +20, 4, -9.797174393179e-16, 28.65 +21, 4, -9.797174393179e-16, 30.5 +22, 4, -9.797174393179e-16, 32.25 +23, 4, -9.797174393179e-16, 34.05 +24, 4, -9.797174393179e-16, 35.9 +25, 4, -9.797174393179e-16, 37.65 +26, 4, -9.797174393179e-16, 39.4 +27, 4, -9.797174393179e-16, 41.25 +28, 4, -9.797174393179e-16, 42.95 +29, 4, -9.797174393179e-16, 44.8 +30, 4, -9.797174393179e-16, 46.45 +31, 4, -9.797174393179e-16, 48.3 +32, 3.608535837473, 1.725824182724, 0 +33, 2.471438452361, 3.145153728546, 0 +34, 0.8234504350795, 3.914323617302, 0 +35, -0.9459959880949, 3.886526931659, 0 +36, -2.588223846278, 3.049770044046, 0 +37, -3.671018502736, 1.588591562539, 0 +38, -3.997157890562, -0.1507607306797, 0 +39, -3.52916490574, -1.882815728661, 0 +40, -2.431721190778, -3.175961594591, 0 +41, -0.8970830437975, -3.898107491146, 0 +42, 0.9703969231816, -3.88050638596, 0 +43, 2.510765445163, -3.113849206268, 0 +44, 3.586564147141, -1.771032924156, 0 +45, 3.608535837473, 1.725824182724, 50 +46, 2.471438452361, 3.145153728546, 50 +47, 0.8234504350795, 3.914323617302, 50 +48, -0.9459959880949, 3.886526931659, 50 +49, -2.588223846278, 3.049770044046, 50 +50, -3.671018502736, 1.588591562539, 50 +51, -3.997157890562, -0.1507607306797, 50 +52, -3.52916490574, -1.882815728661, 50 +53, -2.431721190778, -3.175961594591, 50 +54, -0.8970830437975, -3.898107491146, 50 +55, 0.9703969231816, -3.88050638596, 50 +56, 2.510765445163, -3.113849206268, 50 +57, 3.586564147141, -1.771032924156, 50 +58, 4.648882429441, 1.840622763423, 0 +59, 3.687565586791, 3.376664040605, 0 +60, 2.297899303107, 4.440682244068, 0 +61, 0.5954858004743, 4.964413022849, 0 +62, -1.273853628417, 4.835007438812, 0 +63, -2.887863517111, 4.081696253586, 0 +64, -4.170392168066, 2.758229353142, 0 +65, -4.865492554911, 1.151947133383, 0 +66, -4.956538155348, -0.6578217954614, 0 +67, -4.36631227405, -2.436250628627, 0 +68, -3.138456806454, -3.892311507835, 0 +69, -1.485207907885, -4.774322723733, 0 +70, 0.3139525976466, -4.990133642141, 0 +71, 2.100428642059, -4.537422122706, 0 +72, 3.623265650935, -3.445569041937, 0 +73, 4.671644712283, -1.782059393566, 0 +74, 4.648882429441, 1.840622763423, 50 +75, 3.687565586791, 3.376664040605, 50 +76, 2.297899303107, 4.440682244068, 50 +77, 0.5954858004743, 4.964413022849, 50 +78, -1.273853628417, 4.835007438812, 50 +79, -2.887863517111, 4.081696253586, 50 +80, -4.170392168066, 2.758229353142, 50 +81, -4.865492554911, 1.151947133383, 50 +82, -4.956538155348, -0.6578217954614, 50 +83, -4.36631227405, -2.436250628627, 50 +84, -3.138456806454, -3.892311507835, 50 +85, -1.485207907885, -4.774322723733, 50 +86, 0.3139525976466, -4.990133642141, 50 +87, 2.100428642059, -4.537422122706, 50 +88, 3.623265650935, -3.445569041937, 50 +89, 4.671644712283, -1.782059393566, 50 +90, 5, -1.224646799147e-15, 1.85 +91, 5, -1.224646799147e-15, 3.55 +92, 5, -1.224646799147e-15, 5.35 +93, 5, -1.224646799147e-15, 7.2 +94, 5, -1.224646799147e-15, 8.9 +95, 5, -1.224646799147e-15, 10.65 +96, 5, -1.224646799147e-15, 12.5 +97, 5, -1.224646799147e-15, 14.25 +98, 5, -1.224646799147e-15, 16 +99, 5, -1.224646799147e-15, 17.65 +100, 5, -1.224646799147e-15, 19.45 +101, 5, -1.224646799147e-15, 21.3 +102, 5, -1.224646799147e-15, 23 +103, 5, -1.224646799147e-15, 24.8 +104, 5, -1.224646799147e-15, 26.6 +105, 5, -1.224646799147e-15, 28.35 +106, 5, -1.224646799147e-15, 30.1 +107, 5, -1.224646799147e-15, 31.95 +108, 5, -1.224646799147e-15, 33.7 +109, 5, -1.224646799147e-15, 35.4 +110, 5, -1.224646799147e-15, 37.25 +111, 5, -1.224646799147e-15, 39.05 +112, 5, -1.224646799147e-15, 40.75 +113, 5, -1.224646799147e-15, 42.65 +114, 5, -1.224646799147e-15, 44.4 +115, 5, -1.224646799147e-15, 46.1 +116, 5, -1.224646799147e-15, 48.15 +117, 3.796145683675, -1.260665676663, 2.883830848706 +118, 3.687777054605, -1.549290287688, 4.494142311627 +119, 3.675719880345, -1.577682908963, 6.221063462457 +120, 3.691290594692, -1.540900303568, 8.112967220252 +121, 3.688555337088, -1.547436436574, 9.884975351909 +122, 3.689149992885, -1.546018217874, 11.62349490484 +123, 3.684437839179, -1.55721476015, 13.44097141893 +124, 3.687897917351, -1.549002566556, 15.25724226024 +125, 3.675761527065, -1.577585875997, 16.97350398129 +126, 3.68155572126, -1.56401645492, 18.82647286732 +127, 3.685877319975, -1.553804486443, 20.57839152461 +128, 3.683130806777, -1.560303643581, 22.3397703721 +129, 3.681767341808, -1.563518225284, 24.21842648127 +130, 3.684529565126, -1.556997714742, 25.9718377915 +131, 3.679520282399, -1.568799060241, 27.72078931385 +132, 3.676793147242, -1.57518003809, 29.5717037817 +133, 3.680130112971, -1.567367969432, 31.40287590708 +134, 3.681595524867, -1.563922757453, 33.11968989877 +135, 3.678285052944, -1.571693058229, 34.95429168435 +136, 3.681816613307, -1.563402195847, 36.78156850148 +137, 3.687906806753, -1.548981402312, 38.49348204902 +138, 3.683895575675, -1.558497156726, 40.26939635799 +139, 3.685146298569, -1.555537449932, 42.07562359153 +140, 3.689561010053, -1.545037071755, 43.87123331659 +141, 3.721415333427, -1.466651941033, 45.57992278602 +142, 3.714562843853, -1.483921453132, 47.4963326567 +143, 2.960931858375, 2.689401890767, 1.510626379858 +144, 1.644712122428, 3.646220239418, 1.597267523834 +145, -0.08415110705926, 3.999114725934, 1.513454082473 +146, -1.80343635578, 3.570380555438, 1.491958843895 +147, -3.222022626778, 2.370352335103, 1.507081288525 +148, -3.928674317639, 0.752009378881, 1.508526101669 +149, -3.871281558432, -1.006567978502, 1.512069827451 +150, -3.072446231743, -2.561264170883, 1.539331971902 +151, -1.686720908014, -3.626978436449, 1.552074391206 +152, 0.08818296641571, -3.99902785242, 1.619854221142 +153, 1.789207584522, -3.577532140944, 1.595194742526 +154, 3.0151671376, -2.628453372677, 1.221238378008 +155, 3.684505070811, 1.557055677608, 2.522962083282 +156, 3.692385193869, 1.538275521517, 6.336889717826 +157, 3.695070434309, 1.531814115843, 9.969070209467 +158, 3.704836951845, 1.508039508847, 13.46679998802 +159, 3.677674660622, 1.573120812469, 17.00254487104 +160, 3.702461199681, 1.513862961055, 20.58788294659 +161, 3.705008883995, 1.507617050022, 24.21366787314 +162, 3.701346903778, 1.516585341448, 27.82322362787 +163, 3.728629130645, 1.448214350884, 31.38403498125 +164, 3.684014995929, 1.558214847114, 34.89617174443 +165, 3.692969816649, 1.536871475862, 38.51983653382 +166, 3.669581609041, 1.591907916491, 42.1370259537 +167, 3.68301741622, 1.560571277391, 45.67016797952 +168, 3.280508132186, 2.288725932623, 48.50792313833 +169, 0.06007798943925, 3.999548803951, 48.33878109209 +170, -3.187919508545, 2.416023428496, 48.44374432506 +171, -3.872857240404, -1.000488278518, 48.39423813546 +172, -1.731654091927, -3.605741824634, 48.35955544976 +173, 1.565468994218, -3.680938308114, 48.4728929483 +174, 2.890761104835, -2.764688089962, 48.25463729818 +175, 3.65409795853, 1.627134938923, 4.457084885314 +176, 3.692778256905, 1.537331696587, 8.161072371998 +177, 3.694085493715, 1.534187851967, 11.74942040982 +178, 3.68914306728, 1.546034743834, 15.23458772808 +179, 3.686740815691, 1.551754541775, 18.79836951868 +180, 3.695689497417, 1.530319946508, 22.39528396156 +181, 3.706911082124, 1.502933873869, 26.02011191179 +182, 3.700465446126, 1.518734829398, 29.63072100047 +183, 3.726538233811, 1.453586183184, 33.13930049688 +184, 3.684615619633, 1.556794056887, 36.70538580439 +185, 3.683218518552, 1.560096581817, 40.35682417972 +186, 3.661020501265, 1.61149895728, 43.94603894665 +187, 3.749710577035, 1.392720570851, 47.20828536009 +188, 1.868187214823, 3.536930382461, 48.34209134794 +189, -1.765356906858, 3.589361362611, 48.44542038299 +190, -3.924290673096, 0.7745596897929, 48.41049983069 +191, -3.078962071351, -2.553427610719, 48.35183422031 +192, -0.06951627741218, -3.999395890278, 48.43869598278 +193, 3.727344818526, -1.4515166564, 1.453220256053 +194, 2.623601591018, -3.019389787956, 5.18753047176 +195, 2.876530605698, -2.779491261811, 7.194834324109 +196, 2.861216003174, -2.795253652745, 8.987019580537 +197, 2.841630985965, -2.815161334561, 10.75809482545 +198, 2.801658467672, -2.854944803411, 12.48817867548 +199, 2.777608017362, -2.878349127866, 14.31694637662 +200, 2.796782839322, -2.859721271326, 16.13665509959 +201, 2.771355905746, -2.884369332052, 17.86376948961 +202, 2.799503546004, -2.857057909093, 19.70670828326 +203, 2.80017765463, -2.856397224216, 21.43684199922 +204, 2.768909827548, -2.886717576576, 23.27238447479 +205, 2.795713058844, -2.860767116108, 25.10533867186 +206, 2.792445522393, -2.863956704363, 26.8332996305 +207, 2.754812828714, -2.900173491147, 28.66547407399 +208, 2.75996891509, -2.895267101277, 30.50062060401 +209, 2.792771152386, -2.863639169029, 32.25416207554 +210, 2.763817094014, -2.891593863397, 34.00920890691 +211, 2.762641886347, -2.892716682948, 35.86258160856 +212, 2.794172684429, -2.862271651956, 37.61065889031 +213, 2.77782556562, -2.878139177835, 39.35774129506 +214, 2.741255259673, -2.912991520982, 41.19213869076 +215, 2.779116238956, -2.876892929946, 43.01179451369 +216, 2.871755710646, -2.784424381873, 44.7078025581 +217, 2.97192340241, -2.677250696182, 46.46758529411 +218, -1.027264109097, 3.865841234474, 2.955057917074 +219, 2.563761432819, 3.070362733553, 3.37091003587 +220, -3.998907392667, -0.09348617475887, 3.028886569693 +221, -2.612646527451, 3.028874068462, 2.963120253072 +222, -3.668344529161, 1.594756537963, 3.011916187673 +223, -2.465585170279, -3.149744397265, 3.010051155852 +224, -0.8704413589198, -3.904142907308, 3.027755573819 +225, 1.154491405103, -3.829771480851, 3.420494781817 +226, 2.813197046879, 2.843575632093, 12.62218688652 +227, 2.754273362568, 2.900685823085, 5.513173206579 +228, 2.796164270423, 2.860326095537, 14.37070802558 +229, 2.827893663067, 2.82896048583, 9.151481019503 +230, 2.801375505729, 2.855222456465, 17.91116928622 +231, 2.809357337478, 2.847369198112, 7.367478458902 +232, 2.821700504554, 2.83513778547, 21.50407228059 +233, -0.837591141469, 3.911322165168, 46.81670839296 +234, 2.826299528476, 2.830553121801, 25.1793893232 +235, 2.873175383829, 2.782959434444, 30.68299664608 +236, 2.816909351644, 2.839898185608, 28.82105066028 +237, 2.85647955878, 2.800093664554, 33.84313204402 +238, 2.779436159608, 2.876583848016, 35.67779362604 +239, 2.747891296572, 2.906732430449, 39.42046944323 +240, 2.750680036785, 2.904093547948, 41.27177199676 +241, 2.744169407518, 2.910246426481, 45.01996820513 +242, 2.870277459113, 2.785948188267, 46.87553187055 +243, 1.220186772952, 3.809349582161, 46.45556379347 +244, 2.799659081515, 2.856905498488, 19.7071973679 +245, 0.7705427250612, 3.925081388819, 3.137195619005 +246, -2.520732836153, 3.105785885849, 46.88546044088 +247, -3.645307278872, 1.646734599929, 46.89922294689 +248, -3.571552447949, -1.801114408234, 46.83399985786 +249, -0.9591937859212, -3.883290779873, 46.86054869458 +250, 0.7215859599992, -3.934375897437, 46.99720004427 +251, 2.83442060931, 2.82242091289, 23.33282097514 +252, 2.793756528689, 2.862677847473, 16.13116982715 +253, 2.810415745593, 2.846324531202, 26.99783637097 +254, 2.826345112286, 2.830507605759, 10.92040791688 +255, -3.572798077102, -1.798642237984, 3.016492977458 +256, 2.940725676578, -2.711481605159, 2.926539762994 +257, 3.077056729756, 2.55572335785, 32.25921501551 +258, 2.760050640963, 2.895189192318, 37.54840140572 +259, 2.712637518692, 2.939659451737, 43.16953231183 +260, -3.999501132658, -0.06317190727417, 46.84837144596 +261, -2.482915271943, -3.136101361938, 46.79614982063 +262, 2.046058047255, -3.437098553615, 47.18067269057 +263, -3.135172019918, 2.484088646873, 45.35284907105 +264, 1.211134094706, 3.812237427632, 42.33494957258 +265, 1.591864166738, -3.669600587892, 8.151231130387 +266, 1.533252768734, -3.694473703678, 9.815174581626 +267, 1.481548391209, -3.715509973679, 11.60561677103 +268, 1.443919355319, -3.730294478367, 13.41688358488 +269, 1.430702418951, -3.735383593208, 15.15627302375 +270, 1.438591343804, -3.73235246802, 17.00394575106 +271, 1.40103343319, -3.746612512535, 18.73129174932 +272, 1.428848009264, -3.736093329458, 20.55461107646 +273, 1.404440163755, -3.745336810813, 22.38728786667 +274, 1.383004547431, -3.753304999835, 24.13033544587 +275, 1.423491067334, -3.738137662155, 25.96494940642 +276, 1.379874776236, -3.75445676522, 27.7968420399 +277, 1.37936365443, -3.754644578231, 29.55318226199 +278, 1.423149007319, -3.738267901444, 31.30842197289 +279, 1.422438960422, -3.738538137277, 33.15981404895 +280, 1.379526402921, -3.754584784453, 34.91812663599 +281, 1.414921567738, -3.741389709339, 36.66781557646 +282, 1.392847343731, -3.749663488509, 38.46960587114 +283, 1.296854413196, -3.783935600796, 40.33696362018 +284, 1.23813654881, -3.803553323736, 42.14956818878 +285, 1.410735026399, -3.742970302486, 44.01743558571 +286, -1.734599134263, 3.60432599017, 45.29935398065 +287, -3.219975471766, 2.373132520788, 4.442187961456 +288, -1.782919841482, -3.580669886886, 4.575851267877 +289, -0.278504017528, -3.990292659971, 4.446347827387 +290, 1.497638063148, 3.709053818942, 22.43672452454 +291, -3.91923858827, 0.7997305097457, 4.540745098973 +292, 1.375101997354, 3.756207461905, 38.40756065915 +293, 1.46984724139, 3.720154443969, 13.52976440893 +294, 1.688293613717, 3.626246637211, 32.2364221645 +295, -1.75040189392, -3.596678079807, 45.17870175525 +296, 1.298535259637, 3.783359113206, 40.33147365735 +297, 1.306038272158, 3.780775585995, 44.19945065817 +298, 1.392543596223, 3.749776304344, 36.45086789879 +299, -3.133814670719, -2.485800798452, 45.24340123566 +300, -3.901029690346, 0.8842891806616, 45.32645139506 +301, -3.890768256444, -0.9283977459281, 45.26715620266 +302, 0.06997370412115, -3.99938791326, 45.32066419242 +303, 1.467788220399, 3.720967312415, 34.49678786565 +304, 1.515587019277, 3.701755797861, 24.26813149595 +305, -0.3160897380698, 3.9874913514, 4.41795923702 +306, -0.1060776756682, 3.998593193453, 45.2285187237 +307, 1.54507505306, 3.689545104808, 29.98415260249 +308, 1.323313702215, 3.774763680753, 4.831675808204 +309, 1.733730042548, -3.604744115685, 45.75433307392 +310, -3.88969841719, -0.9328698855198, 4.626647846974 +311, 1.503381549458, 3.706729544592, 28.02117757113 +312, -3.103501598221, -2.523544695431, 4.624848856269 +313, -1.909973938136, 3.514541158621, 4.297888553462 +314, 1.738750818933, -3.602325025544, 6.587447300085 +315, 1.488805944547, 3.712607824627, 26.16573166687 +316, 1.437473912105, 3.732782976818, 18.81938115407 +317, 1.492892030537, 3.71096663757, 10.10326807376 +318, 1.469724578239, 3.720202906311, 6.653399044851 +319, 1.445490253683, 3.729686035916, 20.62566471405 +320, 0.8883341258228, -3.900110572907, 5.414434159186 +321, 1.463042526819, 3.722835822961, 17.02800224465 +322, 1.445536850555, 3.729667976333, 15.26714162912 +323, 1.485475874674, 3.713941494661, 11.81831351897 +324, 1.477892063028, 3.716965839235, 8.384930347177 +325, -0.6720369227094, -3.943141688364, 43.34287039406 +326, -0.8760040100334, -3.902898534987, 5.954634844328 +327, -0.06161300084701, -3.999525451616, 10.70128253773 +328, -0.130111813837, -3.997883304437, 12.41878999116 +329, -0.167424712158, -3.996494584728, 14.21952261936 +330, -0.1970160949465, -3.995145136079, 16.02275130628 +331, -0.1987026731488, -3.995061607495, 17.80950745622 +332, -0.2303068074967, -3.993364342809, 19.59525834727 +333, -0.2602423788516, -3.99152526038, 21.43579329719 +334, -0.2440412634001, -3.992548542192, 23.22579540253 +335, -0.24311608218, -3.992604985543, 25.02957647958 +336, -0.2398041287222, -3.992805276976, 26.83672739139 +337, -0.2242212689714, -3.99371065834, 28.6376395786 +338, -0.2278930866235, -3.993502815959, 30.41087933973 +339, -0.2461051095681, -3.992421855847, 32.2175340589 +340, -0.2342876209899, -3.993132768974, 34.0123985676 +341, -0.2378952475814, -3.99291946465, 35.79558790751 +342, -0.2615792605886, -3.99143787255, 37.57651527104 +343, -0.2727301782784, -3.990691450094, 39.3773865593 +344, -0.3279773493386, -3.986531181155, 41.24645743324 +345, -3.60195998976, 1.739506893395, 6.059613964259 +346, -0.7228486145039, 3.934144110288, 43.43340227847 +347, -3.528364689243, 1.884314893988, 43.76148372884 +348, -0.1827576876001, 3.995822772299, 17.93920899239 +349, -0.06766357777078, 3.999427664084, 31.13640795753 +350, -0.1970429841365, 3.995143809978, 37.28626735768 +351, -2.527636743276, -3.100169752456, 43.65295986248 +352, 0.2584615744418, -3.991640967639, 7.128696354757 +353, -1.289394208301, 3.786484197194, 5.486572071236 +354, 0.05437270840878, -3.999630434, 8.862741246823 +355, -2.444351675739, 3.166250919512, 43.96112319111 +356, -0.1809468192306, 3.995905185138, 35.34782680836 +357, -0.1034802770021, 3.998661255004, 23.39411308493 +358, -0.103413163232, 3.99866299126, 33.24404802495 +359, 0.05002577632949, 3.99968716548, 6.063106555486 +360, -2.567936175226, 3.066871989498, 5.802410873232 +361, -3.997992111842, 0.1267244003754, 43.74195474767 +362, -3.999827569557, -0.03714046057415, 6.145485815663 +363, -0.1057207438442, 3.998602646466, 29.05622677504 +364, -2.481329096066, -3.137356517359, 6.126544236224 +365, -0.5971024535139, 3.955182506536, 41.29664391092 +366, -0.09777724189047, 3.9988047728, 9.292299040117 +367, -0.146922882275, 3.997300797621, 19.78062202866 +368, -0.339496162306, 3.985566754651, 39.25502295406 +369, -0.124285443452, 3.998068674816, 21.53741154807 +370, -3.648765090497, -1.639058667153, 43.74658842008 +371, -0.1808858263877, 3.995907946614, 16.12923318613 +372, -0.1041269578254, 3.998644467398, 25.29922582203 +373, -0.1415750547226, 3.997493777841, 14.41199490463 +374, -0.1186421777879, 3.998240117058, 12.70942497771 +375, -0.1001948632417, 3.998744926771, 27.15744114586 +376, -1.752290239702, 3.595758461833, 36.1531498214 +377, -1.714735110292, -3.613818410149, 13.23785749489 +378, -1.784359975918, -3.579952440514, 14.97501762553 +379, -1.833971445889, -3.554792361821, 16.800275584 +380, -1.851941786816, -3.545463526571, 18.64945073672 +381, -1.841406198728, -3.550946804908, 20.41603176044 +382, -1.830105566408, -3.556784167728, 22.24280758756 +383, -1.876423686558, -3.532567642456, 24.04595590743 +384, -1.88214174793, -3.529524392988, 25.86209955561 +385, -1.882805538554, -3.529170342161, 27.67771755831 +386, -1.845948862914, -3.548587436644, 29.44750872089 +387, -1.851069449481, -3.54591904775, 31.27811066091 +388, -1.854825833293, -3.543955576492, 33.11946447902 +389, -1.843231259335, -3.549999792199, 34.90503098063 +390, -1.855472355031, -3.543617126569, 36.67894110999 +391, -1.833560710664, -3.555004236328, 38.48031909124 +392, -1.788427960268, -3.577921943102, 40.19365474695 +393, -0.07232187663348, 3.999346139828, 11.03414737423 +394, -3.598233471965, -1.747202301175, 6.172880733505 +395, -1.995632943088, -3.466619269038, 41.92691395422 +396, -2.562472142999, 3.071438834871, 42.1857435065 +397, -1.796067103772, 3.574093305826, 18.89831805723 +398, -0.03025866353417, 3.999885550023, 7.666400328314 +399, -1.777955786443, 3.58313734337, 34.17090443708 +400, -1.560160218499, -3.683191563388, 7.755387853618 +401, -1.77930005306, 3.582470002831, 32.15239830565 +402, -1.731789836489, 3.605676630292, 24.38727833686 +403, -1.732288125873, 3.605437261826, 10.17526031377 +404, -1.88043946114, 3.530431621344, 38.0641885389 +405, -2.093654436874, 3.408314994093, 40.01764817833 +406, -1.745262373611, 3.599174800876, 30.1391875441 +407, -3.29837627726, -2.262899452827, 42.22231405518 +408, -3.851219819073, 1.080789482359, 7.751165798893 +409, -1.725880768691, 3.608508774032, 20.71356210113 +410, -1.701397565101, 3.620116893895, 26.279229834 +411, -3.803074585369, 1.239606267378, 42.201300818 +412, -1.691032487762, 3.624970224062, 8.51765466811 +413, -1.760599369484, 3.59169735086, 22.54338930175 +414, -1.508099446471, -3.704812553903, 9.73327521778 +415, -1.823308857713, 3.560273136908, 17.106826264 +416, -1.590526773094, -3.670180456609, 11.50105826555 +417, -1.738679174259, 3.602359605731, 15.29912563665 +418, -1.480510986725, 3.715923467752, 6.924609378431 +419, -1.707728521743, 3.617134680382, 13.57750613128 +420, -1.697655837278, 3.621873086975, 11.87877612297 +421, -2.940745155318, 2.711460479424, 7.440372788732 +422, -3.425293022779, 2.065760806119, 40.54169493284 +423, -3.135846939493, 2.483236592045, 35.04832998722 +424, -3.1433163457, -2.473774919199, 15.69715999034 +425, -3.178551616928, -2.42833474186, 17.49810611401 +426, -3.166254854615, -2.44434657846, 19.38480559073 +427, -3.161710399585, -2.450221897942, 21.24506736684 +428, -3.158599079136, -2.454231418852, 23.00811477611 +429, -3.154259407741, -2.459806412846, 24.84090258982 +430, -3.162705018276, -2.448937926402, 26.68074064117 +431, -3.163522561266, -2.44788173823, 28.46768858024 +432, -3.1757974275, -2.431935587034, 30.31151044642 +433, -3.145971846136, -2.470396960677, 32.16649136644 +434, -3.143051484625, -2.474111429382, 34.00549385574 +435, -3.137183344036, -2.481548038201, 35.82924189566 +436, -3.129227990568, -2.491572231152, 37.65215268116 +437, -3.049302381946, -2.588774803543, 39.3912958632 +438, -3.947513256552, -0.6458630577322, 42.17920021441 +439, -2.883469861949, -2.772291751464, 40.86516706552 +440, -3.228631063367, 2.361343146741, 9.410462818307 +441, -1.672362224554, 3.633621415322, 28.18587570199 +442, -3.028397012775, 2.613199482056, 25.37481324124 +443, -3.056404445219, 2.58038599191, 31.14179823821 +444, -2.877290685095, -2.778704430749, 10.52906059084 +445, -3.085995853724, 2.544922315278, 33.11135404364 +446, -2.911905549205, -2.742408808422, 12.24500477782 +447, -3.154095085747, 2.460017111743, 36.91833113604 +448, -3.993828175168, 0.2221182280469, 40.67553524084 +449, -3.089547201626, 2.540609786827, 18.06268977726 +450, -3.139317615266, -2.478847496415, 7.608366721443 +451, -2.876220462877, 2.779812196701, 11.05225986054 +452, -3.082567144267, 2.549074302778, 29.20365417459 +453, -3.076611640716, 2.556259144182, 27.33202512443 +454, -3.174995782934, 2.432982075222, 38.74301862208 +455, -3.056305106959, 2.580503651069, 23.54256350512 +456, -3.905410129934, -0.8647379470165, 7.753556631038 +457, -2.629507656408, -3.014247747763, 8.959453345742 +458, -3.121366837464, 2.501413413648, 16.25411950802 +459, -3.009241466804, -2.635235434353, 13.9649504045 +460, -3.094643004413, 2.534400259477, 14.48230345199 +461, -3.120032854728, 2.503077103371, 19.89633325082 +462, -3.995757745406, 0.1841739396043, 9.500934738976 +463, -3.90439512025, -0.8693093494066, 18.28788746325 +464, -3.910350547289, -0.842115548672, 20.14338499916 +465, -3.912859071041, -0.8303817737459, 21.96945068353 +466, -3.909355641299, -0.8467221916568, 23.79357366099 +467, -3.90414298739, -0.8704409997302, 25.63848676122 +468, -3.907168874466, -0.8567563168149, 27.48123614227 +469, -3.906062152413, -0.8617879446159, 29.32562491363 +470, -3.901173478928, -0.8836546199208, 31.19941005431 +471, -3.902881385287, -0.8760804143346, 33.08032279624 +472, -3.899138961472, -0.8925891323157, 34.94810480859 +473, -3.899241747962, -0.8921400063609, 36.81903705619 +474, -3.900104424717, -0.8883611181847, 38.84178454357 +475, -3.716771021501, -1.478381944468, 40.64294142618 +476, -3.879751534364, 0.9734105154571, 32.14318827315 +477, -3.112905963287, 2.511934804833, 21.74175067133 +478, -3.908033406641, -0.8528041349419, 14.41059178212 +479, -3.820339313302, -1.185330135971, 11.19103564101 +480, -3.856992282667, 1.060004967653, 24.5896061593 +481, -3.877765985707, 0.9812904565379, 30.20352700186 +482, -3.622922334383, -1.695415512205, 9.268103176802 +483, -3.019527733924, 2.623442826528, 12.66948142538 +484, -3.883474312422, 0.9584504498196, 34.03361084642 +485, -3.900156252149, -0.8881335534851, 16.4028951315 +486, -3.671003317591, -1.588626652879, 12.9078380474 +487, -3.883410783705, 0.9587078204564, 17.24102776547 +488, -3.892028418677, 0.9231006381798, 35.91593265577 +489, -3.884918268065, 0.9525807317268, 19.08738036197 +490, -3.872450471465, 1.002061548037, 22.72092290074 +491, -3.86003944734, 1.048854358326, 26.49692646354 +492, -3.825511442695, 1.168529931926, 11.35935810588 +493, -3.876588504767, 0.9859318255894, 15.36965313514 +494, -3.876211593809, 0.9874126189292, 28.34301030141 +495, -3.90326177386, 0.8743840830692, 37.67901409569 +496, -3.881321011267, 0.9671335003485, 39.29289102579 +497, -3.881310128634, 0.9671771737194, 20.92191525128 +498, -3.839522049633, 1.121637388098, 13.56299802872 +499, -3.994896243544, -0.2020000082162, 12.65578873638 +500, 4.34070796209, 2.481583040691, 48.49553135692 +501, 3.086449513011, 3.933678863816, 48.48867287295 +502, 1.501226819491, 4.76931001681, 48.47235909384 +503, -0.3505480344951, 4.987696469866, 48.45539236021 +504, -2.14378731236, 4.517098179071, 48.42705597151 +505, -3.590462927807, 3.479737915999, 48.41735705579 +506, -4.588424370787, 1.986545190417, 48.39310184663 +507, -4.994286803902, 0.2389546408128, 48.44737472829 +508, -4.719212208985, -1.651979457065, 48.45969825756 +509, -3.805795374183, -3.242826170156, 48.4637911175 +510, -2.363315434714, -4.406216081406, 48.42632007037 +511, -0.6141382356348, -4.96214008544, 48.39085880907 +512, 1.305051276425, -4.826680139175, 48.35104397029 +513, 2.975393098214, -4.018337456101, 48.3739540122 +514, 4.21285077926, -2.692933031415, 48.50289617156 +515, 4.838459685548, -1.260677544546, 48.77135131434 +516, 4.737209858616, -1.599638320192, 2.433401814051 +517, 4.755452153985, -1.544562983875, 6.235695768679 +518, 4.761978415804, -1.524323314596, 9.767036165847 +519, 4.774062026758, -1.486045680544, 13.3630817508 +520, 4.778872887794, -1.47050124866, 16.81711444039 +521, 4.755122291587, -1.545578206385, 20.41763333125 +522, 4.74603964567, -1.573247495382, 23.91700525262 +523, 4.796477547122, -1.412020941755, 27.46107336453 +524, 4.730159476806, -1.62036765087, 30.98755736997 +525, 4.741886067885, -1.585722711952, 34.64333374226 +526, 4.746585005286, -1.571601344996, 38.25824963413 +527, 4.76504676267, -1.514704376955, 41.79284100009 +528, 4.751443943181, -1.556849528634, 45.41154902975 +529, 4.756380132218, -1.5417029668, 47.13909192866 +530, 4.105756104928, 2.85355336499, 1.500428359953 +531, 1.415182510586, 4.795545689672, 1.561684990611 +532, -2.073171926415, 4.54994045714, 1.698554894911 +533, -4.579630898676, 2.006733871717, 1.650807109004 +534, -4.738860511451, -1.59474168849, 1.637840123813 +535, -2.367516886167, -4.403960012729, 1.611265993847 +536, 1.244694230766, -4.84259602609, 1.695039114749 +537, 4.085728770792, -2.882155514805, 1.523123761647 +538, 4.885019664175, 1.066106411493, 2.902539654395 +539, 4.809285071968, 1.367763538244, 4.373539557085 +540, 4.758704178711, 1.534514431187, 6.14466745756 +541, 4.753967397739, 1.549126844785, 7.973145502034 +542, 4.750570348532, 1.559513181621, 9.760716967428 +543, 4.763296509486, 1.520199448336, 11.54760998478 +544, 4.771008248546, 1.495820942594, 13.33156823333 +545, 4.774960270567, 1.483156908256, 15.09987000459 +546, 4.779921486654, 1.467089152513, 16.84383601591 +547, 4.777296092531, 1.475615818662, 18.59707525943 +548, 4.778066175151, 1.473120370465, 20.38269371429 +549, 4.779879989846, 1.4672243464, 22.15737367233 +550, 4.780415705571, 1.465477970468, 23.92351291901 +551, 4.767673136569, 1.506417227344, 25.70698705828 +552, 4.771018551927, 1.495788078963, 27.48395190587 +553, 4.770727596784, 1.496715803781, 29.25176546136 +554, 4.766735223784, 1.509382425476, 31.03739610044 +555, 4.770015930267, 1.498982329781, 32.82176047495 +556, 4.769597948843, 1.500311769732, 34.58271051764 +557, 4.768667385305, 1.503266898569, 36.36171278686 +558, 4.774402399641, 1.484951758913, 38.15715710008 +559, 4.775756476921, 1.480591122878, 39.93454382322 +560, 4.769615855905, 1.500254840718, 41.7239438019 +561, 4.759400515083, 1.532353332959, 43.43638224009 +562, 4.765642194843, 1.512829954333, 45.13608749229 +563, 4.78578852007, 1.447835709315, 1.500408417516 +564, 4.725335794329, -1.63438111554, 4.36554755957 +565, 4.749417047473, -1.563021979747, 7.940359463617 +566, 4.764248234715, -1.517214143755, 11.51110165979 +567, 4.77899386696, -1.470108029893, 15.08478562407 +568, 4.757652734163, -1.537771264237, 18.54959936815 +569, 4.752846601947, -1.552562133494, 22.17803191054 +570, 4.76801049294, -1.50534910875, 25.75763944877 +571, 4.771146030824, -1.495381407051, 29.1741205358 +572, 4.741337767974, -1.587361386068, 32.7390588407 +573, 4.744941232623, -1.576557229837, 36.40524705374 +574, 4.758434671778, -1.535349951777, 39.96806580487 +575, 4.776558630436, -1.478001234779, 43.53845268372 +576, -3.558519101477, 3.51239829809, 1.678164413978 +577, 2.955637779205, 4.032890442119, 1.502436193359 +578, -0.3383284532931, 4.98854025319, 1.639743146286 +579, -4.994447973333, 0.2355619699157, 1.642631462592 +580, -3.820223926189, -3.225816044628, 1.606906758309 +581, -0.595339642844, -4.964430552406, 1.644107526525 +582, 2.896295697258, -4.075717266206, 1.681127306542 +583, 4.708225720367, 1.683036115499, 46.8293875834 +584, 2.35299407716, 4.411736491774, 46.89930074318 +585, 0.5565469379494, 4.968929009944, 46.79257568993 +586, -1.245845861773, 4.842299875958, 46.77791083829 +587, -2.894225094716, 4.077187891319, 46.82230014658 +588, -4.154467464747, 2.782157451396, 46.85051234146 +589, -4.874147375385, 1.114758881118, 46.83207436989 +590, -4.941574762482, -0.7621278546318, 46.77512084918 +591, -4.33458432401, -2.492263777782, 46.80539089396 +592, -3.151893131639, -3.881439125727, 46.78514451119 +593, -1.505217420255, -4.768052067434, 46.77210009006 +594, 0.3821523970536, -4.985374564205, 46.69309810806 +595, 2.15691435039, -4.510844764019, 46.66778989319 +596, 3.851853133355, -3.187981718747, 46.52188791364 +597, 3.771196321944, -3.282998370599, 3.481668727572 +598, 4.064825489924, -2.911562078415, 10.59786552578 +599, 4.119934145848, -2.833044763832, 14.18250065195 +600, 3.541434101248, 3.529623847738, 3.057023565639 +601, 4.094973653963, -2.869005188798, 17.71612710874 +602, 4.06126090335, -2.916532165933, 19.46239930598 +603, 4.045010310793, -2.939029020881, 21.34310379015 +604, 4.05256560772, -2.928602396216, 24.89529726175 +605, 4.150614309726, -2.787902590102, 26.71188811754 +606, 3.853562124675, -3.185915716285, 29.78105525496 +607, 3.988159318621, -3.015723006063, 31.88493157905 +608, 4.021847966553, -2.970646214872, 35.52904973035 +609, 4.0514468148, -2.930149946137, 39.21139915598 +610, 4.146890313984, -2.793438870602, 42.66125624649 +611, 0.6033684815349, 4.963461138711, 3.170708735235 +612, -2.784890200833, 4.15263609883, 3.283365531283 +613, -4.86361309328, 1.159856749292, 3.28999665633 +614, 2.204474262849, 4.48779380369, 3.045621484375 +615, -3.141870454803, -3.889556535807, 3.258009616958 +616, -4.116233368604, 2.838419076738, 3.29062756986 +617, -4.955333878117, -0.6668329298869, 3.284908735346 +618, 4.013510333962, -2.98190120547, 6.993662835451 +619, -1.505076125162, -4.768096670315, 3.179865531456 +620, 4.197587055563, 2.716663930443, 45.7651859379 +621, 2.13030021959, -4.523474436141, 3.4530546199 +622, -1.167874552602, 4.86169404934, 3.259518995276 +623, 4.090240652594, -2.875748842279, 12.43936173636 +624, 0.3380804089956, -4.98855706964, 3.240851269026 +625, 4.063971188736, 2.91275439698, 4.908751917004 +626, 4.00436747625, 2.994167850196, 6.954443121127 +627, 3.978962948861, 3.027846404887, 8.825825947748 +628, 4.023453471099, 2.968471351707, 10.65221993273 +629, 4.080732181291, 2.889225651378, 12.40627360978 +630, 4.117405898154, 2.836717939776, 14.20698717351 +631, 4.110862710386, 2.846191802455, 15.97892069426 +632, 4.11178010965, 2.844866311425, 17.73659554357 +633, 4.12677285836, 2.82307381687, 19.50531058091 +634, 4.11139809297, 2.845418373654, 21.28008870722 +635, 4.098633968159, 2.863773663377, 23.05144592925 +636, 4.112056262375, 2.84446713728, 24.82543637798 +637, 4.108264203203, 2.849941268988, 26.60608439777 +638, 4.093662631611, 2.870875521257, 28.38108215012 +639, 4.106904724174, 2.85189999589, 30.15771316175 +640, 4.106058951251, 2.853117573612, 31.94153269688 +641, 4.090196609759, 2.87581148435, 33.72166303383 +642, 4.106224559203, 2.852879224468, 35.49622841826 +643, 4.11951748983, 2.833650587313, 37.27745068016 +644, 4.097930013242, 2.864780900273, 39.05894036009 +645, 4.076992528482, 2.894500288945, 40.83621421656 +646, 4.048433693001, 2.934311611498, 42.60547971396 +647, 4.059187796833, 2.919416796219, 44.27756740403 +648, 4.110442125515, -2.846799173245, 5.275076216423 +649, 3.742185779579, 3.316028587198, 47.05098311209 +650, 4.007964813475, -2.989350774657, 8.741134676432 +651, -4.352327609386, -2.461146964442, 3.290476333393 +652, 4.42317038637, 2.33142954711, 3.050200988221 +653, 4.132445816597, -2.814763146855, 15.90180502971 +654, 4.033715090472, -2.954512238746, 23.11685407414 +655, 4.262442753124, -2.613729476503, 28.23636376521 +656, 3.987202308563, -3.016988191987, 33.72365564378 +657, 4.034026680268, -2.954086786621, 37.42420623289 +658, 4.061957891011, -2.915561368185, 40.96913881211 +659, 4.076063478006, -2.89580844036, 44.50400066264 +660, -0.1354839291671, 4.998164073431, 4.785737768886 +661, -0.3071925868293, 4.990554349428, 45.28055659284 +662, -2.089929344201, 4.542267642516, 45.28234902488 +663, -3.579030713666, 3.491495260004, 45.31946234676 +664, -4.583942757769, 1.996864740911, 45.30105985742 +665, -4.998019954568, 0.1407001554473, 45.27977447894 +666, -4.730685825206, -1.618830325634, 45.2351216146 +667, -3.789179066763, -3.262226540265, 45.21879281052 +668, -2.407765466562, -4.38208460188, 45.18387403068 +669, -0.6157537307217, -4.961939877014, 45.11843716872 +670, 1.2289778268, -4.846608453469, 45.0856672217 +671, 2.83628928858, -4.117701187736, 45.01803377046 +672, 2.929165494698, -4.052158622841, 22.24699834059 +673, 2.936191724366, -4.047070317867, 20.43631393602 +674, 3.006692302253, -3.994972014867, 26.01813219561 +675, 2.928167785336, -4.052879645501, 24.12293031997 +676, -2.351183151484, -4.412701869397, 4.769774360916 +677, 2.967317396957, -4.024304594053, 38.37783772411 +678, 2.901592394867, -4.071948130079, 34.65924022092 +679, 2.712748671304, -4.20011840861, 30.9979111974 +680, 2.888713447828, -4.081094781592, 32.85616516385 +681, 3.030123555855, -3.97722909024, 41.9868529841 +682, 2.925350163099, -4.054913861385, 36.49435380634 +683, 2.95617006886, -4.032500281956, 40.2292348484 +684, 2.808784240373, -4.136511947406, 5.528855758548 +685, 3.01783852737, -3.986558744421, 18.58909554336 +686, 3.092944362771, -3.928574190314, 15.03723501304 +687, 3.123085826685, 3.904655544239, 45.44341649045 +688, -4.991223728352, 0.2961177021601, 4.927234751152 +689, 3.056413882725, -3.957061305753, 13.28099578727 +690, 2.820729402544, 4.128375665758, 5.982138642804 +691, 2.742706285546, 4.180617446171, 7.847655177208 +692, 2.799975283442, 4.142479741907, 9.757719885569 +693, 2.925263293476, 4.054976530616, 11.5048225872 +694, 3.037431324224, 3.971650909965, 13.33800544703 +695, 3.068031075939, 3.948060956606, 15.10155503551 +696, 3.04645778275, 3.964731387865, 16.86064881519 +697, 3.063782542901, 3.951358820686, 18.62587352078 +698, 3.064938699593, 3.950462095469, 20.39112760125 +699, 3.048138112442, 3.963439673753, 22.16681536972 +700, 3.068483412066, 3.94770940545, 23.94699087594 +701, 3.086756106336, 3.933438284758, 25.72062302694 +702, 3.067441156548, 3.948519311225, 27.49552776089 +703, 3.06697602882, 3.948880605772, 29.27694929525 +704, 3.08408262849, 3.935534822695, 31.05536286041 +705, 3.0649518561, 3.950451888049, 32.83913140997 +706, 3.055558725537, 3.957721677278, 34.64088182007 +707, 3.069801975719, 3.946684156336, 36.38408473368 +708, 3.044231033415, 3.966441404483, 38.16613111539 +709, 2.997679263924, 4.001739500597, 39.92954063466 +710, 2.956429843194, 4.032309832127, 41.73693571797 +711, 1.54021066828, 4.756863577749, 45.27443068994 +712, 3.285496449905, -3.769020174749, 27.89242287745 +713, 3.266342215828, -3.78563185335, 43.52058604076 +714, 2.963382024101, -4.02720336949, 11.47261519502 +715, 3.048482153022, -3.96317506082, 16.79742075282 +716, 2.884460203473, -4.084102023038, 9.629392462101 +717, 2.843087706613, -4.113010125505, 7.735134159903 +718, -4.734737178777, -1.606942390972, 4.863842390236 +719, -0.6638488128672, -4.955734532202, 4.758725920517 +720, 2.279252111439, -4.45028199247, 29.18322472667 +721, -1.892964291684, 4.627816568362, 4.834861696612 +722, -4.520298343362, 2.137031325694, 5.039503599517 +723, -3.434418096551, 3.633837136978, 5.012054021589 +724, -3.792924840208, -3.257870647606, 4.820252852695 +725, 1.115415476353, -4.873997159941, 4.961436633314 +726, 2.714030201798, 4.199290423837, 43.66033924204 +727, 1.569115649227, 4.747407300764, 4.77579841143 +728, 2.922209742554, 4.057177617571, 4.418630931478 +729, -4.152876547865, 2.784531626358, 43.81404276609 +730, -4.944664421448, -0.7418178747279, 43.6533971188 +731, -4.960778786921, -0.6250390605667, 6.612855161 +732, -2.47226852113, 4.346019829618, 6.575279842493 +733, 1.517965300251, -4.76400895751, 21.4158209609 +734, 1.586146184634, -4.74174443438, 19.5089359978 +735, -1.210773354856, 4.851188295992, 43.70160454532 +736, -0.94696500352, 4.909506826771, 6.20049755483 +737, -1.45813995151, -4.782659080659, 6.312827327079 +738, 1.78966211546, -4.668737464507, 27.23307399016 +739, 1.000437358833, 4.898890189732, 6.637767998297 +740, 1.773014781933, -4.675084874422, 14.15690734433 +741, 1.013440494284, 4.896216739948, 8.788831455565 +742, 1.229332122971, 4.846518599101, 10.69829165862 +743, 1.572907025257, 4.746152493325, 12.48134404683 +744, 1.733341644314, 4.689938884899, 14.23953403064 +745, 1.726933222149, 4.692302382225, 15.96007156132 +746, 1.7183251984, 4.695461480253, 17.72032470146 +747, 1.702733436657, 4.701138037081, 19.49027320122 +748, 1.728293333936, 4.691801589142, 21.26604452367 +749, 1.748512954251, 4.684303838226, 23.05115107248 +750, 1.728080930119, 4.691879825716, 24.82631296914 +751, 1.732055998357, 4.690413842995, 26.596834946 +752, 1.75303459251, 4.682613556281, 28.37764155541 +753, 1.732424916205, 4.690277594099, 30.16103845998 +754, 1.732343672249, 4.690307601983, 31.9407274742 +755, 1.753373494764, 4.682486667131, 33.730363292 +756, 1.726805944857, 4.69234922281, 35.51158313699 +757, 1.694742814997, 4.704024531294, 37.2728843071 +758, 1.665117310652, 4.714592701577, 39.04457520334 +759, 1.579040618131, 4.744115378687, 40.80870715615 +760, -1.551721657504, -4.753121069112, 43.54375388768 +761, 1.669597878845, -4.713007842446, 12.415506121 +762, 0.2842143421855, -4.991915685155, 43.40559030985 +763, -4.349202600015, -2.46666510577, 43.65691986647 +764, -2.891797893352, 4.078909773947, 43.81862719697 +765, -4.886381687032, 1.059846219337, 43.70441345334 +766, 1.610991484324, 4.733361008569, 42.41325610204 +767, 1.436862148443, -4.789094608208, 6.789138086357 +768, -3.024682719347, -3.98136841391, 6.448451881032 +769, 1.750085773162, -4.683716450275, 15.89118911629 +770, 1.008309407352, -4.897275991717, 30.47891221176 +771, 1.577897860551, -4.744495583481, 39.40195779738 +772, 0.05325537206387, -4.999716378491, 6.077216985033 +773, 1.327453930982, -4.820566985441, 8.672564713726 +774, 1.562184891837, -4.749692449382, 25.19259092981 +775, 1.587751125904, -4.741207268427, 37.43220626909 +776, 1.465888911124, -4.780289708819, 35.50895441716 +777, -4.81972379457, 1.330512136004, 6.657755674272 +778, 1.444043386992, -4.786934164628, 10.5455825082 +779, -3.928880379869, 3.092555409476, 6.704979646531 +780, 0.7068515065964, 4.949783929387, 43.75950110972 +781, 1.483524283177, -4.774846144246, 23.28872650931 +782, 1.415383426372, -4.795486394137, 33.69897500684 +783, 1.973167466207, -4.594193090228, 43.35029465673 +784, -3.168453047634, -3.867932947317, 43.61421467895 +785, -4.316493582477, -2.523466495208, 6.536996363365 +786, 1.669954602779, -4.712881456674, 17.65835964587 +787, -0.216150786589, -4.995325698837, 7.670513589815 +788, -0.6892261108075, -4.952268911134, 41.8431334093 +789, -2.032666811149, -4.568179685045, 7.982719263692 +790, -0.2043991564413, 4.995820351538, 41.96249465154 +791, -3.838790549425, -3.203698974256, 42.0268588539 +792, -0.9754305484731, 4.903930591383, 7.875030513073 +793, 1.607447728764, -4.734565639981, 32.06954056146 +794, -0.0187271557542, -4.999964929241, 36.47770793383 +795, 0.1046659672773, -4.998904383492, 26.41422165678 +796, 0.4873521885606, -4.976192102834, 28.48403372632 +797, -3.629150178343, 3.43937043411, 42.35759360729 +798, -0.01542120655952, -4.999976218582, 20.47063710234 +799, 1.361184798854, -4.811151207702, 41.47046915966 +800, -2.455925075826, -4.355276342774, 42.02292757136 +801, -1.104175461593, 4.876555808152, 9.933857533544 +802, 0.3715002369695, 4.986179657206, 13.43204860584 +803, 0.2139437136254, 4.995420711752, 15.00371220791 +804, 0.2069828040563, 4.995713974881, 16.76696137219 +805, 0.1999456039878, 4.996000576005, 18.55842275303 +806, 0.2074604210364, 4.995694163347, 20.34224307929 +807, 0.2288680825854, 4.994759193472, 22.13230718292 +808, 0.1879356238932, 4.996466771757, 23.91408334103 +809, 0.1842502574448, 4.996604031003, 25.6821437421 +810, 0.2105464778233, 4.995565051191, 27.46058004015 +811, 0.2118269456332, 4.995510919326, 29.24918547964 +812, 0.189701561584, 4.996400035779, 31.03588319857 +813, 0.2092197083164, 4.99562079362, 32.82416600669 +814, 0.2060875428867, 4.995750987056, 34.60860991085 +815, 0.178872603183, 4.996799434821, 36.36766318444 +816, 0.2019519716515, 4.995919875373, 38.12023753289 +817, 0.08917555434915, 4.999204708802, 39.91756482887 +818, -4.709952238386, -1.678198412622, 8.201217323319 +819, 0.2843169326741, -4.991909843116, 13.28159828986 +820, -2.146031298071, 4.516032514022, 42.25475267655 +821, -0.01906205803327, -4.999963663662, 40.15205186607 +822, -0.2307308017888, -4.994673492542, 32.23764326874 +823, -3.671581336666, -3.394037490695, 8.134099702896 +824, -0.6031131311989, -4.963492172954, 9.639745760976 +825, -0.1980406926891, 4.996076448979, 11.88354928686 +826, -4.99600952213, 0.1997219436794, 42.03835718789 +827, -2.879565592017, 4.087554525786, 8.42083994831 +828, -0.03617733224807, -4.99986911835, 24.38731556227 +829, 0.0230768879783, -4.999946745441, 11.55576979833 +830, 0.2104321207431, -4.99556986965, 15.02131757777 +831, -0.05180979382021, -4.999731567321, 22.4061452201 +832, -0.1792846330991, -4.996784668198, 34.50834977515 +833, -0.906031819115, -4.917225472027, 29.93150312416 +834, 0.03977709676923, -4.999841775754, 18.56167194582 +835, 0.1590326683238, -4.997470221062, 38.30937460475 +836, -4.738655175295, -1.595351726001, 42.00259883115 +837, -4.986501202541, 0.3671590351065, 8.291405735812 +838, -4.613232925183, 1.928232864051, 42.17360635818 +839, -4.235944953904, -2.65645823372, 9.736108440252 +840, -1.99845812113, 4.583248317306, 11.66230978932 +841, -1.309585832488, -4.825451786864, 27.76531019652 +842, -1.761680100939, -4.679367822896, 40.44823176463 +843, -2.768046857212, -4.163882394626, 9.645729611503 +844, -4.38167904185, 2.408503430392, 8.48275295457 +845, -1.606676800934, -4.734827310192, 21.41939463093 +846, -1.557221182422, -4.751322151677, 19.50803724613 +847, -1.466731421505, -4.780031269476, 37.52024874718 +848, -1.427706431372, 4.791832044826, 13.57351376646 +849, 0.1457116767735, -4.99787635974, 16.70784456643 +850, -1.729808172027, -4.691243298742, 35.62683833702 +851, -1.429779312854, 4.791213950194, 15.68485997769 +852, -1.375282831799, 4.807140223933, 17.61110074031 +853, -1.352524780427, 4.813592911572, 19.39759146539 +854, -1.36120329008, 4.811145976072, 21.16301350781 +855, -1.366905621096, 4.809528981409, 23.0110567702 +856, -1.359918771065, 4.811509216047, 24.76026701935 +857, -1.356361482472, 4.81251322376, 26.49839151674 +858, -1.358500429442, 4.811909868566, 28.3187107446 +859, -1.351280248784, 4.813942426873, 30.14825587289 +860, -1.361410769624, 4.811087269667, 31.88104811282 +861, -1.38057953573, 4.805621723099, 33.69896657563 +862, -1.376395979223, 4.806821622276, 35.49241867695 +863, -1.362491178768, 4.810781411349, 37.16486548566 +864, -1.351158487635, 4.813976603733, 38.88726398657 +865, -1.591283594546, 4.74002283979, 40.63855443667 +866, -1.145446561674, -4.867027036534, 39.06624822865 +867, -1.981356032197, -4.5906675194, 33.57558185033 +868, -1.524624757151, -4.761881912635, 25.57039506987 +869, -4.36435186452, -2.439760808493, 40.35550473525 +870, -3.233865155937, -3.813412664952, 40.38260691572 +871, -3.495429098444, 3.575188864627, 10.45896742161 +872, -2.302297603046, -4.438403513315, 31.40561106117 +873, -4.837727573794, 1.263484040957, 40.23439525395 +874, -1.090006169256, -4.879742467691, 12.59278555102 +875, -1.625501873722, -4.728397578306, 23.53988242502 +876, -1.842128676919, -4.648285913934, 11.19129049393 +877, -4.94663608851, -0.7285543273182, 40.36220677995 +878, -1.499858908634, -4.769740375973, 17.58916032053 +879, -4.947119315292, -0.7252657997339, 9.887270684056 +880, -3.125008335902, 3.903117074922, 40.88441679698 +881, -1.281864630845, -4.832889722329, 14.08194780315 +882, -3.005720195754, 3.995703455568, 14.65557182289 +883, -2.92707121159, -4.053671684076, 26.87523297449 +884, -1.407613518553, -4.797772835638, 15.76278565511 +885, -4.651936525798, -1.832890220376, 11.43552704802 +886, -3.516033210512, -3.554927631131, 11.39007928089 +887, -3.059079493137, -3.95500096772, 24.69169595559 +888, -3.296146282331, 3.759710053379, 12.68208794123 +889, -2.673685879792, -4.225092166592, 29.14231483602 +890, -2.874638265685, 4.091021246762, 16.59023222605 +891, -4.796917418214, 1.41052588875, 10.08523811938 +892, -3.048582260466, -3.963098055962, 20.46734473724 +893, -3.11158836978, -3.913823937921, 22.56070035999 +894, -3.01785989921, -3.986542565775, 37.00120054549 +895, -2.777507565447, 4.157577626922, 18.44737125433 +896, -2.785994128936, 4.151895556674, 20.24146308574 +897, -2.848623043137, 4.109178355597, 22.0351165167 +898, -2.796145141146, 4.145066024763, 23.82963083898 +899, -2.771567177669, 4.161540024999, 25.61703548719 +900, -2.81015371741, 4.135581710537, 27.36620625231 +901, -2.799401559879, 4.14286747393, 29.18446678268 +902, -2.764265352959, 4.166393771408, 30.98689030207 +903, -2.844666321177, 4.111918472096, 32.7773552874 +904, -2.863392784151, 4.098900067539, 34.56252383771 +905, -2.797559183296, 4.14411180061, 36.32039560635 +906, -2.799179203632, 4.143017714897, 38.02267012464 +907, -3.326274346949, -3.733081698655, 34.98917531489 +908, -4.179083343127, 2.745043243958, 40.95936104118 +909, -3.955884766481, 3.057936512474, 39.2626171739 +910, -2.59313923533, -4.275000456864, 12.86976638491 +911, -2.969317341362, -4.022829169414, 18.47644830912 +912, -3.841787831525, -3.200104101048, 38.6441481591 +913, -3.597866573508, -3.472082389465, 32.80581319374 +914, -4.682052379314, -1.754532848755, 38.73993160456 +915, -4.718225835991, 1.654794537273, 38.26885182224 +916, -4.487002494796, 2.20608445253, 11.99900090559 +917, -4.995594272921, 0.2098519963153, 11.54726894367 +918, -4.99996149806, -0.01962187356987, 38.75793081394 +919, -2.670712008104, 4.22697260102, 39.53369452482 +920, -2.530803877192, -4.312195697692, 38.82406405389 +921, -4.099021821065, -2.863218488071, 19.42765785961 +922, -4.134682249556, -2.811476959751, 13.39002320413 +923, -4.007394081006, 2.990115830452, 37.2761265057 +924, -4.243952785165, 2.643646110448, 13.90440574697 +925, -4.019137605694, 2.97431217368, 15.69882890512 +926, -4.334444177806, -2.492507506404, 36.59134733566 +927, -4.041011971832, -2.944524111552, 28.27678973616 +928, -3.919756052993, 3.104112189504, 17.52484713483 +929, -3.949072545222, 3.066728881491, 19.29265397621 +930, -3.964831310822, 3.046327736263, 21.08771751004 +931, -3.978573729134, 3.028357819321, 22.87248939569 +932, -3.967522814179, 3.042821506262, 24.66515485498 +933, -3.934299899862, 3.085657838768, 26.46110274282 +934, -3.91174226451, 3.114204947663, 28.23986586082 +935, -3.930189908153, 3.090891018114, 30.04095766345 +936, -3.973394446174, 3.035150173404, 31.84352675203 +937, -4.011075828854, 2.985175153184, 33.63869715206 +938, -4.023562214663, 2.96832395549, 35.43151999917 +939, -4.119224452964, -2.834076552618, 25.9873950543 +940, -3.871424438737, -3.164185964059, 30.57330477857 +941, -4.21128601281, -2.695379401551, 21.5013091496 +942, -2.817855425384, -4.130337855628, 14.72776583301 +943, -4.9089724729, -0.9497311515947, 12.96759528753 +944, -4.743282451761, 1.581540888759, 36.31485227375 +945, -4.513381767872, -2.151600571074, 34.24060158783 +946, -2.867286174229, -4.096177485788, 16.58762385396 +947, -4.010632465329, -2.985770792953, 17.53762168878 +948, -4.254669496478, -2.626363926752, 23.74762956519 +949, -4.98535148871, 0.382453309596, 37.21686055074 +950, -4.930743094181, 0.829320528615, 13.38230684268 +951, -4.901268424031, -0.9887203020049, 37.33173390793 +952, -4.76702317254, -1.508472761593, 18.3929049607 +953, -4.670389044792, -1.785347632895, 32.07415591937 +954, -4.04607641118, -2.937561178068, 15.54321082351 +955, -4.835395512031, -1.272379755511, 25.09969902054 +956, -4.97773861652, -0.4712942452536, 35.58264421284 +957, -4.696223357917, 1.716241874724, 18.31755313927 +958, -4.693297834213, 1.724226040682, 20.14162270513 +959, -4.740506204004, 1.58984305194, 21.93977151671 +960, -4.733457617939, 1.61070760201, 23.67348863147 +961, -4.690877716969, 1.730799307963, 25.57470445955 +962, -4.691419075107, 1.729331391527, 27.3274517463 +963, -4.681814330822, 1.75516796111, 29.04156036319 +964, -4.70249795309, 1.698974102564, 30.86498838022 +965, -4.766126642876, 1.51130302192, 32.69109649049 +966, -4.829671245598, 1.293938043125, 15.21484108407 +967, -4.802094376672, 1.392799194978, 34.47374896323 +968, -4.715871490277, -1.661492126732, 16.62755187892 +969, -4.806455321362, -1.377674578321, 20.30430534564 +970, -4.80086104156, -1.397044473034, 27.28860617497 +971, -4.915005057658, -0.9180006989059, 14.8556792332 +972, -4.806607883038, -1.37714220715, 29.71602472625 +973, -4.630123997488, 1.887313372995, 16.73870638443 +974, -4.963656763969, -0.6017570352783, 22.80444165809 +975, -4.997773087279, 0.1492118228325, 17.0453932791 +976, -4.995478908771, 0.2125805071693, 26.39073524077 +977, -4.997909648756, 0.1445653584691, 19.12175521723 +978, -4.992369819968, 0.2761224016092, 20.90055323427 +979, -4.990112379611, 0.3142903734666, 24.65982495389 +980, -4.996564711288, 0.1853134801111, 28.25213914738 +981, -4.999800774694, -0.04463421743559, 31.50057255504 +982, -4.9921089455, -0.2807993523125, 33.44803241039 +983, -4.983449388379, 0.4064876301517, 29.86730637541 +984, 4.352342404633, 0.6089123543689, 49.242937074 +985, 4.425636153919, -0.3125379847334, 0.8917370108088 +986, 4, -9.797174393179e-16, 0.9 +987, 4, -9.797174393179e-16, 2.725 +988, 4, -9.797174393179e-16, 4.55 +989, 4, -9.797174393179e-16, 6.3 +990, 4, -9.797174393179e-16, 8.075 +991, 4, -9.797174393179e-16, 9.925 +992, 4, -9.797174393179e-16, 11.7 +993, 4, -9.797174393179e-16, 13.475 +994, 4, -9.797174393179e-16, 15.225 +995, 4, -9.797174393179e-16, 16.975 +996, 4, -9.797174393179e-16, 18.8 +997, 4, -9.797174393179e-16, 20.575 +998, 4, -9.797174393179e-16, 22.375 +999, 4, -9.797174393179e-16, 24.2 +1000, 4, -9.797174393179e-16, 25.975 +1001, 4, -9.797174393179e-16, 27.75 +1002, 4, -9.797174393179e-16, 29.575 +1003, 4, -9.797174393179e-16, 31.375 +1004, 4, -9.797174393179e-16, 33.15 +1005, 4, -9.797174393179e-16, 34.975 +1006, 4, -9.797174393179e-16, 36.775 +1007, 4, -9.797174393179e-16, 38.525 +1008, 4, -9.797174393179e-16, 40.325 +1009, 4, -9.797174393179e-16, 42.1 +1010, 4, -9.797174393179e-16, 43.875 +1011, 4, -9.797174393179e-16, 45.625 +1012, 4, -9.797174393179e-16, 47.375 +1013, 4, -9.797174393179e-16, 49.15 +1014, 3.900906519637, 0.884832371161, 0 +1015, 3.121721629353, 2.500970625343, 0 +1016, 1.691738388341, 3.624640840885, 0 +1017, -0.06282926924728, 3.999506529927, 0 +1018, -1.815961998958, 3.564026096753, 0 +1019, -3.213765600449, 2.381535358833, 0 +1020, -3.93148431253, 0.7371777942493, 0 +1021, -3.861526555333, -1.04336602516, 0 +1022, -3.049770044046, -2.588223846278, 0 +1023, -1.70311716626, -3.619308209864, 0 +1024, 0.03769855373257, -3.999822348436, 0 +1025, 1.782291689508, -3.580982593299, 0 +1026, 3.121721629353, -2.500970625343, 0 +1027, 3.895269989909, -0.9093248625866, 0 +1028, 3.900906519637, 0.884832371161, 50 +1029, 3.121721629353, 2.500970625343, 50 +1030, 1.691738388341, 3.624640840885, 50 +1031, -0.06282926924728, 3.999506529927, 50 +1032, -1.815961998958, 3.564026096753, 50 +1033, -3.213765600449, 2.381535358833, 50 +1034, -3.93148431253, 0.7371777942493, 50 +1035, -3.861526555333, -1.04336602516, 50 +1036, -3.049770044046, -2.588223846278, 50 +1037, -1.70311716626, -3.619308209864, 50 +1038, 0.03769855373257, -3.999822348436, 50 +1039, 1.782291689508, -3.580982593299, 50 +1040, 3.121721629353, -2.500970625343, 50 +1041, 3.895269989909, -0.9093248625866, 50 +1042, 4.911436253643, 0.9369065729286, 0 +1043, 4.238389680425, 2.652555921534, 0 +1044, 3.039651488473, 3.969951993239, 0 +1045, 1.470201626162, 4.778965073992, 0 +1046, -0.345300128572, 4.988062531806, 0 +1047, -2.114672985427, 4.530801051106, 0 +1048, -3.590631488816, 3.479563982962, 0 +1049, -4.58877312842, 1.985739453174, 0 +1050, -4.99368478303, 0.2512215908988, 0 +1051, -4.745480724951, -1.574932598277, 0 +1052, -3.822357657115, -3.223287443138, 0 +1053, -2.353519660827, -4.411456132175, 0 +1054, -0.5954858004744, -4.964413022849, 0 +1055, 1.228228855962, -4.846798312018, 0 +1056, 2.913452398343, -4.063470822165, 0 +1057, 4.230035528339, -2.665858103686, 0 +1058, 4.917226024977, -0.9060288181357, 0 +1059, 4.911436253643, 0.9369065729286, 50 +1060, 4.238389680425, 2.652555921534, 50 +1061, 3.039651488473, 3.969951993239, 50 +1062, 1.470201626162, 4.778965073992, 50 +1063, -0.345300128572, 4.988062531806, 50 +1064, -2.114672985427, 4.530801051106, 50 +1065, -3.590631488816, 3.479563982962, 50 +1066, -4.58877312842, 1.985739453174, 50 +1067, -4.99368478303, 0.2512215908988, 50 +1068, -4.745480724951, -1.574932598277, 50 +1069, -3.822357657115, -3.223287443138, 50 +1070, -2.353519660827, -4.411456132175, 50 +1071, -0.5954858004744, -4.964413022849, 50 +1072, 1.228228855962, -4.846798312018, 50 +1073, 2.913452398343, -4.063470822165, 50 +1074, 4.230035528339, -2.665858103686, 50 +1075, 4.917226024977, -0.9060288181357, 50 +1076, 5, -1.224646799147e-15, 0.925 +1077, 5, -1.224646799147e-15, 2.7 +1078, 5, -1.224646799147e-15, 4.45 +1079, 5, -1.224646799147e-15, 6.275 +1080, 5, -1.224646799147e-15, 8.05 +1081, 5, -1.224646799147e-15, 9.775 +1082, 5, -1.224646799147e-15, 11.575 +1083, 5, -1.224646799147e-15, 13.375 +1084, 5, -1.224646799147e-15, 15.125 +1085, 5, -1.224646799147e-15, 16.825 +1086, 5, -1.224646799147e-15, 18.55 +1087, 5, -1.224646799147e-15, 20.375 +1088, 5, -1.224646799147e-15, 22.15 +1089, 5, -1.224646799147e-15, 23.9 +1090, 5, -1.224646799147e-15, 25.7 +1091, 5, -1.224646799147e-15, 27.475 +1092, 5, -1.224646799147e-15, 29.225 +1093, 5, -1.224646799147e-15, 31.025 +1094, 5, -1.224646799147e-15, 32.825 +1095, 5, -1.224646799147e-15, 34.55 +1096, 5, -1.224646799147e-15, 36.325 +1097, 5, -1.224646799147e-15, 38.15 +1098, 5, -1.224646799147e-15, 39.9 +1099, 5, -1.224646799147e-15, 41.7 +1100, 5, -1.224646799147e-15, 43.525 +1101, 5, -1.224646799147e-15, 45.25 +1102, 5, -1.224646799147e-15, 47.125 +1103, 5, -1.224646799147e-15, 49.075 +1104, 3.931245303597, -0.738451327406, 0.7266101280267 +1105, 3.660442425562, -1.612811597535, 0.7266101280267 +1106, 3.948707556575, -0.6385206595337, 2.341915424353 +1107, 3.948707556575, -0.6385206595337, 3.266915424353 +1108, 3.921167442129, -0.790218887897, 4.072071155814 +1109, 3.921167442129, -0.790218887897, 4.972071155814 +1110, 3.744743105963, -1.406022428818, 3.688986580166 +1111, 3.918091341545, -0.8053323781593, 5.835531731229 +1112, 3.918091341545, -0.8053323781593, 6.685531731229 +1113, 3.681775836875, -1.56349822098, 5.357602887042 +1114, 3.922063384162, -0.7857600210087, 7.631483610126 +1115, 3.922063384162, -0.7857600210087, 8.556483610126 +1116, 3.683551150024, -1.559311041825, 7.167015341355 +1117, 3.921365919444, -0.7892333785536, 9.442487675955 +1118, 3.921365919444, -0.7892333785536, 10.36748767595 +1119, 3.68992441311, -1.544168975707, 8.998971286081 +1120, 3.921517561579, -0.7884795585367, 11.23674745242 +1121, 3.921517561579, -0.7884795585367, 12.08674745242 +1122, 3.688852733143, -1.546727355801, 10.75423512837 +1123, 3.920315762583, -0.7944333336681, 12.99548570946 +1124, 3.920315762583, -0.7944333336681, 13.92048570946 +1125, 3.686798166421, -1.551618277822, 12.53223316188 +1126, 3.921198265161, -0.790065924653, 14.82862113012 +1127, 3.921198265161, -0.790065924653, 15.65362113012 +1128, 3.686170165196, -1.553109626916, 14.34910683958 +1129, 3.918101970869, -0.8052806627951, 16.51175199064 +1130, 3.918101970869, -0.8052806627951, 17.43675199064 +1131, 3.681857459861, -1.563305998603, 16.11537312076 +1132, 3.919580518693, -0.7980529791208, 18.36323643366 +1133, 3.919580518693, -0.7980529791208, 19.26323643366 +1134, 3.678664880826, -1.570803837077, 17.89998842431 +1135, 3.920682930301, -0.7926193033539, 20.1391957623 +1136, 3.920682930301, -0.7926193033539, 21.0141957623 +1137, 3.683720059308, -1.558911968218, 19.70243219597 +1138, 3.919982348628, -0.7960768721965, 21.89488518605 +1139, 3.919982348628, -0.7960768721965, 22.81988518605 +1140, 3.684505496372, -1.557054670589, 21.45908094835 +1141, 3.919634508932, -0.797787763999, 23.75921324064 +1142, 3.919634508932, -0.797787763999, 24.65921324064 +1143, 3.682449425062, -1.561911083211, 23.27909842669 +1144, 3.920339160105, -0.7943178644269, 25.53591889575 +1145, 3.920339160105, -0.7943178644269, 26.41091889575 +1146, 3.683149896426, -1.56025858128, 25.09513213638 +1147, 3.91906118411, -0.8005994224359, 27.28539465693 +1148, 3.91906118411, -0.8005994224359, 28.18539465693 +1149, 3.682029651856, -1.562900394412, 26.84631355267 +1150, 3.918365257921, -0.803998573083, 29.11085189085 +1151, 3.918365257921, -0.803998573083, 30.03585189085 +1152, 3.678158098559, -1.571990140555, 28.64624654777 +1153, 3.919216787311, -0.7998373422516, 30.95143795354 +1154, 3.919216787311, -0.7998373422516, 31.82643795354 +1155, 3.678463703949, -1.571274889614, 30.48728984439 +1156, 3.919590673748, -0.7980031016664, 32.68484494938 +1157, 3.919590673748, -0.7980031016664, 33.58484494938 +1158, 3.680863222, -1.565645534892, 32.26128290292 +1159, 3.918745986395, -0.8021408193789, 34.50214584218 +1160, 3.918745986395, -0.8021408193789, 35.42714584218 +1161, 3.679942339807, -1.567808781611, 34.03699079156 +1162, 3.919647079344, -0.7977260014503, 36.34078425074 +1163, 3.919647079344, -0.7977260014503, 37.21578425074 +1164, 3.680053167957, -1.567548621578, 35.86793009292 +1165, 3.921200532172, -0.7900546731049, 38.07174102451 +1166, 3.921200532172, -0.7900546731049, 38.94674102451 +1167, 3.684868764537, -1.556194778341, 37.63752527525 +1168, 3.920177438758, -0.7951156196746, 39.83469817899 +1169, 3.920177438758, -0.7951156196746, 40.75969817899 +1170, 3.685904262021, -1.553740573974, 39.3814392035 +1171, 3.920496473298, -0.7935410530412, 41.66281179577 +1172, 3.920496473298, -0.7935410530412, 42.51281179577 +1173, 3.684521234307, -1.557017428915, 41.17250997476 +1174, 3.921622370921, -0.7879581079564, 43.41061665829 +1175, 3.921622370921, -0.7879581079564, 44.33561665829 +1176, 3.687357392015, -1.5502888323, 42.97342845406 +1177, 3.929736717244, -0.7464377624067, 45.18996139301 +1178, 3.929736717244, -0.7464377624067, 46.01496139301 +1179, 3.7056954338, -1.50592873401, 44.7255780513 +1180, 3.927992577349, -0.7555622491189, 46.97316632835 +1181, 3.927992577349, -0.7555622491189, 47.89816632835 +1182, 3.717999115419, -1.475290675678, 46.53812772136 +1183, 3.895269989909, -0.9093248625866, 49.15 +1184, 3.900906519637, 0.884832371161, 0.9 +1185, 3.319879056766, 2.231233526201, 0.755313189929 +1186, 2.725727285084, 2.927526390547, 0.755313189929 +1187, 2.073268144902, 3.420754185751, 0.7986337619169 +1188, 1.241340588992, 3.802508848395, 0.7986337619169 +1189, 2.351991593853, 3.235449820728, 1.553946951846 +1190, 0.3720729191014, 3.982657623104, 0.7567270412366 +1191, -0.5181406780677, 3.966299312676, 0.7567270412366 +1192, -1.383774434721, 3.753021224802, 0.7459794219473 +1193, -2.211205250249, 3.333252366874, 0.7459794219473 +1194, -0.9678325550966, 3.881146756475, 1.502706463184 +1195, -2.924917627083, 2.728526502488, 0.7535406442625 +1196, -3.468615210667, 1.992161770622, 0.7535406442625 +1197, -2.583375007378, 3.053878447361, 1.49952006621 +1198, -3.822800044276, 1.177369874543, 0.7542630508345 +1199, -3.988540148453, 0.3025681479948, 0.7542630508345 +1200, -3.665770748248, 1.600663868927, 1.507803695097 +1201, -3.957421679829, -0.5820770121054, 0.7560349137253 +1202, -3.726070919505, -1.454783661861, 0.7560349137253 +1203, -3.318190843641, -2.233743388391, 0.7696659859512 +1204, -2.769192659326, -2.886446260635, 0.7696659859512 +1205, -3.557823628098, -1.828083978198, 1.525700899677 +1206, -2.071532133033, -3.421805754541, 0.7760371956031 +1207, -1.298995171825, -3.783201229591, 0.7760371956031 +1208, -2.438514853347, -3.17074838327, 1.545703181554 +1209, -0.4075856518907, -3.9791800583, 0.8099271105709 +1210, 0.532597108674, -3.964383977345, 0.8099271105709 +1211, -0.8206315127168, -3.914915570014, 1.585964306174 +1212, 1.388093155382, -3.751426047782, 0.7975973712628 +1213, 2.162450572841, -3.36508655461, 0.7975973712628 +1214, 0.9620620972084, -3.882581167357, 1.607524481834 +1215, 2.773605055902, -2.882206618872, 0.6106191890042 +1216, 3.328589257534, -2.218218554298, 0.6106191890042 +1217, 2.44861016594, -3.162958781783, 1.408216560267 +1218, 3.653385017194, -1.628735066285, 48.74816632835 +1219, 3.920332912091, 0.7943487007471, 3.086481041641 +1220, 3.920332912091, 0.7943487007471, 2.161481041641 +1221, 3.922342461813, 0.7843657388378, 6.743444858913 +1222, 3.922342461813, 0.7843657388378, 5.893444858913 +1223, 3.9230270033, 0.780934780492, 10.40953510473 +1224, 3.9230270033, 0.780934780492, 9.484535104733 +1225, 3.925515750024, 0.7683268160813, 13.93339999401 +1226, 3.925515750024, 0.7683268160813, 13.00839999401 +1227, 3.918590221143, 0.802901412852, 17.45127243552 +1228, 3.918590221143, 0.802901412852, 16.52627243552 +1229, 3.924910495714, 0.7714127304092, 21.01894147329 +1230, 3.924910495714, 0.7714127304092, 20.14394147329 +1231, 3.925559548394, 0.7681030087233, 24.65683393657 +1232, 3.925559548394, 0.7681030087233, 23.75683393657 +1233, 3.924626581925, 0.7728558678334, 28.23661181394 +1234, 3.924626581925, 0.7728558678334, 27.33661181394 +1235, 3.931571983481, 0.7367100777846, 31.81701749062 +1236, 3.931571983481, 0.7367100777846, 30.94201749062 +1237, 3.920207901612, 0.794965413173, 35.39808587222 +1238, 3.920207901612, 0.794965413173, 34.47308587222 +1239, 3.922491508378, 0.7836200397526, 38.95991826691 +1240, 3.922491508378, 0.7836200397526, 38.08491826691 +1241, 3.916524379866, 0.8129186809991, 42.54351297685 +1242, 3.916524379866, 0.8129186809991, 41.69351297685 +1243, 3.919953422228, 0.7962192961485, 46.06008398976 +1244, 3.919953422228, 0.7962192961485, 45.23508398976 +1245, 3.900906519637, 0.884832371161, 49.15 +1246, 2.907677685074, 2.746891057127, 49.25396156916 +1247, 3.456001490014, 2.013964672237, 49.25396156916 +1248, -0.4465491697334, 3.974996080377, 49.16939054604 +1249, 0.4438146599008, 3.975302321542, 49.16939054604 +1250, -3.454333298026, 2.016824599749, 49.22187216253 +1251, -2.905403019728, 2.749296872467, 49.22187216253 +1252, -3.727211879585, -1.451857983648, 49.19711906773 +1253, -3.957877432008, -0.5789699760804, 49.19711906773 +1254, -1.322472741845, -3.77505838989, 49.17977772488 +1255, -2.09274967392, -3.408870605099, 49.17977772488 +1256, 2.057746173258, -3.430113800801, 49.23644647415 +1257, 1.271853310009, -3.79241205011, 49.23644647415 +1258, 3.276548985152, -2.294390278025, 49.12731864909 +1259, 2.706399940672, -2.945403089754, 49.12731864909 +1260, 2.274725321768, -3.290231710763, 48.36376512324 +1261, 3.364174031063, -2.163869933411, 47.87548497744 +1262, 3.81588997016, 1.199576481778, 48.40396156916 +1263, 0.7999820625024, 3.919187249887, 1.555360803153 +1264, -3.997871495888, -0.1304741444217, 1.51029796456 +1265, 3.912568966429, 0.8317476077144, 4.053542442657 +1266, 3.669468814594, 1.592167899036, 3.490023484298 +1267, 3.912568966429, 0.8317476077144, 4.953542442657 +1268, 3.673510266235, 1.58282100184, 5.39698730157 +1269, 3.922442671832, 0.7838644565166, 8.580536185999 +1270, 3.922442671832, 0.7838644565166, 7.655536185999 +1271, 3.922775928782, 0.7821949965127, 12.14971020491 +1272, 3.922775928782, 0.7821949965127, 11.29971020491 +1273, 3.921515795526, 0.7884883419814, 15.64229386404 +1274, 3.921515795526, 0.7884883419814, 14.81729386404 +1275, 3.920903165265, 0.7915291331458, 19.24918475934 +1276, 3.920903165265, 0.7915291331458, 18.34918475934 +1277, 3.923184802534, 0.7801416571146, 22.84764198078 +1278, 3.923184802534, 0.7801416571146, 21.92264198078 +1279, 3.926044085877, 0.7656225151805, 26.4350559559 +1280, 3.926044085877, 0.7656225151805, 25.5600559559 +1281, 3.924401978933, 0.7739955476278, 30.06536050023 +1282, 3.924401978933, 0.7739955476278, 29.14036050023 +1283, 3.931040125415, 0.7395427860352, 33.59465024844 +1284, 3.931040125415, 0.7395427860352, 32.69465024844 +1285, 3.920361110825, 0.7942095194179, 37.1776929022 +1286, 3.920361110825, 0.7942095194179, 36.3026929022 +1287, 3.920004724117, 0.7959666845395, 40.80341208986 +1288, 3.920004724117, 0.7959666845395, 39.87841208986 +1289, 3.914337875367, 0.8233826555557, 44.37301947333 +1290, 3.914337875367, 0.8233826555557, 43.44801947333 +1291, 3.694649584056, 1.532828904683, 19.69312623263 +1292, 3.936930422813, 0.707515968675, 47.75414268005 +1293, 3.936930422813, 0.707515968675, 46.82914268005 +1294, 1.358982973778, 3.762069281257, 49.17104567397 +1295, 2.178637181694, 3.354629641338, 49.17104567397 +1296, -2.19344615646, 3.344965464502, 49.2227101915 +1297, -1.363794513151, 3.760327715226, 49.2227101915 +1298, -3.98765486305, 0.31402021144, 49.20524991534 +1299, -3.819403401263, 1.188342399487, 49.20524991534 +1300, -2.772867585037, -2.882916120156, 49.17591711016 +1301, -3.321033816514, -2.229514384249, 49.17591711016 +1302, 0.4543458627959, -3.974112459023, 49.21934799139 +1303, -0.4859458785608, -3.970372350688, 49.21934799139 +1304, 3.70413528196, 1.509762170985, 26.92166776983 +1305, 3.647496692878, 1.641879372989, 1.261481041641 +1306, 3.931245303597, -0.738451327406, 1.626610128027 +1307, 3.69457815465, 1.533001063007, 10.85924530964 +1308, 3.697038820499, 1.527057287637, 14.35069385805 +1309, 3.682223235536, 1.562444252984, 17.90045719486 +1310, 3.699084500567, 1.522095219644, 21.49158345407 +1311, 3.705960722819, 1.505275762419, 25.11688989247 +1312, 3.700906331005, 1.517660149417, 28.72697231417 +1313, 3.727584649898, 1.450900643684, 32.26166773907 +1314, 3.684315376269, 1.557504480953, 35.80077877441 +1315, 3.688112449543, 1.5484917047, 39.43833035677 +1316, 3.665314144398, 1.601709156767, 43.04153245018 +1317, 3.717311504347, 1.477022403232, 46.43922666981 +1318, -0.8769592241425, 3.902684014776, 48.39210073754 +1319, -3.649586855841, 1.637228078696, 48.42712207788 +1320, -3.561580137831, -1.820754492458, 48.37303617789 +1321, -0.9218430211785, -3.892326482235, 48.39912571627 +1322, 3.700366601911, 1.518975645447, 23.30447591735 +1323, 3.714714638048, 1.483541424388, 30.50737799086 +1324, 3.705645906186, 1.506050602724, 34.01773612066 +1325, 3.688806167952, 1.546838406325, 37.61261116911 +1326, 3.67643447097, 1.57601699885, 41.24692506671 +1327, 3.672107247959, 1.586073251615, 44.80810346309 +1328, 0.9914916164364, 3.875170238136, 48.34043622001 +1329, -2.545175296273, 3.085787210947, 48.44458235403 +1330, -3.998321862819, -0.1158545696144, 48.40236898308 +1331, -2.462183638318, -3.152404119272, 48.35569483504 +1332, 0.7647368440449, -3.926216697963, 48.45579446554 +1333, 3.683433761154, 1.559588319779, 16.11856629956 +1334, 3.692581755542, 1.53780362161, 7.248981044912 +1335, 3.699484325256, 1.521123179491, 12.60811019892 +1336, 3.693925375802, 1.53457333419, 9.065071290732 +1337, 2.648918558813, 2.997203774983, 48.42500724313 +1338, 3.240165618804, -2.345490729617, 4.840836391694 +1339, 3.231097713027, -2.357966829468, 5.704296967109 +1340, 3.330778052829, -2.214930599995, 6.707948893283 +1341, 3.341795284054, -2.19827302205, 7.65390077218 +1342, 2.752680760831, -2.902197207109, 6.191182397935 +1343, 3.335743734148, -2.207445070685, 8.549993400394 +1344, 3.333787351297, -2.210398583137, 9.435997466223 +1345, 2.868884129787, -2.787382975096, 8.090926952323 +1346, 3.326050955365, -2.222022736678, 10.32153508868 +1347, 3.326478034059, -2.221383327776, 11.19079486514 +1348, 2.85144086811, -2.805224585603, 9.872557202993 +1349, 3.310735691578, -2.244778202966, 12.05583679016 +1350, 3.307323259334, -2.249802848756, 12.9645750472 +1351, 2.821714841276, -2.835123516625, 11.62313675046 +1352, 3.297856602007, -2.263656739128, 13.87895889777 +1353, 3.300376087353, -2.259981787986, 14.78709431843 +1354, 2.789657786962, -2.866672187685, 13.40256252605 +1355, 3.307909764451, -2.248940415006, 15.69694867991 +1356, 3.299155261079, -2.261763595802, 16.55507954044 +1357, 2.787210990404, -2.869051218604, 15.2268007381 +1358, 3.28911105747, -2.276345415711, 17.41863673545 +1359, 3.293303819348, -2.270275303453, 18.34512117847 +1360, 2.784096649329, -2.872073440425, 17.0002122946 +1361, 3.304394249632, -2.254102624771, 19.26659057529 +1362, 3.30751547466, -2.249520256607, 20.14254990393 +1363, 2.785463199585, -2.870748119177, 18.78523888643 +1364, 3.307780863892, -2.249129999904, 21.00761676192 +1365, 3.30579593954, -2.252046448482, 21.88830618566 +1366, 2.799840619805, -2.856727586539, 20.57177514124 +1367, 3.293486081216, -2.270010888264, 22.80607742345 +1368, 3.292494968354, -2.271448190773, 23.74540547803 +1369, 2.784585009832, -2.871599958737, 22.35461323701 +1370, 3.303051885211, -2.256069201865, 24.66188257657 +1371, 3.305047621346, -2.253144518364, 25.53858823168 +1372, 2.78234169784, -2.873773595199, 24.18886157333 +1373, 3.303761041786, -2.255030593756, 26.402568711 +1374, 3.300142978021, -2.260322172748, 27.27704447218 +1375, 2.794079745754, -2.862362376494, 25.96931915118 +1376, 3.285315831851, -2.281819424273, 28.19313169392 +1377, 3.283335311866, -2.284668297555, 29.11858892784 +1378, 2.773688287712, -2.882126520923, 27.74938685225 +1379, 3.285366634847, -2.281746277445, 30.03616219285 +1380, 3.287787690666, -2.278256372997, 30.95174825554 +1381, 2.757391963181, -2.897721443028, 29.583047339 +1382, 3.30071090123, -2.2594927631, 31.82851899131 +1383, 3.301767959066, -2.257947817042, 32.68692598715 +1384, 2.776415070872, -2.879499844459, 31.37739133978 +1385, 3.290366787806, -2.274529929832, 33.56444940284 +1386, 3.287963587364, -2.278002512766, 34.48175029563 +1387, 2.778329282365, -2.877652932297, 33.13168549123 +1388, 3.287500694082, -2.27867048658, 35.40843664646 +1389, 3.290065438535, -2.274965804173, 36.32207505502 +1390, 2.763229547212, -2.892155332864, 34.93589525774 +1391, 3.302480100183, -2.256906109677, 37.1961136959 +1392, 3.306889997029, -2.250439634282, 38.05207046967 +1393, 2.77844898612, -2.877537355366, 36.73662024944 +1394, 3.30046797831, -2.2598475887, 38.92561167204 +1395, 3.297548148691, -2.264106050313, 39.81356882653 +1396, 2.786010421594, -2.870217052902, 38.48420009269 +1397, 3.283185124227, -2.284884119612, 40.73076752437 +1398, 3.28410256169, -2.283565274807, 41.63388114115 +1399, 2.759595434205, -2.895623083123, 40.27493999291 +1400, 3.298964627676, -2.262041640939, 42.54370905261 +1401, 3.302182058081, -2.257342166196, 43.44151391514 +1402, 2.760244762297, -2.89500411955, 42.10196660222 +1403, 3.338673314873, -2.203011687793, 44.28951793734 +1404, 3.361786304267, -2.167577644386, 45.14386267206 +1405, 2.825814228819, -2.831037609112, 43.85979853589 +1406, 3.400967979069, -2.105568048139, 46.02375404007 +1407, 3.396068793612, -2.11346084635, 46.98195897541 +1408, 2.931668250729, -2.72127199443, 47.36111129615 +1409, 2.922330909363, -2.731296771898, 45.5876939261 +1410, -0.5596886648458, 3.960650022211, 2.234255999774 +1411, -1.423039189087, 3.738309707117, 2.223508380484 +1412, 2.768906242792, 2.886721015032, 2.440768207864 +1413, 2.123844481846, 3.389584726324, 2.484088779852 +1414, 3.37060973439, 2.15383147401, 2.01679423157 +1415, -3.986270641364, 0.3311289383287, 2.268706335681 +1416, -3.961489382364, -0.5537164196754, 2.270478198572 +1417, -2.22457958427, 3.324341389396, 2.227539548483 +1418, -2.935856562088, 2.716752886599, 2.235100770798 +1419, -1.867449027352, 3.537320190517, 2.959089085073 +1420, -3.466940595979, 1.995074661248, 2.259498738099 +1421, -3.821809719647, 1.180580563455, 2.260221144671 +1422, -3.221317344834, 2.371310726976, 2.987518220372 +1423, 3.422230541351, -2.070830297693, 1.337229317031 +1424, -2.784605034229, -2.871580540982, 2.274691563877 +1425, -2.089820452574, -3.410667159956, 2.281062773529 +1426, -1.286069496891, -3.787614717625, 2.289914982513 +1427, -0.3939959852118, -3.980548600838, 2.32380489748 +1428, -1.710130851388, -3.615999512048, 3.018903364835 +1429, 0.6270740213377, -3.950541503612, 2.520174501479 +1430, 1.477243076318, -3.717223815359, 2.507844762171 +1431, 0.1468124124583, -3.997304856469, 3.224125177818 +1432, 3.32672601611, 2.221011934623, 13.04449343727 +1433, 3.318856068808, 2.23275488904, 12.18580364817 +1434, 3.543543449282, 1.855613058547, 47.85810424921 +1435, 3.294524562555, 2.268503450895, 5.925031462203 +1436, 3.266846906561, 2.308183547531, 4.985129045947 +1437, 3.308571180345, 2.247967247224, 14.80264787683 +1438, 3.320078911129, 2.230936131735, 13.9187540068 +1439, 3.325343941641, 2.223080671005, 9.560275614485 +1440, 3.323682717149, 2.225563568116, 8.65627669575 +1441, 3.308877528895, 2.247516295553, 18.35476940245 +1442, 3.302342944169, 2.257106793905, 17.45685707863 +1443, 3.316397350407, 2.236405288451, 7.76427541545 +1444, 3.316111510415, 2.236829106234, 6.852184088364 +1445, 2.781943081238, 2.874159475873, 6.440325832741 +1446, 2.818640528864, 2.838179974745, 8.259479739203 +1447, 3.32336132668, 2.226043461464, 21.94967812108 +1448, 3.328304865267, 2.218645245153, 21.04597761359 +1449, -1.311392132495, 3.77892189319, 47.63106438798 +1450, -0.3912514029916, 3.980819305075, 47.57774474252 +1451, 3.333369682091, 2.211028394778, 25.5997506175 +1452, 3.331971992261, 2.213134122187, 24.69652859817 +1453, 3.367690873782, 2.158392498747, 31.03351581366 +1454, 3.347051598544, 2.190261536138, 30.15685882327 +1455, 3.324967927229, 2.223643020563, 29.22588583037 +1456, 3.325613533428, 2.222677355417, 28.32213714408 +1457, 2.845184805872, 2.811569565285, 29.75202365318 +1458, 3.328675863515, 2.218088590579, 34.36965189422 +1459, 3.359657931061, 2.17087507385, 33.49121627045 +1460, 3.298704688869, 2.262420689357, 36.19158971522 +1461, 3.298268396543, 2.263056690488, 35.28698268524 +1462, 3.285293044882, 2.281852232124, 39.88864681148 +1463, 3.292461499954, 2.271496702908, 38.97015298853 +1464, 3.276491672974, 2.294472121629, 41.70439897523 +1465, 3.286387776318, 2.280275286817, 40.81429808824 +1466, 3.283685181138, 2.284165412393, 45.34506809233 +1467, 3.267766926984, 2.306880861881, 44.48300357589 +1468, 3.382503687827, 2.135103932326, 47.04190861532 +1469, 3.333437501168, 2.21092614662, 46.27284992504 +1470, 2.807911308706, 2.848795198402, 45.94775003784 +1471, 3.085425147432, 2.545614200855, 47.69172750444 +1472, 0.6471579416548, 3.947301179104, 47.39717244278 +1473, 1.550182739931, 3.687401995012, 47.39882757071 +1474, 0.1979758981002, 3.99509768889, 46.63613609322 +1475, 3.319688667951, 2.231516781894, 20.14754015725 +1476, 3.308202028529, 2.248510471053, 19.25278344329 +1477, 2.800517420055, 2.856064106418, 18.80918332706 +1478, 2.810700865853, 2.84604297977, 20.60563482425 +1479, 1.215649982413, 3.810799800601, 2.367231571419 +1480, 0.3451863222481, 3.985077966983, 2.325324850739 +1481, 1.721055504401, 3.610812644097, 3.254052827438 +1482, -2.875086252628, 2.780985264245, 47.66460238297 +1483, -2.156641516738, 3.36881245668, 47.66544041194 +1484, -3.809839308564, 1.218656819176, 47.65486138879 +1485, -3.438196970435, 2.044211728881, 47.67148363598 +1486, -3.34646524433, -2.191157312584, 47.59291703909 +1487, -3.743669249801, -1.408879181511, 47.61411899666 +1488, -0.5176207084017, -3.966367204664, 47.64962233868 +1489, -1.352561987884, -3.764382561448, 47.61005207217 +1490, 1.150527159098, -3.83096427237, 47.73504649629 +1491, 0.3276516711457, -3.98655796175, 47.71794801353 +1492, 3.335147946333, 2.208345121594, 23.77324442414 +1493, 3.328357812545, 2.21856581414, 22.86405246835 +1494, 3.299332469777, 2.261505085972, 16.56685734909 +1495, 3.307625138742, 2.249359006819, 15.68287877761 +1496, 2.794960646909, 2.861502224747, 15.25093892636 +1497, 2.797568500744, 2.858952689998, 17.02116955668 +1498, 3.323073092579, 2.226473718996, 27.41052999942 +1499, 3.32717024803, 2.220346401044, 26.50897414138 +1500, 2.81836866903, 2.838449937102, 26.08861284709 +1501, 2.813664383323, 2.843113212312, 27.90944351562 +1502, 3.324020915689, 2.225058415427, 11.33491416335 +1503, 3.324735535051, 2.223990472545, 10.44473906318 +1504, 2.827119493507, 2.829734151724, 10.03594446819 +1505, 2.819778649926, 2.837049235636, 11.7712974017 +1506, -3.743050335378, -1.410522664414, 2.264281402454 +1507, -3.344430599398, -2.194261599219, 2.27791247468 +1508, -3.093846686854, -2.535372295786, 3.013272066655 +1509, -3.880666209586, -0.9697575829971, 3.022689773575 +1510, 3.214456896038, 2.380602206064, 2.946936059576 +1511, 3.762955402113, -1.356527420182, 2.168525552379 +1512, 3.393032412156, -2.118332138749, 2.189880009524 +1513, 3.445660407779, -2.031606348253, 2.90518530585 +1514, -1.72679100038, 3.608073286535, 46.85108441692 +1515, -3.925459065187, 0.7686163721528, 3.020401378683 +1516, 2.978235757179, -2.670226914451, 2.073889070501 +1517, 3.191578053165, 2.411188406275, 3.913997460592 +1518, 2.804693163524, 2.851963579445, 13.49644745605 +1519, 2.4042832708, -3.196783063292, 2.26086725276 +1520, 2.108272281206, 3.399292277563, 46.66554783201 +1521, 2.39880291615, 3.200897463129, 47.60881160924 +1522, 2.828067704881, 2.828786498945, 22.41844662787 +1523, 2.122579515128, -3.390376999975, 3.173517272405 +1524, -0.1317338841261, 3.997830184459, 3.04612676804 +1525, 2.830362989581, 2.826489934037, 24.25610514917 +1526, 2.81821737686, 2.838600150914, 34.76046283503 +1527, 3.446143162293, 2.030787360849, 32.6992577562 +1528, 3.447605554257, 2.028303710556, 31.82162499838 +1529, 2.9772847714, 2.671287215929, 31.47110583079 +1530, 3.297214735395, 2.26459157216, 38.03411896977 +1531, 3.291087386755, 2.273487148137, 37.12689360506 +1532, 2.749285983293, 2.905413323792, 40.34612072 +1533, 2.728443097995, 2.924995429228, 44.09475025848 +1534, 3.255285196968, 2.324460859296, 43.55778562924 +1535, 3.261485673553, 2.315752836814, 42.65327913277 +1536, 2.660370478848, 2.987043507429, 4.442041621225 +1537, -3.168157246534, 2.441880353587, 46.89234169388 +1538, -3.963981216331, -0.5355865164204, 47.62130479071 +1539, -3.983976368205, 0.3576762468852, 47.62943563833 +1540, -2.120327633119, -3.391785772751, 47.5778526352 +1541, -2.796157554672, -2.860332660627, 47.57399202047 +1542, -0.1215186901012, -3.998153724903, 46.92887436943 +1543, 2.491200472266, -3.129523958525, 47.71765499438 +1544, 1.809874677786, -3.56712119933, 47.82678281944 +1545, 1.405981695078, -3.744758399831, 47.08893636742 +1546, 2.537592687747, -3.092025768181, 46.82412899234 +1547, 3.364808208342, -2.162883658701, 3.710341037311 +1548, 2.731716660156, 2.921938412874, 42.2206521543 +1549, 2.769759022575, 2.885902797543, 36.61309751588 +1550, 2.786419987634, -2.869819445978, 4.057035117377 +1551, 2.96928315146, 2.680178644504, 33.05117352976 +1552, 2.75397701668, 2.900967182096, 38.48443542448 +1553, -1.761136479133, -3.591434017474, 46.8283492576 +1554, -3.883983021882, -0.9563868912397, 46.84118565191 +1555, -3.916850645365, 0.8113451928163, 46.87379719643 +1556, -3.099950384191, -2.527905776637, 46.81507483924 +1557, -3.415994047172, 2.081101792245, 46.12603600897 +1558, -2.844985377725, 2.811771363488, 46.11915475596 +1559, 2.009811931384, 3.458418135574, 42.75224094221 +1560, 2.032282984646, 3.445261364588, 41.80336078467 +1561, 2.278093855326, -3.287900300545, 7.673032727248 +1562, 2.269052972203, -3.294146112323, 8.569125355462 +1563, 2.242763501089, -3.312100825485, 9.401097081081 +1564, 2.231187918441, -3.319909708502, 10.28663470354 +1565, 1.562607958851, -3.682153767421, 8.983202856006 +1566, 2.20796895354, -3.335396992894, 11.18185579824 +1567, 2.184401142663, -3.350879235057, 12.04689772325 +1568, 1.507437275532, -3.705082031526, 10.71039567633 +1569, 2.167439047847, -3.361875663059, 12.95253113018 +1570, 2.153317454449, -3.370938139505, 13.86691498075 +1571, 1.462752552344, -3.722949767404, 12.51125017795 +1572, 2.147346315989, -3.374744997657, 14.73660970018 +1573, 2.158611597236, -3.367550440941, 15.64646406167 +1574, 1.437313139524, -3.732844885466, 14.28657830431 +1575, 2.162167874873, -3.365268203408, 16.57030042532 +1576, 2.1472500578, -3.374806244702, 17.43385762033 +1577, 1.434647681899, -3.73387011408, 16.0801093874 +1578, 2.130275574776, -3.38554662876, 18.29753061947 +1579, 2.146847590426, -3.375062284385, 19.21900001629 +1580, 1.419830291178, -3.739529642115, 17.86761875019 +1581, 2.159378391181, -3.367058800155, 20.13065967986 +1582, 2.159775642483, -3.366803999958, 20.99572653784 +1583, 1.414950496621, -3.741378768865, 19.64295141289 +1584, 2.148780153209, -3.373832220662, 21.91206493295 +1585, 2.130380079898, -3.385480869119, 22.82983617073 +1586, 1.416651625605, -3.74073497747, 21.47094947157 +1587, 2.120693680102, -3.391556916104, 23.70135996033 +1588, 2.136486877264, -3.381630349887, 24.61783705887 +1589, 1.393728050047, -3.749336224255, 23.25881165627 +1590, 2.154730988629, -3.37003477232, 25.53514403914 +1591, 2.152807102109, -3.37126409246, 26.39912451846 +1592, 1.403268299705, -3.745776031618, 25.04764242614 +1593, 2.133145976764, -3.383738796334, 27.3150708352 +1594, 2.111009326299, -3.397593210535, 28.23115805695 +1595, 1.401706670992, -3.746360688521, 26.88089572316 +1596, 2.110778057521, -3.397736892681, 29.10932816799 +1597, 2.113800118802, -3.395857632139, 30.026901433 +1598, 1.379619218529, -3.754550680423, 28.67501215094 +1599, 2.133607619846, -3.383447727472, 30.90452128845 +1600, 2.152844526004, -3.37124019418, 31.78129202422 +1601, 1.401280255231, -3.746520204977, 30.43080211744 +1602, 2.152524361057, -3.371444627316, 32.70698806225 +1603, 2.135535902084, -3.382230981306, 33.58451147793 +1604, 1.422793990286, -3.738403036218, 32.23411801092 +1605, 2.116131415072, -3.39440537269, 34.46366777145 +1606, 2.115441724617, -3.394835240442, 35.39035412228 +1607, 1.401005655972, -3.746622899617, 34.03897034247 +1608, 2.131448000693, -3.384808623887, 36.26519859251 +1609, 2.149960638154, -3.373080084194, 37.13923723338 +1610, 1.397239561665, -3.748029029679, 35.79297110622 +1611, 2.140011739909, -3.37940079793, 38.04013238072 +1612, 2.130379493241, -3.385481238285, 38.9136735831 +1613, 1.403890550901, -3.745542860667, 37.5687107238 +1614, 2.087072356773, -3.412349480577, 39.84735245762 +1615, 2.065482590116, -3.425460796729, 40.76455115547 +1616, 1.344960047631, -3.76710531712, 39.40328474566 +1617, 2.038912669167, -3.441342053256, 41.67085343977 +1618, 2.06137208227, -3.427935988089, 42.58068135123 +1619, 1.267533434717, -3.79385806164, 41.24326590448 +1620, 2.139213853324, -3.379905929127, 43.5146150497 +1621, 2.194227494746, -3.344452974897, 44.3626190719 +1622, 1.324782144771, -3.774248570099, 43.08350188724 +1623, -2.142218033608, 3.378002648975, 46.09240721077 +1624, -1.295222902248, 3.784494369594, 46.05803118681 +1625, -2.934683814446, 2.718019666821, 3.702654107264 +1626, -3.466079254929, 1.996570709629, 3.727052074564 +1627, -2.135151728365, -3.38247351754, 3.792951211864 +1628, -1.336502941891, -3.770114041553, 3.801803420848 +1629, -0.5760853361145, -3.958298332051, 3.737051700603 +1630, 0.445286691958, -3.975137703522, 3.933421304602 +1631, -1.050863828325, -3.859492870096, 4.511099547632 +1632, 2.032517306825, 3.445123132409, 45.7377659993 +1633, 2.210930248317, 3.333434780684, 22.88477274984 +1634, 2.203429990719, 3.338397261561, 21.97039840257 +1635, -3.814560392413, 1.203797745734, 3.776330643323 +1636, -3.984183474092, 0.3553618504761, 3.784815834333 +1637, -3.655269185825, 1.624502132703, 4.491466530214 +1638, 2.10479699323, 3.401445224796, 38.91401505119 +1639, 2.111920914876, 3.397026648307, 37.97798103244 +1640, 2.175899756865, 3.356405852706, 13.95023621725 +1641, 2.185912783524, 3.349893327081, 13.07597564772 +1642, 2.442057738245, 3.168020518096, 32.24781859001 +1643, 2.319382068673, 3.258905770273, 31.45970940529 +1644, -1.362356009644, -3.760849119944, 46.01962522491 +1645, -2.129149192743, -3.38625511665, 45.98742578794 +1646, 2.071789833154, 3.421649731816, 40.80162282705 +1647, 2.070147471542, 3.422643634103, 39.87597155029 +1648, 1.336887560169, 3.769977672542, 39.36951715825 +1649, 1.254917748816, 3.798049689473, 41.33321161497 +1650, 2.071352412439, 3.421914549413, 44.60970943165 +1651, 2.052877947131, 3.433029585393, 43.684491485 +1652, 2.119808837535, 3.392110035407, 36.99963465226 +1653, 2.131189817265, 3.384971190836, 36.06433076242 +1654, 1.383826532792, 3.753002015339, 37.42921427897 +1655, -2.827125133049, -2.829728517381, 46.01977552814 +1656, -3.370116602176, -2.154603000029, 46.03870054676 +1657, -2.504476980556, -3.118909273106, 45.21105149545 +1658, 2.309626156095, 3.265827156951, 33.03977710426 +1659, -3.978569774379, 0.4135003632423, 46.08741142051 +1660, -3.792378035954, 1.271954728916, 46.11283717097 +1661, -3.756589699045, -1.3740574344, 46.05057803026 +1662, -3.96878340252, -0.4987567582302, 46.05776382431 +1663, -3.999935910032, -0.02264322501105, 45.29680379886 +1664, -3.597577989725, -1.74855157426, 45.25527871916 +1665, 0.397112472753, -3.980238897853, 46.15893211835 +1666, -0.4483834570591, -3.974789588826, 46.0906064435 +1667, 1.932013533565, -3.50247394082, 4.304012626789 +1668, 2.165173109077, 3.363335458697, 35.08729074585 +1669, 2.210616435599, 3.333642898491, 34.16995995483 +1670, 1.430238446833, 3.735561267762, 35.47382788222 +1671, 2.214213906578, 3.331254534844, 24.72376040958 +1672, 2.218997307832, 3.328070153683, 23.80047623555 +1673, 0.2293591729225, 3.993418882336, 3.777577428012 +1674, -0.6744253683037, 3.942733876714, 3.686508577047 +1675, -0.4738478312746, 3.971834366234, 46.02261355833 +1676, 0.5650336771078, 3.95989102675, 45.84204125859 +1677, -0.9412143414492, 3.887687688517, 45.26393635218 +1678, 2.255151574771, 3.303678461171, 30.33357462429 +1679, 2.22198153875, 3.326078477946, 29.40260163139 +1680, 1.975192003314, 3.478306563551, 4.101292922037 +1681, 1.049622569237, 3.859830626096, 3.984435713605 +1682, 0.5147215693479, 3.966744471988, 4.624817522612 +1683, 2.085109611757, 3.413549165745, 5.172424507392 +1684, 1.263193319706, 3.795305341741, 45.32750722582 +1685, 1.258684489058, 3.796803044273, 43.26720011538 +1686, -2.498479677695, 3.123715624084, 45.32610152585 +1687, 2.338986077799, -3.244864269559, 45.23106781601 +1688, 2.39809395079, -3.201428650335, 46.11095918402 +1689, 1.891752034378, -3.524382816952, 46.46750288225 +1690, 1.573750857708, -3.677405095698, 44.88588432981 +1691, -0.8640043563313, -3.905572489692, 45.24968297384 +1692, -3.966568625311, -0.5160749370966, 3.827767208333 +1693, -3.756275272581, -1.374916752607, 3.821570412216 +1694, -3.999418747922, -0.06818855308828, 4.583696472973 +1695, 2.203197113008, 3.338550955315, 28.4211141157 +1696, 2.199383089065, 3.34106480445, 27.50950697105 +1697, 1.524252518647, 3.698196081794, 29.00266508681 +1698, -3.357769383368, -2.173795015202, 3.820670916864 +1699, -2.802090893496, -2.854520384335, 3.817450006061 +1700, -2.49973139341, -3.122714037628, 4.600350062073 +1701, -3.585913161471, -1.772350642055, 4.625748351622 +1702, 1.506616960151, 3.705415676464, 23.35242801025 +1703, -1.479085789382, 3.716490983125, 3.626473235268 +1704, -2.274311346221, 3.290517877242, 3.630504403267 +1705, 2.200564248087, -3.34028696223, 5.887488885923 +1706, 2.344028478457, -3.241223610333, 6.891140812097 +1707, 2.192815193161, 3.345379130777, 26.58178401892 +1708, 2.202166872769, 3.339230609658, 25.67256049504 +1709, 1.502206281404, 3.707205994831, 25.21693158141 +1710, 1.496096634033, 3.709675843202, 27.093454619 +1711, 2.163357192113, 3.364503776092, 19.26328926099 +1712, 2.164368086414, 3.36385356199, 18.36527522015 +1713, 2.204031397387, 3.338000239565, 10.51183799532 +1714, 2.20494466267, 3.337397044788, 9.627374546632 +1715, 1.61699409641, 3.658596738119, 31.1102873835 +1716, 1.578751448926, 3.675261060457, 33.36660501508 +1717, -2.627698357245, 3.015825151319, 4.370038257459 +1718, 2.151381350066, 3.372174118664, 6.083286125715 +1719, 1.396785569995, 3.74819824335, 5.742537426528 +1720, 2.183596844863, 3.35140341038, 7.010438751877 +1721, 2.179973253251, 3.353761562054, 21.06486849732 +1722, 2.16697016273, 3.362177912282, 20.16643104098 +1723, 1.441482914593, 3.731236659197, 19.72252293406 +1724, 1.471600317487, 3.719461319274, 21.5311946193 +1725, 1.665647185336, -3.636704477131, 7.369339215236 +1726, -3.607890409909, 1.727173063155, 45.33965023305 +1727, 1.022018069517, -3.867231447118, 4.417464470502 +1728, 1.810342618143, -3.566883738634, 5.300982315473 +1729, 2.17589143284, 3.356411249012, 17.46958576544 +1730, 2.171417160621, 3.359307594514, 16.5795860359 +1731, 1.238672049405, -3.803378965344, 46.3757665591 +1732, -1.137875363932, 3.834741145913, 4.357923895241 +1733, 0.6097847864711, 3.95324708489, 44.71398469093 +1734, 2.164935547852, 3.363488378699, 14.81892482735 +1735, 1.457699807133, 3.724931042621, 14.39845301902 +1736, 2.163520293344, 3.36439889732, 15.69915572813 +1737, 2.192950388245, 3.345290509761, 12.22025020274 +1738, 2.200696234129, 3.340200006749, 11.36936071793 +1739, 1.489184695443, 3.712455917968, 10.96079079636 +1740, 1.477664823385, 3.717056183289, 12.67403896395 +1741, 2.198200640678, 3.341842896266, 8.76820568334 +1742, 2.187276030842, 3.3490033689, 7.87620440304 +1743, 1.473809209368, 3.718586615151, 7.519164696014 +1744, 1.485395075476, 3.713973811129, 9.24409921047 +1745, 1.450266747734, 3.727831321347, 17.92369169936 +1746, 0.9231861855432, -3.892008127795, 45.53749863317 +1747, -0.3023424205234, -3.988557265573, 44.33176729324 +1748, -1.223544732771, -3.808272349361, 44.26078607466 +1749, -1.339188872958, -3.769160803487, 5.265243056103 +1750, -0.5789055447103, -3.957886856683, 5.200491335858 +1751, 0.7514619377166, -3.928779066856, 10.25822855968 +1752, 0.7240306113192, -3.933926749937, 11.15344965438 +1753, 0.690310712754, -3.939983644618, 12.0122033811 +1754, 0.6703905645014, -3.943421926579, 12.91783678802 +1755, -0.09586592357685, -3.998851050576, 11.56003626444 +1756, 0.6519779656272, -3.946507916163, 13.81820310212 +1757, 0.6449902158916, -3.947655965431, 14.68789782155 +1758, -0.1487698834136, -3.99723248283, 13.31915630526 +1759, 0.6303685440263, -3.950017151697, 15.58951216501 +1760, 0.6345409925612, -3.949349025948, 16.51334852867 +1761, -0.18222165273, -3.995847252996, 15.12113696282 +1762, 0.6337073472006, -3.949482877302, 17.40672660364 +1763, 0.6138660703539, -3.95261539334, 18.27039960277 +1764, -0.1978593884555, -3.995103460788, 16.91612938125 +1765, 0.5982238915846, -3.955013043662, 19.1632750483 +1766, 0.6129211586016, -3.952762028422, 20.07493471186 +1767, -0.214506419013, -3.994244233419, 18.70238290174 +1768, 0.5980979415548, -3.95503209245, 20.99520218682 +1769, 0.585191704418, -3.956962303217, 21.91154058193 +1770, -0.2452763168608, -3.992472858817, 20.51552582223 +1771, 0.5932198681932, -3.955766700398, 22.8065416346 +1772, 0.5819095365541, -3.957446309335, 23.6780654242 +1773, -0.2521423402308, -3.992045120018, 22.33079434986 +1774, 0.5823680529469, -3.957378861179, 24.57995596273 +1775, 0.6037463714694, -3.954173784615, 25.497262943 +1776, -0.243578674425, -3.992576790666, 24.12768594106 +1777, 0.6053863152316, -3.95392304039, 26.4008383989 +1778, 0.5823596599998, -3.957380096276, 27.31678471564 +1779, -0.2414601262189, -3.992705474668, 25.93315193549 +1780, 0.5900799636972, -3.956236296841, 28.21724080925 +1781, 0.5898106732976, -3.956276452634, 29.0954109203 +1782, -0.2320131404792, -3.99326556876, 27.73718348499 +1783, 0.5879918635186, -3.956547177582, 29.98203080086 +1784, 0.6111017872549, -3.953043714104, 30.85965065631 +1785, -0.2260572016844, -3.993607159144, 29.52425945917 +1786, 0.6020852451628, -3.954427058065, 31.76297801589 +1787, 0.6017097039315, -3.954484218226, 32.68867405392 +1788, -0.2369997143815, -3.992972719088, 31.31420669931 +1789, 0.6075611145977, -3.953589444041, 33.58610630827 +1790, 0.5849096102303, -3.957004011605, 34.4652626018 +1791, -0.2401966282915, -3.99278168446, 33.11496631325 +1792, 0.5831220100948, -3.957267835432, 35.35685727175 +1793, 0.6018010834463, -3.954470312945, 36.23170174198 +1794, -0.2360914583752, -3.99302652424, 34.90399323755 +1795, 0.5900683353195, -3.956238031218, 37.12216542375 +1796, 0.5784077992033, -3.957959628119, 38.02306057109 +1797, -0.2497383527949, -3.992196232044, 36.68605158928 +1798, 0.5728780285998, -3.958763792442, 38.92349621522 +1799, 0.522393154091, -3.965741468195, 39.85717508974 +1800, -0.2671549801187, -3.991068555738, 38.47695091517 +1801, 0.4949160873447, -3.96926417192, 40.79171052671 +1802, 0.4641849482396, -3.972975249587, 41.69801281101 +1803, -0.3003609668272, -3.988706969634, 40.31192199627 +1804, 0.7513734650215, -3.928795988094, 44.66904988906 +1805, 0.3082310699016, -3.988106519082, 4.930390993287 +1806, -3.425649021606, 2.065170399935, 5.250900962857 +1807, -3.789841939363, 1.279491334338, 5.300179531616 +1808, -0.4157139878747, 3.978339085634, 44.33096050108 +1809, 0.3015095691017, 3.9886203103, 43.81642646832 +1810, -3.748197976188, 1.396786286911, 44.54396756195 +1811, -3.345237287136, 2.193031575868, 44.55716639994 +1812, 0.2516366176916, 3.992077029898, 42.88417592553 +1813, 0.6409958537388, 3.948306512353, 18.37929507323 +1814, 0.654532494236, 3.946085049006, 17.48360561852 +1815, 0.8315205638208, 3.912617225329, 31.68641506102 +1816, 0.7547800785427, 3.928142949669, 30.56028028001 +1817, 1.32195419164, -3.775240007629, 6.000940729636 +1818, 0.6010227984561, 3.954588675923, 37.84691400841 +1819, 0.6102103994365, 3.953181411018, 36.86856762824 +1820, -2.153377295115, -3.370899913211, 44.41583080887 +1821, -2.847344434937, -2.809382435489, 44.44818054907 +1822, -1.654426883662, -3.641822577586, 43.49791512827 +1823, 1.017401622642, -3.868448518236, 6.858071827421 +1824, 0.9390707314483, -3.888206033808, 7.639963742572 +1825, -0.809009050953, 3.917333832529, 4.952265654128 +1826, -1.605452393616, 3.663676106295, 4.892230312349 +1827, 0.8394962102972, -3.910913718416, 8.506986188605 +1828, 0.8083432571833, -3.917471273483, 9.338957914224 +1829, -0.003620526753526, -3.999998361473, 9.782011892274 +1830, 0.156468143802, -3.996938543432, 7.99571880079 +1831, 0.00632068999346, -3.999995006107, 5.684534501757 +1832, -2.81053509303, 2.846206684492, 44.65698613108 +1833, -2.100924774947, 3.403838287877, 44.63023858588 +1834, 1.454293700805, 3.726262179691, 16.14757193688 +1835, 0.6181719372431, 3.951944262765, 35.89934735358 +1836, 0.6579421755779, 3.945517975323, 34.92230733701 +1837, -1.239740842906, 3.80303071805, 44.36637812956 +1838, 0.7214912165196, 3.934393272728, 23.83112229044 +1839, 0.71196004096, 3.93612917726, 22.91541880474 +1840, 0.6961742214898, 3.938951821657, 33.8704179453 +1841, 0.8140239528244, 3.916294805582, 32.74023509473 +1842, 0.6958182049419, 3.93901472778, 5.447391181845 +1843, -0.1331716651713, 3.997782548813, 5.240532896253 +1844, -0.6287864533872, 3.950269306773, 5.774839313361 +1845, 0.7726177242551, 3.92467347077, 6.358252800168 +1846, -2.250115923032, 3.30711026924, 5.050149713347 +1847, -2.914669607513, 2.739470948749, 5.122299417344 +1848, -3.155531523574, 2.45817428262, 5.931012418745 +1849, -1.961940328931, 3.48579835127, 5.644491472234 +1850, 0.3826693978219, -3.981653441972, 43.68015298988 +1851, 0.5752213033489, -3.958423985903, 6.271565256972 +1852, -1.629479796664, 3.65305291397, 43.69726273479 +1853, -3.967633105133, 0.5078262922062, 44.53420307136 +1854, -3.864426575848, 1.032573115998, 43.75171923825 +1855, -3.97950445696, -0.4044060793733, 44.50455547516 +1856, 0.291527742336, -3.989362301853, 42.74621929142 +1857, -3.981581401686, 0.3834182334604, 5.343115457318 +1858, -3.970105524362, -0.4881210151521, 5.386066831318 +1859, -3.903320699013, 0.8741209988672, 6.102549889961 +1860, 0.7360803949832, 3.931689923191, 29.52018968877 +1861, 0.7139057422289, 3.935776745601, 28.53870217308 +1862, -0.08669314222584, 3.999060427037, 30.09631736629 +1863, -3.054369851134, 2.582793993427, 43.86130345997 +1864, -2.143615272441, -3.377116160832, 5.351197752051 +1865, -1.721753478729, -3.610479879252, 6.040589540276 +1866, -2.809230269869, -2.847494563797, 5.375696546247 +1867, -0.6600593602241, 3.945164336372, 42.36502309469 +1868, 0.315225376506, 3.987559775352, 41.81579674175 +1869, 0.712249265637, 3.936076851841, 9.69778355694 +1870, 0.7042993156315, 3.937507139549, 8.838614693647 +1871, 0.6629281406699, 3.944683292776, 20.20314337136 +1872, 0.6586902986452, 3.94539314777, 19.30000159136 +1873, -0.1648419415016, 3.996601948446, 18.85991551052 +1874, 0.5303501510231, 3.964685197757, 38.8312918066 +1875, -0.2683123066754, 3.990990917816, 38.27064515587 +1876, 0.4900622206594, 3.969866373051, 39.7932483057 +1877, -0.1421866775763, 3.997472069786, 34.29593741666 +1878, 0.7017170022423, 3.937968162487, 21.98706803631 +1879, 0.6740940942184, 3.942790528565, 21.08153813106 +1880, -0.1356047063887, 3.997700759637, 20.65901678836 +1881, -0.1138832456567, 3.998378497136, 22.4657623165 +1882, -3.417614681842, -2.07843929102, 44.49499482787 +1883, -3.78647600133, -1.289418276336, 44.50687231137 +1884, -3.923993041313, -0.7760661129881, 43.74427158388 +1885, -3.173436040628, -2.435016159298, 43.69977414128 +1886, -0.311943055344, -3.987817890805, 6.541665599543 +1887, 0.6554567470797, 3.94593163305, 16.57861771539 +1888, 0.6461861060681, 3.947460388189, 15.69818740762 +1889, -0.1818217619814, 3.995865469065, 17.03422108926 +1890, -0.5004775700229, -3.968566769238, 42.29466391365 +1891, -0.1889952850878, 3.995532603072, 36.31704708302 +1892, 0.7211730699305, 3.93445160133, 24.78367865899 +1893, -0.1038036177531, 3.998652874274, 24.34666945348 +1894, -0.08553922497409, 3.999085275534, 32.19022799124 +1895, 0.3610856061938, 3.983668809653, 40.81405878413 +1896, 0.6655912831724, 3.944234810932, 14.83956826687 +1897, 0.6784585668977, 3.942041853279, 13.97087965678 +1898, -0.1612323902843, 3.996749193573, 15.27061404538 +1899, 0.6897620541682, 3.940079733791, 13.11959469332 +1900, 0.6980437059454, 3.938620949595, 12.26386924834 +1901, -0.1301091514053, 3.997883391086, 13.56070994117 +1902, 0.7069570102342, 3.937030833722, 25.73247874445 +1903, 0.70889265343, 3.936682766736, 26.66158640637 +1904, -0.1021609228818, 3.99869518041, 26.22833348395 +1905, 0.7166250518588, 3.935282522901, 27.58930935849 +1906, -0.9949131461929, 3.874293204125, 36.71970858954 +1907, -0.9871072543297, 3.876289368513, 35.75048831488 +1908, -0.942200352432, -3.887448841577, 12.82832374303 +1909, -0.9603341413077, -3.883008928272, 13.72869005712 +1910, -0.9978690829087, -3.873532921426, 14.59727012244 +1911, -1.012205032175, -3.869811490608, 15.49888446591 +1912, -1.749629484079, -3.597053887342, 14.10643756021 +1913, -1.03908865801, -3.862679738316, 16.41151344514 +1914, -1.039903971876, -3.862460320738, 17.30489152011 +1915, -1.809209448046, -3.567458643503, 15.88764660477 +1916, -1.049676275758, -3.859816021019, 18.22947909647 +1917, -1.064938302168, -3.855633075459, 19.12235454199 +1918, -1.84296251903, -3.550139314654, 17.72486316036 +1919, -1.059212922174, -3.857209870554, 20.00564505386 +1920, -1.073666163091, -3.853211773344, 20.92591252882 +1921, -1.846676027939, -3.548209076116, 19.53274124858 +1922, -1.067538564864, -3.854913930625, 21.83930044237 +1923, -1.059714072481, -3.857072216667, 22.73430149504 +1924, -1.835758202783, -3.553869978054, 21.329419674 +1925, -1.084891012051, -3.850066426956, 23.63587565498 +1926, -1.084444925791, -3.850192099484, 24.53776619351 +1927, -1.853304180591, -3.544751558883, 23.14438174749 +1928, -1.087562007387, -3.849312780236, 25.4458380176 +1929, -1.085965409314, -3.849763516084, 26.3494134735 +1930, -1.879283333262, -3.531047175177, 24.95402773152 +1931, -1.086327431348, -3.849661376264, 27.25722247485 +1932, -1.078814125902, -3.851773628052, 28.15767856846 +1933, -1.882473651566, -3.52934738318, 26.76990855696 +1934, -1.058742066965, -3.857339139308, 29.04257414975 +1935, -1.060515219883, -3.856852015361, 29.92919403031 +1936, -1.86440247868, -3.538926870888, 28.5626131396 +1937, -1.063298694639, -3.856085565179, 30.84449500032 +1938, -1.072089768718, -3.853650675374, 31.7478223599 +1939, -1.848509637687, -3.547254166166, 30.3628096909 +1940, -1.074131373528, -3.853082115969, 32.66849926896 +1941, -1.068428188405, -3.854667457281, 33.56593152331 +1942, -1.85294790146, -3.544937809676, 32.19878756996 +1943, -1.062126585348, -3.856408577511, 34.45871477412 +1944, -1.063868574359, -3.855928378029, 35.35030944407 +1945, -1.849031016024, -3.546982421972, 34.01224772983 +1946, -1.070520960873, -3.854086775402, 36.23726450875 +1947, -1.081948585161, -3.850894345353, 37.12772819052 +1948, -1.849354560742, -3.54681374034, 35.79198604531 +1949, -1.07005675293, -3.854215684871, 38.02841718114 +1950, -1.075439986364, -3.852717071851, 38.92885282527 +1951, -1.844525320107, -3.549327590331, 37.57963010062 +1952, -1.051041333392, -3.85944453458, 39.78552065312 +1953, -1.077744513318, -3.852073047596, 40.7200560901 +1954, -1.811030587376, -3.566534482041, 39.3369869191 +1955, 0.7247727746481, 3.933790084019, 10.56870772399 +1956, -0.08504999000718, 3.999095710182, 10.16322320717 +1957, -3.766041066551, -1.347937196256, 5.39976429024 +1958, -3.373275873097, -2.149653433459, 5.398864794887 +1959, -3.118237072585, -2.5053138644, 6.149712484865 +1960, -3.89406096156, -0.9144885060282, 6.159183274584 +1961, -1.190532778574, -3.818721213069, 41.58668569373 +1962, -1.354947981382, -3.763524407753, 42.63489217414 +1963, -2.269044617442, -3.294151867181, 42.78993690835 +1964, -1.892848726494, -3.523793935322, 41.06028435059 +1965, -1.698351617886, 3.621546876961, 42.80957289248 +1966, -1.640420259273, 3.648153145492, 41.74119370871 +1967, -2.503860723127, 3.119404026281, 43.0734333488 +1968, -0.9942729337292, 3.87445755342, 19.33947004295 +1969, -1.011632751773, 3.869961133596, 18.41876352481 +1970, -3.102722859361, 2.524502101008, 42.97361361767 +1971, 0.7375103426538, 3.931421943073, 8.025665337746 +1972, 0.7331924203066, 3.93222950434, 7.159899686582 +1973, 0.009884054136456, 3.999987788166, 6.8647534419 +1974, -0.064020233437, 3.9994876434, 8.479349684215 +1975, -1.00095912875, 3.872735573541, 34.75936562272 +1976, -0.9633549045987, 3.882260595038, 33.70747623101 +1977, -1.223025684701, -3.808439073238, 6.855011348973 +1978, -0.6688722589026, -3.943679741215, 7.442042104187 +1979, -0.7693389344718, -3.925317516317, 8.30906455022 +1980, -2.03909120549, -3.441236268508, 6.940966044921 +1981, 0.720843262031, 3.934512039832, 11.4262304466 +1982, -0.9640831990061, 3.882079801523, 32.6982231653 +1983, -0.9467217575517, 3.886350204727, 31.64440313159 +1984, -0.9387510581414, 3.888283226675, 24.84325207945 +1985, -0.938436639408, 3.888359123566, 23.8906957109 +1986, -0.4685456673819, 3.972463336216, 40.27583343249 +1987, -0.923550413528, 3.891921714741, 10.604703844 +1988, -0.9359323224699, 3.888962675027, 9.733779676942 +1989, -0.09548362865881, 3.998860197188, 11.87178617597 +1990, -1.064411894978, 3.855778432149, 37.67522794829 +1991, -1.816658517407, 3.563671117139, 37.10866918015 +1992, -1.133055841719, 3.836167939435, 38.65960574648 +1993, -2.334148681771, 3.248345722269, 41.10169584241 +1994, -1.37288352741, 3.757018874077, 40.65714604462 +1995, -1.762301006481, 3.590862732347, 31.14579292487 +1996, -0.9282918263806, 3.89079352897, 30.63779775082 +1997, -2.942934303977, -2.709084288551, 42.93763695883 +1998, -3.487547508977, -1.95882933729, 42.98445123763 +1999, -2.714566034428, -2.937878698096, 42.0746140047 +2000, -3.741116073126, 1.415644915718, 6.905389881576 +2001, -3.965120189093, 0.527088119809, 6.948325807278 +2002, -0.9467947381739, 3.886332425793, 29.59770715957 +2003, -1.765134293598, 3.589470841999, 35.16202712924 +2004, -0.9563671827122, 3.883987874831, 20.24709206489 +2005, -1.761058008754, 3.591472496039, 19.80594007918 +2006, -0.9453665861521, 3.886680076593, 21.1254868246 +2007, -1.77862795105, 3.582803736146, 33.16165137136 +2008, -0.9204746690079, 3.892650303291, 26.71833548993 +2009, -0.9223884657224, 3.89219726097, 25.78922782801 +2010, -1.250344095975, 3.79955782186, 39.63633556619 +2011, -3.679865862044, 1.567988277177, 42.98139227342 +2012, -3.311940356738, 2.243000462196, 42.19352216225 +2013, -1.71168816964, 3.61526259211, 9.346457490938 +2014, -0.9137276014683, 3.894239575362, 8.904976854114 +2015, -0.8808241494715, 3.901813529336, 8.092027498212 +2016, -0.9539932583248, 3.884571644734, 22.96875119334 +2017, -0.9640965214862, 3.882076492968, 22.04040042491 +2018, -1.746208591939, 3.598715820044, 23.46533381931 +2019, -0.7416601329757, -3.930641200511, 9.298008232301 +2020, -0.7985694802807, -3.919475320137, 10.21727887775 +2021, -1.02640226874, 3.866070147155, 17.5230176282 +2022, -1.025496711258, 3.866310449925, 16.61802972507 +2023, -1.809701173374, 3.567209226144, 18.00257216062 +2024, -0.1029578281206, 3.998674741165, 28.10683396045 +2025, -3.94002372024, 0.6900819400205, 42.97162778283 +2026, -1.716608884957, 3.61292872004, 25.33325408543 +2027, -1.549409874011, -3.687726812322, 10.61716674166 +2028, -0.8423232690563, -3.910305807786, 11.10117040164 +2029, -0.8757834069151, -3.90294804272, 11.95992412835 +2030, -0.9797461518572, 3.878156453513, 15.71417941139 +2031, -0.9606621387838, 3.882927794218, 14.85556027064 +2032, -0.7291792943622, 3.932975661846, 6.493857966959 +2033, -1.385401891688, 3.752420765121, 6.205590724834 +2034, -2.050072696548, 3.434705509773, 6.363510125832 +2035, -0.7686122885289, 3.92545986477, 7.295504853373 +2036, -0.9440069863285, 3.887010523495, 13.99475051796 +2037, -0.9328546625772, 3.889702068091, 13.14346555449 +2038, -1.723219683463, 3.609780314995, 14.43831588396 +2039, -1.652871198706, -3.642528901806, 12.36945788022 +2040, -0.9048904648311, 3.896302509644, 11.4564617486 +2041, -1.714991671022, 3.613696662467, 11.02701821837 +2042, -0.9274414564904, 3.890996317755, 12.29410055034 +2043, -3.307252802131, 2.249906420897, 6.749993376495 +2044, -3.492487513006, 1.950007941393, 7.595769293812 +2045, -2.760067360726, 2.895173252891, 6.621391830982 +2046, -3.035816199065, 2.604576742101, 41.36371921967 +2047, -2.839948626737, 2.816858497954, 40.27967155558 +2048, -3.63771321026, 1.663442995686, 41.37149787542 +2049, -2.506570864416, 3.117226732476, 35.60073990431 +2050, -2.517699291624, 3.108245530353, 34.60961721215 +2051, -2.525154581372, -3.102191860633, 15.33608880793 +2052, -2.54666411564, -3.084558620308, 16.24871778717 +2053, -2.568768879484, -3.066174561859, 17.149190849 +2054, -2.5765209395, -3.05966335539, 18.07377842536 +2055, -3.161015633725, -2.45111814553, 16.59763305217 +2056, -2.568791353218, -3.066155733754, 19.01712816372 +2057, -2.564236401267, -3.069966071216, 19.90041867558 +2058, -3.172413337675, -2.436348418215, 18.44145585237 +2059, -2.561384928956, -3.072345560922, 20.83054956364 +2060, -2.556496953609, -3.07641403686, 21.7439374772 +2061, -3.163983990863, -2.447285293047, 20.31493647878 +2062, -2.554544803117, -3.078035225411, 22.62546118183 +2063, -2.574600127311, -3.061279827858, 23.52703534177 +2064, -3.160155375258, -2.452227151842, 22.12659107147 +2065, -2.571895655495, -3.063552306922, 24.44342924862 +2066, -2.574375320242, -3.061468881196, 25.35150107272 +2067, -3.156430474282, -2.457019873958, 23.92450868296 +2068, -2.579638831613, -3.057035082958, 26.27142009839 +2069, -2.579926299874, -3.056792483506, 27.17922909974 +2070, -3.158486887877, -2.45437580234, 25.76082161549 +2071, -2.580436607244, -3.056361712232, 28.07270306928 +2072, -2.564486156338, -3.069757442202, 28.95759865057 +2073, -3.163113833855, -2.448409866439, 27.57421461071 +2074, -2.572199795823, -3.063296951059, 29.87950958366 +2075, -2.574410114455, -3.061439622562, 30.79481055367 +2076, -3.169670022246, -2.439916381779, 29.38959951333 +2077, -2.55573714757, -3.077045276321, 31.72230101368 +2078, -2.55736708023, -3.075690754442, 32.64297792273 +2079, -3.160943135615, -2.451211637826, 31.23900090643 +2080, -2.555550047644, -3.077200668462, 33.56247916738 +2081, -2.550517171671, -3.081373420573, 34.45526241819 +2082, -3.144512213847, -2.47225462624, 33.08599261109 +2083, -2.546866642175, -3.084391399771, 35.36713643814 +2084, -2.552185420277, -3.07999181501, 36.25409150282 +2085, -3.140119615806, -2.47783147095, 34.9173678757 +2086, -2.547255189286, -3.084070524591, 37.16554689558 +2087, -2.53772335582, -3.091918525661, 38.0662358862 +2088, -3.133209676151, -2.486563316161, 36.74069728841 +2089, -2.488772352885, -3.131455280779, 38.93580747722 +2090, -2.468909016533, -3.147139696309, 39.79247530508 +2091, -3.089647467922, -2.540487851567, 38.52172427218 +2092, -3.830466102331, -1.152184637501, 42.96289431725 +2093, -3.991489287835, -0.2607935296332, 42.96057748104 +2094, -3.712065524721, -1.490157555489, 42.2007571348 +2095, -2.37042555604, -3.221968758891, 40.52941090624 +2096, -2.464129404261, -3.150883412482, 41.39604050987 +2097, -3.101398966707, -2.526128351709, 41.54374056035 +2098, -2.967804953501, -2.681815384767, 40.12823146436 +2099, -2.557268531527, 3.075772692782, 9.792861566037 +2100, -2.539677284954, 3.090313784762, 8.964058743208 +2101, -0.9048858779022, 3.896303574925, 27.67165842393 +2102, -1.686893408784, 3.626898210234, 27.232552768 +2103, -1.987984832744, 3.47101084769, 39.04091835861 +2104, -2.417893681656, 3.186501238696, 25.82702153762 +2105, -2.43127485744, 3.176303286461, 24.88104578905 +2106, -1.586423690498, 3.671955864962, 7.721132023271 +2107, -1.534167920968, -3.69409377118, 8.744331535699 +2108, -2.469221049218, 3.146894883865, 31.64709827193 +2109, -2.454278655548, 3.158562375658, 30.64049289115 +2110, -0.9075778674022, 3.895677401249, 28.62105123852 +2111, -3.988314383021, 0.3055296748015, 42.1902505162 +2112, -2.241055714491, -3.313256598054, 10.13116790431 +2113, -2.277944377305, -3.288003864643, 11.01505942819 +2114, -1.781118329222, 3.581566346909, 16.20297595033 +2115, -2.486760744545, 3.133052983815, 33.64112924036 +2116, -2.487348460937, 3.132586412834, 32.63187617465 +2117, -2.298513489631, -3.27365785292, 11.87303152168 +2118, -2.353994397088, -3.233992946572, 12.74143113636 +2119, -2.894655005844, -2.760610873908, 11.38703268433 +2120, -2.518061028652, 3.107952486121, 36.53574047872 +2121, -3.144992441372, 2.47164369271, 35.98333056163 +2122, -2.573534793147, 3.062175479698, 37.49125983747 +2123, -3.089651480116, 2.540482972078, 8.425417803519 +2124, -2.360501227943, 3.229246654079, 7.979013728421 +2125, -3.931506535905, 0.737059263653, 41.43841802942 +2126, -3.822380714474, 1.178730534779, 40.60861508684 +2127, -3.994317690408, -0.2131342020722, 41.42736772762 +2128, -1.708899094683, 3.61658179559, 29.16253162305 +2129, -2.496863799106, 3.125007386985, 18.48050391725 +2130, -2.508777989743, 3.115450689415, 17.58475802063 +2131, -3.388580061942, -2.125447050343, 6.890623727474 +2132, -2.82954517477, -2.827308632593, 6.867455478834 +2133, -1.743260334677, 3.60014491452, 21.62847570144 +2134, -2.340940417906, 3.243454633537, 10.61376008715 +2135, -3.059588554988, 2.576609763659, 10.23136133942 +2136, -2.325371526878, 3.254634735571, 11.46551799176 +2137, -2.470356700448, 3.146003460353, 29.67142085934 +2138, -2.438523925543, 3.170741406131, 28.69476493829 +2139, -2.434823517027, 3.173583848102, 27.75895041321 +2140, -2.44750716457, 3.163812364755, 26.80562747921 +2141, -3.052637091978, 2.584841733005, 26.35341918284 +2142, -3.079591487817, 2.552668460292, 28.26783964951 +2143, -2.679083305969, 2.970271475754, 39.3803334002 +2144, -2.586591435331, 3.051154657941, 38.40360358049 +2145, -3.164574304595, 2.446521912981, 37.83067487906 +2146, -3.305248242542, 2.252850206999, 39.64235677746 +2147, -2.26696116908, 3.295585996129, 7.182491083582 +2148, -2.448307212382, 3.163193290616, 23.96492092099 +2149, -2.460949076762, 3.153367983852, 23.04297640344 +2150, -2.425671893605, -3.180584201774, 7.681877287531 +2151, -3.071251337192, 2.562696865374, 32.12657614093 +2152, -3.069525720628, 2.564763507695, 30.1727262064 +2153, -3.99844923515, 0.1113719620403, 7.752361214965 +2154, -3.974220070813, -0.4534036046904, 6.94952122335 +2155, -3.042394981887, 2.596889056965, 24.45868837318 +2156, -3.777678210246, -1.314970471087, 6.963218682272 +2157, -2.097419383985, -3.405999402185, 9.346364281761 +2158, -2.755916754375, -2.89912449594, 9.744256968291 +2159, -2.528388896314, 3.099556353577, 16.68047288601 +2160, -2.49159234998, 3.129211971331, 15.77662257233 +2161, -2.412134912348, -3.190862761799, 13.6014039497 +2162, -2.442903242732, -3.167368583959, 14.46998401502 +2163, -3.1110742868, 2.514203011296, 34.07984201543 +2164, -2.474951537308, 3.142389996162, 14.89071454432 +2165, -2.461457195517, 3.152971372315, 14.02990479163 +2166, -3.108048683914, 2.517942290527, 15.36821148 +2167, -1.702693827818, 3.619507387575, 12.72814112713 +2168, -2.961058430583, -2.689262532866, 13.10497759116 +2169, -3.077338019058, -2.555384651371, 14.83105519742 +2170, -2.515706387274, 3.109858738437, 19.39732565403 +2171, -3.104846742538, 2.521889510932, 18.97951151404 +2172, -2.485199087806, 3.134291864835, 20.30494767597 +2173, -3.94901811622, 0.6365971392987, 8.626050268934 +2174, -3.985243717146, -0.3432674102674, 8.627245685007 +2175, -3.597363833592, 1.7489921237, 8.5808143086 +2176, -3.626247876801, -1.688290951228, 17.89299678863 +2177, -3.621975750193, -1.697436792641, 18.83634652699 +2178, -3.627860536427, -1.684822818055, 19.76409529494 +2179, -3.626294667662, -1.688190446392, 20.694226183 +2180, -3.907396490987, -0.8557176299566, 19.2156362312 +2181, -3.628822647314, -1.682749593474, 21.60725902518 +2182, -3.627754403195, -1.685051331592, 22.48878272982 +2183, -3.911609208939, -0.8362496018215, 21.05641784134 +2184, -3.624226463868, -1.692625929908, 23.40084421855 +2185, -3.622730264098, -1.695825885399, 24.3172381254 +2186, -3.911115889846, -0.8385538123444, 22.88151217226 +2187, -3.617565714261, -1.706815251574, 25.23969467552 +2188, -3.620496971504, -1.700588627308, 26.15961370119 +2189, -3.906767314622, -0.8585855515927, 24.7160302111 +2190, -3.623470682135, -1.694243257537, 27.08098839172 +2191, -3.623753492099, -1.693638281482, 27.97446236126 +2192, -3.905661924493, -0.8635999835388, 26.55986145174 +2193, -3.622662058004, -1.69597158393, 28.89665674694 +2194, -3.62691669082, -1.686853674109, 29.81856768003 +2195, -3.906616323517, -0.8592723088943, 28.40343052795 +2196, -3.622177907128, -1.697005365081, 30.75546025037 +2197, -3.611786555449, -1.719010726515, 31.68295071038 +2198, -3.903633126806, -0.8727247053374, 30.26251748397 +2199, -3.613453235067, -1.715504508296, 32.62340708134 +2200, -3.612439381233, -1.717638412739, 33.54290832599 +2201, -3.902029269889, -0.8798679315287, 32.13986642527 +2202, -3.608796858206, -1.725278306882, 34.47679933216 +2203, -3.606751377333, -1.729550375707, 35.38867335212 +2204, -3.901018906293, -0.8843367530223, 34.01421380241 +2205, -3.606850979974, -1.729342652067, 36.32413947592 +2206, -3.604079990341, -1.735110204922, 37.23559486867 +2207, -3.899190361184, -0.8923645708182, 35.88357093239 +2208, -3.604920251451, -1.73336377621, 38.24696861237 +2209, -3.577207768143, -1.789856023131, 39.11654020339 +2210, -3.89967354407, -0.8902506667674, 37.83041079988 +2211, -3.52943902569, -1.882301825941, 41.43262774068 +2212, -3.854683553536, -1.068370114755, 41.41107082029 +2213, -3.947943794192, -0.6432260861456, 40.65923833351 +2214, -3.362937046252, -2.165791869721, 40.75405424585 +2215, -3.613638700861, -1.715113797869, 7.680961676241 +2216, -3.77266018271, 1.329298742117, 9.455698778641 +2217, -3.57040915063, 1.803379742899, 32.62727115839 +2218, -3.559937849001, 1.823963407322, 31.64249325568 +2219, -2.495843614108, 3.125822236455, 22.14256998654 +2220, -2.480742404376, 3.137820441506, 21.22765638623 +2221, -3.116472555951, 2.507508486127, 20.81904196108 +2222, -3.084796059544, 2.546376498285, 22.64215708823 +2223, -3.571615636232, -1.800989102416, 14.18777109331 +2224, -3.617633190818, -1.706672228839, 15.05387588623 +2225, -3.105518859894, 2.521061802265, 17.15840464264 +2226, -3.442277198261, -2.037333475485, 10.86004811592 +2227, -3.454982448614, -2.015712350452, 11.71802020942 +2228, -3.529199588765, 1.882750717079, 24.98220970027 +2229, -3.539265356103, 1.863759839434, 24.06608483221 +2230, -3.55808326548, 1.827578582691, 30.67266262003 +2231, -3.567358387825, 1.80940712191, 29.70359058822 +2232, -3.923555232997, -0.7782765148839, 9.384518957889 +2233, -3.787011186628, -1.287845593366, 8.51082990392 +2234, -2.12136764438, -3.391135402395, 8.35742059968 +2235, -2.415283379191, 3.188480233309, 13.12349377833 +2236, -2.410844449016, 3.191837878503, 12.27412877417 +2237, -2.948910738731, 2.702577557628, 11.86087064296 +2238, -3.05740954062, 2.579195010256, 13.57589243868 +2239, -3.591512342214, 1.7609767448, 34.54097041682 +2240, -3.573877704143, 1.796496077322, 33.57248244503 +2241, -3.609874124443, -1.723023158776, 16.05002756092 +2242, -3.622165263913, -1.697032351166, 16.95050062275 +2243, -3.904134792609, -0.8704777545332, 15.40674345681 +2244, -3.341627687631, -2.198527779505, 12.57642141261 +2245, -3.380867504092, -2.137693832095, 13.43639422595 +2246, -3.807336091192, -1.22645500884, 13.65921491476 +2247, -3.751095256521, -1.388986816534, 12.0494368442 +2248, -3.403735257424, -2.101091691805, 8.438234949123 +2249, -3.575071918731, 1.794118384027, 17.65185877137 +2250, -3.586322980062, 1.771521234047, 16.74757363675 +2251, -3.902287036953, -0.8787240074288, 17.34539129737 +2252, -3.605896860917, 1.731331230131, 36.41713189591 +2253, -3.599481082202, 1.744630602412, 35.4821313215 +2254, -3.5764858754, 1.791298072087, 18.57503506962 +2255, -3.884165734034, 0.9556445733398, 18.16420406372 +2256, -3.553137111699, 1.837176275012, 23.13174320293 +2257, -3.573336038358, 1.79757324106, 22.23133678604 +2258, -3.881620130556, 0.9659322761245, 33.08839955978 +2259, -3.428291177917, -2.060781308004, 40.01711864469 +2260, -3.53191635416, 1.877649292923, 25.93586985239 +2261, -3.858519892978, 1.054430763728, 25.54326631142 +2262, -3.549274485928, 1.844627502653, 26.91447579398 +2263, -3.887791543104, 0.9407852663448, 34.9747717511 +2264, -3.195003883225, -2.406647083844, 9.113778261272 +2265, -3.294931113834, -2.267912907298, 9.898581883822 +2266, -3.577140263579, 1.789990931452, 10.38491046209 +2267, -3.941484759338, 0.6816875324591, 10.43014642243 +2268, -3.878760761109, 0.9773509902181, 31.1733576375 +2269, -2.896808521643, -2.758351027143, 8.283910033593 +2270, -3.999990343808, -0.008789166320673, 11.27519687344 +2271, -3.967584738987, -0.5082040328071, 10.34598518999 +2272, -3.730359602202, -1.443751099831, 10.2295694089 +2273, -3.580086012081, 1.784091966829, 15.81188632158 +2274, -3.570567995618, 1.803065220304, 14.92597829357 +2275, -3.880023521306, 0.9723258065668, 16.30534045031 +2276, -3.864829968099, 1.031062227842, 23.65526453002 +2277, -3.876989998198, 0.9843518445515, 29.27326865163 +2278, -3.565928656756, 1.812223169184, 28.773332238 +2279, -3.563812226757, 1.816381681371, 27.83751771292 +2280, -3.587247525304, 1.769648324443, 19.4918568064 +2281, -3.819846729211, -1.18691657893, 39.74236298488 +2282, -3.616646165491, 1.708762860563, 37.29867261587 +2283, -3.89772120888, 0.8987599111265, 36.79747337573 +2284, -3.623912172689, 1.6932987228, 38.21101635888 +2285, -3.985829156836, -0.3364014454704, 39.75865989221 +2286, -3.999736477913, 0.04591412910593, 17.76445761436 +2287, -3.999771447505, 0.04275941675301, 18.68763391261 +2288, -3.955155574202, 0.5972808249518, 39.98421313331 +2289, -3.694373783184, 1.533493511601, 39.91729297931 +2290, -3.999484849453, 0.06419454021732, 20.53265012522 +2291, -3.999384067665, 0.07019315711058, 21.4456829674 +2292, -3.999027794358, 0.08818559947633, 22.34518679214 +2293, -3.999203286056, 0.07983155266057, 23.25724828087 +2294, -3.998944346675, 0.09189185052337, 26.06770661238 +2295, -3.998777224338, 0.09889747273515, 26.98908130291 +2296, -3.999436540861, 0.06713684254438, 27.91212322184 +2297, -3.999478946855, 0.06456123961936, 28.83431760752 +2298, -3.999528674625, 0.06140342703151, 29.76457595774 +2299, -3.99968496674, 0.05020126326045, 30.70146852808 +2300, -3.999733896758, 0.04613843433701, 31.67129916373 +2301, -3.999687233441, 0.05002034233206, 32.61175553469 +2302, -3.999776198201, 0.04231269674387, 33.55696682133 +2303, -3.999856775737, 0.03384927758765, 34.4908578275 +2304, -3.999969327638, 0.0156645444304, 35.43201873218 +2305, -3.999968418849, 0.01589491146488, 36.36748485598 +2306, -3.999989642692, -0.009102656483681, 37.24902557594 +2307, -3.581387122309, 1.781478677998, 21.33183296131 +2308, -3.583915183307, 1.776387333568, 20.40912425105 +2309, -3.88312105676, 0.9598806480747, 20.00464780663 +2310, -3.876919536282, 0.9846293257857, 21.82141907601 +2311, -3.446354634646, 2.030428460266, 11.20580898321 +2312, -3.603481606189, 1.736352589152, 39.01795482393 +2313, -3.999835586063, 0.03626685081463, 16.82196144848 +2314, -3.868247512085, 1.018165598145, 27.41996838248 +2315, -3.998492482678, 0.1098083146493, 24.19158991015 +2316, -3.999415214632, 0.06839547475985, 14.89012245863 +2317, -3.999683739349, 0.05029895809884, 15.88627413332 +2318, -3.999795060225, 0.04049044582335, 39.06733778468 +2319, -3.999598437422, 0.05667750323861, 19.61538268056 +2320, -3.498976023794, 1.938341245734, 12.01441976563 +2321, -3.998807394496, 0.09766996325811, 25.11404646026 +2322, -3.89256764851, 0.9208241426977, 38.48595256074 +2323, -3.510768559312, 1.916899612119, 13.11623972705 +2324, -3.83258846438, 1.145105088061, 12.4611780673 +2325, -3.969796238342, 0.4906300297031, 12.00757342113 +2326, -3.938427508192, -0.6991342951941, 11.92341218869 +2327, -3.538309763415, 1.865573375164, 14.02265074035 +2328, -3.858651904727, 1.053947568973, 14.46632558193 +2329, -3.89514921194, -0.9098420834008, 12.78181339189 +2330, -4.996718791864, 0.1811113332517, 30.68393946523 +2331, -4.975604404847, -0.4933161323783, 29.79166555083 +2332, -4.948263036286, -0.7174210226382, 30.60829864065 +2333, -3.97272343454, 0.4663351934529, 13.10939338255 +2334, -3.997594116339, 0.1387129446386, 13.98679490542 +2335, -4.991232298596, 0.2959732106979, 29.0597227614 +2336, -4.963452948523, -0.6034358522651, 28.98408193681 +2337, -3.999993583546, -0.00716460683307, 38.26039931963 +2338, -3.964840572682, -0.5291873328176, 13.53319025925 +2339, -4.928863220276, 0.8404209396577, 31.18278046763 +2340, -4.885900561388, 1.062062005831, 30.36614737782 +2341, -4.999801229357, -0.04458325826892, 36.39975238179 +2342, -4.946274098538, -0.7310078947155, 36.45718906038 +2343, -4.990625471125, -0.3060349766982, 37.27429722934 +2344, 4.128709133457, 1.783223473074, 0 +2345, 3.648050712132, 2.551244111664, 0 +2346, 3.079502019576, 3.260908884576, 0 +2347, 2.384668877734, 3.792917986307, 0 +2348, 1.560674869093, 4.177502930685, 0 +2349, 0.7094681177769, 4.439368320075, 0 +2350, -0.1752550938103, 4.425469977254, 0 +2351, -1.109924808256, 4.360767185235, 0 +2352, -2.738043681695, 3.565733148816, 0 +2353, -3.379308007172, 2.903999698594, 0 +2354, -3.920705335401, 2.173410457841, 0 +2355, -4.268255528823, 1.370269347961, 0 +2356, -4.431325222736, 0.5005932013516, 0 +2357, -4.476848022955, -0.4042912630706, 0 +2358, -4.242851530544, -1.270318762061, 0 +2359, -3.947738589895, -2.159533178644, 0 +2360, -2.785088998616, -3.534136551213, 0 +2361, -1.958464549332, -3.975142159162, 0 +2362, 0.6421747604141, -4.435320014051, 0 +2363, 1.53541278262, -4.208964254333, 0 +2364, 2.305597043611, -3.825635664487, 0 +2365, 3.067015548049, -3.279709124102, 0 +2366, 3.604914899038, -2.608300983046, 0 +2367, 4.129104429712, -1.776546158861, 0 +2368, 4.335822356142, -0.8910296967831, 0 +2369, 4.5, -1.102182119233e-15, 0 +2370, 4.324441214721, 0.9203113817117, 0 +2371, -1.916929752603, 3.984111592622, 0 +2372, -0.2915652230755, -4.444120566644, 0 +2373, -1.191145475841, -4.33621510744, 0 +2374, -3.333810856097, -2.887563618248, 0 +2375, 3.648050712132, 2.551244111664, 50 +2376, 4.128709133457, 1.783223473074, 50 +2377, 2.384668877734, 3.792917986307, 50 +2378, 3.079502019576, 3.260908884576, 50 +2379, 0.7094681177769, 4.439368320075, 50 +2380, 1.560674869093, 4.177502930685, 50 +2381, -1.109924808256, 4.360767185235, 50 +2382, -0.1752550938103, 4.425469977254, 50 +2383, -3.379308007172, 2.903999698594, 50 +2384, -2.738043681695, 3.565733148816, 50 +2385, -4.268255528823, 1.370269347961, 50 +2386, -3.920705335401, 2.173410457841, 50 +2387, -4.476848022955, -0.4042912630706, 50 +2388, -4.431325222736, 0.5005932013516, 50 +2389, -3.947738589895, -2.159533178644, 50 +2390, -4.242851530544, -1.270318762061, 50 +2391, -1.958464549332, -3.975142159162, 50 +2392, -2.785088998616, -3.534136551213, 50 +2393, 1.53541278262, -4.208964254333, 50 +2394, 0.6421747604141, -4.435320014051, 50 +2395, 3.067015548049, -3.279709124102, 50 +2396, 2.305597043611, -3.825635664487, 50 +2397, 4.129104429712, -1.776546158861, 50 +2398, 3.604914899038, -2.608300983046, 50 +2399, 4.5, -1.102182119233e-15, 50 +2400, 4.335822356142, -0.8910296967831, 50 +2401, 4.324441214721, 0.9203113817117, 50 +2402, -1.916929752603, 3.984111592622, 50 +2403, -0.2915652230755, -4.444120566644, 50 +2404, -1.191145475841, -4.33621510744, 50 +2405, -3.333810856097, -2.887563618248, 50 +2406, 4.911436253643, 0.9369065729286, 49.075 +2407, 4.506205873142, 2.166589169377, 49.24776567846 +2408, 4.03900811376, 2.947272206122, 49.24776567846 +2409, 3.398438835908, 3.667507802118, 49.24433643647 +2410, 2.704083236571, 4.205702539374, 49.24433643647 +2411, 3.783888556746, 3.268361575794, 48.49210211493 +2412, 1.906656465415, 4.622192242096, 49.23617954692 +2413, 1.05288520192, 4.887886327604, 49.23617954692 +2414, 2.331579590945, 4.423091295812, 48.48051598339 +2415, 0.1230209617381, 4.998486355185, 49.22769618011 +2416, -0.8157810218857, 4.933001249172, 49.22769618011 +2417, 0.5856095775165, 4.965587721783, 48.46387572703 +2418, -1.716197533612, 4.696239562205, 49.21352798575 +2419, -2.525226965366, 4.315463911724, 49.21352798575 +2420, -1.269170159383, 4.83623894225, 48.44122416586 +2421, -3.253116481435, 3.797003181223, 49.20867852789 +2422, -3.897160710871, 3.132433302346, 49.20867852789 +2423, -2.913663592981, 4.06331939022, 48.42220651365 +2424, -4.396372470807, 2.381577019105, 49.19655092331 +2425, -4.745342431132, 1.57534923471, 49.19655092331 +2426, -4.157036864127, 2.778316848434, 48.40522945121 +2427, -4.950979809491, 0.6984260347442, 49.22368736414 +2428, -4.995576176636, -0.2102823421683, 49.22368736414 +2429, -4.87038053407, 1.131102759857, 48.42023828746 +2430, -4.863344902662, -1.160980774064, 49.22984912878 +2431, -4.559655590129, -2.051716573849, 49.22984912878 +2432, -4.947921150238, -0.7197751669977, 48.45353649292 +2433, -4.105907558582, -2.85333543776, 49.23189555875 +2434, -3.48727936765, -3.583138653746, 49.23189555875 +2435, -4.336085433823, -2.489651202597, 48.46174468753 +2436, -2.762860641818, -4.167325410128, 49.21316003518 +2437, -1.933043870341, -4.611219079087, 49.21316003518 +2438, -3.138925144776, -3.891933829793, 48.44505559393 +2439, -1.05386545532, -4.887675071246, 49.19542940454 +2440, -0.1507440350985, -4.997727106984, 49.19542940454 +2441, -1.514453850182, -4.765126392413, 48.40858943972 +2442, 0.8136170155376, -4.933358627956, 49.17552198514 +2443, 1.708871241148, -4.698910414253, 49.17552198514 +2444, 0.3520334596928, -4.987591848102, 48.37095138968 +2445, 2.55114754719, -4.300191413468, 49.1869770061 +2446, 3.311735230358, -3.745985820048, 49.1869770061 +2447, 2.17805084523, -4.500677117456, 48.36249899124 +2448, 3.936088847826, -3.083375517516, 49.25144808578 +2449, 4.465533308671, -2.249224815165, 49.25144808578 +2450, 3.654707475676, -3.412200648737, 48.43842509188 +2451, 4.762192895351, -1.52365311914, 49.38567565717 +2452, 4.959450495153, -0.6354925539524, 49.38567565717 +2453, 4.959450495153, -0.6354925539524, 48.46067565717 +2454, 4.581964014209, -2.001400952456, 48.63712374295 +2455, 4.917226024977, -0.9060288181357, 0.925 +2456, 4.933865081915, -0.8105401615331, 2.991700907025 +2457, 4.933865081915, -0.8105401615331, 2.141700907025 +2458, 4.938484624352, -0.7819012821557, 6.717847884339 +2459, 4.938484624352, -0.7819012821557, 5.792847884339 +2460, 4.940136236938, -0.7713974076252, 10.20851808292 +2461, 4.940136236938, -0.7713974076252, 9.333518082924 +2462, 4.943192800903, -0.7515616628755, 13.8065408754 +2463, 4.943192800903, -0.7515616628755, 12.9315408754 +2464, 4.944409188112, -0.7435171689446, 17.23355722019 +2465, 4.944409188112, -0.7435171689446, 16.40855722019 +2466, 4.938401130828, -0.7824284446725, 20.85881666563 +2467, 4.938401130828, -0.7824284446725, 19.93381666563 +2468, 4.936101611006, -0.7968066803335, 24.35850262631 +2469, 4.936101611006, -0.7968066803335, 23.45850262631 +2470, 4.948857834673, -0.713306478448, 27.90553668227 +2471, 4.948857834673, -0.713306478448, 27.03053668227 +2472, 4.932078536683, -0.8213411641859, 31.46877868498 +2473, 4.932078536683, -0.8213411641859, 30.54377868498 +2474, 4.935049662335, -0.8032962282292, 35.02166687113 +2475, 4.935049662335, -0.8032962282292, 34.17166687113 +2476, 4.936239713913, -0.795950681126, 38.65412481707 +2477, 4.936239713913, -0.795950681126, 37.75412481707 +2478, 4.940912558088, -0.7664092205376, 42.22142050004 +2479, 4.940912558088, -0.7664092205376, 41.27142050004 +2480, 4.937469985524, -0.7882830342249, 45.75577451487 +2481, 4.937469985524, -0.7882830342249, 44.90577451487 +2482, 4.938719503125, -0.7804163436613, 47.64454596433 +2483, 4.938719503125, -0.7804163436613, 46.61954596433 +2484, 4.753918070052, -1.54927821363, 46.2753204792 +2485, 4.799477221963, -1.401791138459, 47.9552216215 +2486, 4.946157225582, 0.7317982644323, 0.7502042087579 +2487, 4.721421861988, 1.645653548334, 0.7502042087579 +2488, 3.905429162383, 3.122118360602, 0.7502141799767 +2489, 4.406521424862, 2.362746057501, 0.7502141799767 +2490, 1.008873534358, 4.897159808672, 0.7808424953057 +2491, 1.865000309665, 4.639156587673, 0.7808424953057 +2492, -2.491541957608, 4.334999270297, 0.8492774474556 +2493, -1.679571615676, 4.709462728148, 0.8492774474556 +2494, -4.741861908088, 1.585794956677, 0.8254035545018 +2495, -4.391117429741, 2.391252332612, 0.8254035545018 +2496, -4.571988318832, -2.024085673202, 0.8189200619064 +2497, -4.870281670348, -1.131528369715, 0.8189200619064 +2498, -1.935242677056, -4.610296712892, 0.8056329969234 +2499, -2.764847667431, -4.166007366281, 0.8056329969234 +2500, 1.679507230232, -4.709485689924, 0.8475195573744 +2501, 0.7828070138721, -4.938341136357, 0.8475195573744 +2502, 4.413099868517, -2.350436034121, 0.7615618808235 +2503, 3.864777800753, -3.172300829178, 0.7615618808235 +2504, 4.971171809587, 0.5361444204349, 2.376269827198 +2505, 4.971171809587, 0.5361444204349, 3.226269827198 +2506, 4.95209174793, 0.6904978784044, 3.961769778542 +2507, 4.95209174793, 0.6904978784044, 4.861769778542 +2508, 4.849498462195, 1.217523989568, 3.63803960574 +2509, 4.939307689016, 0.776684976823, 5.74733372878 +2510, 4.939307689016, 0.776684976823, 6.67233372878 +2511, 4.784721103716, 1.451359348904, 5.259103507322 +2512, 4.938108797338, 0.7842713214521, 7.586572751017 +2513, 4.938108797338, 0.7842713214521, 8.436572751017 +2514, 4.756341399753, 1.541822457027, 7.058906479797 +2515, 4.937248816024, 0.7896670999034, 9.330358483714 +2516, 4.937248816024, 0.7896670999034, 10.20535848371 +2517, 4.752271710621, 1.554320941257, 8.866931234731 +2518, 4.940469742212, 0.7692585561991, 11.09880499239 +2519, 4.940469742212, 0.7692585561991, 12.02380499239 +2520, 4.756974042438, 1.539869461861, 10.6541634761 +2521, 4.942420522514, 0.7566236704162, 12.91578411667 +2522, 4.942420522514, 0.7566236704162, 13.79078411667 +2523, 4.767167962495, 1.508015125042, 12.43958910906 +2524, 4.943419937292, 0.7500662127988, 14.67493500229 +2525, 4.943419937292, 0.7500662127988, 15.54993500229 +2526, 4.772988459699, 1.489490236149, 14.21571911896 +2527, 4.944674278113, 0.741752171122, 16.42191800796 +2528, 4.944674278113, 0.741752171122, 17.24691800796 +2529, 4.777447633602, 1.475125116113, 15.97185301025 +2530, 4.944010541183, 0.7461633659404, 18.12353762971 +2531, 4.944010541183, 0.7461633659404, 19.02353762971 +2532, 4.778610691402, 1.471353071162, 17.72045563767 +2533, 4.944205238244, 0.7448721783788, 19.91634685714 +2534, 4.944205238244, 0.7448721783788, 20.84134685714 +2535, 4.777681296767, 1.474368144842, 19.48988448686 +2536, 4.944663787824, 0.7418220982044, 21.72868683616 +2537, 4.944663787824, 0.7418220982044, 22.57868683616 +2538, 4.778973991771, 1.470172638155, 21.27003369331 +2539, 4.944799213712, 0.740918845807, 23.4617564595 +2540, 4.944799213712, 0.740918845807, 24.3617564595 +2541, 4.780147927461, 1.466351182899, 23.04044329567 +2542, 4.94157695897, 0.7621136126443, 25.25349352914 +2543, 4.94157695897, 0.7621136126443, 26.15349352914 +2544, 4.774088304592, 1.485961257894, 24.81524998864 +2545, 4.942423128367, 0.7566066482542, 27.04197595294 +2546, 4.942423128367, 0.7566066482542, 27.91697595294 +2547, 4.769348805313, 1.501103585119, 26.59546948208 +2548, 4.942349541661, 0.7570871865518, 28.80088273068 +2549, 4.942349541661, 0.7570871865518, 29.67588273068 +2550, 4.770873096905, 1.496251948444, 28.36785868362 +2551, 4.9413397029, 0.7636504046616, 30.56869805022 +2552, 4.9413397029, 0.7636504046616, 31.49369805022 +2553, 4.76873561589, 1.503050440187, 30.1445807809 +2554, 4.942169546431, 0.7582612836822, 32.38588023748 +2555, 4.942169546431, 0.7582612836822, 33.26088023748 +2556, 4.768378412424, 1.504183272054, 31.9295782877 +2557, 4.942063827199, 0.7589500167292, 34.14135525882 +2558, 4.942063827199, 0.7589500167292, 34.99135525882 +2559, 4.769806985873, 1.499647064319, 33.7022354963 +2560, 4.941828453443, 0.7604811218817, 35.88085639343 +2561, 4.941828453443, 0.7604811218817, 36.80585639343 +2562, 4.769132895962, 1.501789406227, 35.47221165225 +2563, 4.943278871266, 0.7509953401298, 37.70357855004 +2564, 4.943278871266, 0.7509953401298, 38.60357855004 +2565, 4.771543680107, 1.49411208041, 37.25943494347 +2566, 4.943621263032, 0.7487381436104, 39.49227191161 +2567, 4.943621263032, 0.7487381436104, 40.34227191161 +2568, 4.775079936052, 1.482771595465, 39.04585046165 +2569, 4.942068356444, 0.7589205230044, 41.23697190095 +2570, 4.942068356444, 0.7589205230044, 42.18697190095 +2571, 4.772696293346, 1.490426144255, 40.82924381256 +2572, 4.939483909044, 0.7755634805049, 43.04319112005 +2573, 4.939483909044, 0.7755634805049, 43.91819112005 +2574, 4.764535216361, 1.516312689408, 42.58016302099 +2575, 4.941063194001, 0.7654374650428, 44.76804374615 +2576, 4.941063194001, 0.7654374650428, 45.61804374615 +2577, 4.762531359168, 1.522594842019, 44.28623486619 +2578, 4.705311407982, -1.691166625118, 1.216700907025 +2579, 4.832366905071, 1.283834138343, 48.32276567846 +2580, 4.946157225582, 0.7317982644323, 1.675204208758 +2581, 4.930855857336, -0.8286498139613, 4.857773779785 +2582, 4.930855857336, -0.8286498139613, 3.957773779785 +2583, 4.936956817583, -0.7914906072198, 8.420179731808 +2584, 4.936956817583, -0.7914906072198, 7.570179731808 +2585, 4.940710534608, -0.7677105009128, 12.00555082989 +2586, 4.940710534608, -0.7677105009128, 11.08055082989 +2587, 4.944439772856, -0.7433137511168, 15.54239281203 +2588, 4.944439772856, -0.7433137511168, 14.66739281203 +2589, 4.939041590775, -0.7783753365783, 18.99979968408 +2590, 4.939041590775, -0.7783753365783, 18.09979968408 +2591, 4.937825078399, -0.7860556565102, 22.58901595527 +2592, 4.937825078399, -0.7860556565102, 21.73901595527 +2593, 4.941662294446, -0.7615600880102, 26.17881972439 +2594, 4.941662294446, -0.7615600880102, 25.27881972439 +2595, 4.942455369253, -0.7563960093365, 29.6370602679 +2596, 4.942455369253, -0.7563960093365, 28.7620602679 +2597, 4.934910781355, -0.804148978774, 33.21952942035 +2598, 4.934910781355, -0.804148978774, 32.34452942035 +2599, 4.935823445136, -0.7985279697304, 36.82762352687 +2600, 4.935823445136, -0.7985279697304, 35.90262352687 +2601, 4.939239483913, -0.7771186013442, 40.35903290243 +2602, 4.939239483913, -0.7771186013442, 39.50903290243 +2603, 4.943824084258, -0.7473977682, 43.96922634186 +2604, 4.943824084258, -0.7473977682, 43.09422634186 +2605, -3.235735968345, 3.811825382039, 0.8390822069888 +2606, -2.863234079038, 4.099010930534, 1.688359654444 +2607, -3.882809556558, 3.150204746918, 0.8390822069888 +2608, 4.752443562825, -1.553795411938, 7.088027616148 +2609, 3.33776811852, 3.722808615413, 0.7512180966794 +2610, 3.5795991231, 3.490912505049, 1.501432276656 +2611, 2.634670094574, 4.249530973267, 0.7512180966794 +2612, 2.218429232153, 4.480911931954, 1.532060591985 +2613, -0.8097381350902, 4.933996772656, 0.8198715731429 +2614, 0.1291433548941, 4.99833192114, 0.8198715731429 +2615, -4.138130942522, 2.80639845755, 1.664485761491 +2616, -4.995504466153, -0.2119790759542, 0.8213157312961 +2617, -4.951216744102, 0.6967443956856, 0.8213157312961 +2618, -4.95195177536, -0.6915009866322, 1.640235793202 +2619, -3.495262999451, -3.57535125053, 0.8034533791545 +2620, -4.112261801733, -2.844169979803, 0.8034533791545 +2621, -0.1412792607099, -4.998003618495, 0.8220537632623 +2622, -1.044607473811, -4.889662076837, 0.8220537632623 +2623, 3.274972021155, -3.778168638461, 0.8405636532711 +2624, 2.509005056673, -4.324915447219, 0.8405636532711 +2625, 4.457832893144, -2.264448254388, 1.978262787849 +2626, 4.755737094435, -1.543685424113, 8.853697814732 +2627, 4.926516446833, 0.8540700785553, 46.4646937917 +2628, 4.926516446833, 0.8540700785553, 47.4896937917 +2629, 4.740606696871, -1.589543376439, 5.300621664124 +2630, 4.77653459417, -1.478078912202, 14.22393368743 +2631, 4.768381439053, -1.50417367737, 17.68335690427 +2632, 4.75398572925, -1.549070587832, 21.2978326209 +2633, 4.757146209412, -1.539337501094, 24.83732235069 +2634, 4.783993360584, -1.453756350249, 28.31759695017 +2635, 4.735777377353, -1.603874256964, 31.86330810533 +2636, 4.743415864009, -1.581140708814, 35.524290398 +2637, 4.752544403393, -1.553486946768, 39.1131577195 +2638, 4.770837992386, -1.496363876335, 42.6656468419 +2639, 0.5470058414351, 4.969988391278, 1.600714068449 +2640, -4.868265506142, 1.140171461538, 1.646719285798 +2641, -4.356556265157, -2.453653909687, 1.622373441061 +2642, -1.507700736, -4.767267402891, 1.627686760186 +2643, 2.10570063259, -4.534977932241, 1.688083210645 +2644, 4.769180593069, -1.501637929293, 12.43709170529 +2645, 4.778933381421, -1.470304640521, 15.95095003223 +2646, 4.756389114625, -1.541675254482, 19.4836163497 +2647, 4.749454385226, -1.562908520246, 23.04751858158 +2648, 4.782471683535, -1.45875446741, 26.60935640665 +2649, 4.751063773263, -1.55800931396, 30.08083895288 +2650, 4.741611988719, -1.586542072696, 33.69119629148 +2651, 4.745763765868, -1.574079501985, 37.33174834393 +2652, 4.76175190639, -1.525030747884, 40.88045340248 +2653, 4.764164409849, -1.51747733951, 44.47500085673 +2654, 4.731304716881, -1.617020617068, 3.39947468681 +2655, 4.763114651606, -1.520769152652, 10.63906891282 +2656, 3.541654109554, -3.529403089515, 1.602125534095 +2657, 0.3303426375209, -4.989075439582, 1.669573320637 +2658, -1.225530891332, 4.847481205161, 1.669149020599 +2659, -3.149450728717, -3.883421185937, 1.609086376078 +2660, 4.737698370838, 1.59819089816, 45.98273753784 +2661, 4.839169561848, 1.257949900308, 2.201474035955 +2662, 2.730205379926, 4.188792019595, 47.69398680806 +2663, 1.93538610786, 4.61023650299, 47.68582991851 +2664, 1.033716665633, 4.891976068542, 47.63246739189 +2665, 0.1034260191831, 4.998930191407, 47.62398402507 +2666, 1.481206638259, 4.775565609933, 46.84593821655 +2667, -0.8015007238866, 4.935341587936, 47.61665159925 +2668, -1.702598690153, 4.701186839543, 47.6024834049 +2669, -0.3504168745795, 4.987705686386, 46.78524326411 +2670, -2.528591014534, 4.313493651464, 47.62467805904 +2671, -3.256076059556, 3.794465534747, 47.61982860118 +2672, -2.105088114178, 4.535262289168, 46.80010549243 +2673, -3.888141114019, 3.143621904344, 47.63393469863 +2674, -4.389508985003, 2.394203598398, 47.62180709405 +2675, -3.583335409858, 3.487077191641, 46.83640624402 +2676, -4.751322853178, 1.557219042032, 47.61258810826 +2677, -4.953610456482, 0.6795170678029, 47.63972454909 +2678, -4.590645486302, 1.981407080611, 46.84129335568 +2679, -4.993082996232, -0.262910997758, 47.61124778873 +2680, -4.850841184331, -1.212163274644, 47.61740955337 +2681, -4.996776583624, 0.1795098140578, 46.80359760954 +2682, -4.546353192409, -2.081026825841, 47.63254457576 +2683, -4.087454144563, -2.879708078278, 47.63459100573 +2684, -4.718063631154, -1.655256950561, 46.79025587157 +2685, -3.493467326707, -3.577105818568, 47.62446781434 +2686, -2.770059402955, -4.162543802064, 47.60573229078 +2687, -3.80713648433, -3.24125157766, 46.79526770258 +2688, -1.942708916099, -4.607155528882, 47.59921008022 +2689, -1.064112136347, -4.885454468243, 47.58147944957 +2690, -2.370377670381, -4.402420890801, 46.77862230063 +2691, -0.1165732283864, -4.998640883523, 47.54197845857 +2692, 0.8473252262759, -4.927680992203, 47.52207103917 +2693, -0.5719493233541, -4.96717967981, 46.73259909906 +2694, 1.738171308117, -4.688151075172, 47.50941693174 +2695, 2.577942163594, -4.284181859021, 47.52087195269 +2696, 1.291514467519, -4.830319904539, 46.68044400063 +2697, 3.438778189889, -3.629711360528, 47.44792096292 +2698, 4.039941905553, -2.945992090919, 47.5123920426 +2699, 3.076331147254, -3.941596969813, 46.59483890342 +2700, 4.521405583585, -2.134687693487, 47.82099405011 +2701, 3.933571751853, -3.086586022294, 2.50239624461 +2702, 3.357225531357, -3.7052714788, 2.581398017057 +2703, 4.469249069978, -2.241832453708, 11.05448359279 +2704, 4.467574805698, -2.245167110817, 10.18245084581 +2705, 4.501347473754, -2.176665091495, 14.63364313801 +2706, 4.497709818583, -2.184171785327, 13.77279120137 +2707, 3.25826718843, 3.79258420194, 2.279729879499 +2708, 3.838508478142, 3.204036932251, 2.278725962796 +2709, 4.542050142316, 2.090401995954, 47.66245947016 +2710, 4.476080253124, -2.228161925801, 18.13286323845 +2711, 4.491685811509, -2.19653330744, 17.26662077456 +2712, 4.461169336597, -2.257868054207, 19.94001631862 +2713, 4.463020820306, -2.254206103602, 19.00599933707 +2714, 4.453217283237, -2.273511783185, 21.76056785034 +2715, 4.45488605331, -2.270240130917, 20.8803685607 +2716, 4.467331772653, -2.245650648041, 25.32646835526 +2717, 4.45119201204, -2.277474406431, 24.40615125718 +2718, 4.526132537971, -2.124646852707, 27.08648074104 +2719, 4.505186228206, -2.16870861325, 26.23476378316 +2720, 4.362660234216, -2.442784411443, 30.38430631247 +2721, 4.394413983065, -2.385188828048, 29.47758789538 +2722, 4.422791434783, -2.332148349571, 32.31199520987 +2723, 4.41463756117, -2.347546635002, 31.43624447451 +2724, 4.438470371676, -2.302168707926, 35.96714839204 +2725, 4.436244113417, -2.306455758555, 35.08619173631 +2726, 4.459806016853, -2.260559729811, 39.58973248042 +2727, 4.451152047755, -2.277552512626, 38.73482439505 +2728, 4.509942273394, -2.158800752884, 43.09985446511 +2729, 4.501604835041, -2.176132787569, 42.22704862329 +2730, 0.1331119627922, 4.998227806469, 2.40522594076 +2731, 1.012761534841, 4.896357224871, 2.366196862923 +2732, -3.187818455391, 3.85198825225, 2.48076497263 +2733, -2.43714065994, 4.365815548516, 2.490960213097 +2734, -4.950648665383, 0.7007694285132, 2.466314059461 +2735, -4.740571114119, 1.589649493435, 2.470401882667 +2736, 1.816358058093, 4.658416405261, 2.303653237493 +2737, 2.590062419852, 4.276865284443, 2.274028838867 +2738, 2.912625645062, 4.064063465514, 3.051322525007 +2739, 1.423924180813, 4.792957325837, 3.108165109805 +2740, -2.766674890997, -4.164794118264, 2.434637805403 +2741, -3.496831051447, -3.573817650306, 2.432458187634 +2742, -4.367772762954, 2.433631256209, 2.470717339432 +2743, -3.852144645124, 3.18762946922, 2.484395991919 +2744, -3.512572878311, 3.558346775477, 3.286996550571 +2745, -4.56769126491, 2.033764123114, 3.290312113095 +2746, -4.86925095695, -1.135955596949, 2.461374429579 +2747, -4.995309686262, -0.2165205263705, 2.463770098969 +2748, 4.438527755616, -2.302058071081, 7.467011149534 +2749, 4.4429901046, -2.293433873132, 6.614679302065 +2750, -1.054785925169, -4.887476511664, 2.41198652899 +2751, -1.944837534139, -4.606257370773, 2.395565762651 +2752, 4.521855118128, 2.133735290671, 45.45063671509 +2753, 4.482797331459, 2.214616916097, 46.29728676065 +2754, 2.523249541489, -4.316620408535, 2.567090963221 +2755, 1.695024050648, -4.703923199599, 2.574046867324 +2756, -1.628002808766, 4.727537081256, 2.479036945094 +2757, -0.7557674004609, 4.942551530981, 2.449631070781 +2758, -2.007928806829, 4.579107108019, 3.27144226328 +2759, 4.486288467902, -2.207536133968, 12.90122174358 +2760, 4.479050959259, -2.222184174266, 11.97523169807 +2761, 4.105142928672, -2.854435414435, 13.31093119415 +2762, 0.7947452715344, -4.936433930822, 2.467945191887 +2763, -0.1291940422716, -4.998330611258, 2.442479397775 +2764, -0.5938185306177, -4.964612729377, 3.210358400241 +2765, 1.255906523547, -4.839700280401, 3.346952944463 +2766, 4.336665677473, -2.488640352044, 2.957535270811 +2767, 4.500989000925, 2.177406258269, 1.500418388735 +2768, 4.503378548981, 2.172459814261, 4.641145737044 +2769, 4.464838912062, 2.25060291685, 5.526709687282 +2770, 4.441903109412, 2.295538448076, 6.549555289344 +2771, 4.4383716967, 2.302358938553, 7.46379431158 +2772, 4.03437470258, 2.953611477358, 5.931597519066 +2773, 4.428619535928, 2.321062042685, 8.399485724891 +2774, 4.42608049082, 2.325900145919, 9.293271457588 +2775, 3.991700731567, 3.011033920369, 7.890134534437 +2776, 4.443215533611, 2.292997104637, 10.20646845008 +2777, 4.452652769064, 2.274617180571, 11.09991495876 +2778, 4.001318343852, 2.998241403082, 9.739022940239 +2779, 4.474680888843, 2.230970852124, 11.97694179728 +2780, 4.480370668808, 2.219522171568, 12.86892092156 +2781, 4.052286544946, 2.928988521255, 11.52924677125 +2782, 4.494494153971, 2.19078120768, 13.76927770342 +2783, 4.497396567589, 2.184816723168, 14.65342858905 +2784, 4.099153114651, 2.86303051724, 13.30663039164 +2785, 4.494878034264, 2.189993483345, 15.53939534942 +2786, 4.498554427742, 2.182431685219, 16.41137835509 +2787, 4.114137031273, 2.841456754538, 15.09295393388 +2788, 4.498906177543, 2.181706489348, 17.29021577974 +2789, 4.496957933985, 2.185719410164, 18.1668354015 +2790, 4.111321463435, 2.845529093911, 16.85775811892 +2791, 4.502723812848, 2.173816520594, 19.05119292017 +2792, 4.503291366329, 2.17264052939, 19.9440021476 +2793, 4.119290895274, 2.833979978778, 18.62095306224 +2794, 4.497381926848, 2.184846860552, 20.83139121076 +2795, 4.498728840537, 2.18207213889, 21.71873118977 +2796, 4.119100627035, 2.834256520564, 20.39269964407 +2797, 4.49383911865, 2.192124534712, 22.60440980079 +2798, 4.494239478304, 2.191303610104, 23.48747942413 +2799, 4.10502628985, 2.854603152742, 22.16576731824 +2800, 4.499379646765, 2.180729876504, 24.3744746485 +2801, 4.489988077934, 2.200001604548, 25.26621171813 +2802, 4.105356464539, 2.854128290576, 23.93844115362 +2803, 4.488522042667, 2.202991119476, 26.15653572803 +2804, 4.490974089983, 2.197988108043, 27.04501815182 +2805, 4.110161144131, 2.847204834442, 25.71576038788 +2806, 4.485349427852, 2.209443484244, 27.932517028 +2807, 4.485134586899, 2.209879575317, 28.81642380574 +2808, 4.100976775311, 2.860417712216, 27.49358327395 +2809, 4.49023606898, 2.199495406868, 29.70473931155 +2810, 4.487310980779, 2.205456905447, 30.5975546311 +2811, 4.100294654879, 2.861395418877, 29.26939765593 +2812, 4.486983970911, 2.206122128257, 31.48946439866 +2813, 4.489387139714, 2.201227636973, 32.38164658592 +2814, 4.106481882839, 2.852508816097, 31.04962292932 +2815, 4.483275163742, 2.213649431634, 33.27171175439 +2816, 4.482966626173, 2.214274199058, 34.15218677574 +2817, 4.098143489282, 2.86447550893, 32.83159786536 +2818, 4.489144236766, 2.201722966568, 35.03946946795 +2819, 4.488461887354, 2.20311367972, 35.92897060256 +2820, 4.098226624637, 2.864356565289, 34.60894572605 +2821, 4.493599646548, 2.19261538272, 36.81958173351 +2822, 4.497799448899, 2.183987206346, 37.71730389012 +2823, 4.1128822618, 2.843272674326, 36.38683954921 +2824, 4.489493593493, 2.201010512012, 38.60804873009 +2825, 4.490498114507, 2.198960364266, 39.49674209166 +2826, 4.10875323432, 2.849236188782, 38.16819552013 +2827, 4.482474319016, 2.215270633435, 40.38537901989 +2828, 4.477901301855, 2.224499928264, 41.28007900923 +2829, 4.08748828149, 2.879659623755, 39.94757728833 +2830, 4.466948529723, 2.246412881196, 42.16471175793 +2831, 4.459356188169, 2.261446967549, 43.02093097703 +2832, 4.062761875319, 2.914440931715, 41.72084696526 +2833, 4.463503244823, 2.253250714736, 43.85697482206 +2834, 4.468112323055, 2.244097205684, 44.70682744816 +2835, 4.129631935407, 2.818889866254, 45.02137667096 +2836, 4.053817585867, 2.926869143046, 43.441523559 +2837, 4.480510586646, -2.219239708313, 5.755385992551 +2838, 4.459286069413, -2.261585229686, 4.820311887997 +2839, 4.06253788053, -2.914753157518, 6.134369525937 +2840, 4.062925996409, 2.914212131555, 47.7732572345 +2841, 3.428255818321, 3.639651362994, 47.76982799252 +2842, 3.09644123544, 3.925818599409, 46.97514192763 +2843, 4.303374226437, 2.545774983622, 46.94018534774 +2844, 4.445734182998, -2.288110044146, 9.25408542114 +2845, 4.43638791388, -2.306179151233, 8.340747070025 +2846, 4.010739303328, -2.985627277599, 7.867398755942 +2847, 4.036582538606, -2.950593399474, 9.669500101107 +2848, -4.10412345708, -2.855901022278, 2.448691545851 +2849, -4.566189865485, -2.037132816568, 2.464158228603 +2850, -4.73951804566, -1.592786456141, 3.287692534369 +2851, -3.814556282481, -3.232516104799, 3.274242975176 +2852, 4.272446616845, 2.597344780003, 2.275314674087 +2853, 4.625625963334, 1.898310945901, 2.275304702869 +2854, 4.696899100859, 1.714391681137, 2.976370321308 +2855, 4.027114172278, 2.963503238304, 3.05361227693 +2856, 4.382120311095, -2.407700475369, 46.83048992115 +2857, 4.077572389815, -2.893683363089, 11.51861363107 +2858, 4.078186513864, -2.892817788617, 18.58926320736 +2859, 4.102193230256, -2.858672891683, 25.80359268964 +2860, 4.506069271054, -2.166873259898, 16.35945973505 +2861, 4.506158414249, -2.166687874542, 15.49329532689 +2862, 4.053151215589, -2.927791868212, 20.40275154806 +2863, 4.043161103947, -2.941572417522, 24.00607566795 +2864, 4.443871778024, -2.291725031604, 23.51692966338 +2865, 4.448851831437, -2.282042370756, 22.64744299234 +2866, 4.126200106093, -2.823910884656, 15.04215284083 +2867, 4.551275335604, -2.07023979759, 28.70524215051 +2868, 4.56913942687, -2.030508531828, 27.84871856487 +2869, 3.921784056805, -3.101549582352, 30.83299341701 +2870, 4.422824458369, -2.332085721077, 34.18349469302 +2871, 4.422421414563, -2.332849937741, 33.23135724224 +2872, 4.042754463599, -2.942131259318, 38.31780269443 +2873, 4.44438993476, -2.290719997687, 37.84122793351 +2874, 4.44319325754, -2.293040269196, 36.91472664331 +2875, 4.10487827947, -2.854815985442, 41.8151975293 +2876, 4.468736159866, -2.242854683992, 41.3809899061 +2877, 4.463863475614, -2.252536985507, 40.46860230849 +2878, 4.641306011427, 1.859644726364, 3.711870272653 +2879, 4.464238407568, -2.25179382724, 44.95777484619 +2880, 4.482719472237, -2.214774510696, 44.02122667318 +2881, 4.327499187075, -2.504546023906, 3.923608143571 +2882, -4.9937089125, 0.2507414948083, 3.287452695838 +2883, 4.37827913708, -2.414678404636, 45.9667184717 +2884, 4.039370119186, -2.94677604175, 22.22997893215 +2885, -2.364632386069, -4.405509468694, 3.218937574207 +2886, 3.981181692206, 3.024928484054, 46.40808452499 +2887, 4.207429898889, -2.701394759367, 27.47412594137 +2888, -0.2868029134915, 4.991767631692, 3.215113865256 +2889, 4.113799136554, -2.841945929128, 16.80896606923 +2890, 4.253513568127, 2.628235591753, 3.979476452613 +2891, 3.946849831076, -3.069588964493, 4.378372471998 +2892, 3.015229771465, -3.988532239468, 3.467361673736 +2893, 4.111795489625, -2.844844082107, 43.58262845456 +2894, 3.966649310857, -3.043960125342, 45.51294428814 +2895, 4.05670891077, -2.922860382105, 40.09026898404 +2896, 4.027945833175, -2.962372759295, 36.47662798162 +2897, 3.987680863768, -3.016355636979, 32.80429361141 +2898, 4.068074860098, -2.907020284181, 29.00870951009 +2899, 4.004592172999, -2.993867319698, 34.62635268706 +2900, -0.655241825488, 4.956879880543, 4.022628382081 +2901, 0.234584871647, 4.994493962154, 3.97822325206 +2902, 0.1251451634406, 4.998433623453, 46.03656614138 +2903, -0.7800493272451, 4.938777485073, 46.02923371556 +2904, -1.674620521633, 4.711225542099, 46.03012993158 +2905, -2.502903046761, 4.328449646064, 46.05232458573 +2906, -3.249849097232, 3.799800105955, 46.07088124667 +2907, -3.882980627117, 3.149993880857, 46.08498734411 +2908, -2.882760427852, 4.085301985853, 45.30090568582 +2909, -4.386812563186, 2.399140582682, 46.07578609944 +2910, -4.749567867573, 1.562563621525, 46.06656711366 +2911, -4.149338992055, 2.789800338557, 45.31026110209 +2912, -4.960052373505, 0.6307776566204, 46.05592442442 +2913, -4.990256545384, -0.3119929666769, 46.02744766406 +2914, -4.855063439337, -1.195139740787, 46.00512123189 +2915, -4.553625173244, -2.065066047757, 46.02025625428 +2916, -4.080084995587, -2.890139517183, 46.01209185224 +2917, -3.484318709928, -3.586017725506, 46.00196866086 +2918, -2.791077284013, -4.148480154787, 45.98450927094 +2919, -1.965986136585, -4.597270767614, 45.97798706037 +2920, -3.14865858848, -3.884063476977, 45.2013334206 +2921, -1.06490740278, -4.885281181621, 45.94526862939 +2922, -0.1173869324662, -4.998621840876, 45.90576763839 +2923, 0.8085475607076, -4.93419201512, 45.88938266488 +2924, 1.70124976787, -4.70167515119, 45.87672855745 +2925, 2.50432847545, -4.32762508624, 45.84291183183 +2926, 3.376226715844, -3.687965992688, 45.76996084205 +2927, 3.50975934559, -3.561121920974, 44.76101721655 +2928, 2.065048578208, -4.553633095633, 45.05185049608 +2929, 3.524433771114, -3.546599299757, 22.68192620737 +2930, 3.531224492888, -3.539838072685, 21.79505106537 +2931, 3.534294037412, -3.536773339799, 20.88970886309 +2932, 3.544095787013, -3.526951240445, 19.949356621 +2933, 2.932679713082, -4.0496159942, 21.34165613831 +2934, 3.629189115149, -3.439329348359, 26.36501015657 +2935, 3.569673178426, -3.50106175313, 25.45671472868 +2936, 3.535344326872, -3.535723474829, 24.50911379086 +2937, 3.523997167163, -3.547033121614, 23.61989219705 +2938, 2.928666662206, -4.052519164875, 23.18496433028 +2939, 2.96757129455, -4.024117370525, 25.07053125779 +2940, -1.936300665782, -4.609852463115, 3.974819946186 +2941, -2.758954465082, -4.169912500233, 4.013891988937 +2942, 3.551768061607, -3.519224863027, 38.79461844004 +2943, 3.541333966284, -3.529724314906, 37.9010219785 +2944, 3.505242229382, -3.565568245505, 35.09414497563 +2945, 3.48455280262, -3.585790256799, 34.19144793235 +2946, 3.402387410298, -3.663844962638, 31.44142138823 +2947, 3.322086865605, -3.736808646074, 30.38948322618 +2948, 3.478884171794, -3.591290146903, 33.28991040381 +2949, 3.479453838824, -3.590738222635, 32.37054837145 +2950, 2.801363261693, -4.141541244034, 31.92703818062 +2951, 2.89515653347, -4.076526541887, 33.75770269238 +2952, 3.63699351704, -3.431075364519, 42.3240546153 +2953, 3.585552872328, -3.484797067225, 41.47799589811 +2954, 3.522951401046, -3.548071789841, 36.95928001962 +2955, 3.515650657486, -3.555305957934, 36.01170176835 +2956, 2.913483728295, -4.06344835884, 35.57679701363 +2957, 2.946373529467, -4.039663726705, 37.43609576523 +2958, 3.5532264422, -3.517752386176, 40.59918683025 +2959, 3.546895496454, -3.524135686553, 39.72031700219 +2960, 2.961746567779, -4.02840629384, 39.30353628625 +2961, 2.993274388773, -4.005035384802, 41.10804391625 +2962, 3.317552924456, -3.740834478219, 4.50526224306 +2963, 2.477109972848, -4.343262159071, 4.490955189224 +2964, 3.519199217941, -3.551793471535, 5.401965987485 +2965, 3.579755774794, -3.490751866408, 19.02574742467 +2966, 3.600035523318, -3.469833458662, 18.15261132605 +2967, 3.655367227949, -3.411493870556, 15.46952002138 +2968, 3.64780074512, -3.419583267578, 14.6098678325 +2969, 3.445229887915, 3.623588141527, 46.24719980127 +2970, 2.749753725365, 4.175985446555, 46.17135861681 +2971, 3.708219772456, 3.353968711716, 45.60430121417 +2972, -4.996530849964, -0.1862242340688, 4.106071743249 +2973, -4.946308065682, 0.7307780233194, 4.108615703741 +2974, 3.631920435999, -3.436444957594, 13.73174821961 +2975, 3.61399736064, -3.455289145251, 12.86017876181 +2976, 3.074712114459, -3.942860054985, 14.15911540016 +2977, 3.495598564648, 3.57502317123, 5.445445279904 +2978, 3.459348738341, 3.610111675079, 6.468290881966 +2979, 3.425298052393, 3.642435071799, 7.401049149168 +2980, 3.409901698378, 3.656852527434, 8.336740562478 +2981, 2.781840481549, 4.154679715118, 6.914896910006 +2982, 3.43498220641, 3.633303901637, 9.291772916659 +2983, 3.461844727474, 3.60771826545, 10.20496990915 +2984, 2.771406387544, 4.161647106024, 8.802687531389 +2985, 3.516573551701, 3.554393120559, 11.07852125997 +2986, 3.551159940953, 3.519838501093, 11.95554809849 +2987, 2.862953613605, 4.09920682649, 10.63127123639 +2988, 3.599996393459, 3.469874056371, 12.87213952841 +2989, 3.622146067097, 3.446745982606, 13.77249631027 +2990, 2.981638402917, 4.013705573936, 12.42141401712 +2991, 3.635436280892, 3.432725309076, 14.65427110451 +2992, 3.631481503057, 3.436908799045, 15.54023786489 +2993, 3.052753986391, 3.959885490589, 14.21978024127 +2994, 3.622097715606, 3.446796793924, 16.41978475472 +2995, 3.622653292603, 3.446212866553, 17.29862217938 +2996, 3.057255791813, 3.956410876467, 15.98110192535 +2997, 3.630186808339, 3.438276274031, 18.18123453218 +2998, 3.639268952291, 3.428661764142, 19.06559205085 +2999, 3.05512747945, 3.958054583291, 17.74326116799 +3000, 3.639770578742, 3.428129246998, 19.94821909108 +3001, 3.63045904079, 3.437988823884, 20.83560815424 +3002, 3.064360654048, 3.950910500369, 19.50850056102 +3003, 3.623152298209, 3.44568823662, 21.72345203847 +3004, 3.615439686485, 3.453779939919, 22.60913064949 +3005, 3.056545293602, 3.95695980118, 21.27897148549 +3006, 3.624309873441, 3.444470632954, 23.4992184026 +3007, 3.632399121741, 3.435938972156, 24.38621362696 +3008, 3.058320875718, 3.955587620208, 23.05690312283 +3009, 3.640355672181, 3.427507925595, 25.27302970246 +3010, 3.638072396127, 3.429931375485, 26.16335371236 +3011, 3.077628031203, 3.940584436547, 24.83380695144 +3012, 3.629656358556, 3.438836244835, 27.05080607933 +3013, 3.620867423796, 3.448089195379, 27.9383049555 +3014, 3.077107870543, 3.940990630925, 26.60807539392 +3015, 3.62066433778, 3.448302445135, 28.82901572268 +3016, 3.62863374828, 3.439915278149, 29.7173312285 +3017, 3.067208598004, 3.948699965347, 28.38623852807 +3018, 3.636088679613, 3.432034253033, 30.60653801108 +3019, 3.635579838135, 3.432573268052, 31.49844777865 +3020, 3.075536567641, 3.942216993153, 30.16615607783 +3021, 3.627242016904, 3.441382767262, 32.39033205343 +3022, 3.617699599391, 3.451412697515, 33.2803972219 +3023, 3.074526289183, 3.943004957786, 31.94724713519 +3024, 3.613597548755, 3.455707272851, 34.18127242695 +3025, 3.62325187722, 3.445583525939, 35.06855511917 +3026, 3.060257449536, 3.954089571894, 33.74000661502 +3027, 3.629454713138, 3.439049067007, 35.94015657597 +3028, 3.637483955411, 3.430555417731, 36.83076770692 +3029, 3.062685322856, 3.952209333165, 35.51248327688 +3030, 3.626379321712, 3.442291825959, 37.72179089777 +3031, 3.613312894108, 3.456004908745, 38.61253573774 +3032, 3.05703246571, 3.956583438219, 37.27510792453 +3033, 3.593060877339, 3.477055296042, 39.49424049738 +3034, 3.580396613578, 3.490094567412, 40.38287742561 +3035, 3.021006702934, 3.984158443239, 39.04783587502 +3036, 3.562430378792, 3.50843124434, 41.28657496726 +3037, 3.545197923009, 3.525843400761, 42.17120771596 +3038, 2.977093792806, 4.017077612997, 40.83323817631 +3039, 1.954236161227, 4.60227780845, 46.08686571656 +3040, 1.053727218829, 4.887704875327, 46.03350318993 +3041, 0.6274840567599, 4.960470114668, 45.27749364139 +3042, 2.370263315137, 4.402482460717, 45.35892359019 +3043, 3.817920992179, -3.228541357561, 28.06439332133 +3044, 3.750277821189, -3.306874092538, 27.30215549749 +3045, 3.148122199297, -3.884498245371, 26.95527753653 +3046, 3.581416205245, -3.489048289263, 28.83673906621 +3047, 3.69806392181, -3.365163180324, 44.0122933517 +3048, 3.739667881513, -3.318867899749, 43.09092114363 +3049, 3.1496900925, -3.883227049917, 42.75371951243 +3050, 3.055829728627, -3.957512434553, 44.26930990561 +3051, 3.459654217707, -3.609818928132, 6.261259297 +3052, 3.573494102186, -3.497161692236, 11.95598846569 +3053, 3.558101893938, -3.512820933716, 11.0352403604 +3054, 3.010102268568, -3.992403327917, 12.37680549115 +3055, 3.613383752634, -3.455930823411, 17.25677393078 +3056, 3.636089122567, -3.432033783742, 16.34961289127 +3057, 3.07076199294, -3.945937250225, 15.91732788293 +3058, 3.033182874227, -3.974896432801, 17.69325814809 +3059, 3.523755864494, -3.547272840852, 10.11362899394 +3060, 3.489412662258, -3.581061193624, 9.185263569267 +3061, 2.924059514415, -4.055844666177, 10.55100382856 +3062, -1.219339424016, 4.849042314627, 45.28145280886 +3063, -4.880044989263, 1.088650955434, 45.29041716818 +3064, -4.943269759564, -0.7510553136646, 45.25744804677 +3065, -4.338457355318, -2.485515595624, 45.22695721256 +3066, 0.3119876316748, -4.990256878927, 45.10205219521 +3067, -1.539309949006, -4.757155124745, 45.1511555997 +3068, 3.474634659896, -3.595401782868, 7.364398497677 +3069, 2.825960404923, -4.124796696785, 6.631994959226 +3070, -4.563562531554, -2.043011752438, 4.077159361814 +3071, -4.867783964149, -1.142225581213, 4.074375562791 +3072, -0.1637088665317, -4.997319222045, 3.999788594772 +3073, -1.088513131985, -4.880075733172, 3.969295725987 +3074, 2.97716886862, -4.017021972522, 19.51270473969 +3075, 3.471294101979, -3.598627135112, 8.238134418168 +3076, 3.815190609399, 3.231767413344, 3.982887741321 +3077, 3.130895739842, -3.898396063286, 29.48213999082 +3078, 2.803147526231, -4.140333796469, 28.53782380206 +3079, 2.499132531179, -4.330627736437, 30.09056796203 +3080, -1.534880541508, 4.758586105484, 4.047190345944 +3081, -1.030989750093, 4.892551495406, 4.810299732749 +3082, -2.350963586053, 4.412818851602, 4.059113613947 +3083, 3.624767226791, 3.44398933674, 44.86049194724 +3084, -4.717326149512, 1.657357535092, 4.164750127924 +3085, -4.33248268286, 2.495915423792, 4.165065584688 +3086, -4.844017317527, 1.239151414273, 4.983369175335 +3087, -3.796216123946, 3.254034901518, 4.151340795724 +3088, -3.120454616748, 3.906758628943, 4.147709776436 +3089, -4.047157683984, 2.936071300389, 5.025778810553 +3090, -3.481752893481, -3.588508992428, 4.039131234827 +3091, -4.09206262461, -2.873155665165, 4.055364593044 +3092, -4.342999643639, -2.477570199883, 4.842047621466 +3093, -3.12584781157, -3.902444805363, 4.795013606806 +3094, -4.955198111203, -0.6678410579831, 4.895538570694 +3095, -2.709658567999, 4.202112616872, 4.9234578591 +3096, 1.632294133941, -4.726057115641, 4.207245626607 +3097, 0.7290017595375, -4.946570168773, 4.10114395117 +3098, 0.2294523096396, -4.994732388988, 4.860081276916 +3099, 1.996448587834, -4.584124020588, 5.245146195931 +3100, 3.439879697174, 3.628667478423, 43.132909478 +3101, 3.446540242027, 3.622341833688, 43.96895332303 +3102, 2.836459044296, 4.117584254151, 42.69863748 +3103, 1.091600494607, 4.879386063858, 3.973253573332 +3104, 1.891254873912, 4.628515420943, 3.910709947902 +3105, 0.7276982320642, 4.946762100915, 4.780768090158 +3106, -1.531772030928, -4.759587633952, 4.764250140717 +3107, 3.242568608356, 3.80601482132, 3.737827248558 +3108, 3.539647881942, 3.531415137288, 4.663691424241 +3109, 2.871690233398, 4.093091155033, 5.200384787141 +3110, 2.572368519041, 4.287530781493, 3.732126207927 +3111, -3.882080224578, 3.15110347814, 44.56675255643 +3112, -4.386126728155, 2.400394201911, 44.55755131176 +3113, -4.99088696212, -0.3017405033085, 44.46658579887 +3114, -4.857508446582, -1.185163149689, 44.4442593667 +3115, -4.872554873764, -1.121699158489, 5.738348775618 +3116, -4.997271351586, -0.1651636722125, 5.770044956076 +3117, -2.974733222794, 4.018825979463, 5.793666932041 +3118, -2.187159511331, 4.496257696351, 5.705070769552 +3119, 2.251871621916, -4.464199166526, 21.83140965075 +3120, 2.255743547755, -4.462243947473, 20.92606744846 +3121, 2.287690554431, -4.445950059005, 19.97262496691 +3122, 2.332754844314, -4.422471575525, 19.04901577058 +3123, -0.762175094215, 4.941567476597, 44.49108056908 +3124, -1.657563745208, 4.717253695804, 44.4919767851 +3125, -1.426932707194, 4.79206250472, 5.517679625721 +3126, -0.5430367849559, 4.970423628845, 5.493117661858 +3127, -1.732676794157, 4.690184551485, 6.387888698661 +3128, -1.064517664023, -4.885366121693, 5.535776623798 +3129, -1.913622927928, -4.619312426077, 5.541300843998 +3130, 2.863810431083, -4.098608277796, 8.682263311002 +3131, 2.577145982724, -4.284660848157, 27.5627484338 +3132, 2.421723331712, -4.374386368926, 26.62560309288 +3133, 2.037387161239, -4.566076385171, 28.20814935841 +3134, 1.949038740631, 4.604481294079, 6.309953320551 +3135, 1.905717717594, 4.622579364473, 7.242711587753 +3136, 2.461444525042, -4.352159331888, 14.59707117869 +3137, 2.441256800922, -4.363515237965, 13.7189515658 +3138, 1.911852568903, 4.620045427783, 8.318243316387 +3139, 1.943595852797, 4.606781431867, 9.273275670567 +3140, 1.006939813818, 4.897557780297, 7.713299726931 +3141, 2.045176574762, 4.562592769254, 10.22800577209 +3142, 2.114663207259, 4.530805614884, 11.10155712291 +3143, 1.121661593119, 4.872563521446, 9.743561557092 +3144, 2.275481291275, 4.452211236347, 11.99308331701 +3145, 2.337470448976, 4.419980984141, 12.90967474693 +3146, 1.402017974123, 4.799410963883, 11.58981785272 +3147, 2.412271353531, 4.379605794696, 13.78876973884 +3148, 2.429174904123, 4.370252771314, 14.67054453308 +3149, 1.65336325673, 4.718727576508, 13.36043903873 +3150, 2.42618929185, 4.371910968914, 15.53081329841 +3151, 2.414260820494, 4.378509414244, 16.41036018825 +3152, 1.730137836821, 4.69112172786, 15.09980279598 +3153, 2.410244973306, 4.380721306892, 17.29048675832 +3154, 2.419826606257, 4.375435886361, 18.17309911112 +3155, 1.722629934451, 4.693883904501, 16.84019813139 +3156, 2.412563131647, 4.379445071675, 19.058073361 +3157, 2.413203885299, 4.379092030088, 19.94070040124 +3158, 1.710531672302, 4.698306226509, 18.60529895134 +3159, 2.425111212508, 4.372509074544, 20.82858606246 +3160, 2.415823277981, 4.37764752916, 21.71642994669 +3161, 1.715519736828, 4.696487201362, 20.37815886244 +3162, 2.425258058394, 4.372427626639, 22.6089832211 +3163, 2.436494682505, 4.366176091516, 23.49907097421 +3164, 1.738407186324, 4.6880636146, 22.15859779808 +3165, 2.426974407731, 4.371475177125, 24.38665192254 +3166, 2.437103263029, 4.365836424482, 25.27346799804 +3167, 1.738301069466, 4.688102963022, 23.93873202081 +3168, 2.438952751495, 4.364803486524, 26.15872898647 +3169, 2.428249391857, 4.370767082669, 27.04618135345 +3170, 1.730068619514, 4.691147255392, 25.71157395757 +3171, 2.438025882137, 4.365321270884, 27.93658465815 +3172, 2.437768776587, 4.365464854045, 28.82729542533 +3173, 1.742549660055, 4.68652543813, 27.48723825071 +3174, 2.428163860071, 4.370814600123, 29.71899387761 +3175, 2.437641358932, 4.365536004344, 30.60820066019 +3176, 1.742733967389, 4.686456904625, 29.26934000769 +3177, 2.437603549534, 4.365557116257, 31.4980451673 +3178, 2.427005915926, 4.371457684121, 32.38992944209 +3179, 1.732384294292, 4.690292598217, 31.05088296709 +3180, 2.436808060997, 4.36600119948, 33.28474735099 +3181, 2.431620518809, 4.368892497248, 34.18562255604 +3182, 1.742862970477, 4.686408930742, 32.8355453831 +3183, 2.419229705469, 4.375765948057, 35.07623247853 +3184, 2.427110624544, 4.371399548912, 35.94783393533 +3185, 1.740096707224, 4.687436767521, 34.62097321449 +3186, 2.412180108651, 4.379656050814, 36.82848452039 +3187, 2.398014908466, 4.387428004968, 37.71950771125 +3188, 1.710784339776, 4.698214229128, 36.39223372205 +3189, 2.384202811692, 4.394949027318, 38.60535315937 +3190, 2.358486356863, 4.408802797188, 39.487057919 +3191, 1.679938373137, 4.709331912539, 38.15872975522 +3192, 2.318269118501, 4.430082199486, 40.3691238954 +3193, 2.295493380609, 4.441926399613, 41.27282143706 +3194, 1.622146129002, 4.729549866125, 39.92664117975 +3195, -1.988416854287, -4.587613585906, 44.36381395918 +3196, -1.088755580134, -4.880021648182, 44.3310955282 +3197, 2.922273654291, 4.057131583944, 44.55187786624 +3198, 2.393044208578, -4.39014116126, 12.84825095414 +3199, 2.341731760698, -4.417724794613, 11.94406065801 +3200, -0.1664458735029, -4.99722880917, 44.26201373928 +3201, 0.7600764323181, -4.941890712777, 44.24562876578 +3202, -0.6449026405272, -4.958235632182, 43.47467209877 +3203, -4.559692907118, -2.05163364, 44.44602074054 +3204, -4.088586985445, -2.87809945319, 44.4378563385 +3205, -4.72628453923, -1.631635515131, 43.65515849264 +3206, -2.50161481766, 4.329194301953, 44.55048811093 +3207, -3.248718157697, 3.800767071507, 44.56904477187 +3208, -2.087313163031, 4.543470453237, 43.76011587115 +3209, -4.758283535046, 1.535818283557, 44.50273665538 +3210, -4.963522572207, 0.6028628991706, 44.49209396614 +3211, -4.997385843991, 0.1616623836165, 43.67890528607 +3212, -4.601160972796, 1.956864252425, 43.75922810972 +3213, -3.581300489057, 3.489167064942, 43.81633498153 +3214, 2.310455059889, 4.434162538319, 42.07509591 +3215, 2.178935747957, 4.500248771599, 43.03679767204 +3216, 1.595025115097, 4.738765122076, 41.6109816291 +3217, 1.55209566551, -4.752998952778, 20.46237847935 +3218, 2.166509923215, -4.506243973934, 7.26213612313 +3219, 2.147753325457, -4.515213799256, 6.158996922453 +3220, -2.276936858532, -4.451467010128, 6.380639604055 +3221, -2.696571082458, -4.210523055067, 5.609113120974 +3222, 1.276844696638, -4.834218408457, 5.875287359836 +3223, 2.45077440467, -4.358176776751, 15.46421206467 +3224, 1.761555564367, -4.679414706312, 15.02404823031 +3225, 2.426181878803, -4.371915082772, 16.34430493455 +3226, 1.892901339242, -4.62784231796, 30.73841170458 +3227, 1.658905088846, -4.716782155898, 29.83106846922 +3228, 0.02725805277718, 4.999925699304, 6.419132776563 +3229, 0.4353159023846, 4.98101395954, 5.711752883592 +3230, 2.294815313806, -4.442276744589, 39.81559632289 +3231, 2.300959408505, -4.439097408304, 38.88989776074 +3232, 0.5877067452925, -4.965339946221, 5.519326809174 +3233, -0.3060877132274, -4.990622236937, 5.417971452775 +3234, -0.7107767849521, -4.949221793573, 6.195022156056 +3235, 0.7524645764151, -4.943055437808, 6.433177535695 +3236, 2.137907932822, -4.519883811646, 9.150978587913 +3237, 2.115068217633, -4.530616562319, 8.203849436814 +3238, 1.676412245683, -4.710588284124, 26.21283245998 +3239, 2.315396388792, -4.431584317461, 25.60536156271 +3240, 2.305569273113, -4.436704895176, 37.9050219966 +3241, 2.282492162383, -4.448621081713, 36.96328003771 +3242, 2.225373604984, -4.477467176679, 36.00165411175 +3243, 2.212274889698, -4.483953591688, 35.08409731904 +3244, -4.932663153468, 0.8178228502699, 5.792495212712 +3245, -4.687389645112, 1.740223639335, 5.848629636895 +3246, -4.987043493618, 0.3597182129929, 6.635305417636 +3247, 2.236212737836, -4.472063571903, 11.00909885161 +3248, 2.192596426154, -4.493608896201, 10.08748748515 +3249, 1.385850690927, -4.804104272646, 9.609073610963 +3250, 1.557259374144, -4.751309634368, 11.4805443146 +3251, 2.272026671851, 4.453975168588, 4.597214671454 +3252, 1.721410764726, -4.694331153539, 13.28620673267 +3253, -4.251518768975, 2.63146122089, 5.872241623024 +3254, -3.69158334463, 3.372271105598, 5.85851683406 +3255, -3.261360157409, 3.789924791294, 6.640129744512 +3256, -4.462142744764, 2.255943732753, 6.681367660402 +3257, -3.427944787112, -3.63994430404, 5.634352366863 +3258, 0.2008665473014, 4.995963633792, 44.52002885128 +3259, -0.2567383532304, 4.993404191329, 43.73055282752 +3260, 2.23573859884, -4.472300629168, 22.76786242495 +3261, 1.500754573876, -4.769458638985, 22.35227373511 +3262, 2.235188053201, -4.472575808953, 23.70582841464 +3263, 2.188594746677, -4.49555925718, 34.17910761388 +3264, 2.181490618738, -4.499010855772, 33.27757008534 +3265, 1.440656206566, -4.787954646243, 34.603964712 +3266, 1.127664254093, 4.871177817535, 44.51696589983 +3267, 2.272048373662, -4.453964098165, 24.65776062489 +3268, 1.606039226882, -4.735043611385, 44.21798093922 +3269, 2.416501541966, -4.377273157763, 44.1841642136 +3270, -2.799935929711, -4.142506341518, 44.39904435482 +3271, -2.401229229894, -4.385669639349, 43.57898428332 +3272, -3.491973829041, -3.578563786953, 44.41650374474 +3273, 2.145311935512, 4.516374286897, 44.46738496599 +3274, -4.071302513117, -2.90249820787, 5.67862460803 +3275, -4.548757927366, -2.075765236779, 5.700419376801 +3276, -4.734760008189, -1.606875124225, 6.574925762182 +3277, 1.146075465597, -4.866878982177, 43.37794248329 +3278, 2.371863671957, -4.401620465425, 18.12372759462 +3279, 2.388812733268, -4.392445073689, 17.22789019935 +3280, 1.710082364293, -4.698469783593, 16.77477438108 +3281, 1.628114354804, -4.727498667126, 18.58364782183 +3282, -3.823568294158, -3.221851253535, 43.63556727271 +3283, 1.582825347161, -4.742853984721, 38.41708203323 +3284, 1.382247616882, -4.805142196192, 7.730851400042 +3285, 0.5624800633461, -4.968260880664, 8.17153915177 +3286, 0.6190047438627, -4.961535359853, 7.229825838086 +3287, 2.650765596102, -4.239509612505, 43.43544034874 +3288, 1.526945063918, -4.76113839032, 36.47058034312 +3289, -1.124889634951, -4.871819301778, 42.69344364849 +3290, -0.2034738308802, -4.995858124501, 42.62436185958 +3291, -1.748694746473, -4.684235976513, 7.147773295386 +3292, -2.545639985423, -4.303454085338, 7.215585572362 +3293, 0.252278475271, 4.993631501314, 42.86099788063 +3294, -0.7112720415253, 4.949150642579, 42.83204959843 +3295, -4.110548951739, -2.846644922599, 42.84188936019 +3296, -3.519327691459, -3.551666172394, 42.82053676643 +3297, 2.216638205915, 4.481798195376, 5.378968527117 +3298, 0.01275486390782, 4.999983731318, 7.256399255685 +3299, 0.01939239209472, 4.999962393371, 8.331930984319 +3300, -0.9612018196929, 4.906739351323, 7.037764033951 +3301, 2.176564424631, -4.501396150688, 31.53372587943 +3302, 1.310406430626, -4.825229008718, 31.27422638661 +3303, 1.28700716071, 4.831522800141, 5.706783204863 +3304, 0.7951087576462, -4.936375397345, 36.95495710146 +3305, 0.7318699250336, -4.946146622658, 35.99333117549 +3306, 0.9614428063381, -4.90669213729, 26.82364782347 +3307, 0.842688906808, -4.928475971976, 25.8034062933 +3308, 2.271700326223, -4.454141626378, 32.46285286265 +3309, -1.746274126007, 4.68513891756, 7.225155177783 +3310, -3.742270283498, -3.315933220866, 6.492724122198 +3311, 1.408073222258, -4.797637939732, 28.83362922649 +3312, 1.148838815428, -4.866227427501, 27.85855385824 +3313, -3.276117149956, 3.777175720001, 43.08811040213 +3314, -3.90476484028, 3.122949173796, 43.08581818669 +3315, 1.522906521026, -4.76243170326, 24.24065871956 +3316, 0.7604799967432, -4.941828626587, 20.94322903162 +3317, 0.7959052410815, -4.93624704074, 19.98978655007 +3318, 0.7488710439858, -4.943601132725, 29.48147296904 +3319, 2.234894581638, -4.472722460534, 41.72866107188 +3320, 2.193504634024, -4.493165634663, 40.84985200403 +3321, -2.822726202661, -4.127010635413, 42.81857112515 +3322, -2.013672811397, -4.576584076431, 42.78334072952 +3323, -1.6006542501, -4.736866682907, 41.93303049033 +3324, -3.199592756839, -3.842213709619, 42.02489321263 +3325, -0.04642032564253, 4.999784510693, 9.361344494555 +3326, 0.0643553102217, 4.99958582225, 10.31607459608 +3327, -1.039893087757, 4.890666863122, 8.904444023309 +3328, 0.9795831563478, 4.903102776793, 12.95669632633 +3329, 1.062793246636, 4.885741552201, 13.83579131824 +3330, 0.985550532924, 4.901906786859, 14.62162311928 +3331, 0.9822021178863, 4.902578811158, 15.48189188461 +3332, 0.2927584398345, 4.991421891195, 14.21788040688 +3333, 0.97878621146, 4.903261929803, 16.36351646675 +3334, 0.9742898009392, 4.90415735716, 17.24364303683 +3335, 0.2104633099206, 4.995568555748, 15.88533679005 +3336, 0.970835544695, 4.904842336422, 18.13937372724 +3337, 0.9626956227925, 4.906446487822, 19.02434797712 +3338, 0.2034642544856, 4.995858514524, 17.66269206261 +3339, 0.9663855190212, 4.905721050837, 19.91625814026 +3340, 0.9797312509754, 4.903073186876, 20.80414380148 +3341, 0.2037030701259, 4.995848782662, 19.45033291616 +3342, 0.9902353407581, 4.900962555449, 21.6991758533 +3343, 1.000801964982, 4.898815716772, 22.5917291277 +3344, 0.2181647526765, 4.995238146544, 21.23727513111 +3345, 0.9807240683383, 4.902874697744, 23.48261720676 +3346, 0.9700377109877, 4.905000187488, 24.37019815508 +3347, 0.2084036021509, 4.995654905877, 23.02319526198 +3348, 0.968228719392, 4.905357596235, 25.25422835562 +3349, 0.9703069227393, 4.90494693913, 26.13948934405 +3350, 0.186092953324, 4.996535741163, 24.79811354157 +3351, 0.983211782925, 4.902376422707, 27.02870749308 +3352, 0.9941817311165, 4.900163536609, 27.91911079778 +3353, 0.1973990511992, 4.996101841895, 26.57136189113 +3354, 0.9948097335521, 4.900036080891, 28.81341351753 +3355, 0.9840328608709, 4.902211677266, 29.70511196981 +3356, 0.2111867134627, 4.995538026285, 28.3548827599 +3357, 0.973175362656, 4.904378626648, 30.59846082927 +3358, 0.9731328864718, 4.904387055002, 31.48830533638 +3359, 0.2007647458072, 4.995967725761, 30.14253433911 +3360, 0.9827111103656, 4.9024768101, 32.38244674044 +3361, 0.9937083402532, 4.900259557872, 33.27726464934 +3362, 0.1994610154875, 4.996019946247, 31.93002460263 +3363, 0.9921721237032, 4.900570831745, 34.16948660142 +3364, 0.9782803618486, 4.903362880067, 35.06009652392 +3365, 0.207653635805, 4.995686135811, 33.71638795877 +3366, 0.9649223621696, 4.9060090537, 35.93962316072 +3367, 0.948176128072, 4.909273065348, 36.82027374577 +3368, 0.1924807869014, 4.996293741032, 35.48813654765 +3369, 0.9595121163381, 4.907070052343, 37.69656092 +3370, 0.9440726512882, 4.910063831468, 38.58240636812 +3371, 0.1904127952782, 4.996372981213, 37.24395035867 +3372, 0.888615137568, 4.92040274137, 39.48107001611 +3373, 0.8438032597215, 4.928285306157, 40.36313599251 +3374, 0.1455730285165, 4.997880400066, 39.01890118088 +3375, -4.532968185649, -2.110023560982, 7.369106843342 +3376, -4.863953720602, -1.158427470253, 7.407036242159 +3377, 0.827649401867, -4.931023876193, 42.43802973475 +3378, 1.670701637955, -4.712616686824, 42.41038190819 +3379, 1.040791987469, -4.890475645458, 13.71925281709 +3380, 0.9868598452482, -4.901643361755, 12.84855220543 +3381, -1.686747378544, 4.706897415599, 42.97817861093 +3382, -2.528378890309, 4.313617992711, 43.03668993676 +3383, -2.937342434915, 4.04623521561, 42.30617314192 +3384, -1.199449841649, 4.854000420001, 42.10862366404 +3385, 1.469919202801, -4.779051949627, 40.43621347852 +3386, 2.52059346329, -4.318171904037, 42.66857382042 +3387, 0.6776694612707, -4.953863552951, 40.81126051286 +3388, 0.7898153263909, -4.937225106292, 39.77700483173 +3389, 0.7005365072542, -4.950681630039, 32.1535919151 +3390, 0.3918273730218, -4.984623487261, 31.35827774025 +3391, -3.360986087491, -3.701860683453, 7.291275791964 +3392, -4.017686982955, -2.976271376571, 7.33554803313 +3393, 1.511722488649, -4.765993612807, 32.88425778415 +3394, 0.3433084198882, -4.988200008904, 41.65680128448 +3395, 0.3691534922823, -4.986353948441, 9.156155237351 +3396, -0.4099410751434, -4.983166494801, 8.655129675396 +3397, -0.08147728846302, -4.99933610107, 6.873865287424 +3398, -2.91191761664, -4.0645708007, 8.058409483294 +3399, 0.4296325247852, -4.981507391709, 10.09266413459 +3400, 1.163962522079, 4.862632131593, 43.08637860588 +3401, 0.7154346377492, 4.948550624083, 42.18787537679 +3402, -4.27768070371, -2.588715472412, 8.167658513107 +3403, -0.6538448011675, 4.9570643506, 10.9087034102 +3404, 0.5210397212871, 4.972777655279, 11.29092047274 +3405, 0.296226832231, -4.991217252722, 27.44912769155 +3406, 0.6006407705751, -4.963791964287, 32.96830913779 +3407, -4.95987574896, 0.6321649744157, 42.87138532062 +3408, -4.992581889218, -0.2722610501997, 42.84587715335 +3409, -2.679035866124, 4.22170188763, 7.498059895401 +3410, -1.9702452337, 4.595447064115, 8.147935230692 +3411, 0.7731894071978, -4.939856085009, 24.78995324604 +3412, 0.7323674854941, -4.946072974208, 23.83802103579 +3413, 0.03424771467378, -4.999882708028, 25.40076860953 +3414, -0.3549460943364, -4.987385414234, 40.99759263769 +3415, 1.751119082523, 4.683330220988, 43.70992017588 +3416, 0.8584115854723, -4.92576182432, 11.98563795967 +3417, 0.7412516881623, -4.944749329824, 11.05067615326 +3418, 0.1537494331487, -4.997635552119, 12.41868404409 +3419, 1.004586015221, -4.898041132741, 14.58911246105 +3420, 0.2473812956003, -4.993876499733, 14.15145793381 +3421, 0.9925828639843, -4.900487655134, 15.45625334703 +3422, 0.7424919389814, -4.944563248715, 21.9109830905 +3423, -0.03361572275848, -4.999886997041, 21.43839116122 +3424, 0.7246343616857, -4.947211845258, 22.8474358647 +3425, 0.6523458890171, -4.957261828982, 35.00865209615 +3426, 0.6261911093811, -4.9606334973, 34.103662391 +3427, 0.05210251150432, -4.99972852546, 30.20520766796 +3428, -0.2114058280831, -4.995528758385, 29.20776842524 +3429, -0.5696989231528, -4.967438287182, 31.08457319645 +3430, 0.01217813063222, -4.999985169291, 19.51615452408 +3431, 0.823140442852, -4.931778564711, 19.03530397181 +3432, 0.877628029036, -4.922374329798, 38.85566620106 +3433, 0.8827406647302, -4.921460039341, 37.87079043692 +3434, 0.6986986861373, 4.950941339381, 12.18244666685 +3435, 0.08687082362534, 4.999245289041, 12.65779894635 +3436, -0.05763664709447, 4.999667790655, 40.9400297402 +3437, 0.6987479054622, 4.950934393083, 41.38560090385 +3438, -0.09901866312114, -4.999019434284, 35.49302885449 +3439, 0.8668230368952, -4.924288560057, 18.11001579585 +3440, -3.44038369203, 3.62818963832, 7.562909797421 +3441, 0.06999640883843, -4.999510026268, 39.23071323541 +3442, 0.0701638447249, -4.999507679251, 37.39354126929 +3443, -4.860432039642, -1.173115675463, 42.82799797497 +3444, -4.564765764801, -2.040321913938, 42.82975934881 +3445, -4.36346639816, -2.441344095397, 42.01472884253 +3446, -4.949393555044, -0.7095797610449, 42.02047800952 +3447, -4.998320624215, -0.129579850089, 7.452130448406 +3448, -4.926715383777, 0.8529217591653, 7.474580705042 +3449, -4.954914137022, -0.6699446952863, 8.246311529565 +3450, -4.403916520093, 2.367597787643, 42.99382456214 +3451, -4.769611439764, 1.500268880458, 42.93900990576 +3452, -4.881733565371, 1.081053836185, 42.10598177304 +3453, -4.189881143329, 2.728533673014, 42.26559998273 +3454, -2.030561240506, 4.569116002965, 9.177348740927 +3455, -3.970925433585, -3.038379699923, 8.935104071574 +3456, -4.499613007043, -2.180248331464, 8.968662881786 +3457, -1.558233329192, 4.75099030643, 10.79808366143 +3458, -1.117478646933, 4.873524543249, 11.77292953809 +3459, -0.4179685418981, -4.98249960341, 28.12467196142 +3460, -0.6086702072673, -4.962813776356, 27.08976592665 +3461, -0.2905903384942, -4.991548582872, 10.59775777965 +3462, -1.233026384829, -4.84558004106, 41.14568258697 +3463, -0.9046856263169, -4.917473326571, 40.30014181535 +3464, -2.115019427485, -4.53063933914, 41.23557966799 +3465, -2.408853878124, -4.381486390923, 8.814224437598 +3466, -3.242740833442, -3.805868085881, 8.889914657199 +3467, -0.8438715195709, -4.928273618465, 6.991670458447 +3468, -1.144512374878, -4.867246801196, 7.826616426754 +3469, -1.332629718599, -4.819138723165, 8.811232512334 +3470, -0.2050104350448, -4.995795304206, 33.37299652195 +3471, -4.632166863058, 1.882293853995, 7.570254314421 +3472, -4.169332231066, 2.759831289589, 7.593866300551 +3473, -4.794003755515, 1.420397124789, 8.387079345191 +3474, -0.04399361679279, -4.999806452422, 23.39673039118 +3475, -0.8397547336014, -4.928976768802, 21.91276992551 +3476, -0.8218129181157, -4.931999952111, 20.94501586663 +3477, -0.7960893367909, -4.936217354194, 19.98933717424 +3478, -0.7688300456917, -4.940536444643, 19.03485459598 +3479, -1.581970490313, -4.743139189164, 20.46371593853 +3480, -0.6628264717734, -4.955871373262, 37.91481167596 +3481, -0.7508258785248, -4.943304613327, 36.99897834051 +3482, -0.8192633105452, 4.932424112746, 12.72853152666 +3483, -0.5369689282294, 4.971082816662, 13.50278118615 +3484, -1.716253966653, 4.696218938886, 12.61791177789 +3485, 0.9189486021371, -4.914827918313, 17.18310210615 +3486, 0.9608257412117, -4.906813007954, 16.29951684136 +3487, 0.1780756330931, -4.996827900668, 15.8645810721 +3488, 0.09274959295123, -4.999139677285, 17.63475825613 +3489, -0.6153593016059, 4.96198880792, 14.28861298719 +3490, -0.8877900705738, -4.920551675431, 36.05227313543 +3491, -0.9666942209192, -4.905660229087, 35.06759405608 +3492, -1.59888622772, -4.737463755092, 36.5735435421 +3493, -0.6164326009015, 4.961855585217, 15.3442860928 +3494, -0.6198894179645, 4.961424907171, 16.22591067494 +3495, -0.591710447425, 4.964864423769, 17.18903105625 +3496, -0.5952070714593, 4.964446448708, 18.08476174667 +3497, -1.402553678256, 4.799254439974, 16.647980359 +3498, -0.5834619340629, 4.965840530212, 18.97800710921 +3499, -0.5797269299078, 4.966277951015, 19.86991727234 +3500, -1.363907622101, 4.810380026399, 18.50434610285 +3501, -0.5842047246671, 4.965753199634, 20.75262829355 +3502, -0.5735627332152, 4.966993637108, 21.64766034537 +3503, -1.356864586846, 4.812371400148, 20.2803024866 +3504, -0.576506650117, 4.966652804694, 22.57168197656 +3505, -0.5968492254669, 4.964249288871, 23.46257005561 +3506, -1.364054695193, 4.810338323707, 22.08703513901 +3507, -0.5932440043244, 4.964681414888, 24.33717518019 +3508, -0.5950748995798, 4.964462293531, 25.22120538073 +3509, -1.363412555595, 4.8105203672, 23.88566189478 +3510, -0.5932398648825, 4.96468190952, 26.09026762942 +3511, -0.5801723873989, 4.966225931318, 26.97948577845 +3512, -1.358140219546, 4.81201154862, 25.62932926805 +3513, -0.5812760749286, 4.966096870251, 27.88964539238 +3514, -0.5806396094623, 4.966171326477, 28.78394811212 +3515, -1.357430989479, 4.812211665004, 27.40855113067 +3516, -0.5769144103571, 4.96660545676, 29.69872067627 +3517, -0.587910670426, 4.965315805022, 30.59206953573 +3518, -1.354890720259, 4.812927501652, 29.23348330875 +3519, -0.5931364281276, 4.964694268294, 31.4584656557 +3520, -0.5834374137852, 4.965843411163, 32.35260705976 +3521, -1.35634626048, 4.812517513909, 31.01465199286 +3522, -0.5933345371867, 4.96467059602, 33.26156629116 +3523, -0.5948908677779, 4.9644843494, 34.15378824324 +3524, -1.370997876262, 4.808364048539, 32.79000734422 +3525, -0.5927301538288, 4.964742789384, 35.0505142939 +3526, -0.6062494959623, 4.963110068157, 35.9300409307 +3527, -1.378487888032, 4.806222127883, 34.59569262629 +3528, -0.5990733756235, 4.963981374927, 36.76626433505 +3529, -0.5876069056165, 4.96535176241, 37.64255150928 +3530, -1.369445010226, 4.808806542581, 36.32864208131 +3531, -0.581760038691, 4.966040198929, 38.50375075973 +3532, -0.6377519844756, 4.959160453776, 39.40241440772 +3533, -1.356825773748, 4.812382343465, 38.02606473611 +3534, -0.7621521838916, 4.941571010174, 40.27805963277 +3535, -0.9069053022797, 4.917064446669, 41.30052454411 +3536, -1.872010568387, 4.636332217588, 41.44665355661 +3537, -1.471685646308, 4.778508277533, 39.76290921162 +3538, -0.586035935802, -4.965537421262, 39.60915004736 +3539, -0.497500701855, -4.975187740342, 38.6878114167 +3540, -1.306813115875, -4.826203423, 38.29324848792 +3541, -1.456588601231, -4.783131782291, 39.75723999664 +3542, -3.726422084716, 3.333733409638, 8.45179645144 +3543, -1.099238284345, -4.87767108303, 34.04196581274 +3544, -1.124338581948, -4.871946505571, 32.90661255954 +3545, -1.856263399824, -4.64265938773, 34.60121009367 +3546, -1.732346347085, -4.690306614044, 9.64273768624 +3547, -3.582186095496, -3.488257842711, 9.690919025878 +3548, -0.7198025105249, -4.947917172492, 25.99230836333 +3549, -0.7894208434605, -4.937288196157, 24.97885531607 +3550, -1.428742905538, 4.791523109605, 14.62918687208 +3551, -4.571043750215, -2.026217913656, 41.1790517832 +3552, -4.119318723544, -2.83393952897, 41.19118179458 +3553, -1.41746170983, -4.794872501033, 26.66785263319 +3554, -3.549443953326, -3.521568914873, 41.20473288481 +3555, -2.857767009695, -4.102824358695, 41.20276724354 +3556, -2.535022226189, -4.309717196375, 40.41541934018 +3557, -3.860693633038, -3.177270002977, 40.36905582549 +3558, -2.39007939358, 4.391755969129, 10.19641247758 +3559, -2.79280238477, 4.147318994196, 11.06063860546 +3560, -3.197775628235, 3.843726191011, 9.439903684961 +3561, -1.296694758749, -4.828931838682, 31.82162716496 +3562, -1.621931576027, -4.729623448298, 30.66855709266 +3563, -2.143179460188, -4.517386611906, 32.49059645575 +3564, -4.737154877958, 1.599801132092, 41.20400080607 +3565, -4.945552928424, 0.7358710703385, 41.13637622092 +3566, -0.4067298446309, -4.983429625618, 12.93719192044 +3567, -0.5368396314631, -4.971096781405, 12.07427767467 +3568, -0.8418542897395, -4.928618605131, 23.96359899365 +3569, -0.8495582033729, -4.927296506106, 22.97301382256 +3570, -1.575152293524, -4.745407806733, 24.55513874745 +3571, -1.61609253497, -4.731621806359, 22.47963852798 +3572, -1.108758764045, -4.875515767912, 28.84840666034 +3573, -1.232737044739, -4.845653658541, 10.41551812745 +3574, -2.317777233958, -4.430339568673, 10.41851005272 +3575, -4.992942483498, -0.2655661056745, 41.20028198392 +3576, -4.862000735168, -1.166597124644, 41.18240280555 +3577, -4.733463961062, -1.610688961075, 40.3588557576 +3578, -4.992544169481, 0.2729518561536, 40.29830101695 +3579, -0.7390510049243, -4.945078726585, 18.07541613317 +3580, -0.6866150217993, -4.952631604697, 17.14850244348 +3581, -1.528567786698, -4.760617661761, 18.54859878333 +3582, -3.981519419655, 3.024483941255, 9.470860188091 +3583, -4.851987004248, -1.207568677389, 9.044244003687 +3584, -4.996754161756, -0.1801328592423, 9.089338209934 +3585, -2.653277414746, 4.237938055281, 41.56958473676 +3586, -3.385030213396, 3.679887288274, 41.62100520213 +3587, -2.394985429627, 4.38908245444, 40.76148561683 +3588, -0.5050714823019, -4.974424871054, 13.6817730465 +3589, -1.186166753888, -4.857263471541, 13.33736667708 +3590, -0.5418561741907, -4.970552472964, 14.55163269046 +3591, -0.9263658498756, -4.913435286252, 11.37353014613 +3592, -4.691965835054, -1.727847389871, 9.811689562154 +3593, -2.252170752226, 4.464048263943, 14.11454279468 +3594, -2.253136305126, 4.463560998857, 15.17021590029 +3595, -2.153189926377, -4.512623753533, 27.3202715855 +3596, -2.253838876559, -4.463206282317, 26.22281402218 +3597, -0.6388344227269, -4.959021131266, 16.23531511077 +3598, -0.6067056464882, -4.963054327581, 15.39205161644 +3599, -1.34485370132, -4.815741741627, 14.92236672913 +3600, -1.453803780918, -4.78397894713, 16.67597298782 +3601, -4.462978306855, -2.254290272468, 10.58581774414 +3602, -4.831374154875, -1.287565056845, 10.66139886604 +3603, -3.156758155194, -3.87748345575, 10.51790444619 +3604, -3.901935824679, -3.126483139261, 10.56309386057 +3605, -4.17376156654, -2.753128109201, 11.41280316446 +3606, -2.734288351038, -4.186127949953, 11.29068488741 +3607, -2.327090539354, -4.425454736143, 25.13104551273 +3608, -2.373996888161, -4.400470290208, 24.11578919031 +3609, -1.470628002966, -4.778833882538, 11.89203802247 +3610, -2.679134704587, 4.221639164433, 12.17219886527 +3611, -2.417646596692, 4.376640827564, 13.12780085385 +3612, -3.153141845583, 3.880424783658, 13.66882988206 +3613, -3.397040779187, 3.668802794446, 11.57052768142 +3614, -1.823007632757, -4.655818206385, 29.53690898009 +3615, -2.01413040836, -4.576382708878, 28.45381251627 +3616, -2.490276759324, -4.335726197763, 30.27396294859 +3617, -2.180497678993, 4.499492179336, 16.13754610187 +3618, -2.154916223679, 4.51179964858, 17.10066648318 +3619, -2.940565469273, 4.043893510086, 15.62290202447 +3620, -4.919448503141, 0.8938827803164, 9.188321927597 +3621, -4.616345745022, 1.920768586378, 9.283995536977 +3622, -4.987681274914, 0.350764165602, 9.98625440172 +3623, -2.359396266557, -4.408315920775, 20.94336968408 +3624, -2.336381956123, -4.420556453107, 19.98769099169 +3625, -4.28511308344, 2.576393964853, 10.2721027705 +3626, -2.403307834563, -4.384530927286, 23.05029139251 +3627, -2.394581005022, -4.389303112157, 21.99004749546 +3628, -3.080183847292, -3.938586988615, 21.51402254861 +3629, -3.085402624546, -3.934500050126, 23.62619815779 +3630, -2.277124482583, -4.451371034953, 37.26072464634 +3631, -2.39984141339, -4.386429207291, 36.31401944125 +3632, -2.101642194267, 4.536860157342, 18.02923599732 +3633, -2.090904303863, 4.54181892991, 18.92248135986 +3634, -2.826268841075, 4.124585365581, 17.51880174019 +3635, -2.095541824483, 4.539681096932, 19.81952727556 +3636, -2.09963434601, 4.537789727726, 20.70223829677 +3637, -2.781752297983, 4.154738758655, 19.34441717003 +3638, -2.133974946903, 4.521742023379, 21.59906501226 +3639, -2.136654681859, 4.52047638756, 22.52308664345 +3640, -2.817389546863, 4.130655655126, 21.13828980122 +3641, -2.107872308144, 4.5339689382, 23.42034380459 +3642, -2.104579160402, 4.53549849053, 24.29494892916 +3643, -2.822441132207, 4.127205598856, 22.93237367784 +3644, -2.091150167604, 4.541705734251, 25.18865125327 +3645, -2.089471292499, 4.542478367348, 26.05771350197 +3646, -2.783868345386, 4.15332120544, 24.72333316308 +3647, -2.11057368886, 4.532712069379, 26.93229888453 +3648, -2.111580993794, 4.532242900226, 27.84245849846 +3649, -2.790890627768, 4.148605730102, 26.49162086975 +3650, -2.105692681674, 4.534981624036, 28.75158876364 +3651, -2.102290481191, 4.53655979049, 29.66636132779 +3652, -2.804780004354, 4.139228083493, 28.27533651749 +3653, -2.083088743982, 4.545408813814, 30.56757308748 +3654, -2.08787171392, 4.543213808111, 31.43396920745 +3655, -2.781858326896, 4.15466776639, 30.08567854238 +3656, -2.131895957901, 4.522722589844, 32.32920170011 +3657, -2.140906744335, 4.518464154119, 33.23816093151 +3658, -2.804598103266, 4.139351335555, 31.88212279473 +3659, -2.151206437697, 4.513569636376, 34.13074520667 +3660, -2.149241824789, 4.514505463346, 35.02747125733 +3661, -2.854036975443, 4.105419947192, 33.66993956255 +3662, -2.113118903803, 4.531526067275, 35.90640714165 +3663, -2.106565177296, 4.534576402907, 36.74263054601 +3664, -2.107451584618, 4.534164511626, 37.59376780515 +3665, -2.102111366106, 4.536642790047, 38.4549670556 +3666, -2.798369246934, 4.143564836927, 37.17153286549 +3667, -2.573035371433, -4.287130622847, 35.30800682595 +3668, -2.688233327, -4.215851228353, 34.28237858261 +3669, -3.697664474152, 3.365602091245, 40.92188891908 +3670, -3.919521685512, 3.104408116985, 41.65847732424 +3671, -4.415087897163, 2.346699567546, 41.56648369968 +3672, -3.565577699003, 3.505232613162, 40.07351698544 +3673, -4.070491626997, 2.903635292964, 40.11098910754 +3674, -1.866231026091, -4.638661634271, 12.73127596796 +3675, -2.225474302586, -4.47741712693, 12.03052843942 +3676, -3.075731329595, -3.942065041086, 12.1299228329 +3677, -1.957478952338, -4.600899493703, 13.47585709403 +3678, -4.568859178819, 2.031139041061, 40.59687814757 +3679, -4.487417900741, 2.205239348485, 39.74850621393 +3680, -2.993481926201, -4.004880267562, 25.78346446504 +3681, -2.292392474714, -4.443527511097, 18.99224277762 +3682, -2.265580097017, -4.457257769526, 18.03280431482 +3683, -4.120644689656, -2.832011183172, 39.49982644718 +3684, -3.551091824832, -3.519907222018, 39.51337753741 +3685, -3.009098013674, -3.993160295318, 19.47189652318 +3686, -2.845125549819, -4.111600735209, 33.19069752203 +3687, -2.989385966411, -4.007938565376, 32.10571212745 +3688, -3.46452912117, -3.605140492209, 33.89749425431 +3689, -4.536159363924, -2.103154351226, 39.5477181699 +3690, -4.322774808655, -2.512691376523, 38.69203988183 +3691, -4.841597709869, -1.248571830448, 39.55106919225 +3692, -4.393432659849, 2.3869959077, 38.76573449807 +3693, -4.781981008811, 1.460362157608, 39.2516235381 +3694, -4.049495679464, 2.932845843546, 11.2289841636 +3695, -3.968348440929, 3.041744672285, 12.34054442341 +3696, -4.993295474677, -0.2588441665712, 10.71726981386 +3697, -4.932922638178, 0.8162562378021, 10.81625353153 +3698, -4.930711061198, -0.8295109589266, 11.49139799585 +3699, -2.830566254239, 4.121637378562, 35.44145972203 +3700, -4.658972053458, 1.814932341742, 11.04211951249 +3701, -4.960506200539, 0.6271987200323, 39.49616303395 +3702, -4.985914880268, -0.3750370737937, 39.56006879695 +3703, -4.918112158478, -0.9012063008167, 38.74893120925 +3704, -4.930690503789, 0.829633145341, 38.51339131809 +3705, -2.801689890874, -4.141320291329, 28.00877390525 +3706, -3.174597680985, -3.862891347668, 35.99518793019 +3707, -2.032241126423, 4.568369074853, 39.21047925569 +3708, -2.146382250702, 4.515865723632, 40.08612448075 +3709, -2.902380777384, 4.071386228679, 40.2090556609 +3710, -2.735267733291, 4.185488075149, 38.77818232473 +3711, -3.36446244552, 3.698701454928, 39.39815584936 +3712, -2.893103591961, -4.077983767278, 39.60333548481 +3713, -2.154079505963, -4.512199184654, 39.63614790926 +3714, -3.23445021624, -3.812916442655, 38.7341061065 +3715, -3.615867087234, -3.453332478557, 19.94750129843 +3716, -3.581414366119, -3.489050177076, 18.95205308437 +3717, -3.843376313598, -3.198196134085, 12.39005124251 +3718, -4.420472302534, -2.336541166454, 12.41277512608 +3719, -3.981783822853, 3.024135841536, 38.2693718398 +3720, -4.413601870692, 2.349493248984, 37.77248916397 +3721, -4.370956425806, 2.427908549289, 12.95170332628 +3722, -3.811124921606, 3.236560957546, 13.2932468441 +3723, -1.858941574111, -4.641587683546, 38.94515614127 +3724, -3.451054028427, 3.618041748361, 36.79826105602 +3725, -3.451761240088, 3.617367045438, 37.64939831517 +3726, -3.549361466562, 3.521652052614, 15.17720036401 +3727, -3.491818470321, 3.578715379899, 16.14453056559 +3728, -2.012408916359, -4.577139975286, 38.17215640054 +3729, -2.779105956323, -4.156509362858, 37.91263229969 +3730, -3.452290994709, -3.616861469265, 37.8226743523 +3731, -4.103396849294, -2.856944923726, 37.61774774738 +3732, -3.751283646952, -3.30573305034, 36.79627394058 +3733, -4.523323356778, -2.130620991642, 37.66563947011 +3734, -3.417858312679, -3.649417015696, 28.70955228609 +3735, -3.527902761866, -3.543148614272, 27.57601135532 +3736, -3.432848075759, 3.635320355726, 17.05753968044 +3737, -3.389805650872, 3.675488763324, 17.98610919458 +3738, -3.969977347796, 3.039618373742, 16.61183801998 +3739, -3.88025877494, -3.153346133792, 35.79026132528 +3740, -3.407228748216, 3.659343145611, 18.87001261527 +3741, -3.410964299809, 3.655861395817, 19.76705853097 +3742, -3.934458699104, 3.085455354571, 18.40875055552 +3743, -3.420377330194, 3.647056199059, 20.66459029789 +3744, -3.447927336549, 3.621021552252, 21.56141701337 +3745, -3.956965075959, 3.056538464937, 20.19018574312 +3746, -3.456110125522, 3.613212255081, 22.4538029562 +3747, -3.433069071088, 3.635111656214, 23.35106011733 +3748, -3.971712683047, 3.037350549957, 21.98010345286 +3749, -3.426446672154, 3.641354583515, 24.24739284698 +3750, -3.41565751512, 3.651476925766, 25.14109517108 +3751, -3.973054853443, 3.035594691577, 23.76882212534 +3752, -3.395812706119, 3.669939517889, 26.039069115 +3753, -3.41284319637, 3.654107458326, 26.91365449757 +3754, -3.950969411281, 3.064284698119, 25.5631287989 +3755, -3.399525558202, 3.666500508541, 27.80303605656 +3756, -3.394760596293, 3.670912760317, 28.71216632175 +3757, -3.923047048613, 3.099951911622, 27.35048430182 +3758, -3.405659106186, 3.660804017214, 29.61271222306 +3759, -3.39014886898, 3.675172192722, 30.51392398276 +3760, -3.920983414271, 3.10256169399, 29.14041176213 +3761, -3.415983447226, 3.651172015707, 31.41520852705 +3762, -3.451281740033, 3.617824532908, 32.31044101971 +3763, -3.951890455457, 3.063096770928, 30.94224220774 +3764, -3.473857759553, 3.596152425356, 33.20802621973 +3765, -3.482050469768, 3.588220244911, 34.10061049488 +3766, -3.992313335506, 3.01022162492, 32.74111195205 +3767, -4.845218918644, 1.234444664782, 11.77313492463 +3768, -3.420829229009, 3.646632334903, 38.64264364927 +3769, -3.489568436814, 3.580909399132, 34.99702191844 +3770, -3.460858787296, 3.608664081679, 35.87595780276 +3771, -4.015492930786, 2.979230860946, 36.35382325244 +3772, -4.017327857332, 2.976756101313, 34.53510857562 +3773, -3.575531249934, -3.495078866169, 26.43131401439 +3774, -3.632647763237, -3.435676094781, 25.33954550494 +3775, -3.151922992874, -3.881414876948, 30.98945791987 +3776, -3.315267374297, -3.742860167963, 29.85780980729 +3777, -3.957742452483, -3.055531816201, 29.42504725736 +3778, -3.737817158262, -3.320952106159, 31.68955898615 +3779, -3.687337026729, 3.37691362805, 14.27998878493 +3780, -4.134851957836, 2.811227363054, 14.80161732605 +3781, -3.684860849885, -3.379615439215, 20.98432694342 +3782, -4.156001270835, -2.779865722803, 20.46448350461 +3783, -3.71177505755, -3.350033719554, 22.03100475479 +3784, -2.138928309265, -4.519401031976, 15.24527574406 +3785, -2.079740588682, -4.546941728655, 14.40485681808 +3786, -4.800805943333, -1.39723380093, 12.20156116778 +3787, -4.986107587571, -0.3724662738611, 12.2574321156 +3788, -4.616648898097, -1.92003983076, 13.17880924583 +3789, -4.431659484535, 2.315252516062, 36.79548938973 +3790, -4.73089592932, 1.618216211124, 37.291852048 +3791, -3.998790146892, -3.001612460182, 34.61488845136 +3792, -4.109015146243, -2.848858460496, 33.52320739078 +3793, -2.209391496646, -4.485375036109, 17.08839208724 +3794, -2.166044979812, -4.506467479682, 16.17520475453 +3795, -2.842622114286, -4.113331923802, 15.65769484348 +3796, -2.918532189891, -4.059823870141, 17.53203608154 +3797, -2.706464044029, -4.204170831256, 13.79876610896 +3798, -3.528285326476, -3.54276765467, 18.00703499895 +3799, -3.483488475503, -3.586824227786, 17.06262277137 +3800, -3.442581987371, -3.626103867821, 13.12989479452 +3801, -4.427195542993, -2.323777016864, 35.41597446174 +3802, -4.080491918012, -2.889564968475, 27.13209239523 +3803, -4.188234843327, -2.731060031771, 24.86751230974 +3804, -3.71672573207, -3.34454030213, 24.21966276039 +3805, -4.893318533881, 1.027343042016, 37.74285618649 +3806, -4.996702410006, 0.1815627325072, 37.98739568234 +3807, -4.901125619952, 0.9894279445492, 36.76585641225 +3808, -3.738960692244, -3.319664582734, 23.15416496259 +3809, -4.972824016292, 0.5205970639453, 12.46478789317 +3810, -4.758923483334, 1.533834176101, 12.69065387414 +3811, -4.676184924578, 1.770111451619, 13.64335629482 +3812, -4.999625669036, -0.06118144750838, 13.1749510651 +3813, -4.055290116387, -2.924828554281, 18.48263977419 +3814, -4.806935262633, -1.375999048275, 38.03583275624 +3815, -4.678668700064, -1.763535991988, 36.96154062179 +3816, -4.484475716626, -2.211216304885, 18.91028141016 +3817, -4.450551875062, -2.278725083766, 17.96526332474 +3818, -4.437925548029, 2.303218797716, 35.87318613646 +3819, -4.233118407894, -2.66096007951, 22.62446935739 +3820, -4.595535538821, -1.970038860387, 33.1573787536 +3821, -4.219274970554, -2.682856448425, 32.43998455656 +3822, -3.504888514127, -3.565915941738, 16.06541733873 +3823, -3.483399074881, -3.586911050628, 15.13548832826 +3824, -4.028426556603, -2.961719007275, 16.54041625614 +3825, -3.538261373334, -3.532804332817, 14.05889451857 +3826, -4.544890416819, -2.084219541964, 25.54354703742 +3827, -4.595175594982, -1.970878294386, 24.42366429286 +3828, -4.09086511313, -2.874860453339, 14.46661701382 +3829, -4.76450552109, -1.516405994286, 36.08699577425 +3830, -4.819356686831, -1.331841253716, 34.91162290033 +3831, -4.843920181581, -1.239531070394, 33.84431699911 +3832, -4.985833649304, -0.376115436354, 34.51533831162 +3833, -4.363521663172, 2.441245316438, 17.92120013705 +3834, -4.375070182531, 2.420487739678, 18.80510355774 +3835, -4.373010394823, 2.42420710476, 19.71713834067 +3836, -4.379245174273, 2.412925963143, 20.61467010758 +3837, -4.694762293353, 1.720234579616, 19.2295879222 +3838, -4.413169181062, 2.350305890587, 21.51374451338 +3839, -4.418474839139, 2.340316238438, 22.4061304562 +3840, -4.717380560734, 1.657202656652, 21.04069711092 +3841, -4.413310048337, 2.350041365007, 23.27298901358 +3842, -4.40902513927, 2.358070677755, 24.16932174323 +3843, -4.736993398479, 1.600279207753, 22.80663007409 +3844, -4.378621415657, 2.414057683311, 25.11992965727 +3845, -4.3654704947, 2.437758675486, 26.01790360119 +3846, -4.712550225797, 1.670889095464, 24.62409654551 +3847, -4.365851843187, 2.437075641695, 26.89427724456 +3848, -4.356955927077, 2.452944159476, 27.78365880356 +3849, -4.691148453454, 1.73006537092, 26.45107810293 +3850, -4.350178056356, 2.464944396533, 28.640713112 +3851, -4.357487036617, 2.452000555815, 29.54125901332 +3852, -4.686634507041, 1.742256294984, 28.18450605474 +3853, -4.372091387695, 2.42586415482, 30.45297302183 +3854, -4.389090891514, 2.394969967667, 31.35425756613 +3855, -4.692240264302, 1.72710199527, 29.9532743717 +3856, -4.435688757313, 2.307523618134, 32.26731162126 +3857, -4.4500444461, 2.279715865572, 33.16489682128 +3858, -4.73524213145, 1.605453816382, 31.77804243536 +3859, -4.586729905898, 1.990454413028, 14.55962341552 +3860, -4.503472973865, 2.172264066284, 15.45683499459 +3861, -4.885733248934, 1.06283141667, 14.29857396337 +3862, -4.326192689043, -2.506802109715, 31.32373034897 +3863, -4.482591118404, 2.21503428082, 34.9526344812 +3864, -4.773621325151, 1.487460736981, 35.39430061849 +3865, -4.413207033241, -2.350234814172, 17.08258678385 +3866, -4.427191074813, -2.323785529496, 16.08538135121 +3867, -4.55675336098, -2.058154223376, 20.90280724762 +3868, -4.51426527361, -2.14974627328, 19.86598160263 +3869, -4.784477417543, 1.452162470599, 33.58242272686 +3870, -4.477935636648, 2.22443081125, 34.05622305764 +3871, -4.517548738735, -2.142837696409, 26.63800061463 +3872, -4.818531458297, -1.334823803129, 26.19415259776 +3873, -4.488134679813, -2.203780183198, 27.78269795556 +3874, -4.592918615111, -1.976132231145, 15.19944502835 +3875, -4.622826319167, -1.905118584975, 14.12285121866 +3876, -4.91201438675, -0.9338707963971, 13.91163726036 +3877, -4.82976610678, -1.293583918343, 15.74161555606 +3878, -4.492690261151, -2.194478119591, 28.9964072312 +3879, -4.803744769378, -1.387096316293, 28.50231545061 +3880, -4.430061240177, -2.318309170123, 30.14466475241 +3881, -4.787185985471, -1.443208349655, 19.34860515317 +3882, -4.35864923666, 2.44993404641, 16.21876764478 +3883, -4.318015986466, 2.52086055557, 17.13177675963 +3884, -4.719019286595, -1.652530475587, 23.27603561164 +3885, -4.705391311297, -1.690944294639, 22.15287540384 +3886, -4.742064584972, -1.585188781172, 17.51022841981 +3887, -4.977950826611, 0.4690475112817, 35.02819658803 +3888, -4.967705272492, 0.5673661301579, 35.9487482433 +3889, -4.974271447511, -0.5065802665679, 38.04483236094 +3890, -4.910986671247, -0.9392603019585, 23.95207033932 +3891, -4.663958095094, 1.802080710513, 17.52812976185 +3892, -4.739193505313, 1.593751837394, 15.97677373425 +3893, -4.900437179312, -0.9928320359552, 21.55437350187 +3894, -4.94694502282, 0.7264536745019, 16.13011718158 +3895, -4.891763467133, 1.034722272698, 16.89204983177 +3896, -4.909917266691, 0.9448346068238, 17.68147320919 +3897, -4.96384853212, -0.6001731001688, 26.83967070787 +3898, -4.971197010261, -0.5359107063441, 25.74521713066 +3899, -4.999797199427, -0.0450329279429, 14.11899303794 +3900, -4.910355939818, 0.9425521440729, 18.71965417825 +3901, -4.909552687081, 0.9467272113843, 19.63168896118 +3902, -4.742892114515, -1.582711088629, 30.89509032281 +3903, -4.99732772704, -0.1634490396344, 21.85249744618 +3904, -4.968702511753, -0.5585654390515, 20.60242928996 +3905, -4.89666115983, 1.011290999569, 20.5210879697 +3906, -4.910568644391, 0.9414433539632, 21.42016237549 +3907, -4.90480659985, 0.9710160750823, 24.16665679268 +3908, -4.892036048814, 1.033432773384, 25.11726470672 +3909, -4.90230795157, 0.9835531241259, 25.98271985016 +3910, -4.902461774335, 0.9827861167043, 26.85909349354 +3911, -4.905125410125, 0.969404307264, 27.78979544684 +3912, -4.902434700592, 0.9829211598241, 28.64684975528 +3913, -4.944549499653, 0.7425834939474, 32.09583452277 +3914, -4.996283349995, 0.1927503218272, 15.03526015863 +3915, -4.960916923625, -0.6239417255567, 19.71303028144 +3916, -4.951930129525, -0.6916559782862, 18.75733008897 +3917, -4.985030419097, -0.386615727403, 15.95053625615 +3918, -4.962192259336, -0.6137165317868, 27.77037266118 +3919, -4.993054633075, 0.2634491053777, 25.52528009733 +3920, -4.997841907991, 0.1468886065209, 18.08357424817 +3921, -4.889466559376, -1.045522244979, 32.76109416488 +3922, -4.976397477767, -0.4852505984282, 24.87976198722 +3923, -4.996040412064, 0.1989477343934, 27.32143719408 +3924, -4.940484282235, -0.769165168861, 16.83647257901 +3925, -4.995572817976, 0.2103621170641, 20.01115422575 +3926, -4.997350143512, -0.1627622288458, 32.47430248272 +3927, -4.912806080532, -0.9296969479803, 31.78736423721 +3928, -4.960715490682, 0.6255412220661, 33.06956445044 +3929, -4.968081893788, 0.5640587705333, 33.96089068681 +3930, -4.974281100101, 0.5064854757865, 22.3721065874 +3931, -4.973153604783, 0.5174391009903, 23.23896514478 +3932, -4.879453386313, 1.091299523868, 29.4544333693 +3933, -4.952251108769, -0.6893540133326, 17.7191491199 +3934, -4.997916141222, -0.1443407264532, 23.73213330599 +3935, 2.978363486062, 3.359813526042, 47.68210237175 +3936, 2.477318363917, 3.735304623138, 48.41538211044 +3937, 3.183478822599, 3.11120239822, 48.49829800564 +3938, 4.373292502643, -0.785800672498, 37.95412481707 +3939, 4.373292502643, -0.785800672498, 38.82912481707 +3940, 4.217245906019, -1.560291373654, 38.37586584158 +3941, 2.832704744441, -3.481770996738, 34.33422456391 +3942, 2.162015677645, -3.905243133678, 33.90952713493 +3943, 2.140559398894, -3.913266457266, 34.78868342846 +3944, 1.594338558483, -4.208034459147, 16.44756743367 +3945, 1.554272973291, -4.222616962347, 17.33115269847 +3946, 2.243536748413, -3.84776376442, 16.90068325194 +3947, 4.5, -1.102182119233e-15, 44.6 +3948, 4.382821097422, 0.7564149771665, 44.96804374615 +3949, 4.5, -1.102182119233e-15, 45.45 +3950, 2.253639282807, 3.845902676967, 13.43388492798 +3951, 1.601594442852, 4.205046664434, 13.88464921978 +3952, 1.521377133324, 4.233153468647, 13.00555422788 +3953, 4.213331348054, 1.562164455807, 44.54106321947 +3954, 4.330510250633, 0.8057494786401, 44.17301947333 +3955, 4.210210508174, 1.57192614512, 43.69121059337 +3956, 4.5, -1.102182119233e-15, 46.275 +3957, 4.378190066109, -0.7708514833998, 46.79454596433 +3958, 4.5, -1.102182119233e-15, 47.3 +3959, 2.179006751981, -3.89412597615, 21.40080470853 +3960, 2.182519866815, -3.891581823663, 20.49546250624 +3961, 2.864671574664, -3.454277923529, 21.84192016991 +3962, 2.868184689498, -3.451733771042, 20.93657796762 +3963, -0.7746949806053, -4.40912853192, 27.30101879395 +3964, 0.1237740299192, -4.484498689905, 27.66038055885 +3965, -0.06756908072247, -4.495854830234, 26.62547452409 +3966, 0.1315654597946, -4.484951380587, 28.56083665246 +3967, -0.7669035507299, -4.409581222602, 28.20147488756 +3968, -0.5723918641492, 4.450938257298, 46.0486324929 +3969, -1.041718501621, 4.376811020563, 46.79730961562 +3970, -0.1405221017598, 4.440125587556, 46.80464204145 +3971, -4.44981094808, -0.3289302462804, 26.014611001 +3972, -4.427759178055, 0.6307174327479, 26.44383085216 +3973, -4.451323891618, -0.3220879048228, 26.93598569152 +3974, 0.8350126654376, 4.359274898921, 16.89748180842 +3975, 1.590683862609, 4.209148651607, 17.37416347306 +3976, 1.594987874484, 4.207569102593, 16.49403690298 +3977, -4.359524292531, 1.115308770653, 39.76364313987 +3978, -3.918602888874, 2.012535006411, 39.27775409984 +3979, -4.299773423629, 1.310964018811, 38.78087142401 +3980, 4.224329805532, 1.536700615862, 45.40312773591 +3981, 4.34150870811, 0.7802856386955, 45.88508398976 +3982, 4.195621568294, 1.621803696445, 46.24977778146 +3983, 2.254750154784, 3.843783605413, 16.94432552992 +3984, -4.428302079314, 0.6170839192188, 27.37453280546 +3985, -4.451866792877, -0.3357214183519, 27.86668764482 +3986, -4.354014958013, -1.126900394924, 27.38492115862 +3987, 4.379217335889, -0.7676749758887, 39.68403290243 +3988, 4.223170739265, -1.542165677045, 39.23077392694 +3989, -2.976637144689, 3.30151741332, 37.47050063034 +3990, -2.987087493283, 3.28799989506, 38.38284437336 +3991, -2.339809332386, 3.836724668121, 38.04342933177 +3992, -1.703383252541, -4.145703152812, 25.71624731274 +3993, -1.700524221855, -4.147224777545, 24.80817548865 +3994, -0.8838704196657, -4.377243449089, 25.29998577473 +3995, 4.219598732473, 1.546081378605, 41.9304848778 +3996, 4.214491062062, 1.562130624725, 42.7867040969 +3997, 4.384807927953, 0.7501274203592, 42.33697190095 +3998, 4.379700257541, 0.7661766664794, 43.19319112005 +3999, 4.229509009637, 1.5208729079, 37.43127145224 +4000, 4.233686108145, 1.510911617388, 38.33849681695 +4001, 4.387201199821, 0.7424758794566, 37.90357855004 +4002, -1.848056979204, 4.102560702141, 11.77054295614 +4003, -2.437339292003, 3.681530257004, 11.35728482493 +4004, -2.496901059805, 3.690791570177, 12.2804320321 +4005, -3.086183372604, 3.26976112504, 11.86717390089 +4006, 1.481826285145, 4.248975907392, 39.68802443035 +4007, 1.438787938884, 4.263737245946, 40.57009040675 +4008, 0.693855406993, 4.391281911004, 40.12451924311 +4009, -4.491129473973, 0.2756664873554, 8.896170237394 +4010, -4.188718393628, 1.296338684998, 8.991843846773 +4011, -4.39633758181, 0.7973499141769, 9.793086429179 +4012, 1.418911193397, -4.267012265707, 33.42939452789 +4013, 1.397454914647, -4.275035589295, 34.30855082141 +4014, -0.8492807908916, -4.382400991734, 17.69933388837 +4015, -1.666915177262, -4.162266368897, 17.19471795226 +4016, -0.8484375017904, -4.382442756026, 16.8059558134 +4017, 4.5, -1.102182119233e-15, 16.025 +4018, 4.389960743327, 0.7335445762563, 16.44691800796 +4019, 4.5, -1.102182119233e-15, 16.85 +4020, -2.698768364142, 3.590755083646, 3.123242892177 +4021, -3.002432836299, 3.262884309809, 3.862776746369 +4022, -2.347432069484, 3.833588628725, 3.790627042372 +4023, 2.214562049422, 3.842715565117, 44.82143357431 +4024, 2.010034236978, 3.990033004916, 43.9298949501 +4025, 1.423124470219, 4.268819581872, 44.73694067405 +4026, -3.601858495054, -2.696731018977, 27.47876518866 +4027, -3.602267266549, -2.696202924891, 28.3722391582 +4028, -3.974090423149, -1.900640214184, 27.87901293921 +4029, -4.471761389341, -0.2230705570264, 42.10877870115 +4030, -4.447074672531, -0.6872086925252, 41.27070349718 +4031, -4.343084215923, -1.120607391867, 42.09089952278 +4032, 3.766846118823, -2.376641842859, 30.59196558102 +4033, 4.205144794888, -1.593867810151, 31.19521663853 +4034, 3.834144715796, -2.291545487747, 31.64390374307 +4035, -4.440591935492, 0.5539598216445, 17.14321052229 +4036, -4.289817070811, 1.33747484759, 17.77929045237 +4037, -4.440660216231, 0.5516365894628, 18.18139149135 +4038, -3.588443659972, -2.715058685706, 18.46121363975 +4039, -3.63263833784, -2.653782533265, 19.40623172517 +4040, -3.966639013578, -1.976409670026, 18.88885527571 +4041, -3.594592041128, -2.707052767407, 17.51786390139 +4042, -3.972787394734, -1.968403751726, 17.94550553735 +4043, 2.930893802314, 3.405369402039, 15.61636243133 +4044, 2.932097673181, 3.404193526071, 14.73613153054 +4045, 2.256783963247, 3.83886446647, 15.18434833231 +4046, 2.275311399647, -3.776717001144, 14.23692686047 +4047, 2.917010950043, -3.41770521681, 13.79897108194 +4048, 1.608467068626, -4.202689676394, 13.7868954646 +4049, 2.250166619022, -3.84367789206, 13.34893968607 +4050, 2.776031811512, 3.513993322141, 7.607566818055 +4051, 2.110299174287, 3.948791642703, 8.116292762193 +4052, 2.785299974306, 3.504788966, 8.499568098355 +4053, 2.729099804658, 3.554768425159, 44.34015372359 +4054, 3.401678602175, 2.91483161135, 44.64876780458 +4055, 2.713333860245, 3.569474937787, 43.41493577693 +4056, 3.385912657762, 2.929538123978, 43.72354985793 +4057, 0.05844611025803, -4.494202213922, 13.75056045461 +4058, 0.07710255941854, -4.494896573777, 12.85019414051 +4059, -0.6287154407072, -4.438118526209, 13.40615408519 +4060, -0.6100589915467, -4.438812886064, 12.50578777109 +4061, -2.913548446094, -3.38278664499, 14.34635811875 +4062, -2.980585885542, -3.302056387413, 15.21246291167 +4063, -3.527658938992, -2.78639830621, 14.754080614 +4064, -3.59469637844, -2.705668048634, 15.62018540692 +4065, -2.401644393625, -3.788810765618, 17.63836194656 +4066, -1.675900347725, -4.157601951272, 18.11930552862 +4067, -2.410629564089, -3.784146347992, 18.56294952292 +4068, -1.232205603088, -4.325671423654, 46.81632439232 +4069, -1.994066346099, -3.952076714686, 46.78412495535 +4070, -1.627809657088, -4.18236507362, 45.97540092266 +4071, -4.451084103764, -0.360048763287, 17.66664037118 +4072, -4.335709146395, -1.1888910555, 18.34039621197 +4073, -4.310133305264, -1.26540073807, 17.45771967109 +4074, -2.31131105381, 3.847527907733, 33.47412986224 +4075, -2.320674285297, 3.841018705455, 34.36671413739 +4076, -1.579267661087, 4.194379533235, 33.93493550635 +4077, -3.361130205687, -2.98799536286, 41.44601295971 +4078, -2.917211746256, -3.335159121647, 41.97688640406 +4079, -3.568583413343, -2.733299213542, 42.12458645454 +4080, -4.430607687043, 0.6938890433448, 30.03541668864 +4081, -4.442311433654, -0.2385834948846, 30.53335821486 +4082, -4.438783380201, 0.4683281195511, 30.85204977845 +4083, -4.450487126811, -0.4641444186782, 31.34999130468 +4084, 4.232277338571, -1.525577488296, 1.943311035052 +4085, 4.199494765405, -1.616788024983, 0.7266101280267 +4086, 3.906536794659, -2.166836085603, 1.48817200885 +4087, -2.719981558955, -3.482612091806, 1.575298982875 +4088, -3.446335078966, -2.893540107755, 1.573119365106 +4089, -2.416551028223, -3.776852204997, 2.310658574849 +4090, -3.142904548234, -3.187780220946, 2.30847895708 +4091, 4.220499805781, -1.549691346414, 20.49801242793 +4092, 3.873569111663, -2.235168326188, 20.02039541529 +4093, 3.865443815384, -2.246416753662, 20.96074765738 +4094, 3.375509701289, -2.954291027692, 33.86643227534 +4095, 3.392832530284, -2.931120039134, 34.76912931863 +4096, 2.916797797324, 3.415988502751, 13.8543567363 +4097, 3.456785084289, 2.848522017656, 14.28884759954 +4098, 3.424139333282, -2.894684756162, 25.00031796681 +4099, 3.868547586423, -2.242800055479, 25.43356752662 +4100, 3.867166474764, -2.24606031075, 24.55686187151 +4101, -4.287303981424, 1.345701607201, 20.5317689782 +4102, -3.923070719728, 2.006752454991, 21.00481638066 +4103, -4.310908166319, 1.27851011283, 21.430843384 +4104, 2.261453599449, 3.842796202313, 12.578159483 +4105, 2.205369584075, 3.884459012638, 11.66156805308 +4106, 2.925314185551, 3.407613271029, 12.98009616677 +4107, 2.869230170177, 3.449276081354, 12.06350473686 +4108, 2.287781025441, 3.823023054692, 25.94317734691 +4109, 2.948585925964, 3.38988140798, 26.35922969896 +4110, 2.956527817406, 3.38199570328, 25.45000617507 +4111, 3.473163684285, -2.824334853105, 25.9086133947 +4112, 3.917571937426, -2.172450152422, 26.34186295452 +4113, 2.716192915696, -3.577950867681, 5.358193115154 +4114, 3.197398956481, -3.151194079277, 4.334599599666 +4115, 2.376950905304, -3.771432112048, 4.32029254583 +4116, 3.892784566568, 2.198632580112, 12.9365367989 +4117, 4.237922600196, 1.50193022572, 13.39918411067 +4118, 3.911121425, 2.172378724311, 13.83689358076 +4119, -4.399542053749, 0.7196641055287, 42.11982900295 +4120, -4.3447281362, 1.149726243357, 42.95285713567 +4121, -4.497000816986, 0.1632231720274, 42.89015596778 +4122, -4.442186899437, 0.593285309856, 43.72318410051 +4123, -3.185824780661, 3.177500530664, 10.75561364108 +4124, 0.3175293979471, 4.461622731125, 3.961466693945 +4125, 0.6869556032981, 4.444271263765, 3.15395217712 +4126, 1.169829187144, 4.336244344792, 3.956497015217 +4127, 4.373019822835, -0.7866237476908, 24.50850262631 +4128, 4.213903493739, -1.568382860333, 24.06771586694 +4129, 4.38400524647, -0.7526745543748, 25.42881972439 +4130, 4.224888917374, -1.534433667017, 24.98803296502 +4131, -0.7145371736976, 4.405257466876, 31.50872803518 +4132, -0.7324119664282, 4.404875130463, 32.56254806889 +4133, 0.07077806527279, 4.497524228852, 31.98028698211 +4134, 0.05290327254217, 4.49714189244, 33.03410701582 +4135, 4.387031013379, -0.7430228402722, 13.8815408754 +4136, 4.5, -1.102182119233e-15, 14.325 +4137, 4.387031013379, -0.7430228402722, 12.9565408754 +4138, 4.5, -1.102182119233e-15, 13.4 +4139, 4.389939994923, 0.7336121731998, 21.80368683616 +4140, 4.389939994923, 0.7336121731998, 22.72868683616 +4141, 4.5, -1.102182119233e-15, 22.225 +4142, 4.5, -1.102182119233e-15, 23.15 +4143, -3.899087140168, -2.102703533892, 48.40576623894 +4144, -3.706773197681, -2.52284569425, 47.57861255714 +4145, -3.442378722767, -2.898126890437, 48.40781266891 +4146, -1.514361853513, 4.223067319541, 27.34213360937 +4147, -1.515431326998, 4.222765641944, 28.2522932233 +4148, -2.241257970982, 3.884601562929, 27.77604097715 +4149, -3.158407905019, -3.18119814636, 44.4358763365 +4150, -3.438419671645, -2.783417429113, 43.65493986448 +4151, -2.848044895455, -3.484051349886, 43.63358727072 +4152, -2.138073151841, -3.934347474265, 9.689502414642 +4153, -2.822668771154, -3.471293412688, 10.08739510117 +4154, -2.69877725681, -3.589065071194, 9.302591478622 +4155, -2.998002551575, 3.296217330205, 16.42217586704 +4156, -3.063543516609, 3.248558434608, 15.45484566546 +4157, -2.306658719972, 3.846690426246, 15.94467893135 +4158, -2.372199685006, 3.799031530649, 14.97734872977 +4159, -3.570252221579, 2.737862793664, 15.97647420657 +4160, -1.567717476558, 4.204483362604, 13.57550994887 +4161, -2.356724358748, 3.806419067975, 14.11653897709 +4162, -1.583192802816, 4.197095825278, 14.43631970156 +4163, 4.385504124273, 0.7479104712971, 12.94078411667 +4164, 4.5, -1.102182119233e-15, 12.525 +4165, -1.570355411342, 4.196778636249, 32.01672320924 +4166, -2.311983187118, 3.847194237463, 32.46487679652 +4167, -1.579939794395, 4.194045862965, 32.92568244064 +4168, -4.436388152549, 0.5863630495202, 28.29757472439 +4169, -4.279012962316, 1.371290290019, 28.6922853323 +4170, -4.283815334458, 1.358372005228, 27.83523102385 +4171, 3.47087823154, 2.813455178462, 45.39257707151 +4172, 3.940302235892, 2.138617603917, 45.71767695871 +4173, 3.871102606527, 2.239994036805, 44.97386769178 +4174, 3.810608047138, 2.385154486657, 48.50172724762 +4175, 3.484036859488, 2.832694986614, 49.25396156916 +4176, 4.213378922965, -1.569979712842, 36.59340777761 +4177, 4.214200809296, -1.567501770421, 37.51990906781 +4178, 4.340908306653, -0.7817010979235, 37.01578425074 +4179, -3.94786305523, 1.980121999635, 15.53424102013 +4180, -4.060270644966, 1.814788968019, 14.63702944106 +4181, -4.353129875182, 1.139934934357, 15.2922471096 +4182, 4.385509275963, 0.7478940394816, 27.16697595294 +4183, 4.385509275963, 0.7478940394816, 28.06697595294 +4184, 4.236182727852, 1.506186710206, 27.65358776687 +4185, -4.429830491094, 0.6969501245405, 29.10515833841 +4186, 3.858769482407, 2.251329601837, 11.20082017127 +4187, 4.2286910016, 1.527193650152, 11.6485151973 +4188, 3.859261952704, 2.250142733775, 10.3106450711 +4189, 4.229183471897, 1.526006782089, 10.75834009712 +4190, -3.69058889463, 2.561848659297, 39.90215605337 +4191, -4.131510298287, 1.664622423538, 40.3880450934 +4192, -1.09419302403, 4.347602673163, 40.9675991738 +4193, -0.2539634495824, 4.477193607669, 40.60710436989 +4194, -0.4007508049776, 4.475501429037, 41.62956928123 +4195, 3.533343981651, 2.771477627879, 1.505527369906 +4196, 3.324248722583, 3.033032965686, 0.755313189929 +4197, 2.95828481879, 3.361146166443, 1.506531286608 +4198, -0.0692250574514, -4.495754684518, 25.72189906818 +4199, -0.1396467072141, -4.496237051947, 24.70844602093 +4200, 3.887408837503, 2.211706751672, 12.0778470098 +4201, 3.424899291692, 2.899489478733, 10.78631392481 +4202, 3.453538646788, 2.859866628568, 11.66334076333 +4203, 3.461907037909, 2.845899090749, 29.48938191101 +4204, 3.90368508515, 2.185317412644, 29.89421708111 +4205, 3.455285991628, 2.855386853433, 28.6010664052 +4206, 3.897064038869, 2.194805175327, 29.00590157529 +4207, -2.345649936446, 3.826038404512, 0.7459794219473 +4208, -4.385132571907, 0.9754789583564, 13.4726524357 +4209, -4.041737417399, 1.882641749273, 13.73370188784 +4210, -4.163262272215, 1.663860920314, 12.78099946715 +4211, -3.327196784159, 3.003484828883, 4.727120991522 +4212, -3.668104420185, 2.605775798763, 3.866407765658 +4213, 0.05241286698957, 4.497083848828, 28.2584034076 +4214, 0.05305310089452, 4.497056782896, 29.15270612734 +4215, -0.7321105866429, 4.405256257516, 28.68746875982 +4216, -4.082012568888, -1.736543059204, 23.77060161309 +4217, -3.704464452109, -2.543085169799, 24.2942660775 +4218, -4.372375576665, -1.059550973584, 24.44663634077 +4219, -3.994827459886, -1.866093084179, 24.97030080518 +4220, 3.473909594326, -2.840116411117, 44.60590161037 +4221, 3.069048963237, -3.285028117612, 44.11419429943 +4222, 3.427589858481, -2.886350685153, 43.75789758816 +4223, 3.022729227392, -3.331262391648, 43.26619027722 +4224, 3.071004292928, 3.25308762295, 32.54917321274 +4225, 3.583626669758, 2.7157674211, 32.99043902467 +4226, 2.96071570744, 3.375272776301, 33.341131727 +4227, 3.473338084269, 2.837952574452, 33.78239753892 +4228, 4.346484908325, 0.7684357379311, 38.78491826691 +4229, 4.234363146785, 1.50873129937, 39.22719017852 +4230, 4.378190066109, -0.7708514833998, 47.71954596433 +4231, 4.235471488036, -1.512812209966, 47.31771229268 +4232, -4.094321436261, 1.865893931829, 4.025709893595 +4233, -4.26597881122, 1.377306643628, 3.150956422001 +4234, -3.892288948883, 2.21658780735, 3.151271878766 +4235, 0.8249801657662, 4.340574829195, 33.48720565848 +4236, 0.05133718982735, 4.497206989158, 33.9263289679 +4237, 1.509317172706, -4.211792504524, 4.433744389543 +4238, 1.642395812346, -4.176622958496, 3.436774700859 +4239, 1.001874801088, -4.387053866424, 5.18793539625 +4240, 1.134953440728, -4.351884320396, 4.190965707566 +4241, -3.529695149949, 2.790036244341, 32.47744039784 +4242, -2.96533108745, 3.328420393687, 32.94435466552 +4243, -3.548535841289, 2.765048734231, 33.37502559785 +4244, 4.5, -1.102182119233e-15, 30.3 +4245, 4.5, -1.102182119233e-15, 29.375 +4246, 4.338396573621, -0.787590019045, 29.83585189085 +4247, 4.419229842774, -0.630338772273, 48.53567565717 +4248, 4.276511264701, -1.372299498839, 48.13384198552 +4249, -1.716327725006, -4.159233185271, 11.34617437974 +4250, -2.091833004212, -3.972590456736, 12.18541232523 +4251, -2.553279991803, -3.61255404387, 11.44556877322 +4252, 1.422707657023, -4.267437246636, 35.21354052657 +4253, -4.290131969399, 1.340132279551, 30.53425769104 +4254, -4.291124743727, 1.33619230901, 31.50408832668 +4255, -3.879451199154, 2.139680047237, 31.00339330922 +4256, -4.450032961388, -0.4539914958773, 38.79985767876 +4257, -4.496894836614, 0.1012481772385, 39.71673302739 +4258, -4.423370256613, -0.8084577227514, 39.60199566176 +4259, -4.470232131839, -0.2532180496356, 40.51887101039 +4260, 1.520109654003, 4.235400081741, 38.72606793125 +4261, 2.209666515385, 3.861324433194, 38.28684588727 +4262, 1.534922406176, 4.2301159966, 37.84022248313 +4263, -3.908180445464, -2.127872296786, 32.12032364291 +4264, -4.28578126186, -1.334501126408, 31.63678298684 +4265, -4.28663521504, -1.330714023615, 32.5772393578 +4266, 3.889695322739, -2.210883530076, 12.0314283206 +4267, 3.465935819279, -2.84545508842, 11.5987282809 +4268, 3.445949560133, -2.865346822845, 12.46377020592 +4269, -3.719379252896, -2.498757399755, 0.7696659859512 +4270, -3.105451519098, -3.226787839359, 0.7696659859512 +4271, -1.938304141098, 4.060160506289, 1.595256869403 +4272, -2.680977728628, 3.541389426764, 1.585061628936 +4273, -4.434883517598, 0.2259031964631, 35.74928843431 +4274, -4.438689953693, 0.6527769738879, 36.56639660326 +4275, -4.317655435219, 1.252320763469, 36.11539246476 +4276, -4.440641254663, 0.4737558133893, 39.02541091986 +4277, -4.415777874481, 0.7428011345022, 40.4549652474 +4278, 4.379352089355, 0.7672572155933, 5.79733372878 +4279, 4.206401068621, 1.580824685055, 5.300876171437 +4280, 4.22554468629, 1.536394976352, 6.240778587693 +4281, -4.494918848649, 0.2109200858632, 41.35694621436 +4282, 4.238897732822, -1.504177453916, 46.35950735734 +4283, 3.848376335059, 2.266221685857, 6.645666419477 +4284, 4.223176295804, 1.543701183151, 7.15501760993 +4285, 4.5, -1.102182119233e-15, 10.75 +4286, 4.381648254743, 0.760099724168, 11.19880499239 +4287, 4.5, -1.102182119233e-15, 11.675 +4288, 3.446964614085, 2.866400641735, 12.51423024815 +4289, -4.291078402016, -1.32144698347, 38.79085807407 +4290, -4.400686424374, -0.9385407100948, 38.08675922575 +4291, -2.423115353329, -3.771158721672, 47.6112349455 +4292, -2.817404201791, -3.508770243833, 46.79064716591 +4293, 0.5905479026911, -4.394309581555, 33.85568678722 +4294, -3.636741930353, -2.646941482732, 25.41414882206 +4295, -4.015248207299, -1.740146266579, 37.49194329454 +4296, -3.905640184941, -2.123052539953, 38.19604214286 +4297, -0.2119478137813, 4.414651186592, 3.062883326155 +4298, -0.6827962811953, 4.427190743832, 2.29740053168 +4299, -1.09756933085, 4.363767641907, 3.107288456175 +4300, 3.880105523517, 2.227298435381, 40.59651919814 +4301, 4.226417187228, 1.530175711268, 41.04038399081 +4302, 4.229487497736, 1.520343852348, 40.14568400147 +4303, -3.580744583376, 2.725066471098, 37.09722882087 +4304, -2.975827134522, 3.302064456176, 36.6193633712 +4305, -3.588828650205, 2.714170533617, 36.17492556761 +4306, -4.447127683501, -0.2780753131318, 25.14915585756 +4307, -4.36976924971, -1.071410377621, 25.36909289088 +4308, -2.999619861822, 3.291068329792, 34.80542691246 +4309, -2.966703061395, 3.313674196328, 35.68436279679 +4310, -3.579704577078, 2.725780273768, 35.2399249932 +4311, -0.7846407430475, 4.394662911333, 13.99275433555 +4312, -0.7856771837882, 4.394353864018, 15.04842744116 +4313, 0.03618432945142, 4.496457244797, 14.70785355627 +4314, -2.03967920039, -3.926645410784, 43.59835687508 +4315, -1.111879290107, -4.348131378738, 43.44331214087 +4316, -1.651061775712, -4.174899574459, 44.36122782147 +4317, -4.452614445505, -0.2771296860684, 21.4350019589 +4318, -4.438257917505, -0.7160694045121, 22.38694617081 +4319, -4.432410145716, 0.6390919748229, 21.81073806751 +4320, -4.418053617717, 0.2001522563792, 22.76268227942 +4321, -3.90397794693, 2.036090737326, 30.12224233265 +4322, -3.493297176686, 2.835638505012, 30.59137795083 +4323, 1.380198720616, 4.283106579955, 45.86499724171 +4324, 0.7170664963058, 4.377728385601, 45.25147470682 +4325, 2.148107261781, 3.892549306902, 40.130507146 +4326, -0.7874737583215, -4.422615328444, 45.98949293165 +4327, -0.2885206944338, -4.434332672039, 46.77682340132 +4328, -0.2728900133003, -4.480663895137, 45.21955068057 +4329, 0.2260630505874, -4.492381238733, 46.00688115024 +4330, -0.7427443667662, 4.404607325444, 21.35021252794 +4331, 0.05229131956672, 4.496413934144, 21.8348593655 +4332, -0.745595532274, 4.403798828113, 22.27423415913 +4333, -2.397518312746, -3.791088837999, 49.21316003518 +4334, -4.273934999818, 1.395402137808, 25.08215530943 +4335, -4.423552331139, 0.6871476705599, 24.6247155566 +4336, -4.295224950303, 1.335356284832, 24.13154739539 +4337, -0.7419963494812, 4.402142357179, 33.47150730029 +4338, -4.407216001443, -0.8813080665751, 47.58467949232 +4339, -4.433572022153, -0.3807668188528, 48.42080643188 +4340, -4.296034724694, -1.326233867792, 48.42696819651 +4341, -4.275729261223, 1.389092874927, 26.91218910492 +4342, 4.5, -1.102182119233e-15, 21.375 +4343, 4.389033087575, 0.7365601852326, 20.91634685714 +4344, -4.275458582154, 1.389826833145, 26.03581546155 +4345, -3.897169673601, 2.067256098547, 26.47901460318 +4346, -3.859637364872, 2.171999395009, 25.4747588504 +4347, -3.481348456318, 2.849428660412, 25.91795799203 +4348, 4.379352089355, 0.7672572155933, 6.64733372878 +4349, -3.108839286137, -3.204616193286, 23.84990536585 +4350, -3.106669450439, -3.207403690283, 24.7662992727 +4351, -2.467751589848, -3.743784305088, 24.36882593151 +4352, -0.7282781728568, 4.405629075266, 26.8279163313 +4353, -1.528879523787, 4.216315058828, 26.38881067537 +4354, -4.449734010455, -0.2662159090951, 24.22669930744 +4355, -3.135093724458, -3.184027678387, 22.78440756805 +4356, -3.684942545973, -2.574805410201, 22.25471196285 +4357, -3.706634287807, -2.540297672802, 23.37787217065 +4358, -4.431281425538, 0.6581759607516, 23.69037392732 +4359, -4.124188557363, -1.767397592863, 49.22984912878 +4360, -0.7246446715014, -4.414692153528, 14.15073521125 +4361, -0.7807631774804, 4.400763454118, 34.52339669199 +4362, 0.6288614606997, -4.377767108945, 21.42580712904 +4363, -0.1560260863359, -4.49562841385, 21.92096925864 +4364, 1.461202732003, -4.254672884162, 21.90155441379 +4365, 0.6763151849673, -4.372534189067, 22.39671654338 +4366, -4.302954044702, 1.306384575023, 23.19720576611 +4367, -3.576974405514, -2.729772856076, 16.61739083956 +4368, -3.947211553602, -2.044913434296, 17.06282899647 +4369, -3.929593917988, -2.067633522966, 16.16235593463 +4370, -3.64096473562, -2.64150723951, 26.33406784773 +4371, -3.044888114933, -3.251304805239, 26.77798680783 +4372, 4.5, -1.102182119233e-15, 43.675 +4373, 4.5, -1.102182119233e-15, 42.8 +4374, -4.451313431851, -0.3382372322524, 28.7888820305 +4375, -4.356335017726, -1.119465075883, 29.52082481994 +4376, -4.353461596986, -1.129416208825, 28.3071155443 +4377, -1.827562515297, 4.008719607752, 43.83136386821 +4378, -2.295191486905, 3.841141716767, 43.10793793383 +4379, -2.668074784546, 3.62258034673, 43.88987519404 +4380, -4.495722347232, 0.04409695506651, 49.22368736414 +4381, 4.500612417037, 1.224767558896, 49.621468537 +4382, 4.176171202316, 0.3044561771845, 49.621468537 +4383, 3.980439121053, 1.167368268546, 49.621468537 +4384, -2.313198513807, 3.841617882059, 44.55899058881 +4385, -1.472686244559, 4.227757143081, 44.50047926299 +4386, 4.392894260035, 0.7239178546576, 1.650204208758 +4387, 4.21281807696, -0.1562689923667, 1.345868505404 +4388, 4.392894260035, 0.7239178546576, 0.7502042087579 +4389, 4.605712336995, 0.5676488622909, 1.196072714162 +4390, 4.21281807696, -0.1562689923667, 0.4458685054044 +4391, -4.207373188137, 1.472080556662, 43.73294859109 +4392, -4.393705688689, 0.9720676999991, 44.5154324242 +4393, -3.886298958833, -2.02392029199, 30.88635741644 +4394, -4.353890680983, -1.130398413535, 30.45771739028 +4395, 4.238964817026, 1.499360976416, 26.75203190883 +4396, 4.237292109347, 1.504675550607, 25.86354948504 +4397, 4.383836568284, 0.7532086136722, 26.27849352914 +4398, 4.389436443897, -0.7352506243298, 16.43355722019 +4399, 4.5, -1.102182119233e-15, 17.775 +4400, 4.389436443897, -0.7352506243298, 17.35855722019 +4401, 4.22731720743, -1.524043562328, 16.89530921084 +4402, 0.6655157017632, 4.397330207803, 1.537569536542 +4403, 1.529947316507, 4.220882964545, 1.579476257223 +4404, 1.092862617823, 4.360313539246, 2.349440304808 +4405, -3.523610933119, -2.798060775547, 30.44240761249 +4406, -3.991202655269, -1.904538897092, 30.01376758634 +4407, 0.1436393717326, 4.475476245055, 3.794333986127 +4408, -0.7419821453357, 4.42459270037, 3.838739116148 +4409, -0.7293476463416, 4.405327397669, 27.73807594523 +4410, 1.971305712768, 4.043451241743, 0.7986337619169 +4411, 2.300174950816, 3.839555340769, 1.549851858596 +4412, 2.778943982686, 3.539416296181, 49.24433643647 +4413, -0.9668109846798, 4.39266620314, 43.56750341189 +4414, 1.446214675721, 4.261085490759, 4.803737109817 +4415, 1.763893982532, 4.131278742221, 3.93864864629 +4416, 1.487508493955, 4.206437596254, 3.09140855169 +4417, -4.320401079581, 1.251545154168, 41.21784803598 +4418, -4.208153755276, 1.583919565715, 42.18745358809 +4419, 3.854727097133, 2.272905284389, 43.27575933031 +4420, 3.380535605846, 2.936985531618, 42.8875060129 +4421, 3.860104149049, 2.265457876749, 44.11180317534 +4422, 2.743079271688, -3.566093331184, 49.1869770061 +4423, 2.270431046216, -3.849637882107, 48.42342348025 +4424, 1.832948818139, -4.10918021541, 49.23644647415 +4425, -3.764613605446, -2.305797325562, 10.98229381943 +4426, -3.196661947804, -3.16681603094, 10.95956993586 +4427, -3.781921037501, -2.287649514399, 11.84026591292 +4428, -3.213969379858, -3.148668219776, 11.81754202936 +4429, -0.658425515262, 4.424890744722, 44.46506163451 +4430, -0.2066351312487, 4.49457377144, 45.25453765827 +4431, -1.020895860546, 4.297440169799, 45.28995528675 +4432, -4.391425840775, 0.9797936295189, 3.915370877651 +4433, -4.455231158311, 0.5479241059529, 4.733989925062 +4434, -4.431260242973, 0.5331852872666, 3.159441613012 +4435, -4.49506556051, 0.1013157637006, 3.978060660422 +4436, -4.123987713918, 1.80074520484, 2.331361648338 +4437, -4.254152608157, 1.379371625299, 1.579666605336 +4438, -4.396143705459, 0.9559330640866, 2.399261379 +4439, -4.461561145486, 0.4937856743984, 1.575578782131 +4440, -4.477120635392, -0.3801595523229, 3.156897652519 +4441, 2.956019142158, 3.378907670916, 34.24200693204 +4442, 3.481352058991, 2.826486444511, 34.66968023114 +4443, -2.444994229597, -3.757022430435, 20.44168824884 +4444, -3.107418557541, -3.203722317211, 19.92607516398 +4445, -3.105146330026, -3.206659976952, 20.85620605204 +4446, 4.384807927953, 0.7501274203592, 41.48697190095 +4447, 4.5, -1.102182119233e-15, 41.95 +4448, -4.116449430462, 1.744646456376, 8.116959376731 +4449, -3.661212098584, 2.559981954908, 7.961562871651 +4450, -3.890050099471, 2.086672445917, 7.228072722712 +4451, -3.434812767594, 2.90200794445, 7.072676217631 +4452, -3.667480139961, -2.562820949408, 49.23189555875 +4453, -1.519605267638, 4.212184400712, 49.2227101915 +4454, -2.326610211985, 3.835528808099, 49.2227101915 +4455, -4.32293908862, 1.242356768688, 32.41714238182 +4456, -4.439776154529, 0.4643881490107, 31.82188041409 +4457, -4.435930239932, 0.3463055815723, 32.79561034177 +4458, 3.857921646787, -2.258744491234, 37.10288736719 +4459, 3.86096674351, -2.251534094466, 37.95884414096 +4460, 3.414099682348, -2.908179219288, 37.5174325616 +4461, -3.157837008128, 3.191576439953, 12.67578468331 +4462, -2.501937402037, 3.688422366881, 13.12979703626 +4463, -3.195394643372, 3.147055156428, 13.58219569661 +4464, -2.910155373667, 3.399507502605, 7.930606368521 +4465, 4.374708523736, -0.7815109898736, 8.470179731808 +4466, 4.380989207902, -0.7621616572981, 9.383518082924 +4467, 4.5, -1.102182119233e-15, 8.95 +4468, -3.631740259545, 2.633544468488, 13.28694358617 +4469, -3.669297894789, 2.589023184963, 14.19335459948 +4470, 2.872838103323, -3.439677837891, 9.308206021319 +4471, 3.434590408324, -2.892302213701, 8.864077128485 +4472, 2.852151854893, -3.454131889125, 8.36107687022 +4473, 0.5252315675812, 4.449288677606, 6.350437276891 +4474, 1.235080968536, 4.309546548021, 6.645583521574 +4475, 0.4850893476494, 4.449387869877, 7.152084163306 +4476, -0.8523133345434, -4.386475367063, 36.65791832735 +4477, -0.9838517098043, -4.342081381696, 35.71121312226 +4478, -1.661101888268, -4.161824198023, 37.09959492859 +4479, -1.792640263529, -4.117430212655, 36.15288972351 +4480, -4.364913748873, 0.2029022448198, 15.80886810778 +4481, -4.407580654904, -0.9030671261955, 15.62928718235 +4482, -4.36885232612, 0.2205669540914, 14.81271643309 +4483, -4.41151923215, -0.8854024169239, 14.63313550766 +4484, 0.01211255822811, 4.49576837359, 17.35308518229 +4485, 0.008593958193878, 4.495911674152, 18.24881587271 +4486, 0.7677837554, 4.345642126276, 17.82976684692 +4487, -4.495802931948, 0.042400619618, 0.8213157312961 +4488, -4.432864765882, -0.3855030042929, 1.577350645021 +4489, -4.41390985689, -0.8321948869815, 0.7560349137253 +4490, -4.359657196202, -1.104028176034, 21.13687801459 +4491, -3.984082860474, -1.913948238132, 20.77468635624 +4492, -4.062072541926, -1.762880587649, 21.73537991656 +4493, -3.686498206198, -2.572800649747, 21.37318825822 +4494, 2.826265270921, -3.486344322495, 33.43268703538 +4495, 2.155576204125, -3.909816459435, 33.0079896064 +4496, 4.363672409263, -0.7257583281998, 1.651610128027 +4497, 4.398072841837, -0.6303328383316, 2.366915424353 +4498, 4.266677771146, -1.430151998428, 2.658616331378 +4499, -4.462819668863, 0.3136602601994, 13.01904778953 +4500, -4.378127268438, 0.9989252302707, 12.37083247428 +4501, -4.442727956713, -0.2529539042943, 38.02932254716 +4502, -0.007998553953722, 4.441964019837, 43.59645169409 +4503, -0.4636238854726, 4.464982230913, 42.697948465 +4504, 0.9589928006514, 4.38101067851, 43.04722534115 +4505, 0.5033674691326, 4.404028889585, 42.14872211206 +4506, -1.533112303381, -4.206421081421, 14.52848271434 +4507, -1.595986747236, -4.188862638076, 15.36890164032 +4508, -0.7875191153557, -4.397133710183, 14.99115413723 +4509, -4.334596647616, 1.207787715611, 14.38891955639 +4510, -2.462395148142, -3.735113211346, 3.916930442418 +4511, -1.643997983322, -4.1743832786, 3.877858399667 +4512, -2.803727812541, -3.519650466536, 3.134030386405 +4513, -1.98533064772, -3.95892053379, 3.094958343654 +4514, 3.460167236357, 2.849455724423, 22.27775910492 +4515, 3.466549298762, 2.840278079562, 21.39208049391 +4516, 3.897161732788, 2.197046804942, 22.7233649454 +4517, 3.903543795193, 2.187869160081, 21.83768633439 +4518, 2.206504303612, 3.810662566013, 39.23252232329 +4519, 2.896061164994, 3.436586917466, 38.79330027931 +4520, 2.872785280248, 3.454235965523, 39.67500503894 +4521, 1.199592817934, -4.33618375347, 2.557766948283 +4522, 0.6664385985907, -4.420811939255, 1.657446667945 +4523, 0.7462859070495, -4.409164275246, 3.330673025421 +4524, 0.2131316877056, -4.49379246103, 2.430352745084 +4525, -4.155829294277, -1.696691963237, 2.327166550635 +4526, -3.696511001645, -2.512229141306, 2.311699867883 +4527, -3.905653371597, -2.078002929686, 1.588586047858 +4528, 4.5, -1.102182119233e-15, 26.725 +4529, 4.5, -1.102182119233e-15, 27.6 +4530, -0.02649549818767, -4.496468983618, 17.25867601133 +4531, -0.07946278818978, -4.497451691625, 18.18558970102 +4532, 3.904103671831, -2.196174511426, 16.4376545055 +4533, 3.464614327959, -2.837242209091, 16.01923006465 +4534, 3.885367590514, -2.223295532398, 17.34481554501 +4535, 3.445878246642, -2.864363230062, 16.92639110417 +4536, 1.623075508699, 4.196678828584, 22.74393779851 +4537, 0.8632530728667, 4.351906506207, 22.28451585373 +4538, 1.612965698542, 4.200427704042, 21.8513845241 +4539, 1.433264415304, -4.264075572041, 23.70953097759 +4540, 0.6197415098885, -4.383697343219, 23.25726095592 +4541, 1.443982223466, -4.26009147753, 22.83800718799 +4542, -4.471328266645, -0.3075467371762, 43.69767593323 +4543, -4.498006033205, 0.1337122779113, 44.5108646133 +4544, 3.900002888833, 2.196113273144, 15.60675421117 +4545, 3.903274482717, 2.191376341805, 14.72078745079 +4546, 3.453513490405, 2.853258948996, 15.17481435992 +4547, -3.05559788198, 3.292761900924, 47.65140874833 +4548, -3.389191218176, 2.947880672247, 48.43055069042 +4549, -2.677909917333, 3.534549639305, 48.43138871939 +4550, 4.387480135284, 0.7415784541278, 14.74993500229 +4551, 4.239898611206, 1.495598208551, 14.2833349963 +4552, 4.232051668923, 1.514595826045, 15.16722886634 +4553, -4.451360183629, -0.2829965735314, 20.52196911671 +4554, -4.438644044016, 0.614351566668, 19.99396679812 +4555, -4.454130098023, -0.3487750951015, 19.63257010819 +4556, -4.44141395841, 0.548573045098, 19.1045677896 +4557, -4.040561443011, -1.959071376481, 40.49922308071 +4558, -4.227713098398, -1.536866835235, 41.32277012866 +4559, -3.83136407089, -2.35133013066, 41.28890939522 +4560, -4.018515726277, -1.929125589414, 42.11245644317 +4561, 1.360706796222, 4.289329799486, 47.46396144366 +4562, 1.684707017157, 4.153120199635, 48.40722522089 +4563, 0.7806524044653, 4.38442941038, 48.40557009296 +4564, 2.86194042209, -3.456823380805, 24.61413449592 +4565, 2.848538806442, -3.469798611039, 23.69765739738 +4566, 3.410737717634, -2.907659986396, 24.08384086827 +4567, 2.15243828301, -3.904749322919, 35.70624022117 +4568, 4.383836568284, 0.7532086136722, 25.40349352914 +4569, -4.290570812991, 1.334411303225, 18.70246675062 +4570, -4.436839974301, 0.6216497876643, 20.91123424278 +4571, 0.1297295509685, -4.484847459396, 29.44745653303 +4572, -0.5651265440432, -4.455468065184, 29.28457135138 +4573, -0.5669624528693, -4.455364143993, 30.17119123195 +4574, 1.962582148252, 4.005763925735, 42.99764440731 +4575, 1.411062789515, 4.2727992181, 42.37410283731 +4576, 4.377561145794, -0.7727891031924, 20.05881666563 +4577, 4.377561145794, -0.7727891031924, 20.93381666563 +4578, 2.177861713085, -3.811317380658, 39.37984954622 +4579, 1.485372602141, -4.247079535995, 38.93578183426 +4580, 1.437376136873, -4.264215592139, 39.86946070878 +4581, -3.067786097988, -3.233587873937, 18.93062694992 +4582, -3.073934479145, -3.225581955637, 17.98727721156 +4583, 3.859007651021, 2.263109763995, 42.37125283383 +4584, 4.5, -1.102182119233e-15, 1.825 +4585, 4.71281807696, -0.1562689923667, 1.370868505404 +4586, 4.076490486223, -0.8820273205665, 1.172478633431 +4587, 1.589439247435, 4.209803430616, 14.75333782988 +4588, 1.586235036352, 4.210985179279, 15.61360659522 +4589, 0.8297402820903, 4.362544344043, 15.13542691851 +4590, -3.519309873424, 2.803669334159, 18.67767187674 +4591, -3.50465162731, 2.822360988165, 17.79376845605 +4592, -3.892885279772, 2.128425830776, 18.19012145827 +4593, 3.88281224403, -2.220422756058, 44.18761698961 +4594, 3.898739405717, -2.181230190697, 45.04196172433 +4595, 4.218339006423, -1.554797330652, 19.62205309929 +4596, -2.450262023641, -3.754280791266, 19.55839773698 +4597, -1.704581484619, -4.148392839124, 19.07874399143 +4598, -1.865373123501, 4.094342789566, 10.91878505154 +4599, -2.613858612158, 3.590313063226, 10.31711386769 +4600, -1.418231793733, 4.240996534989, 10.05455892366 +4601, 2.848712664267, -3.472745901469, 40.71068676958 +4602, 2.051220029264, -3.862071364342, 41.33130392521 +4603, 2.885689407764, -3.445110305611, 41.58949583743 +4604, -4.414697697876, -0.8291550369899, 49.19711906773 +4605, 2.127482551416, 3.907834472667, 41.03420468766 +4606, 2.874179650355, 3.452916524272, 40.60065631571 +4607, 2.85355493999, 3.468201690037, 41.50435385736 +4608, 0.06101899190661, 4.497913849932, 31.08614557805 +4609, 3.89910959006, -2.198044730467, 4.884609264025 +4610, 3.729486688275, -2.416144329143, 3.9879055196 +4611, 4.206556424467, -1.591835701614, 4.429844935599 +4612, 4.38949693348, -0.7350540149466, 15.56739281203 +4613, 4.233385402572, -1.509751907608, 16.03717835031 +4614, 4.233445892156, -1.509555298225, 15.17101394215 +4615, 3.455026916979, -2.846556137361, 15.10937570316 +4616, 3.910171866974, -2.181882856705, 15.57952364498 +4617, 3.448771081605, -2.855696945849, 14.24972351428 +4618, 3.9039160316, -2.191023665194, 14.71987145609 +4619, -4.11462501832, 1.82179967042, 46.10014140216 +4620, -4.259727327128, 1.380746740524, 46.86564865839 +4621, -3.89988737181, 2.214446025663, 46.87486764418 +4622, 3.902185992513, -2.195129761991, 13.81173603544 +4623, 3.901821426077, 2.185695356699, 23.63255690119 +4624, 3.908532573185, 2.176042093651, 24.51955212556 +4625, 4.242712294783, 1.486547510245, 24.06859039607 +4626, -2.278372255315, 3.868381687811, 23.18651007036 +4627, -2.263967488818, 3.875371327527, 24.10845458792 +4628, -1.56375249529, 4.200613166135, 22.77722303598 +4629, -1.549347728793, 4.207602805851, 23.69916755353 +4630, 0.1770940231533, -4.495651799208, 44.36312725114 +4631, -0.1939112902619, -4.46752868676, 43.37423035196 +4632, -0.6438953267156, -4.452540782689, 44.23065378139 +4633, 2.933627617101, 3.40745098536, 45.23169234779 +4634, -4.206260364672, -1.522094851695, 34.59435319821 +4635, -4.116791569639, -1.69254831936, 35.76972607212 +4636, -3.825282555954, -2.316574304637, 35.03492174174 +4637, -3.735813760921, -2.487027772303, 36.21029461566 +4638, -3.998983845256, -2.052861886462, 43.70175414328 +4639, -4.296714755973, -1.19043827094, 43.69999276944 +4640, -4.193710132896, -1.617205196577, 42.87459362562 +4641, -3.136047169353, -3.199163951101, 46.00747131557 +4642, -2.445340369252, -3.759092981909, 45.99001192566 +4643, -0.06877209532729, 4.490743315012, 38.68763024348 +4644, -0.8453273249705, 4.399771679192, 39.07114347031 +4645, -0.1251603039784, 4.492385731726, 39.58629389146 +4646, 4.221614604295, -1.546926635781, 5.364919040153 +4647, 4.362667897164, -0.8171905577699, 4.907773779785 +4648, 4.377726076993, -0.7722814919373, 5.842847884339 +4649, -3.022918895578, -3.262256113824, 17.04286498398 +4650, -3.005301259964, -3.284976202493, 16.14239192215 +4651, 4.5, -1.102182119233e-15, 5.4 +4652, -2.301107700651, -3.855145148071, 14.85139172927 +4653, -2.325823075073, -3.838064963151, 15.78132073975 +4654, 1.610580857582, 4.201726989773, 34.11357557883 +4655, 1.597297082628, 4.206658267612, 35.00418550132 +4656, 0.8369378816429, 4.358359149735, 34.55269888825 +4657, -0.2257868336184, 4.492827712415, 4.601848502953 +4658, 0.8187097580462, 4.364391776411, 18.68890195355 +4659, 1.577899555252, 4.214122228535, 18.26985292776 +4660, 2.083043258965, 3.988806313264, 49.17104567397 +4661, -4.448964669714, -0.3694608653263, 16.7241442053 +4662, -4.308013871213, -1.274812840109, 16.51522350521 +4663, -2.59087335099, -3.638349412612, 35.83405821244 +4664, -2.436666127121, -3.765079846172, 36.84007082774 +4665, -3.231728845493, -3.107314868428, 35.40920860527 +4666, -3.077521621623, -3.234045301988, 36.41522122057 +4667, 2.935276190066, -3.40346165909, 14.67709069483 +4668, -2.584752803142, -3.641540745427, 34.94710314776 +4669, -3.234662915787, -3.103596564018, 34.49733458531 +4670, -4.449524822457, 0.5124946680544, 45.303112937 +4671, -4.242486224058, 1.440576960787, 45.31375562624 +4672, -3.073543944889, -3.239057398464, 37.32667661332 +4673, 4.220502476617, -1.550943300194, 44.64139117317 +4674, 4.233059820244, -1.511519153267, 43.70484300015 +4675, -0.1401532081714, -4.495701400896, 37.02711160244 +4676, -0.1283112016678, -4.496442196945, 36.13664792067 +4677, 0.6980972059919, -4.37067731929, 36.57276175514 +4678, 0.3083124636943, 4.484238906947, 47.56567839101 +4679, -0.1452350225279, 4.493622636908, 48.39708672615 +4680, 3.46300327647, -2.835165900274, 42.83652538009 +4681, 2.904619897405, -3.427061010093, 42.49932374889 +4682, -3.573461384173, 2.734205872614, 34.34351356964 +4683, -3.86567738063, -2.171653826149, 39.06561373388 +4684, -3.706827123233, -2.514267806018, 39.87340029923 +4685, -4.199411700408, -1.616457396611, 39.69143651537 +4686, 1.51436315759, -4.22934759805, 7.470184608372 +4687, 0.8476618614426, -4.390367787924, 6.958917220557 +4688, 1.587806483688, -4.195709816876, 6.688292693221 +4689, 4.214585226224, -1.566775569481, 23.12838781236 +4690, 4.373019822835, -0.7866237476908, 23.60850262631 +4691, -3.95779531667, 1.945712296835, 35.67372632747 +4692, 2.290919262773, -3.857667575524, 7.161290729994 +4693, 2.273767529653, -3.869418486475, 6.058151529317 +4694, 3.918225662018, -2.169237971178, 43.26624478154 +4695, 2.251196259086, 3.779021767785, 19.59873528456 +4696, 2.931720812208, 3.404132159587, 19.16653544434 +4697, 2.932298890554, 3.403683796979, 20.04916248458 +4698, 0.788526984503, 4.376063668639, 38.26389909602 +4699, -3.900826762727, 2.18854310341, 1.578944198764 +4700, -3.669127997691, 2.60438570592, 2.398854429192 +4701, -0.4484696135952, 4.454596996125, 6.131802055158 +4702, -0.4886118335271, 4.454696188397, 6.933448941572 +4703, -1.213737995122, 4.312715147261, 6.562553466631 +4704, 4.339142526472, -0.7858465291145, 35.17714584218 +4705, 4.210085560415, -1.57870788509, 34.79881271331 +4706, 4.5, -1.102182119233e-15, 34.725 +4707, 4.370943033942, -0.7928613559758, 34.34666687113 +4708, -2.07412323298, -3.99349547498, 30.42655989103 +4709, -2.259817371353, -3.886839801618, 29.29491177845 +4710, -1.375990341015, -4.232906454335, 29.68950592253 +4711, 3.439784065397, 2.864419889816, 37.41292604294 +4712, 3.428990327103, 2.879985046296, 38.30367088291 +4713, 3.90624365324, 2.185261031588, 37.89864360699 +4714, 3.895449914946, 2.200826188068, 38.78938844696 +4715, 4.211613142784, -1.574125144033, 35.67976936905 +4716, 3.080569679123, 3.245629090273, 31.65728893796 +4717, 2.376622734909, 3.78834926263, 32.53777678724 +4718, 2.386188121104, 3.780890729953, 31.64589251246 +4719, -4.419388250411, -0.01174180316347, 13.8964493124 +4720, 3.783207988604, -2.335951585939, 47.00911028517 +4721, 3.963706811557, -2.088427242273, 47.99961441413 +4722, 4.404642535984, 0.6838817691219, 4.911769778542 +4723, -1.912264239232, 4.073296816343, 45.29085150277 +4724, -2.314412114489, 3.840756940745, 46.06082706362 +4725, -1.490222498018, 4.223312933064, 46.03863240947 +4726, -1.865908118092, 3.994255028243, 46.81950426977 +4727, -3.545739846211, 2.770146312077, 22.30712003351 +4728, -3.538868637054, 2.779131270548, 21.41473409069 +4729, -2.980764503212, 3.310556580215, 21.88843359402 +4730, 4.22282039142, 1.545663648732, 9.864893588447 +4731, 3.859034573633, 2.269944667952, 4.682918401159 +4732, 4.231691515249, 1.497449238584, 4.415312221199 +4733, 2.902140837189, 3.430815298401, 37.85726626056 +4734, 2.914926308341, 3.420936674327, 36.9662430697 +4735, 2.22739672798, 3.799606861806, 37.41064285641 +4736, 2.231172785971, 3.84823023034, 36.41747631624 +4737, 1.54364320561, 4.226900417819, 36.86187610295 +4738, -2.974694318938, 3.321911191408, 33.83693894068 +4739, 3.78367100281, -2.271832023631, 3.182749788139 +4740, 4.260740739002, -1.447523396102, 3.624689204138 +4741, 3.355960999261, -2.997239987879, 3.204104245283 +4742, -0.8779619277855, -4.373191879586, 18.65877235118 +4743, -0.8937639949595, -4.372343247243, 19.5516477967 +4744, -0.09526485536373, -4.496603059282, 19.07846514654 +4745, 3.974621899782, 2.103703611707, 49.24776567846 +4746, 2.264752957369, 3.775132490218, 14.30512102811 +4747, 4.365079738403, -0.8101838254352, 30.74377868498 +4748, 4.5, -1.102182119233e-15, 31.225 +4749, 3.940937227233, -2.071410595734, 2.203477305176 +4750, 1.439250155195, -4.222610330728, 46.83249496873 +4751, 0.9752818933998, -4.390492175453, 46.04143363299 +4752, 0.5518691785264, -4.459875230821, 46.84514907617 +4753, -4.417716338946, -0.835107810328, 44.46027666073 +4754, -4.444394105506, -0.3938487952404, 45.2734653408 +4755, 4.228798073638, 1.520104982491, 16.92319044348 +4756, 4.389960743327, 0.7335445762563, 17.37191800796 +4757, 4.227485376576, 1.524368315565, 17.79981006523 +4758, 4.388648046266, 0.7378079093309, 18.24853762971 +4759, 4.378826367081, -0.7688856321186, 19.12479968408 +4760, 4.378826367081, -0.7688856321186, 18.22479968408 +4761, 4.219604227711, -1.550893859578, 18.68803611774 +4762, -3.870136907564, 2.255081923241, 4.740845780486 +4763, -4.219768465816, 1.46838091772, 4.790124349245 +4764, 4.5, -1.102182119233e-15, 18.675 +4765, 0.4915909153751, 4.448051144985, 8.227615891939 +4766, -0.5028446060037, 4.451908070703, 7.770715420694 +4767, 0.457831626197, 4.447510756374, 9.040565247841 +4768, -0.5366038951818, 4.451367682092, 8.583664776595 +4769, 1.829563443838, -4.102369378845, 28.49003338328 +4770, 2.517032470077, -3.675227741808, 28.92434940033 +4771, 2.332685613071, -3.761738469984, 27.84463245867 +4772, 3.020154639309, -3.334596832948, 28.27894847572 +4773, 2.250628227503, 3.842070898752, 18.72262733743 +4774, 1.570103674381, 4.216960506949, 19.15482717764 +4775, 0.7779052771912, 4.349219417351, 19.63544761494 +4776, 0.02651136085641, 4.496650686813, 19.16952239084 +4777, 4.5, -1.102182119233e-15, 37.45 +4778, -0.7540630861777, 4.404223386847, 20.47181776824 +4779, -0.7497238313508, 4.405446854596, 19.58910674702 +4780, 0.03026876938071, 4.496497480484, 20.06143255398 +4781, 4.5, -1.102182119233e-15, 48.225 +4782, 3.907587642664, 2.176437571429, 26.31309815478 +4783, 3.909483672249, 2.173700505575, 25.42277414489 +4784, 1.829307882935, -4.10246328535, 29.36820349433 +4785, 2.519610513265, -3.672774546873, 29.84192266534 +4786, 2.260344875419, 3.777490114849, 16.04562069423 +4787, 2.920107155719, 3.413704617669, 16.49590932117 +4788, 3.85183228993, -2.26702420536, 36.15530911592 +4789, 3.850066509749, -2.271169636551, 35.24167070735 +4790, 4.372470616312, -0.7882786149184, 36.15262352687 +4791, 4.5, -1.102182119233e-15, 36.575 +4792, -2.359709681007, -3.713495172341, 10.86017554239 +4793, 0.6139968317715, -4.386604586734, 35.65227116233 +4794, 1.440405239431, -4.260839709079, 36.08838499681 +4795, 3.869676810776, -2.239565674224, 38.8524406025 +4796, 3.422809749615, -2.896210799046, 38.41102902315 +4797, -1.498299870568, -4.223354066239, 13.65990264902 +4798, 3.465301472516, 2.840146785934, 13.41458703001 +4799, 3.442830359405, 2.864731536242, 35.58701102215 +4800, 3.895420089418, 2.204836640677, 36.10080711133 +4801, 3.895119777566, 2.205547035791, 35.19620008135 +4802, -2.274924711499, 3.869935131222, 36.23677271388 +4803, -2.338999322218, 3.837271710977, 37.19229207263 +4804, 4.384333692652, 0.7516334492844, 36.13085639343 +4805, 4.226641502469, 1.530030477728, 36.53354929562 +4806, 4.342307809816, 0.7783970284433, 36.9776929022 +4807, -0.6806315167584, -4.447705299749, 42.59300190168 +4808, 2.832117140607, -3.482332406513, 35.26091091474 +4809, 3.39224492645, -2.93168144891, 35.69581566946 +4810, 2.843996024723, -3.473815272166, 36.17846770745 +4811, 3.916018306276, -2.174488160267, 42.36843991901 +4812, 4.230852464502, -1.516769342356, 42.80703813762 +4813, -2.858686650826, -3.356386700352, 30.01040674973 +4814, 4.216707130614, -1.557678570117, 17.76155167472 +4815, -4.397083436275, 0.951978256132, 0.7542630508345 +4816, 4.375721971591, -0.7784247643169, 45.10577451487 +4817, 4.375721971591, -0.7784247643169, 45.93077451487 +4818, 4.236429638304, -1.511750734834, 45.49573590788 +4819, -4.061129166561, 1.938269109545, 5.549558781888 +4820, -4.210841892165, 1.5350095147, 6.358684819265 +4821, -4.296591859056, 1.017812297777, 5.493424357705 +4822, 3.832743680754, -2.294340625108, 34.33897366406 +4823, -2.416256123775, -3.775029193378, 5.44815929857 +4824, -2.753005907707, -3.559362465635, 6.287498058628 +4825, -3.137126968137, -3.197613582482, 5.47339854446 +4826, 4.5, -1.102182119233e-15, 6.325 +4827, 1.516950907644, -4.210064083517, 1.645116928637 +4828, 1.119316472833, 4.354934653487, 0.7808424953057 +4829, 4.224471169172, -1.536600766841, 41.03111867904 +4830, 4.341947787837, -0.7792485783631, 40.50969817899 +4831, 4.221165123726, -1.546923554252, 40.11873108143 +4832, -3.089343387043, 3.264753980022, 49.20867852789 +4833, -0.02565220908652, -4.496510747909, 16.36529793636 +4834, -4.352502014475, -1.133742736382, 26.4635464681 +4835, 4.38949693348, -0.7350540149466, 14.74239281203 +4836, 4.231715853069, -1.513661395022, 14.2628785215 +4837, 4.229249932968, -1.521630220347, 13.40202658486 +4838, -0.648272011295, 4.437111700762, 49.22769618011 +4839, 0.3277818949568, 4.4819809134, 49.16939054604 +4840, 4.234532276967, 1.506561948173, 16.039211872 +4841, 3.894268685504, 2.209656307462, 16.49073278265 +4842, 3.887105802844, 2.217013165732, 34.30891738913 +4843, 4.5, -1.102182119233e-15, 41 +4844, 4.341609259276, 0.7800482909087, 40.55341208986 +4845, 4.5, -1.102182119233e-15, 24.95 +4846, 0.1558584732529, -4.495678673065, 6.602956669895 +4847, 0.0211553939264, -4.493483333238, 7.399604972286 +4848, -4.116865824829, 1.816639895173, 47.64616239676 +4849, -2.918604220529, -3.336486952411, 28.80500170813 +4850, -3.045296886428, -3.250776711153, 27.67146077736 +4851, 0.9336134823985, -4.365324434027, 28.14043788311 +4852, 0.9333579214954, -4.365418340532, 29.01860799415 +4853, 0.2010677820311, -4.494580747281, 0.8099271105709 +4854, -0.7462113433208, -4.431269021776, 0.8220537632623 +4855, -0.2535783382142, -4.481729202413, 1.631980873833 +4856, -0.8023148067499, -4.396458985858, 15.89276848069 +4857, -1.620792482221, -4.17628259873, 16.28153061956 +4858, 4.376983698869, 0.7745634223927, 8.486572751017 +4859, 4.375285174266, 0.7797565908105, 9.380358483714 +4860, 4.5, -1.102182119233e-15, 19.575 +4861, -4.256357521941, 1.380552440105, 48.40180083866 +4862, -4.39921902424, 0.9446592854552, 47.62128710029 +4863, -1.90146911491, 4.071178863492, 4.566375125037 +4864, -1.538924245369, 4.18811760398, 3.778703774369 +4865, -3.916995406643, 2.009654806609, 19.19001716909 +4866, -3.534552699975, 2.784902992431, 19.59449361352 +4867, 4.215586017165, -1.561122946419, 6.228379615568 +4868, -2.305926858945, 3.846495893806, 9.298050131038 +4869, -2.77079006864, -3.433942700166, 45.21363763317 +4870, -2.079083680241, -3.989381340843, 45.18128789297 +4871, 2.278123550547, 3.830563567926, 26.83062971388 +4872, 2.93892845107, 3.397421921214, 27.24668206593 +4873, -1.011257946217, -4.273392230198, 34.70669037789 +4874, -1.912293645766, -4.0703336558, 34.24030641548 +4875, -0.2067861270445, -4.494958718586, 34.26037417138 +4876, -1.107821826594, -4.291900144187, 33.79399020897 +4877, 0.05517580729085, 4.497154988981, 27.30901059301 +4878, 0.04202769710156, 4.497674478887, 26.41979244398 +4879, -2.182182293928, -3.93359996701, 38.65219157257 +4880, -1.489503636169, -4.211015636431, 38.77328365995 +4881, -1.650146066085, -4.167517752902, 38.00028391921 +4882, -1.548271311198, 4.206558613874, 30.14372170849 +4883, -1.551881401526, 4.205542334721, 29.22894914435 +4884, -2.272331966745, 3.871021137403, 29.66182716339 +4885, -3.390270864127, 2.941375316597, 1.592622851251 +4886, 4.241170594764, 1.490543653727, 21.37262830946 +4887, 4.240263687416, 1.49349166576, 20.48528833044 +4888, 0.7759400060276, -4.373566854786, 38.38949023794 +4889, 0.6525838411362, -4.367593516788, 39.38967217834 +4890, -0.0568487549773, -4.494080835578, 38.84338058202 +4891, -0.965389878426, 4.36279479722, 39.94678869537 +4892, 1.107545576974, -4.361551206025, 0.8475195573744 +4893, 3.453228237944, -2.863361706488, 10.67798017561 +4894, 2.863045594719, -3.449631678799, 10.19374364377 +4895, 2.902506505033, -3.421182352025, 11.11535501024 +4896, 3.444072786828, -2.853215195792, 41.92669746863 +4897, 3.902066554732, 2.1952223221, 36.99141824228 +4898, 4.5, -1.102182119233e-15, 39.225 +4899, 4.5, -1.102182119233e-15, 38.35 +4900, -3.432726305156, -2.835352990741, 9.347780892997 +4901, -3.929433644144, -2.175936872962, 9.502105808527 +4902, -3.150544496537, -3.204142619229, 8.546776524319 +4903, -3.647251835525, -2.54472650145, 8.701101439849 +4904, -3.716112381856, 2.339488350744, 42.27944721264 +4905, -4.070798807213, 1.90627387902, 42.96754504351 +4906, -3.578757433793, 2.661842664049, 43.05953866806 +4907, 3.389986730475, -2.940313680508, 32.98890885966 +4908, 2.840742300107, -3.472366975311, 32.5551636197 +4909, 1.490299234818, -4.245435378468, 37.95090607011 +4910, -1.505601384316, 4.215830619285, 47.61166561064 +4911, -2.329791000787, 3.833274626965, 47.63386026478 +4912, -1.954572109609, 4.053229770841, 48.43623817725 +4913, -3.828216626248, -2.312856000228, 34.12304772178 +4914, -3.370459029067, -2.973096909423, 33.40565352474 +4915, -1.564343109462, 4.201290042055, 35.82278424918 +4916, -1.577175882833, 4.194979482823, 34.83166155701 +4917, -2.307841511927, 3.847329264686, 35.35783682955 +4918, 3.533932257338, 2.751306059355, 46.32035890422 +4919, -3.906665344471, 2.113651572026, 20.01897797797 +4920, -4.289108051139, 1.338403386205, 19.61450153355 +4921, -3.565440274708, 2.745459293848, 39.00281789799 +4922, -2.922853895519, 3.329977338121, 39.13835657345 +4923, -0.1378317927055, -4.495750739481, 20.95321519976 +4924, -0.9334595898925, -4.363176285286, 21.42759396406 +4925, 3.455528587242, 2.851161936071, 20.49364303756 +4926, 3.906929646325, 2.179640667354, 20.93398582691 +4927, 3.463215969938, 2.839989657679, 19.60625397441 +4928, 3.914617029021, 2.168468388963, 20.04659676375 +4929, 0.7857080997032, 4.373287869582, 36.40926554162 +4930, 1.55967477054, 4.221062763577, 35.98122551789 +4931, -1.615798974388, 4.172204112539, 38.47572626273 +4932, -1.722406462254, 4.111145798913, 39.45245608245 +4933, -2.275575734622, 3.878702111182, 38.79894153186 +4934, -2.382183222489, 3.817643797556, 39.77567135157 +4935, -4.498760543613, 0.03876412408654, 46.06407296245 +4936, -4.47053794757, -0.412649880953, 46.81174614757 +4937, -4.416171509463, -0.8452628002799, 46.02113852592 +4938, -3.977054908911, -1.895182656505, 14.97690130281 +4939, -4.021357828099, -1.832140547346, 13.90030749312 +4940, 3.412441912527, 2.900616359697, 40.1283418299 +4941, 3.422910654907, 2.885756665361, 39.23970490166 +4942, 0.1222181601172, -4.49476476621, 49.21934799139 +4943, -0.3418272565235, -4.480767987859, 48.41477739593 +4944, -0.7556106397161, -4.430123788293, 49.19542940454 +4945, -2.926225124053, 3.362784837916, 23.68609717205 +4946, -2.912271076961, 3.379132753409, 24.60222204011 +4947, -1.057952470677, 4.288528916239, 48.4504063716 +4948, -0.5940695879821, 4.449509317517, 47.63605037659 +4949, -4.331703555005, -1.103468135893, 40.50257410307 +4950, 0.3003869154641, 4.47418856142, 44.49400991671 +4951, -3.805155052609, 2.384923288567, 8.946607886438 +4952, -3.362030080906, 2.968266005684, 9.934715119959 +4953, -4.012774240791, 1.885934517745, 9.747850468845 +4954, -3.802188182953, 2.405402025039, 40.75052798701 +4955, -3.275150679341, 2.98443894052, 40.71305586491 +4956, -3.888171939666, 2.201284309456, 48.41842308585 +4957, -4.459288738499, 0.5067571653029, 48.42893727949 +4958, -4.394891614003, 0.9632534115879, 49.20524991534 +4959, 2.178948975341, -3.805229782745, 25.14896480084 +4960, 2.901202680549, -3.427869565488, 25.56173543374 +4961, 0.823656924333, 4.340608101373, 28.71693416523 +4962, -2.752522392267, -3.508704632643, 12.55738558137 +4963, -2.235881892216, 3.888244444626, 28.68517124234 +4964, 4.342007497965, 0.7791074235572, 35.14808587222 +4965, 4.5, -1.102182119233e-15, 35.65 +4966, 2.261823390861, -3.831978891761, 15.0967540184 +4967, 2.944863601047, -3.39414773082, 15.58694505632 +4968, 4.5, -1.102182119233e-15, 9.825 +4969, -1.187758742041, -4.336119788811, 3.103810552638 +4970, 2.222465207655, -3.871356671584, 11.53911598303 +4971, 2.248317396418, -3.860838536584, 10.64389488832 +4972, 2.134130052332, -3.890391206988, 42.06821058644 +4973, 0.8474746842922, -4.36744299382, 43.71151294778 +4974, 0.7611754454977, -4.397734504445, 42.77757924931 +4975, -4.324800477649, 1.23487673587, 33.36235366846 +4976, -4.342784344547, 1.175624822399, 34.25367990482 +4977, -4.437791628961, 0.3388255487536, 33.7408216284 +4978, -0.7837249425578, -4.335063601025, 11.52841403194 +4979, -0.05351746292934, -4.498915024939, 11.98727989474 +4980, -1.340266471175, -4.27496146215, 12.04692190828 +4981, 3.467281865839, 2.840247195395, 25.89273686049 +4982, 3.469177895425, 2.837510129541, 25.00241285059 +4983, -0.2325092113894, -4.493903130758, 33.12502091817 +4984, -0.2384179556785, -4.493547674195, 32.22758866382 +4985, -1.042778317541, -4.269314534517, 32.67855387388 +4986, 1.606576591397, -4.203437563331, 26.59901169829 +4987, 1.492837979585, -4.243915055769, 25.57877016811 +4988, 0.7640785173054, -4.368521022823, 26.1895855316 +4989, 3.038970986149, -3.316488439556, 27.36286125398 +4990, 2.899568912323, -3.429464359615, 26.42571591305 +4991, 3.471529916059, -2.825929647233, 26.77259387402 +4992, 1.584768445848, -4.211597114863, 27.51495801503 +4993, 2.291053818926, -3.766347084435, 27.03318681033 +4994, -0.7351929490491, 4.404095118207, 23.20258492757 +4995, 1.605652007509, -4.198873206982, 42.74993142275 +4996, 2.376141852581, -3.735543010087, 43.18104458521 +4997, -1.584229243556, 4.196786777962, 15.49199280717 +4998, -0.8053325696207, 4.393560948404, 15.90704658191 +4999, -3.95306838598, -2.146689093008, 46.81969537591 +5000, -4.256563605215, -1.281621131433, 46.80456035352 +5001, -4.151119136578, -1.709972366934, 46.03456073623 +5002, 2.955731417429, -3.352085319441, 1.451182842275 +5003, 2.918510686918, -3.393599435682, 2.303833534768 +5004, 3.550447954196, -2.755304443741, 1.372181069828 +5005, 3.513227223685, -2.796818559982, 2.22483176232 +5006, -3.727905598871, -2.501156995811, 7.072681542404 +5007, -3.082000167306, -3.230107955163, 7.028409301237 +5008, -3.405449475966, -2.936442493555, 7.871233212169 +5009, -3.024769601677, 3.233125753284, 39.64013267611 +5010, -4.383729314297, -0.9552979678525, 10.53915316253 +5011, -4.285020824838, -1.210340655969, 9.577686930429 +5012, -4.028142133603, -1.920894184845, 10.46357204063 +5013, -4.387588532866, 0.9995240308896, 46.07926288248 +5014, 1.481353934674, -4.225676284577, 45.42000014781 +5015, 1.945322196469, -4.057794439852, 46.21106148356 +5016, -3.679155838305, 2.587126390819, 49.22187216253 +5017, 2.155586166383, -3.903092322668, 24.12663288292 +5018, 1.472594719634, -4.251498724608, 24.66146318784 +5019, 4.676171202316, 0.3044561771845, 49.621468537 +5020, 1.691951246303, -4.168581696357, 43.68386512122 +5021, -3.485507911046, -2.8458381661, 38.14815042013 +5022, -3.445545106736, -2.894439452295, 39.01772201115 +5023, 4.23514679544, 1.502445693461, 2.011685250399 +5024, 4.197162178771, 1.586829946019, 0.7502042087579 +5025, 3.871408312305, -2.240274310426, 19.14443608665 +5026, 3.430382224677, -2.886795037513, 19.58455379462 +5027, -3.5566178195, -2.717581332234, 10.13258451555 +5028, -2.278245709173, -3.877131254377, 28.41001619716 +5029, 2.978629006159, 3.359247128569, 30.86917975324 +5030, 1.357403998822, 4.280230046881, 11.25830258879 +5031, 0.6437175909924, 4.35500897182, 11.85093140292 +5032, 1.529191449966, 4.230046993993, 12.1498287829 +5033, 2.849037661123, -3.469438099709, 22.75969140769 +5034, 3.40131245901, -2.920614907661, 23.19461927447 +5035, 4.376423300974, -0.776281066747, 21.81401595527 +5036, 4.236341010282, 1.507017138683, 24.96032746571 +5037, 4.390207852786, 0.7327389852342, 24.5117564595 +5038, 2.713538115783, 3.589022085333, 0.7512180966794 +5039, -4.418860510807, 0.7239742587326, 8.021285767352 +5040, -4.445955666237, -0.248789455955, 8.022481183425 +5041, -4.312217797984, -1.269906138246, 4.745245118605 +5042, -3.919119388499, -2.065243543202, 4.744345623253 +5043, -4.166485325371, -1.677072346074, 5.518361561871 +5044, -2.511146558103, -3.695667304027, 40.28813083134 +5045, -1.775054030604, -4.128644882999, 40.32094325579 +5046, -2.15961591873, -3.945058820397, 39.50885940042 +5047, 3.416308404548, -2.900450748993, 18.66308439779 +5048, 2.908671036687, -3.421808326757, 19.14790191331 +5049, 2.894597216558, -3.435464038237, 18.22643251648 +5050, 3.413836282634, 2.899296918446, 41.05399310666 +5051, 3.970981517762, -2.091264268372, 27.97857653953 +5052, 3.527444137758, -2.738843090433, 27.53483169786 +5053, 3.508627790919, -2.756951483825, 28.4509189196 +5054, 3.890574265897, 2.212438741045, 39.70788226991 +5055, 0.2744552190012, -4.377911117435, 41.99635079904 +5056, -0.5086017300731, -4.469400046144, 41.54479542127 +5057, 1.299660673832, -4.307352265719, 41.81001867422 +5058, 0.5166037247578, -4.398841194428, 41.35846329645 +5059, -3.991078964248, 1.992324755668, 41.58033092959 +5060, 1.848559183098, -4.018311260156, 5.471644958867 +5061, 1.473406654758, -4.250051143484, 20.98521601868 +5062, 0.7067134013524, -4.36803477402, 20.5126240894 +5063, 3.493486365606, -2.813145217528, 6.234955270266 +5064, 2.842657423036, -3.458001604608, 6.361845041328 +5065, 3.44502046983, -2.88069623364, 7.09424857978 +5066, 2.301171562806, 3.81759704131, 24.99437726145 +5067, 0.04222767344553, 4.497564013381, 23.65409821298 +5068, -0.7316995240338, 4.405085235526, 24.07719005214 +5069, -4.335471806822, 1.205650809182, 7.204460736583 +5070, -4.405999302997, 0.227875210896, 7.182010479946 +5071, 4.269558811352, 1.346620675208, 3.679812269855 +5072, 4.03863417245, 1.979282243016, 3.753642936768 +5073, 3.304187476694, -3.043044603716, 29.22326466448 +5074, 4.284762367493, 1.31158104455, 2.712750868838 +5075, 4.053837728591, 1.944242612359, 2.786581535751 +5076, 1.649054822785, 4.186079330544, 29.18089707895 +5077, 1.638749984633, 4.189911349454, 30.07259553124 +5078, 2.30602554094, 3.81921285529, 29.63055094887 +5079, 4.236037250281, 1.506650572614, 28.53749454462 +5080, 4.235596521455, 1.507725316589, 29.44124323091 +5081, 4.385363798392, 0.7483579018905, 28.95088273068 +5082, 3.895130587869, 2.205304521299, 2.011695221617 +5083, 1.608443437333, 4.202243825171, 25.49602231801 +5084, 0.8119769861469, 4.345262146557, 25.06276939558 +5085, 0.8365281009959, 4.354605927815, 25.92393770449 +5086, 0.0400616498097, 4.4976242492, 25.49068478207 +5087, -2.236482371385, 3.890828459447, 25.94813266059 +5088, -2.817848732482, 3.352887366332, 26.37016628841 +5089, -2.255775641255, 3.877849302216, 26.82271804315 +5090, -3.731836084187, -2.492039868778, 37.12175000841 +5091, 0.8784509993465, 4.342528012067, 29.61666904107 +5092, 0.07208168393124, 4.497469291705, 30.19279671859 +5093, 4.548640433101, -1.04729868915, 0.4458685054044 +5094, -3.357101366792, 2.987791953439, 45.33615570891 +5095, -3.04988177491, 3.298640572927, 46.10246139382 +5096, -2.656814923964, 3.547910625087, 45.30940816371 +5097, 1.710318642983, 4.158277119597, 32.08857481935 +5098, 2.510725572734, -3.727718004858, 47.77731335139 +5099, 1.435260135321, -4.253809223644, 48.4119684593 +5100, 1.67555466184, -4.131889346395, 47.76585833043 +5101, -2.707478965434, 3.591486888584, 46.85388029373 +5102, -3.011691194703, 3.328873089758, 44.64029276894 +5103, 2.138933673235, 3.929722790571, 9.071325116373 +5104, 2.813934473254, 3.485720113869, 9.454600452536 +5105, 2.146433656989, 3.926723189739, 9.930493979666 +5106, 1.361112076754, 4.278742618336, 10.40077986619 +5107, 0.5785051231687, 4.422932369465, 10.86621951642 +5108, 1.253166262411, 4.303591688759, 9.446049764664 +5109, 1.245666278656, 4.306591289591, 8.586880901371 +5110, -3.894881362449, 2.095605626539, 23.60802606829 +5111, -0.786666010778, -4.422715432657, 47.62570375183 +5112, 0.1264290295908, 4.492209887132, 13.07073679177 +5113, -0.7731743045801, 4.395036080942, 13.14146937209 +5114, -0.1583414352385, 4.497158283018, 12.29648713229 +5115, -4.426235595719, 0.6362927374113, 25.49017070004 +5116, 3.399556864893, 2.919202579723, 41.93862585536 +5117, 0.6628105741732, 4.350079728114, 39.1497990787 +5118, -3.741508635367, -2.476232952111, 44.45016055107 +5119, -4.189725457852, -1.628944496393, 44.49085501734 +5120, -3.932250247963, -2.052315562043, 45.23926142513 +5121, -1.557390709235, 4.203269936591, 36.65900765353 +5122, -1.621465319954, 4.170606516346, 37.61452701228 +5123, -0.7797670814522, 4.402962610663, 37.22556642167 +5124, 2.215091684793, -3.866554838511, 25.99154080101 +5125, -4.310743804925, 1.264589310171, 37.97393295897 +5126, -4.45161163596, 0.4273811047497, 38.21847245482 +5127, -4.495245258232, 0.00392599404953, 12.10152884002 +5128, -4.407966793111, -0.4877390698279, 11.36915229234 +5129, -4.451934358222, -0.5758655799054, 12.81169201195 +5130, -4.364655893101, -1.067530643783, 12.07931546427 +5131, -4.471438530349, -0.2705459300648, 9.694102711516 +5132, -4.495676009163, 0.1970129679598, 10.52410184132 +5133, 4.5, -1.102182119233e-15, 4.5 +5134, 4.362667897164, -0.8171905577699, 4.007773779785 +5135, 0.7765348391076, -4.339430793177, 15.95697021128 +5136, 0.006708012898309, -4.495357502865, 15.52203444202 +5137, 1.488648077863, -4.240703934153, 10.18037854491 +5138, 1.430353349858, -4.257520344559, 9.243869647676 +5139, 0.7492080477003, -4.393282299314, 9.704161877511 +5140, 0.6909133196956, -4.41009870972, 8.767652980274 +5141, 1.535494017984, -4.229746984604, 18.1948256976 +5142, 2.20943598028, -3.866585628478, 18.66019364634 +5143, 2.220655254263, -3.798625394363, 17.76106456774 +5144, 1.590394096057, -4.209550021741, 15.52373107002 +5145, 0.8205672698472, -4.365476731429, 15.08879530076 +5146, 3.466527288735, 2.843097288133, 23.1921334522 +5147, 3.473238435843, 2.833444025085, 24.07912867656 +5148, 2.882520245887, -3.44107408645, 11.98039693525 +5149, 1.493589808912, -4.244178473457, 19.12011387356 +5150, 3.916298592531, 2.153351878398, 32.54041659688 +5151, 3.908367421785, 2.164698833767, 33.43048176536 +5152, 4.248277082039, 1.476284256482, 32.98053048592 +5153, 1.006444889377, 4.365279757691, 43.97947588394 +5154, 4.5, -1.102182119233e-15, 28.5 +5155, 4.398238773561, -0.7060104708775, 27.15553668227 +5156, 4.398238773561, -0.7060104708775, 28.05553668227 +5157, 0.2252346311406, 4.483761101698, 46.01054720681 +5158, -2.251678507079, 3.883608327645, 25.00215691203 +5159, -1.545854303777, 4.208592923169, 24.57377267811 +5160, 2.08378196895, 3.92227362988, 42.03594264528 +5161, 1.395087356419, 4.27817640316, 41.57182836437 +5162, 3.89308100293, -2.212241041104, 5.74806983944 +5163, 3.844615107154, -2.279792057216, 6.607363148954 +5164, 4.5, -1.102182119233e-15, 7.175 +5165, 4.374708523736, -0.7815109898736, 7.545179731808 +5166, 4.5, -1.102182119233e-15, 8.025 +5167, 3.452309619537, 2.854434824964, 16.0550452607 +5168, 0.04190433303391, 4.497555619578, 24.60665458153 +5169, -0.7320228644454, 4.405076841723, 25.02974642069 +5170, 0.01304848883432, 4.495810960748, 16.44809727916 +5171, 0.600120884911, -4.375684726325, 34.71323820557 +5172, 3.45657780769, 2.850044383945, 17.8238824149 +5173, 2.923916644239, 3.409976922165, 17.38590905071 +5174, 3.452768319169, 2.853772079449, 16.93388268536 +5175, 3.398334283307, -2.923401734784, 36.64339392073 +5176, 2.859761423764, -3.458592756671, 37.05250634833 +5177, -0.2293119442062, -4.494088154251, 31.32426130424 +5178, 0.3902081603642, -4.445389403838, 30.44489577575 +5179, 2.932579024315, 3.403290638576, 18.2685214035 +5180, 2.292035215671, 3.824732601655, 24.10756118594 +5181, 1.621833974698, 4.196817811789, 24.54722223254 +5182, -3.696207397422, 2.564290844123, 0.7535406442625 +5183, -4.125324700706, 1.797662717128, 0.8254035545018 +5184, -0.9478482649837, 4.308974767977, 11.88116270492 +5185, -0.1351812846613, 4.497711294404, 11.45884833054 +5186, -1.035389998882, 4.291297228567, 11.34822858177 +5187, -3.925512100299, 2.015209683679, 22.79670614822 +5188, -3.926706083645, 2.050888928387, 21.84076109402 +5189, -4.306478337734, 1.295952299988, 22.33034720873 +5190, -4.438438788996, -0.6819416887846, 35.26537451071 +5191, -4.438490182241, -0.6817171258072, 36.20084063451 +5192, -0.7699264114503, -4.429316533594, 5.356680382423 +5193, -0.4711764151976, -4.473013596086, 4.602536873952 +5194, -1.223384327175, -4.268202209544, 4.667288594197 +5195, 2.943319602073, 3.39279994047, 20.94759994092 +5196, -0.7094719132775, 4.406685045479, 30.64233191521 +5197, -3.050181600083, 3.265051857522, 14.56893763744 +5198, 1.556758617082, -4.221651160406, 12.91619485294 +5199, 0.769743032504, -4.355445573442, 12.41714805608 +5200, 0.8641181439965, -4.361102160741, 13.34924093737 +5201, -4.442296618336, -0.2548433483825, 37.01794880347 +5202, -4.400255085997, -0.9404301541829, 37.07538548206 +5203, 3.786634233391, -2.32731682989, 46.05090534983 +5204, 3.411888267883, -2.932616207464, 46.49473660388 +5205, 4.232403495421, 1.51243745612, 19.59053161648 +5206, 3.906756837026, 2.187414179323, 19.15184004979 +5207, -2.286787334609, 3.865835466374, 18.67284465578 +5208, -1.574295942099, 4.193843108699, 19.14795476131 +5209, -1.585674967785, 4.19061676488, 18.25470939877 +5210, -0.7676412340134, 4.404707841935, 18.66840022889 +5211, -3.671193486646, 2.599090439946, 47.64712833326 +5212, -3.33760015045, 2.943971668622, 46.86798639117 +5213, -2.470610620534, -3.742262680354, 25.2768977556 +5214, -2.40460647976, -3.791598038532, 26.36866626505 +5215, 2.924619067663, 3.411634002176, 36.03093917986 +5216, 3.449476824719, 2.855117217665, 36.4776221531 +5217, -3.408749797977, -2.81418256986, 46.8007703573 +5218, -3.734199497365, -2.489032288117, 46.02439606481 +5219, 4.225333156611, -1.532090233646, 28.44745492483 +5220, 4.237998914761, -1.490410000998, 27.59093133919 +5221, 4.385573015412, -0.7476907035255, 28.9120602679 +5222, 0.4909690823084, 4.349648942611, 41.05267553353 +5223, 2.122761722384, 3.915970649162, 4.625153369841 +5224, -4.116842962884, -1.692323756382, 36.70519219592 +5225, 4.170353981045, 1.240791520345, 48.39776567846 +5226, 4.676171202316, 0.3044561771845, 48.696468537 +5227, 2.867847635185, -3.45206411348, 20.07151110964 +5228, 3.422256928398, -2.898043464987, 20.5249060367 +5229, -4.433094458427, -0.7448885037916, 7.183205896019 +5230, -3.520561445228, 2.802762801576, 16.88948332143 +5231, -3.875745417476, 2.194363393322, 16.49641294623 +5232, -3.765420184815, 2.416031151435, 6.382296805395 +5233, -0.112624322732, -4.495004519231, 5.26178240621 +5234, 0.4184557294125, -4.432144909956, 4.703892230351 +5235, 0.06269390279165, 4.496710224238, 22.76321013393 +5236, -3.630366110325, -2.656720193007, 20.33636261322 +5237, 1.329019606025, -4.297543404249, 40.90371638992 +5238, 0.6388961775812, -4.391949632229, 40.24450774313 +5239, -0.1735197036859, -4.493247422409, 40.69925464966 +5240, -0.001037108023815, 4.49635230998, 35.8577449964 +5241, 0.7729295628134, 4.344127203974, 35.42970497267 +5242, 0.01257036182807, 4.495828086097, 34.9782183596 +5243, -4.26406597761, -1.232737583935, 3.150700856402 +5244, -3.962562843244, -2.129894601213, 3.153484655425 +5245, -3.517439418046, 2.804430735195, 23.2075264504 +5246, -3.364439948028, 2.9336465726, 3.126873911466 +5247, 3.319216394268, -3.037011207307, 0.6106191890042 +5248, -1.77038312881, -4.136496119474, 8.857997240736 +5249, -2.331087233778, -3.791213716404, 8.471086304717 +5250, -3.727914603803, -2.492345829936, 3.957662594831 +5251, -4.121013013288, -1.697008424981, 3.958562090184 +5252, -0.9528846072161, 4.306605564681, 12.73052770907 +5253, -1.853093321436, 4.100191498844, 12.6199079603 +5254, 4.380989207902, -0.7621616572981, 10.30851808292 +5255, -3.461496868741, -2.874013669358, 45.23109702309 +5256, -3.448213219215, -2.890707671518, 4.722550854482 +5257, -3.695579156086, -2.502536474391, 5.4965667931 +5258, -1.577767347701, -4.187019611754, 28.6064094587 +5259, -1.596195685521, -4.177311064512, 27.72151387741 +5260, -2.470846968094, -3.735304052825, 22.40175397377 +5261, -2.494006028169, -3.723195790189, 23.30332813371 +5262, -4.166437286385, -1.686806962413, 8.73466025006 +5263, -2.047484763321, -4.00597895302, 48.39293776006 +5264, -1.608430999906, -4.190032274183, 49.17977772488 +5265, -1.172896163781, -4.283940955037, 48.37520712942 +5266, 4.387878238461, 0.7402955614391, 39.66727191161 +5267, 4.226806472386, 1.529263308423, 34.73944113104 +5268, 4.384798974421, 0.750155884866, 34.31635525882 +5269, -0.009085190476755, 4.495971622399, 36.82696527106 +5270, 0.002454493757492, 4.495531842675, 37.70325244529 +5271, 0.7488499154304, 4.349584170636, 37.27957583239 +5272, -3.840620618554, 2.334423260173, 43.78776324747 +5273, -4.056153723506, 1.94058981745, 44.53127179313 +5274, -0.9518708388829, -4.323905682775, 10.94628651583 +5275, -0.01926805643435, -4.499736098528, 11.12852616803 +5276, -0.3323630660229, -4.481508812285, 10.17051414935 +5277, -1.675114061695, -4.176549233918, 10.46228285586 +5278, 0.8027950348877, -4.335789729575, 14.18821498184 +5279, 1.601858600442, -4.205234233815, 14.65659018404 +5280, -4.011683720177, -1.852258776174, 25.81294090776 +5281, 2.947391470271, 3.389131263625, 24.56319009957 +5282, 4.382124117358, -0.7586070718777, 11.18055082989 +5283, 4.382124117358, -0.7586070718777, 12.03055082989 +5284, 4.223969589033, -1.535280722571, 29.37291215875 +5285, -1.773677300296, -4.109870169075, 42.73533392095 +5286, -2.609331386388, 3.655716034507, 40.45103248765 +5287, 3.48961716754, 2.818038504028, 31.31226467148 +5288, 3.591557840504, 2.704420465731, 32.1003738562 +5289, 3.464074182045, 2.839148136668, 18.70823993357 +5290, 0.01652894361889, 4.495664329183, 15.56647269702 +5291, -0.7090883699763, -4.428859243314, 39.22181739397 +5292, -1.466937260971, -4.222474489818, 39.6299514878 +5293, -1.543542029386, 4.209827375052, 20.93828780447 +5294, -1.560901329782, 4.201421663466, 21.85320140478 +5295, 4.376423300974, -0.776281066747, 22.73901595527 +5296, -0.7741007358857, 4.404560206855, 38.08676567212 +5297, -4.358402934326, -1.109895063497, 20.2238451724 +5298, -0.8917900713448, -4.379194665143, 3.813106679422 +5299, 4.390207852786, 0.7327389852342, 23.6117564595 +5300, 4.5, -1.102182119233e-15, 24.05 +5301, 4.5, -1.102182119233e-15, 40.075 +5302, -2.291030616354, 3.86299443125, 19.56989057148 +5303, 2.813160197864, 3.486493673833, 10.33906390123 +5304, 2.875804202881, 3.442742068187, 11.21261525204 +5305, 4.231606009822, -1.516031949209, 12.49328832782 +5306, -2.350628810059, -3.825484923805, 16.69394971898 +5307, 4.226634505248, -1.532611809082, 8.94000169305 +5308, 4.225266876446, -1.535879875585, 9.826005758878 +5309, 0.02150370429256, -4.496032227189, 14.62042009856 +5310, -2.30040821158, 3.858925381915, 17.77709875917 +5311, -2.348973561699, 3.825647191835, 16.84852924503 +5312, -1.599295844756, 4.18370668042, 17.35896350216 +5313, -3.508698142436, -2.817291462368, 31.36989807251 +5314, 1.514943344593, -4.236551888629, 32.6146773052 +5315, 4.5, -1.102182119233e-15, 33.875 +5316, 0.6630859326579, -4.366322570489, 37.50436077007 +5317, 1.501336346821, -4.241298488883, 37.05001092277 +5318, 2.285411353003, 3.827624427908, 27.75835266601 +5319, -4.49689396828, 0.0878913667693, 47.64787308713 +5320, -4.436824254021, 0.5257934869217, 46.84022290793 +5321, -0.7285004963142, 4.406272536669, 29.60224132397 +5322, 3.848572866578, 2.265749773392, 7.557757746562 +5323, 3.835870602883, 2.282589050737, 8.493449159873 +5324, 3.406862406864, 2.920768524154, 7.160960790015 +5325, 3.39416014317, 2.9376078015, 8.096652203325 +5326, 3.433164779855, -2.876687260425, 17.78994829917 +5327, -1.918090932745, -4.067311547946, 33.34752316468 +5328, -2.07856171817, -3.991179544904, 32.26253777009 +5329, 2.273434306242, -3.771718860801, 16.01392210794 +5330, -3.968970658083, 1.938017893512, 34.76103947522 +5331, 1.628208070984, 4.194671550436, 28.19940956327 +5332, 2.285178789139, 3.827805075182, 28.64906343319 +5333, 3.459339974398, 2.848132900095, 26.80196038437 +5334, -2.439343913437, -3.759941111845, 21.3550761624 +5335, -3.136649384683, -3.182022917932, 21.90288386341 +5336, -1.724041499831, -4.14288705755, 20.91771319569 +5337, -0.9284137026438, -4.275461511745, 20.44333443139 +5338, 4.226270029033, -1.531173411746, 25.86473862013 +5339, -3.058667508943, -3.292852208208, 40.62388699062 +5340, -3.623910863235, -2.606026279978, 40.61033590038 +5341, -2.399619038472, -3.78996080366, 0.8056329969234 +5342, 2.917497442572, 3.417152762647, 35.15933772306 +5343, 2.261673472968, 3.839344494846, 34.56883484286 +5344, -2.614749049513, -3.640015966995, 41.15476043497 +5345, -2.225779009457, -3.910947805906, 41.97492076279 +5346, 4.5, -1.102182119233e-15, 25.85 +5347, 4.38400524647, -0.7526745543748, 26.30381972439 +5348, 4.220353821083, -1.551961141658, 8.026663341934 +5349, 4.212568463909, -1.570352444355, 7.080711463037 +5350, 3.852400464327, -2.261400754519, 7.553315027852 +5351, 1.617718773908, 4.198571693793, 27.30900625856 +5352, 1.610430971452, 4.201510833811, 26.38128330644 +5353, 2.253121052233, 3.784466535413, 35.59468838151 +5354, -4.445623953486, -0.5866942423141, 34.19806860949 +5355, -3.947275070638, 1.971812801502, 33.83615399924 +5356, -3.9260612483, 2.028112668599, 32.90122526707 +5357, 3.894727385136, 2.208993561947, 17.3695702073 +5358, 3.899260462671, 2.1983104266, 18.26748253112 +5359, 4.232018454111, 1.513685180218, 18.69772238905 +5360, -0.5882486691131, 4.43795097399, 10.48400245388 +5361, -1.553336571618, 4.205131035271, 31.01011782846 +5362, -2.724134724591, -3.454400236996, 31.78605121381 +5363, -3.371919209822, -2.971239675071, 32.48615228009 +5364, -2.726346203401, -3.508018982978, 32.96263883638 +5365, 4.226341190617, 1.530740872842, 35.62894226564 +5366, -3.985065222152, -1.91251197269, 29.09185665325 +5367, -3.973537062122, -1.903156028084, 28.80120732489 +5368, -3.902842783573, -2.200051806315, 13.14893062576 +5369, -3.57196185818, -2.723356197052, 13.67748680431 +5370, 2.759699606012, 3.551626587836, 2.436673114615 +5371, 2.384117847834, 3.779078268621, 3.208265760123 +5372, 3.052597767034, 3.299993290645, 3.213966800755 +5373, -3.18321364635, -3.151934363356, 42.83990935819 +5374, 4.344780505026, -0.7725185358775, 44.13561665829 +5375, -0.1458961181558, -4.495327556878, 39.76471921268 +5376, -1.613593580759, -4.157800202192, 5.362204602622 +5377, -2.067051496483, -3.996685878141, 4.672812814397 +5378, 4.382523381335, -0.7573521884776, 41.52142050004 +5379, 4.382523381335, -0.7573521884776, 42.37142050004 +5380, 3.873287068762, 2.243204102718, 41.48662008513 +5381, -4.430606464471, 0.243578102283, 34.80812752963 +5382, -1.84246901571, 4.074168916941, 40.3281013075 +5383, -4.347061397675, 1.157949916579, 35.1948408095 +5384, -4.352854991896, -0.7470122365086, 8.851076031147 +5385, -4.30768118416, -1.271468179819, 7.977386977178 +5386, 3.597766029889, 2.578379393331, 3.757054225476 +5387, 3.612969586029, 2.543339762673, 2.78999282446 +5388, -3.054098327692, 3.224448836263, 8.915651383309 +5389, 1.23916471093, 4.307928014483, 7.511349172737 +5390, 2.106215431892, 3.950410176241, 7.25052711103 +5391, 4.237784743632, 1.498772146454, 22.27632881694 +5392, -1.342429526948, -4.209444090086, 41.88502368176 +5393, -2.285299039889, 3.856262374924, 8.46924730821 +5394, -1.333231518117, 4.264450407723, 8.196342590592 +5395, -2.180038289371, 3.901738996769, 7.672724663371 +5396, -1.227970767599, 4.309927029568, 7.399819945752 +5397, 1.586891793809, 4.210743812529, 20.94585461886 +5398, 0.8020039452421, 4.344935131979, 21.40172803587 +5399, 0.8264753373596, 4.362690099632, 20.48395389667 +5400, 0.04158748879223, 4.496881419082, 20.93982731368 +5401, 2.934919308498, 3.399288729611, 21.83544382516 +5402, 0.9487566610168, 4.310933715415, 32.5302940856 +5403, 2.238162185105, -3.876851305465, 8.890311796244 +5404, 1.45965904886, -4.245083786666, 8.411897922057 +5405, 2.208856486104, -3.889287863358, 9.722283521863 +5406, 2.110590645991, 3.974333437117, 47.62069604556 +5407, 1.786590425056, 4.110543036968, 46.67743226833 +5408, -4.23613791955, -1.509110178173, 11.31328134452 +5409, -2.467701104919, -3.741127177168, 44.41841694658 +5410, -0.7035129111314, -4.429232454542, 38.32138174985 +5411, -0.864155341047, -4.385734571013, 37.54838200911 +5412, 4.210733940473, -1.57736467775, 32.07096737389 +5413, 4.211466646421, -1.57564207176, 32.92937436973 +5414, 4.370668883987, -0.7936806930339, 32.49452942035 +5415, -2.590550090121, -3.638518637573, 34.05431989695 +5416, -4.408502939771, -0.9012676432683, 13.68909353482 +5417, 3.917344040948, 2.150665962248, 31.66278383907 +5418, 4.249322530456, 1.473598340332, 32.1028977281 +5419, 3.876987741405, -2.228790148144, 11.11068021531 +5420, -4.451341079991, -0.4603573158851, 32.29044767564 +5421, -4.447495165393, -0.5784398833236, 33.26417760331 +5422, 4.248068091327, 1.476948976458, 33.86100550726 +5423, 4.363269116906, 0.7267930915919, 33.41965024844 +5424, -3.859557388844, 2.240476693892, 45.32695446424 +5425, 3.849627704084, -2.265125539113, 8.427050948342 +5426, -4.410552857808, 0.6891909641208, 11.45331352477 +5427, -4.156256968746, 1.687307192228, 11.67917950574 +5428, -4.311214430455, 1.289527910338, 10.72229811263 +5429, 4.398072841837, -0.6303328383316, 3.216915424353 +5430, 3.834877421744, -2.289822881758, 32.50231073891 +5431, 2.742985587687, 3.563770175562, 3.894770483674 +5432, 3.313866310777, 2.991558565266, 4.139830976437 +5433, -2.491780909551, -3.727723047615, 42.83794371692 +5434, -3.823789438638, -2.364782279299, 42.93961696083 +5435, 3.367021858266, -2.9330944806, 5.231303344092 +5436, -1.183077812321, -4.27930897841, 45.14856946198 +5437, 4.221674302718, 1.548422439104, 8.960894669713 +5438, 4.376983698869, 0.7745634223927, 7.561572751017 +5439, -3.073371473877, 3.281084171068, 0.8390822069888 +5440, 0.5657774405402, 4.422661685951, 9.995295349368 +5441, -0.6009763517416, 4.437680290476, 9.613078286831 +5442, 2.922632496172, -3.411448166073, 16.46703792621 +5443, 0.8883668554505, 4.389139296053, 46.6240697417 +5444, 0.6177674995062, -4.413038014726, 48.39486997653 +5445, 1.137724099803, -4.353593262568, 49.17552198514 +5446, 3.973648816299, 2.054692250647, 46.48673564899 +5447, 4.228968148701, 1.537878343175, 47.01883647175 +5448, -1.727803720065, -4.142590873017, 22.89134500629 +5449, -0.9347715685608, -4.360473060249, 23.38283891378 +5450, -1.75096278014, -4.130482610381, 23.79291916623 +5451, 0.7749289933687, -4.330771370741, 27.03490069077 +5452, 4.045209269563, 1.937151805771, 47.85190835851 +5453, 3.745948178307, 2.354374579025, 47.12963423609 +5454, 3.511346955883, 2.802377259911, 47.77945312521 +5455, 4.240503556124, -1.484509328248, 26.71645557802 +5456, 3.836146458966, -2.326594219481, 0.7615618808235 +5457, -2.266295267838, -3.872078132889, 13.98281166395 +5458, -4.256767390597, 1.423010596726, 16.98986707495 +5459, -4.253356251127, 1.436622599292, 16.05417975979 +5460, 2.101486198823, -3.973971658817, 46.92423129188 +5461, 2.948955590305, -3.312540136181, 46.85128030211 +5462, 4.247682177214, 1.47879838818, 31.21071554085 +5463, 1.013318618212, -4.380528018306, 47.67412200728 +5464, 0.1563180598207, -4.492385227242, 47.56589704542 +5465, 1.57411184517, 4.215412036499, 20.05796895763 +5466, 4.22509653062, -1.535120913444, 41.93423229581 +5467, 4.5, -1.102182119233e-15, 15.2 +5468, 2.166802829227, -3.898747716827, 22.31714310363 +5469, 3.915067296062, -2.178350825172, 27.21633871569 +5470, -1.055606288835, -4.334152363428, 9.686510489378 +5471, 2.996681642899, 3.345301866253, 46.1594741805 +5472, 3.306231619346, 3.050988387733, 46.96325749132 +5473, 0.8159305675578, 4.344579384883, 26.87713804593 +5474, 0.8569640136409, 4.351147297891, 27.74087880564 +5475, 1.632049986764, 4.193029818044, 23.65964128422 +5476, -1.618435756091, -4.186896946034, 47.56582776991 +5477, -3.518189043156, 2.686672015186, 5.535833992924 +5478, -3.085582814464, 3.270636183276, 2.320642333525 +5479, -1.626544085283, 4.175743543551, 16.39584312085 +5480, -1.397603974677, 4.250763016107, 9.225756100827 +5481, 3.848260075282, -2.268393605616, 9.313055014171 +5482, 0.7929577527121, -4.40610397654, 7.900630534241 +5483, -1.796413514824, -4.125685624216, 7.869053558655 +5484, 2.86699781724, -3.455319729896, 39.79348807173 +5485, 3.419891728316, -2.89685027301, 40.16344005359 +5486, 3.401606575342, -2.914276444583, 41.08063875144 +5487, 0.7921515102889, -4.36511441388, 16.85589515875 +5488, -1.371566875792, 4.235607510279, 41.77569829373 +5489, 4.223372827322, 1.543229270686, 8.067108937016 +5490, 2.951452010688, 3.38506515917, 23.63990592554 +5491, 4.217988704362, -1.556432888537, 22.25890114132 +5492, 3.858422948624, -2.257407941163, 22.72831222312 +5493, 2.70353057121, -3.594783236237, 0.8405636532711 +5494, 2.34275164089, -3.826624703575, 1.638161024534 +5495, 1.94481811329, -4.057477131825, 0.7975973712628 +5496, -2.254763863285, 3.882784286142, 30.56303892308 +5497, 3.490040054002, 2.817429715167, 30.42035490391 +5498, 2.970075706325, 3.365920020108, 29.97997297066 +5499, 2.941942690232, 3.39438939569, 29.04899997776 +5500, -4.310727040825, -1.273614035781, 45.25113890863 +5501, 3.452039188602, 2.85860002623, 27.68945926054 +5502, 2.942175254096, 3.394208748416, 28.15828921058 +5503, 3.864070558785, -2.249666332231, 21.84143708113 +5504, 3.416946372551, -2.905454731481, 22.27684803668 +5505, 3.422593982712, -2.897713122548, 21.38997289469 +5506, -0.7786713992267, 4.401363403707, 35.42012274266 +5507, 3.463020746549, -2.85340786558, 9.792442553159 +5508, -1.718391183671, -4.14580573896, 21.83110110924 +5509, -0.9409576801142, -4.278257867524, 22.32447640383 +5510, 4.340065056486, -0.7836839847159, 31.67643795354 +5511, 4.419229842774, -0.630338772273, 49.38567565717 +5512, 4.212511916345, -1.515855234351, 49.38567565717 +5513, -3.497154704389, 2.83163962522, 28.7217600177 +5514, -3.882190737545, 2.152121131944, 29.12260726889 +5515, -3.50637852621, 2.819982660446, 29.62230591902 +5516, 2.611635768136, 3.598842340021, 46.88741630687 +5517, 4.383367611892, 0.7546912127382, 30.76869805022 +5518, 1.519420113733, 4.233805103538, 5.71459872814 +5519, 2.145226990391, 3.924289286034, 6.317768843828 +5520, 2.072021552379, 3.951569673255, 5.406907225504 +5521, 0.4707947489434, -4.449913475699, 5.74582557211 +5522, 1.162598137133, -4.344602590558, 6.101786122772 +5523, -0.08088903909013, -4.497478066418, 8.266627418319 +5524, -0.8881555025441, -4.339258631112, 7.712950721716 +5525, 2.126217055362, -3.830781860411, 23.28055549205 +5526, -3.122686026512, -3.206550615619, 3.941429236614 +5527, -1.11817960591, 4.347995511982, 5.843534813033 +5528, 4.2266991138, -1.531616180815, 11.56729828231 +5529, -0.274370211395, -4.481561303477, 9.251243503899 +5530, 4.387480135284, 0.7415784541278, 15.57493500229 +5531, -2.342909226933, 3.789407262801, 2.330837573991 +5532, -1.550218017756, 4.207890845807, 2.326806405993 +5533, -1.906077154965, 4.009238666652, 3.119211724179 +5534, 1.924593192638, 4.067007021554, 2.321444504104 +5535, 0.6806713095978, -4.363493747914, 32.14353731018 +5536, 1.515298368041, -4.236416770713, 31.68898126717 +5537, -3.036750927041, 3.302810676811, 43.1593583992 +5538, -3.298614111802, 2.975391272935, 43.8875829786 +5539, 0.7356259648149, -4.353971532085, 17.73393355105 +5540, -0.04272907641881, 4.498925619455, 5.424422162186 +5541, -0.712439068734, 4.392324135313, 5.136154920061 +5542, -0.1228640070281, -4.496670280696, 20.0329477248 +5543, 0.5939148865238, 4.386463877092, 4.808706788545 +5544, -3.644819742333, 2.633123049134, 46.10168070626 +5545, 4.219361960961, -1.553183309969, 21.37821171757 +5546, -2.792052244532, 3.373913181492, 28.21287078141 +5547, -3.494176952613, 2.835232045922, 27.78594549262 +5548, 0.7730236978809, 4.34410516442, 16.04465237372 +5549, -4.444755770396, -0.2276501572321, 29.59646564452 +5550, 0.8095707127781, 4.373547233122, 5.419452483458 +5551, 1.162338627285, 4.341816817056, 49.23617954692 +5552, -0.2112397801762, 4.493827489562, 1.57659861438 +5553, 0.2596086872378, 4.481287932322, 2.342081408854 +5554, 3.87355209479, -2.235549409058, 41.52238120182 +5555, 2.285009665564, -3.861222651711, 45.38618342219 +5556, 2.854022499613, -3.451062784805, 44.86291816428 +5557, 2.123512157489, -3.930335745111, 44.51773467808 +5558, 3.361804422001, -2.98620305031, 45.61484523587 +5559, 0.6494757654608, -4.422998183364, 45.20316570706 +5560, 2.904106345495, -3.397475941959, 45.74280953229 +5561, 2.5644188764, -3.594047730101, 46.56768759365 +5562, 2.217475936675, -3.891305356698, 7.943182645145 +5563, 2.859809156155, -3.446250693658, 7.464984242006 +5564, -2.933527383537, 3.349093706875, 18.2550305158 +5565, -2.948770210088, 3.330327365146, 19.17185225258 +5566, -2.27178270301, 3.874431887119, 31.56964430386 +5567, 3.872926733343, -2.237029262455, 40.61926758505 +5568, -3.000683100447, -3.181800472803, 25.92474730496 +5569, -4.32327211281, 1.227962485914, 36.99693318472 +5570, -4.444306631285, 0.6284186963326, 37.44793732322 +5571, 3.765177635958, -2.380547877188, 29.67637951833 +5572, 3.969617950183, -2.094454757297, 28.90403377345 +5573, -3.893976929159, 2.050808783296, 28.29143808111 +5574, -3.906720264709, -2.129729531138, 33.03982488756 +5575, -4.208131576579, -1.513840492704, 33.66046219203 +5576, -2.949450046112, 3.331915180754, 20.99160687853 +5577, 2.291466781781, 3.753362375558, 23.19198602381 +5578, 2.941279360876, 3.392930293321, 22.74981817243 +5579, -2.076877868773, 3.90573083733, 41.41214897159 +5580, -2.843740239451, 3.487277954896, 41.53508015174 +5581, 2.170135865419, -3.898151785362, 36.5810846914 +5582, -0.9891470513699, -4.283905059522, 8.422730255257 +5583, 4.5, -1.102182119233e-15, 20.5 +5584, 4.389033087575, 0.7365601852326, 20.04134685714 +5585, -0.2661804749621, -4.446349988474, 3.134303421422 +5586, 0.0297881957338, -4.489424864806, 3.843599548206 +5587, 3.41463619021, -2.904144561986, 39.28457022552 +5588, 2.872571481288, -3.451221885944, 38.86778950959 +5589, 1.959753902056, -4.050503288542, 2.524124681213 +5590, 3.876690413506, -2.229499257494, 10.24142043885 +5591, -1.141030275429, -4.295704494428, 1.598090958865 +5592, -0.7328905008819, -4.434286729857, 2.335931550172 +5593, -4.496677683, 0.07103789757843, 2.335759016143 +5594, 2.259850352065, 3.775341968359, 17.81574699384 +5595, -2.292421468923, -3.832279988649, 7.101919867325 +5596, -1.509150085005, -4.232925322024, 7.034107590348 +5597, -1.969734523788, -3.960007799009, 6.219685781652 +5598, -3.957363527221, -2.135334398192, 6.354938548435 +5599, -4.279506129443, -1.186120680871, 6.392867947253 +5600, -4.437180796023, 0.567571824211, 16.20752320712 +5601, 1.3198564266, -4.294789377977, 44.5515514037 +5602, 1.575573135027, -4.214258908062, 12.01056144602 +5603, 0.7523126395935, -4.35772835956, 11.58069328468 +5604, -3.095811160671, 3.255404634491, 42.27166855689 +5605, 3.306765519882, -3.040591408781, 30.14083792949 +5606, -3.644024283892, 2.634310136616, 44.58344591857 +5607, -2.425710304937, -3.770773401052, 37.74075981837 +5608, -2.837674271095, -3.377554168688, 38.56223362517 +5609, -1.595898516588, -4.197537553382, 2.365969961331 +5610, -2.076683526263, -3.992161280533, 31.34186086104 +5611, -1.378550634298, -4.231572259889, 30.60480689253 +5612, -1.040900125635, -4.270296270146, 31.75787696483 +5613, 2.255214476638, 3.840074065693, 20.50839615765 +5614, 2.314578840775, 3.812539963752, 30.51975773145 +5615, -1.167071980772, -4.342778807823, 6.133731085704 +5616, -3.924634926826, -2.078522954518, 7.904792022381 +5617, 2.192824865319, -3.799401171737, 19.60782214053 +5618, 2.171636299818, 3.8570025632, 45.94949014196 +5619, 2.272888087795, 3.836246746348, 22.30176994713 +5620, -3.517473500001, -2.806033851145, 29.52049667941 +5621, 2.909919029384, -3.423772196436, 17.33059512121 +5622, -0.4113743189848, -4.451307456739, 6.015925914681 +5623, 3.85774121614, -2.259015232015, 23.66764027771 +5624, -2.801190351067, -3.455117945609, 13.4173583947 +5625, -2.153937172811, -3.944409433507, 13.0538119399 +5626, 2.235628173259, -3.783976322928, 12.45184239824 +5627, 3.887339245886, -2.216481801215, 12.94016657764 +5628, -1.786519715681, -4.12062154547, 35.26593465883 +5629, -0.2085899403402, -4.494852066424, 35.15196884133 +5630, 4.5, -1.102182119233e-15, 32.1 +5631, 1.638709362654, 4.189926353395, 30.96244003835 +5632, 0.8673883073219, 4.342972570293, 30.51001790053 +5633, 2.834533680943, 3.485984641932, 42.4532340149 +5634, 0.2556673467075, 4.481763874391, 0.7567270412366 +5635, 0.8323400472391, 4.344867633034, 31.53856771587 +5636, -2.404938375072, -3.791421013119, 27.2764752664 +5637, -4.004686184177, -1.852667018372, 19.78552142938 +5638, -1.976389753927, 4.030971648685, 6.749944610462 +5639, 2.126512241028, -3.908217941376, 40.28309923429 +5640, 4.364314565322, 0.7241071754419, 31.66701749062 +5641, 3.91776692741, 2.150057173387, 30.7708740715 +5642, -1.530658168083, 4.215813054971, 25.51974842668 +5643, 3.897504767694, 2.193730431353, 28.102152889 +5644, 4.388648046266, 0.7378079093309, 19.14853762971 +5645, 2.274996919245, 3.763469687306, 21.38505840213 +5646, -4.446088839, -0.69384046623, 42.91629866661 +5647, 4.374855288517, 0.6963602854256, 47.67914268005 +5648, -2.354251720535, 3.793735674446, 42.22024809152 +5649, -1.434439956287, 4.225088312155, 42.84407747751 +5650, -0.05127329613238, -4.494454046806, 37.9429449379 +5651, 0.7204052649794, -4.373227144144, 18.64648184757 +5652, -0.1479255286101, -4.496140054756, 22.81597031131 +5653, 0.8225163386244, 4.341482546615, 23.22263207871 +5654, 0.6779196885686, -4.367554388595, 19.55209717253 +5655, -0.1401092978241, -4.496208830271, 23.8065554824 +5656, 0.6734136075914, -4.376587059093, 24.25882550407 +5657, -2.861246944109, -3.355052505905, 30.92570771974 +5658, -3.398911339272, -2.830411506283, 6.331770299795 +5659, 1.193836530891, -4.325960284974, 30.01604723688 +5660, 2.046056162867, -3.97738149342, 30.27554672969 +5661, 4.5, -1.102182119233e-15, 3.6 +5662, 2.155931227573, -3.909681341518, 32.08229356837 +5663, -2.899982095222, 3.387369753527, 25.49592436422 +5664, 3.409122275652, 2.906720110033, 5.210962561792 +5665, 2.838241552561, 3.478931720328, 4.965902069029 +5666, 4.385007965134, 0.7494911648904, 32.53588023748 +5667, 4.5, -1.102182119233e-15, 32.975 +5668, 0.8517613215849, 4.349111284809, 24.09110741849 +5669, -2.721138753033, -3.479821846063, 48.38907714534 +5670, -3.115427601495, -3.217433368223, 47.56848936575 +5671, 2.933077101524, -3.391512773031, 48.31429565519 +5672, 3.257013377885, -3.105128565949, 49.12731864909 +5673, 3.403428305964, 2.928403445359, 8.988653483625 +5674, 0.6912151930724, -4.393229808122, 10.62343252296 +5675, 4.375285174266, 0.7797565908105, 10.30535848371 +5676, -1.539202774559, 4.211050842802, 20.05557678326 +5677, -2.255937448814, 3.880202165353, 20.47751259343 +5678, -0.7790202596997, 4.401481498116, 17.77515486635 +5679, 0.7958832947958, 4.34371633137, 14.32576446764 +5680, 0.1149625911235, 4.491836717524, 13.92202175523 +5681, -3.497959913477, 2.828010494159, 25.01998404811 +5682, -0.7867194816796, 4.400982716127, 36.38934301732 +5683, -1.699313690575, -4.151134478292, 19.96203450329 +5684, 3.899707463201, -2.231982977785, 49.25144808578 +5685, 3.551805942048, -2.728810560688, 48.37876673487 +5686, -3.75326511436, 2.414763639529, 12.33424116549 +5687, -3.681611478837, 2.492948324615, 11.52563038307 +5688, -4.409775682064, 0.6466858377151, 6.401620744967 +5689, 2.304926526772, 3.741290165842, 33.78674766801 +5690, -4.338686859915, -1.175294155132, 19.26814497993 +5691, -2.953013491832, 3.327486330022, 20.06889816828 +5692, 3.442247709587, -2.884421018234, 7.967984500271 +5693, 2.929036175198, -3.406003054582, 12.88458723137 +5694, -3.901583418349, 2.03141000498, 17.38293745015 +5695, -4.311952448459, -1.257148130837, 15.51907183052 +5696, -1.595863790209, -4.177488089926, 26.81370487606 +5697, 3.46079630676, -2.843994783621, 13.33533966371 +5698, -0.5998391885341, -4.387150024149, 6.720761840918 +5699, -3.981783029918, -1.922991199718, 26.98467340807 +5700, -3.955327927433, 1.932249956761, 37.47757030069 +5701, -4.279790158265, 1.368229208824, 29.62254368252 +5702, 2.752759911845, -3.531878788819, 31.62603663647 +5703, 2.067948839311, -3.969193155027, 31.15316658515 +5704, -3.836568940546, 2.095169042725, 10.56874898996 +5705, 2.736358793197, -3.547692754943, 30.7492659007 +5706, -2.790053129569, -3.450485250617, 39.10767995855 +5707, -3.141583768942, -3.201093734247, 39.88695138946 +5708, -3.948688768754, 2.020779000251, 36.6165917049 +5709, 4.346525183362, 1.54524769753, 48.86923421546 +5710, -3.505455770289, 2.820958491475, 26.89656393362 +5711, -2.943382679063, 3.345920427359, 27.34911568837 +5712, -2.287251905914, 3.858843564815, 21.37433930891 +5713, -0.7780843290935, 4.401524085274, 16.87016696322 +5714, 4.176171202316, 0.3044561771845, 48.771468537 +5715, -1.044828725139, -4.332949502025, 40.84734459894 +5716, -2.837726140882, 3.345032909495, 30.09007260377 +5717, -3.912257548423, 2.051413236958, 24.62738050714 +5718, 4.595401045091, -0.3258825950885, 49.00714419417 +5719, -2.950535383198, 3.346152232003, 31.9595767628 +5720, -2.910334899089, 3.373389881659, 31.06434427014 +5721, -0.9343089779508, -4.360501281925, 24.2847294523 +5722, 4.233600334955, 1.514058627437, 30.33405855045 +5723, -0.8822144429368, -4.377343594806, 26.20356123063 +5724, 4.350232723063, 0.7593674146989, 29.86536050023 +5725, -3.370777743063, 2.908241039415, 41.57255227384 +5726, 4.377726076993, -0.7722814919373, 6.692847884339 +5727, -4.129721436761, 1.787568376478, 49.19655092331 +5728, -2.02711889709, -4.015469224589, 1.581670192526 +5729, -1.58596440795, -4.200650580091, 0.7760371956031 +5730, 3.90480555349, 2.183263305218, 27.21465401282 +5731, 4.232546871131, 1.515004397281, 12.54049432157 +5732, -2.940984352073, 3.345970888354, 29.19406047863 +5733, -3.511913960569, 2.811662578665, 24.10385918005 +5734, -4.08376428376, -1.728372850249, 22.85854012436 +5735, -3.001177135889, 3.350354563238, 5.40723244741 +5736, -3.248408277548, 3.079713699487, 6.253695259882 +5737, 3.390465235504, -2.939681087546, 32.0695468273 +5738, 4.71281807696, -0.1562689923667, 0.4458685054044 +5739, -3.52329389938, -2.776942884087, 12.81751399098 +5740, -3.556890305053, 2.754356216578, 15.09056617856 +5741, 4.354112860184, 0.8415180577494, 46.6396937917 +5742, 2.190961905167, -3.801739460192, 37.5214325797 +5743, 3.374064116855, -2.95549505367, 31.19277609153 +5744, 1.507497096949, -4.238918881919, 20.03177353713 +5745, 4.442509832087, 0.5330532057467, 3.276269827198 +5746, 4.404642535984, 0.6838817691219, 4.011769778542 +5747, 2.787501382556, 3.514530744422, 5.747655924692 +5748, -4.134012708596, -1.738778708575, 0.8189200619064 +5749, 3.888264687611, -2.216510821859, 18.27129998803 +5750, 4.238052601494, 1.497898958488, 23.15939844028 +5751, -1.402370639774, -4.24678043892, 12.91532152295 +5752, -4.110951856205, -1.694102221112, 7.145276497202 +5753, -1.878656522014, -4.072993545967, 41.18757285943 +5754, -4.451152384503, -0.3623719954687, 18.70482134024 +5755, -3.408956389832, -2.805445680853, 3.150263744622 +5756, -4.436506202634, -0.7242396134676, 23.29900765954 +5757, 3.8571459712, 2.289688773857, 0.7502141799767 +5758, -2.30461120631, 3.850437853229, 22.28925290923 +5759, -2.727342374853, -3.468123282414, 4.697311608593 +5760, -3.542432082775, 2.774702419817, 20.49202538043 +5761, 0.584639158402, -4.393954124992, 32.95825453287 +5762, 0.6595344048284, -4.371148717463, 25.1110837047 +5763, 3.878178191302, 2.225514959249, 5.622820817415 +5764, -3.884015357911, 2.142795267854, 27.32973843536 +5765, -4.305071034942, -1.300654833496, 1.574954975632 +5766, 1.4627958891, -4.251222069154, 11.07559963961 +5767, 1.215729207335, -4.317771946581, 30.89366709233 +5768, -3.514899445696, 2.807768082657, 31.49266249512 +5769, -3.926572990269, 2.004280344431, 31.99335751259 +5770, 2.535512948084, -3.61747802065, 3.189797191447 +5771, 4.442509832087, 0.5330532057467, 2.351269827198 +5772, -4.145382328467, -1.72654693265, 47.64684905771 +5773, -3.118758282481, -3.209393882374, 49.23189555875 +5774, -4.413307718275, -0.8367004541942, 2.398489281398 +5775, -4.161469921694, -1.710758436628, 12.17168254771 +5776, 2.815043370011, 3.487872431935, 6.674808550853 +5777, -1.591179249992, 4.207150382778, 5.160716883924 +5778, 4.5, -1.102182119233e-15, 2.675 +5779, -2.520102348178, 3.706445909558, 6.188845357862 +5780, -2.230450233455, 3.84734427893, 5.318636284922 +5781, -1.880831364715, 4.066252013406, 6.030925956864 +5782, -1.538644992098, 4.202693997125, 0.7459794219473 +5783, -1.070882404537, 4.279460404314, 1.56585099509 +5784, 1.720833554241, 4.154366652171, 32.98339272825 +5785, 4.340797762433, -0.7819613787266, 33.40984494938 +5786, 0.3811021488919, -4.444848923782, 31.34822313533 +5787, 4.388279315218, -0.7390006173896, 43.24422634186 +5788, 0.9206737391797, 4.353167050587, 13.48090650738 +5789, 4.211740796376, -1.574822734702, 33.88151182051 +5790, 4.385504124273, 0.7479104712971, 13.86578411667 +5791, 3.834398916715, -2.29045547472, 33.42167277127 +5792, -4.422516147654, -0.7998514077034, 3.95577829116 +5793, -0.642162220694, 4.437533592424, 0.8198715731429 +5794, -2.952464075048, 3.344841003333, 22.78884001091 +5795, 3.371307119095, -2.976334904354, 47.38826260591 +5796, 2.209077662006, 3.882971584093, 10.80404533048 +5797, -0.7302442201487, 4.405578845579, 25.89880866939 +5798, 3.867671195238, -2.244323551431, 39.74039775698 +5799, 3.251182979811, 3.109512869253, 2.283824972748 +5800, -2.672196017344, 3.574189147799, 4.654971287525 +5801, 4.381648254743, 0.760099724168, 12.04880499239 +5802, 3.379320419409, 2.947426836641, 6.233808163853 +5803, 2.880745040693, -3.443288123005, 37.99424830721 +5804, -2.615870777583, -3.538614527041, 7.944743778257 +5805, 2.180082370344, -3.886984041281, 38.42372179762 +5806, -4.480303178239, -0.3310897605704, 6.379170488331 +5807, -4.495525648955, 0.129488620793, 5.536360283407 +5808, -4.367282374167, -0.8220414257732, 5.504664102949 +5809, 3.425673567083, 2.898715918768, 9.901850476116 +5810, 3.837016691585, 2.279830260365, 9.397448078607 +5811, -4.440461072771, -0.3183760916799, 4.776941299063 +5812, -4.289987895245, -1.269178902237, 12.93771666746 +5813, -2.982092733656, 3.315815516795, 17.32646100166 +5814, -1.104527014877, 4.307653959881, 4.626410466816 +5815, -2.706506838224, 3.528740154521, 7.007826315612 +5816, -1.017205139609, -4.335029636495, 39.91280916196 +5817, 0.7271324237347, 4.372196305191, 12.59538451227 +5818, 2.338538621114, -3.764301077918, 43.76901081323 +5819, 4.226401785902, -1.532325290165, 10.69803850585 +5820, 4.203476312024, -1.59777384448, 30.27963057583 +5821, -3.59119493197, 2.711548952837, 38.00957256389 +5822, -3.946610809462, 2.043888306247, 38.50593522216 + + +** Volume elements +*Element, TYPE=C3D10, ELSET=Evolumes +2085, 188, 242, 501, 168, 1521, 3935, 3936, 1337, 1471, 3937 +2086, 25, 526, 26, 137, 3938, 3939, 1007, 1165, 3940, 1166 +2087, 279, 210, 280, 678, 1603, 1605, 1607, 3942, 3941, 3943 +2088, 786, 769, 270, 715, 3280, 3944, 3945, 3279, 3225, 3946 +2089, 562, 114, 115, 29, 2575, 1101, 2576, 3948, 3947, 3949 +2090, 694, 293, 744, 743, 3950, 3951, 3147, 3145, 3952, 3149 +2091, 114, 562, 561, 186, 2575, 2577, 2573, 3954, 3953, 3955 +2092, 529, 115, 30, 116, 2483, 3956, 3957, 2482, 1102, 3958 +2093, 672, 272, 203, 673, 3959, 1582, 3961, 2933, 3960, 3962 +2094, 796, 841, 336, 795, 3459, 3963, 3964, 3405, 3460, 3965 +2095, 796, 337, 336, 841, 3966, 1782, 3964, 3459, 3967, 3963 +2096, 233, 661, 586, 585, 3968, 2903, 3969, 3970, 2902, 2669 +2097, 491, 467, 468, 976, 2294, 2192, 2295, 3972, 3971, 3973 +2098, 321, 804, 746, 745, 3974, 3334, 3975, 3976, 3333, 3155 +2099, 496, 873, 909, 915, 3977, 3679, 3978, 3979, 3693, 3692 +2100, 562, 167, 115, 583, 3980, 3981, 2576, 2660, 3982, 2627 +2101, 321, 745, 746, 696, 3976, 3155, 3975, 3983, 3151, 3153 +2102, 491, 980, 976, 468, 3984, 3923, 3972, 2295, 3985, 3973 +2103, 980, 970, 976, 468, 3918, 3897, 3923, 3985, 3986, 3973 +2104, 26, 574, 137, 526, 3987, 3988, 1166, 3939, 2637, 3940 +2105, 447, 906, 454, 404, 3989, 3990, 2145, 2122, 3991, 2144 +2106, 384, 868, 383, 335, 3992, 3993, 1930, 1928, 3994, 1926 +2107, 560, 166, 28, 561, 3995, 1241, 3997, 2574, 3996, 3998 +2108, 184, 558, 165, 25, 3999, 4000, 1325, 1285, 4001, 1240 +2109, 420, 840, 451, 888, 4002, 4003, 2136, 4004, 3610, 4005 +2110, 758, 296, 759, 817, 4006, 4007, 3194, 3372, 4008, 3373 +2111, 844, 837, 462, 891, 3473, 4009, 4010, 3621, 3620, 4011 +2112, 279, 782, 678, 280, 4012, 3263, 3942, 1607, 4013, 3943 +2113, 379, 331, 878, 330, 1914, 4014, 4015, 1913, 1764, 4016 +2114, 546, 98, 99, 13, 2527, 1085, 2528, 4018, 4017, 4019 +2115, 287, 221, 612, 313, 1625, 4020, 4021, 1717, 1704, 4022 +2116, 297, 687, 726, 711, 4023, 3197, 4024, 4025, 3042, 3273 +2117, 431, 430, 927, 468, 2073, 4026, 4027, 2191, 2190, 4028 +2118, 877, 826, 836, 438, 3575, 3446, 3576, 4030, 4029, 4031 +2119, 133, 606, 524, 607, 4032, 2720, 4033, 4034, 2869, 2723 +2120, 957, 975, 487, 977, 3896, 4035, 4036, 3900, 3920, 4037 +2121, 426, 947, 921, 952, 4038, 3813, 4039, 4040, 3817, 3816 +2122, 425, 947, 426, 952, 4041, 4038, 2058, 4042, 3817, 4040 +2123, 252, 695, 228, 322, 4043, 4044, 1496, 1736, 4045, 1734 +2124, 186, 166, 561, 28, 1316, 3996, 3955, 1290, 1241, 3998 +2125, 268, 199, 740, 689, 1570, 4046, 4048, 4049, 4047, 3137 +2126, 324, 231, 691, 229, 1742, 4050, 4051, 1741, 1446, 4052 +2127, 726, 241, 259, 647, 4053, 1533, 4055, 3101, 4054, 4056 +2128, 329, 819, 874, 328, 4057, 3566, 4059, 1758, 4058, 4060 +2129, 459, 942, 424, 954, 4061, 4062, 2169, 4063, 3823, 4064 +2130, 380, 379, 878, 911, 1918, 4015, 4066, 4067, 4065, 3682 +2131, 249, 593, 261, 295, 4068, 4069, 1553, 1644, 4070, 1645 +2132, 975, 463, 952, 968, 4071, 4072, 3933, 3924, 4073, 3886 +2133, 904, 903, 861, 399, 3661, 3657, 3659, 4075, 4074, 4076 +2134, 395, 439, 791, 407, 2096, 4077, 4078, 1999, 2097, 4079 +2135, 981, 983, 481, 470, 2330, 4080, 4082, 4083, 4081, 2299 +2136, 73, 516, 193, 537, 2578, 4084, 4085, 2502, 2625, 4086 +2137, 535, 150, 580, 223, 4087, 4088, 2659, 4089, 1424, 4090 +2138, 602, 521, 127, 603, 2712, 4091, 4092, 2862, 2715, 4093 +2139, 656, 210, 678, 608, 4094, 3941, 2945, 2899, 4095, 2944 +2140, 694, 695, 228, 630, 2993, 4044, 4096, 2989, 2991, 4097 +2141, 463, 425, 426, 952, 2176, 2058, 2177, 4072, 4042, 4040 +2142, 604, 205, 130, 129, 4098, 1371, 4099, 4100, 1370, 1146 +2143, 958, 497, 930, 959, 4101, 4102, 3836, 3840, 4103, 3838 +2144, 694, 323, 693, 226, 4104, 4105, 2990, 4106, 1737, 4107 +2145, 315, 701, 253, 234, 4108, 4109, 1707, 1708, 4110, 1500 +2146, 205, 604, 130, 605, 4098, 4099, 1371, 4111, 2859, 4112 +2147, 684, 194, 597, 621, 4113, 4114, 2962, 2963, 4115, 2892 +2148, 629, 158, 544, 630, 4116, 4117, 2780, 2784, 4118, 2782 +2149, 826, 411, 765, 361, 4119, 4120, 3407, 4121, 2025, 4122 +2150, 840, 871, 451, 888, 3559, 4123, 4003, 3610, 3613, 4005 +2151, 660, 245, 611, 727, 4124, 4125, 2901, 3105, 4126, 3103 +2152, 18, 522, 570, 129, 4127, 2633, 4129, 1142, 4128, 4130 +2153, 813, 860, 349, 358, 3520, 4131, 4133, 4134, 4132, 1894 +2154, 519, 12, 97, 11, 4135, 4136, 2462, 4137, 993, 4138 +2155, 16, 549, 17, 102, 4139, 4140, 998, 4141, 2537, 4142 +2156, 191, 508, 591, 509, 4143, 2682, 4144, 4145, 2435, 2683 +2157, 857, 441, 858, 900, 4146, 4147, 3515, 3647, 4148, 3648 +2158, 763, 667, 784, 351, 3204, 3272, 3282, 4150, 4149, 4151 +2159, 444, 414, 843, 457, 2112, 4152, 4153, 2158, 2157, 4154 +2160, 417, 458, 890, 882, 2160, 4155, 4157, 4158, 4156, 3619 +2161, 458, 925, 890, 882, 4159, 3727, 4155, 4156, 3726, 3619 +2162, 848, 419, 417, 882, 4160, 2038, 4162, 3593, 4161, 4158 +2163, 96, 544, 11, 97, 2521, 4163, 4164, 1083, 2522, 4138 +2164, 903, 860, 861, 401, 3656, 3524, 3657, 4166, 4165, 4167 +2165, 494, 980, 963, 962, 4168, 3912, 4169, 4170, 3911, 3852 +2166, 241, 620, 167, 647, 4171, 4172, 1466, 4054, 2835, 4173 +2167, 500, 168, 75, 501, 4174, 4175, 2408, 2411, 3937, 2409 +2168, 573, 136, 526, 110, 4176, 4177, 2651, 2599, 4178, 2477 +2169, 493, 925, 924, 966, 4179, 3780, 4180, 4181, 3860, 3859 +2170, 552, 19, 20, 162, 4182, 1001, 4183, 4184, 1234, 1233 +2171, 983, 980, 963, 494, 2335, 3912, 3932, 4185, 4168, 4169 +2172, 628, 177, 157, 543, 4186, 1307, 4188, 2777, 4187, 4189 +2173, 496, 422, 909, 873, 2289, 4190, 3978, 3977, 4191, 3679 +2174, 865, 365, 817, 790, 4192, 4193, 3534, 3535, 4194, 3436 +2175, 59, 530, 577, 143, 2488, 2610, 2609, 4196, 4195, 4197 +2176, 868, 335, 795, 828, 3994, 4198, 3548, 3549, 4199, 3413 +2177, 254, 177, 628, 629, 1502, 4186, 4201, 4202, 4200, 2781 +2178, 236, 639, 182, 638, 4203, 4204, 1455, 4205, 2811, 4206 +2179, 63, 35, 146, 36, 2371, 1192, 4207, 2352, 1018, 1193 +2180, 924, 950, 916, 498, 3811, 3810, 3721, 4209, 4208, 4210 +2181, 612, 287, 723, 616, 4021, 4211, 3088, 2744, 4212, 3087 +2182, 811, 810, 363, 858, 3356, 4213, 4214, 3514, 3513, 4215 +2183, 466, 948, 429, 955, 4216, 4217, 2185, 4218, 3827, 4219 +2184, 659, 216, 215, 713, 4220, 1405, 4222, 3047, 4221, 4223 +2185, 705, 257, 641, 237, 4224, 4225, 3022, 4226, 1551, 4227 +2186, 111, 558, 165, 559, 2564, 4000, 4228, 2566, 2568, 4229 +2187, 31, 529, 142, 30, 4230, 4231, 1181, 1012, 3957, 1180 +2188, 722, 222, 613, 616, 4232, 4233, 3084, 3085, 4234, 2745 +2189, 813, 755, 814, 358, 3361, 3363, 3365, 4134, 4235, 4236 +2190, 320, 621, 725, 225, 4237, 3096, 4239, 1727, 4238, 4240 +2191, 903, 936, 445, 937, 3762, 4241, 4242, 3764, 3766, 4243 +2192, 106, 21, 20, 132, 4244, 1002, 4245, 4246, 1151, 1150 +2193, 31, 529, 515, 142, 4230, 2485, 4247, 1181, 4231, 4248 +2194, 910, 876, 886, 416, 3675, 3606, 3676, 4250, 4249, 4251 +2195, 782, 678, 280, 776, 3263, 3943, 4013, 3265, 3243, 4252 +2196, 481, 964, 476, 443, 4253, 4254, 2268, 2230, 4255, 2218 +2197, 474, 918, 877, 448, 4256, 3702, 4258, 2285, 4257, 4259 +2198, 708, 758, 757, 292, 3189, 3191, 3187, 4261, 4260, 4262 +2199, 953, 433, 470, 471, 4263, 2197, 4264, 4265, 2199, 2201 +2200, 623, 122, 197, 198, 4266, 1347, 4267, 4268, 1349, 1351 +2201, 67, 150, 68, 39, 4269, 4270, 1052, 2359, 1203, 2374 +2202, 576, 532, 146, 63, 2606, 4271, 4272, 2605, 2492, 4207 +2203, 488, 956, 949, 944, 4273, 2341, 4274, 4275, 3888, 3807 +2204, 474, 496, 918, 448, 2318, 4276, 4256, 2285, 2288, 4257 +2205, 873, 918, 448, 877, 3701, 4257, 4277, 3578, 3702, 4259 +2206, 7, 540, 175, 156, 4278, 4279, 1267, 1222, 4280, 1268 +2207, 826, 873, 448, 877, 3565, 4277, 4281, 3575, 3578, 4259 +2208, 142, 529, 141, 30, 4231, 4282, 1182, 1180, 3957, 1178 +2209, 540, 626, 156, 541, 2770, 4283, 4280, 2514, 2771, 4284 +2210, 543, 95, 96, 10, 2518, 1082, 2519, 4286, 4285, 4287 +2211, 629, 694, 693, 226, 2988, 2990, 2986, 4288, 4106, 4107 +2212, 474, 914, 918, 951, 4289, 3703, 4256, 4290, 3814, 3889 +2213, 510, 593, 592, 261, 2688, 2690, 2686, 4291, 4069, 4292 +2214, 782, 279, 340, 280, 4012, 1789, 4293, 4013, 1607, 1790 +2215, 948, 939, 429, 955, 3803, 4294, 4217, 3827, 3826, 4219 +2216, 951, 436, 474, 914, 4295, 2208, 4290, 3814, 4296, 4289 +2217, 578, 611, 622, 218, 2730, 2888, 2757, 4298, 4297, 4299 +2218, 560, 645, 559, 185, 2828, 2827, 2571, 4301, 4300, 4302 +2219, 447, 923, 905, 938, 4303, 3724, 4304, 4305, 3771, 3770 +2220, 467, 976, 979, 955, 3971, 3919, 4306, 4307, 3898, 3922 +2221, 904, 423, 905, 938, 4308, 4309, 3699, 3769, 4310, 3770 +2222, 851, 848, 803, 373, 3550, 3489, 3493, 4312, 4311, 4313 +2223, 351, 760, 325, 295, 4314, 4315, 1822, 1820, 4316, 1748 +2224, 978, 465, 490, 974, 4317, 2292, 4319, 3903, 4318, 4320 +2225, 481, 964, 443, 935, 4253, 4255, 2230, 4321, 3853, 4322 +2226, 243, 711, 297, 306, 4323, 4025, 1684, 1676, 4324, 1733 +2227, 296, 758, 759, 709, 4006, 3194, 4007, 4325, 3190, 3192 +2228, 302, 249, 669, 594, 1666, 4326, 4328, 4329, 4327, 2922 +2229, 467, 466, 429, 955, 2189, 2185, 2187, 4307, 4218, 4219 +2230, 807, 854, 369, 855, 3502, 4330, 4331, 3504, 3506, 4332 +2231, 84, 510, 53, 85, 2436, 4333, 2392, 1070, 2437, 2391 +2232, 961, 480, 979, 960, 4334, 4335, 3908, 3846, 4336, 3907 +2233, 401, 860, 861, 358, 4165, 3524, 4167, 1982, 4132, 4337 +2234, 507, 590, 171, 508, 2679, 4338, 4339, 2432, 2680, 4340 +2235, 491, 980, 962, 976, 3984, 3911, 4341, 3972, 3923, 3910 +2236, 549, 101, 16, 548, 2536, 4342, 4139, 2538, 2534, 4343 +2237, 961, 491, 442, 933, 4344, 2260, 4346, 3845, 4345, 4347 +2238, 540, 7, 8, 156, 4278, 989, 4348, 4280, 1222, 1221 +2239, 887, 428, 429, 383, 4349, 2067, 4350, 4351, 2063, 2065 +2240, 375, 441, 857, 410, 2101, 4146, 4352, 2008, 2102, 4353 +2241, 466, 467, 979, 955, 2189, 4306, 4354, 4218, 4307, 3922 +2242, 893, 428, 941, 948, 4355, 4356, 3783, 3808, 4357, 3819 +2243, 480, 466, 979, 490, 2315, 4354, 4335, 2276, 2293, 4358 +2244, 508, 82, 83, 52, 2430, 1068, 2431, 4359, 2390, 2389 +2245, 329, 881, 874, 819, 4360, 3589, 4059, 4057, 3588, 3566 +2246, 356, 399, 861, 358, 1975, 4076, 4361, 1877, 1976, 4337 +2247, 733, 333, 831, 273, 4362, 4363, 3422, 4364, 1769, 4365 +2248, 480, 979, 960, 490, 4335, 3907, 4336, 2276, 4358, 4366 +2249, 425, 947, 968, 424, 4041, 3865, 4368, 2055, 4367, 4369 +2250, 430, 939, 883, 927, 4370, 3773, 4371, 4026, 3802, 3735 +2251, 561, 114, 28, 113, 2573, 4372, 3998, 2572, 1100, 4373 +2252, 972, 980, 469, 970, 2336, 4374, 4375, 3879, 3918, 4376 +2253, 355, 735, 820, 764, 4377, 3381, 4378, 4379, 3208, 3382 +2254, 507, 81, 82, 51, 2427, 1067, 2428, 4380, 2388, 2387 +2255, 2, 74, 984, 45, 2401, 4381, 4382, 1028, 2376, 4383 +2256, 286, 764, 735, 355, 4384, 3208, 4385, 1833, 4379, 4377 +2257, 563, 5, 1, 985, 4386, 986, 4388, 4389, 4387, 4390 +2258, 961, 491, 962, 976, 4344, 4341, 3849, 3909, 3972, 3910 +2259, 300, 347, 361, 765, 1810, 1854, 1853, 4392, 4391, 4122 +2260, 470, 940, 953, 972, 4393, 3862, 4264, 4394, 3880, 3902 +2261, 551, 552, 181, 19, 2547, 4395, 4396, 4397, 4182, 1279 +2262, 99, 13, 520, 14, 4019, 4398, 2464, 4399, 995, 4400 +2263, 13, 125, 520, 14, 1129, 4401, 4398, 995, 1130, 4400 +2264, 144, 145, 245, 531, 1263, 1480, 1479, 4403, 4402, 4404 +2265, 470, 940, 972, 432, 4393, 3880, 4394, 2196, 4405, 4406 +2266, 305, 611, 218, 622, 4407, 4297, 1674, 4408, 2888, 4299 +2267, 375, 441, 858, 857, 2101, 4147, 4409, 4352, 4146, 3515 +2268, 813, 814, 861, 358, 3365, 3523, 3522, 4134, 4236, 4337 +2269, 60, 144, 577, 531, 4410, 4411, 2611, 2491, 4403, 2612 +2270, 76, 46, 501, 75, 2377, 4412, 2410, 1061, 2378, 2409 +2271, 346, 286, 735, 355, 1837, 4385, 4413, 1852, 1833, 4377 +2272, 727, 308, 245, 614, 4414, 1681, 4126, 3104, 4415, 4416 +2273, 826, 411, 873, 838, 4119, 4417, 3565, 3452, 4418, 3564 +2274, 186, 646, 259, 647, 4419, 4420, 1534, 4421, 2836, 4056 +2275, 56, 513, 87, 173, 4422, 2445, 2396, 1256, 4423, 4424 +2276, 885, 444, 446, 886, 4425, 2119, 4427, 3605, 4426, 4428 +2277, 306, 735, 286, 661, 4429, 4385, 1677, 4430, 3123, 4431 +2278, 613, 291, 688, 220, 4432, 4433, 2973, 4434, 1636, 4435 +2279, 148, 222, 533, 613, 1421, 4436, 4437, 4438, 4233, 2735 +2280, 579, 148, 533, 613, 4439, 4437, 2640, 2734, 4438, 2735 +2281, 617, 613, 688, 220, 2882, 2973, 2972, 4440, 4434, 4435 +2282, 642, 706, 641, 237, 3025, 3024, 2820, 4442, 4441, 4227 +2283, 892, 381, 426, 427, 4443, 2057, 4444, 4445, 2059, 2061 +2284, 27, 560, 28, 113, 4446, 3997, 1009, 4447, 2570, 4373 +2285, 408, 844, 421, 779, 4448, 4449, 2044, 4450, 3472, 4451 +2286, 84, 52, 509, 83, 2405, 4452, 2434, 1069, 2389, 2433 +2287, 48, 78, 189, 79, 2381, 4453, 1297, 2402, 1064, 4454 +2288, 981, 965, 982, 476, 3913, 3928, 3926, 4456, 4455, 4457 +2289, 137, 136, 657, 212, 1167, 4458, 4459, 1392, 1391, 4460 +2290, 419, 483, 460, 888, 2235, 2238, 2165, 4462, 4461, 4463 +2291, 844, 827, 421, 779, 3542, 4464, 4449, 3472, 3440, 4451 +2292, 518, 565, 9, 94, 2626, 4465, 4466, 2461, 2583, 4467 +2293, 888, 483, 460, 924, 4461, 2238, 4463, 3722, 4468, 4469 +2294, 306, 735, 346, 286, 4429, 4413, 1808, 1677, 4385, 1837 +2295, 650, 716, 196, 717, 3060, 4470, 4471, 3075, 3130, 4472 +2296, 318, 359, 398, 739, 1845, 1973, 1972, 4474, 4473, 4475 +2297, 390, 341, 847, 850, 1946, 4476, 4478, 4479, 4477, 3492 +2298, 966, 485, 971, 478, 4480, 4481, 3914, 4482, 2243, 4483 +2299, 348, 804, 805, 746, 4484, 3338, 4485, 4486, 3334, 3336 +2300, 579, 38, 149, 66, 4487, 1201, 4488, 2616, 2357, 4489 +2301, 465, 969, 427, 941, 4490, 4491, 2181, 4492, 3867, 4493 +2302, 279, 210, 678, 680, 1603, 3941, 3942, 4495, 4494, 2951 +2303, 193, 90, 117, 516, 4496, 4497, 1511, 4084, 2457, 4498 +2304, 499, 950, 498, 492, 4499, 4208, 2333, 2325, 4500, 2324 +2305, 949, 474, 918, 951, 4501, 4256, 3806, 2343, 4290, 3889 +2306, 780, 346, 790, 264, 4502, 4503, 3293, 4504, 1812, 4505 +2307, 222, 291, 613, 220, 1635, 4432, 4233, 1515, 1636, 4434 +2308, 881, 378, 884, 329, 4506, 4507, 3599, 4360, 1910, 4508 +2309, 498, 966, 924, 950, 4509, 3859, 4209, 4208, 3861, 3811 +2310, 615, 288, 619, 223, 4510, 4511, 2885, 4512, 1627, 4513 +2311, 180, 232, 635, 634, 1447, 4514, 4516, 4517, 4515, 2799 +2312, 708, 758, 239, 709, 3189, 4518, 4519, 3035, 3190, 4520 +2313, 225, 536, 624, 152, 4521, 2762, 4523, 1429, 4522, 4524 +2314, 150, 255, 534, 580, 1507, 4525, 4527, 4088, 4526, 2641 +2315, 552, 104, 105, 19, 2545, 1091, 2546, 4182, 4528, 4529 +2316, 849, 331, 878, 834, 4530, 4014, 3580, 3488, 4531, 3579 +2317, 125, 653, 601, 200, 4532, 2889, 4534, 1356, 4533, 4535 +2318, 749, 290, 807, 748, 4536, 4537, 3343, 3164, 4538, 3342 +2319, 334, 274, 781, 273, 1772, 4539, 4540, 1771, 1589, 4541 +2320, 665, 730, 765, 361, 3113, 3211, 3210, 4543, 4542, 4122 +2321, 631, 178, 228, 630, 4544, 1437, 4546, 2787, 4545, 4097 +2322, 246, 505, 170, 189, 4547, 4548, 1482, 1483, 4549, 1329 +2323, 158, 12, 545, 178, 1225, 4550, 4551, 1308, 1274, 4552 +2324, 464, 978, 489, 977, 4553, 4554, 2319, 4555, 3925, 4556 +2325, 407, 475, 869, 836, 2211, 4557, 4559, 4560, 4558, 3551 +2326, 188, 243, 169, 502, 1473, 1472, 1328, 4562, 4561, 4563 +2327, 205, 675, 204, 604, 4564, 4565, 1372, 4098, 2936, 4566 +2328, 678, 280, 776, 682, 3943, 4252, 3243, 2956, 4567, 3242 +2329, 18, 551, 181, 19, 4568, 4396, 1280, 1000, 4397, 1279 +2330, 489, 957, 487, 977, 4569, 4036, 2255, 4556, 3900, 4037 +2331, 978, 464, 497, 465, 4553, 2290, 4570, 4317, 2183, 2291 +2332, 337, 796, 338, 833, 3966, 4571, 1785, 4572, 3428, 4573 +2333, 726, 264, 780, 766, 4574, 4504, 3415, 3215, 4575, 3400 +2334, 15, 521, 16, 127, 4576, 4577, 997, 1135, 4091, 1136 +2335, 771, 213, 282, 283, 4578, 1612, 4579, 4580, 1614, 1616 +2336, 425, 426, 911, 380, 2058, 4581, 4582, 2054, 2056, 4067 +2337, 560, 166, 561, 646, 3995, 3996, 2574, 2830, 4583, 2831 +2338, 5, 90, 193, 985, 4584, 4496, 1306, 4387, 4585, 4586 +2339, 745, 744, 322, 803, 3152, 4587, 4588, 3331, 3330, 4589 +2340, 826, 411, 448, 873, 4119, 2125, 4281, 3565, 4417, 4277 +2341, 804, 348, 321, 746, 4484, 1814, 3974, 3334, 4486, 3975 +2342, 928, 929, 957, 449, 3742, 3834, 3833, 4591, 4590, 4592 +2343, 216, 659, 140, 141, 4220, 4593, 1403, 1404, 4594, 1179 +2344, 521, 15, 126, 127, 4576, 1133, 4595, 4091, 1135, 1137 +2345, 846, 892, 380, 911, 3624, 4596, 4597, 3681, 3685, 4067 +2346, 840, 403, 871, 801, 4598, 4599, 3559, 3457, 4600, 3558 +2347, 683, 214, 799, 681, 4601, 4602, 3320, 2961, 4603, 3319 +2348, 508, 507, 82, 171, 2432, 2428, 2430, 4340, 4339, 4604 +2349, 709, 296, 240, 710, 4325, 1646, 4606, 3038, 4605, 4607 +2350, 860, 813, 349, 812, 3520, 4133, 4131, 3519, 3362, 4608 +2351, 73, 44, 193, 1, 2367, 1105, 4085, 2368, 1027, 1104 +2352, 118, 648, 597, 564, 4609, 2891, 4610, 4611, 2838, 2881 +2353, 124, 13, 520, 567, 1127, 4398, 4613, 4614, 4612, 2645 +2354, 199, 653, 599, 124, 4615, 2866, 4617, 1353, 4616, 4618 +2355, 247, 664, 589, 588, 4619, 2910, 4620, 4621, 2909, 2678 +2356, 123, 199, 599, 124, 1352, 4617, 4622, 1128, 1353, 4618 +2357, 161, 635, 636, 550, 4623, 2802, 4624, 4625, 2798, 2800 +2358, 855, 898, 413, 402, 3641, 4626, 4628, 4629, 4627, 2018 +2359, 302, 762, 669, 325, 4630, 3200, 4328, 1747, 4631, 4632 +2360, 620, 241, 687, 647, 4171, 4633, 2971, 2835, 4054, 3083 +2361, 945, 472, 926, 435, 4634, 4635, 3801, 4636, 2203, 4637 +2362, 615, 535, 223, 619, 2740, 4089, 4512, 2885, 2751, 4513 +2363, 730, 763, 836, 370, 3205, 3444, 3443, 4639, 4638, 4640 +2364, 667, 261, 592, 668, 4641, 4292, 2917, 2920, 4642, 2918 +2365, 368, 816, 864, 817, 4643, 3531, 4644, 4645, 3374, 3532 +2366, 7, 118, 564, 517, 1109, 4611, 4647, 4648, 4646, 2629 +2367, 425, 947, 424, 946, 4041, 4367, 2055, 4649, 3799, 4650 +2368, 92, 7, 564, 517, 4651, 4647, 2581, 2459, 4648, 2629 +2369, 942, 378, 424, 946, 4652, 2051, 4062, 3795, 4653, 4650 +2370, 756, 755, 303, 814, 3185, 4654, 4655, 3364, 3363, 4656 +2371, 599, 653, 567, 124, 2866, 2861, 2705, 4618, 4616, 4614 +2372, 660, 245, 305, 611, 4124, 1673, 4657, 2901, 4125, 4407 +2373, 805, 348, 746, 316, 4485, 4486, 3336, 4658, 1813, 4659 +2374, 502, 188, 501, 76, 4562, 3936, 2414, 2412, 4660, 2410 +2375, 975, 485, 968, 971, 4661, 4662, 3924, 3917, 4481, 3877 +2376, 907, 390, 435, 894, 4663, 2084, 4665, 3706, 4664, 4666 +2377, 686, 199, 599, 689, 4667, 4617, 2968, 2976, 4047, 2974 +2378, 434, 389, 435, 907, 2081, 2083, 2085, 4669, 4668, 4665 +2379, 320, 621, 225, 194, 4237, 4238, 1727, 1728, 4115, 1667 +2380, 664, 665, 765, 300, 3063, 3210, 3209, 4671, 4670, 4392 +2381, 926, 945, 435, 907, 3801, 4636, 4637, 3739, 3791, 4665 +2382, 436, 390, 894, 435, 2086, 4664, 4672, 2088, 2084, 4666 +2383, 926, 907, 435, 894, 3739, 4665, 4637, 3732, 3706, 4666 +2384, 659, 140, 528, 575, 4593, 4673, 2879, 2880, 4674, 2653 +2385, 342, 794, 341, 281, 4675, 4676, 1797, 1795, 4677, 1793 +2386, 169, 502, 585, 503, 4563, 2664, 4678, 4679, 2417, 2665 +2387, 681, 610, 215, 713, 2952, 4680, 4681, 3049, 3048, 4223 +2388, 390, 389, 907, 435, 1948, 4668, 4663, 2084, 2083, 4665 +2389, 937, 904, 938, 423, 3765, 3769, 3772, 4682, 4308, 4310 +2390, 914, 437, 475, 869, 4683, 2259, 4685, 3689, 4684, 4557 +2391, 265, 767, 352, 314, 4686, 4687, 1824, 1725, 4688, 1823 +2392, 522, 128, 129, 17, 4689, 1143, 4128, 4690, 1139, 1141 +2393, 447, 488, 938, 423, 2252, 4691, 4305, 2121, 2253, 4310 +2394, 684, 717, 314, 767, 3069, 4692, 4693, 3219, 3218, 4688 +2395, 659, 610, 140, 575, 2893, 4694, 4593, 2880, 2728, 4674 +2396, 697, 747, 244, 698, 3156, 4695, 4696, 3002, 3157, 4697 +2397, 816, 758, 292, 757, 3370, 4260, 4698, 3369, 3191, 4262 +2398, 222, 147, 533, 616, 1420, 4699, 4436, 4234, 4700, 2742 +2399, 96, 519, 97, 11, 2463, 2462, 1083, 4164, 4137, 4138 +2400, 736, 359, 398, 418, 4701, 1973, 4702, 4703, 2032, 2035 +2401, 109, 135, 23, 525, 4704, 1159, 4706, 2474, 4705, 4707 +2402, 386, 872, 889, 833, 4708, 3616, 4709, 4710, 3562, 3614 +2403, 643, 258, 165, 644, 4711, 1530, 4713, 2826, 4712, 4714 +2404, 109, 135, 525, 573, 4704, 4705, 2474, 2600, 4715, 2636 +2405, 705, 257, 294, 704, 4224, 1642, 4717, 3023, 4716, 4718 +2406, 498, 966, 950, 478, 4509, 3861, 4208, 2334, 4482, 4719 +2407, 167, 29, 115, 30, 1244, 3949, 3981, 1243, 1011, 3956 +2408, 529, 142, 596, 514, 4231, 4720, 2856, 2700, 4721, 2698 +2409, 348, 321, 746, 316, 1814, 3975, 4486, 1813, 1745, 4659 +2410, 92, 540, 539, 7, 2509, 2511, 2507, 4651, 4278, 4722 +2411, 587, 662, 586, 286, 2905, 2904, 2672, 4724, 4723, 4725 +2412, 233, 587, 586, 286, 4726, 2672, 3969, 1624, 4724, 4725 +2413, 931, 477, 930, 897, 4727, 4728, 3748, 3746, 4729, 3744 +2414, 628, 543, 157, 542, 2777, 4189, 4188, 2776, 2520, 4730 +2415, 540, 175, 625, 539, 4279, 4731, 2769, 2511, 4732, 2768 +2416, 258, 708, 707, 757, 4733, 3032, 4734, 4735, 3187, 3186 +2417, 298, 258, 707, 757, 1652, 4734, 4736, 4737, 4735, 3186 +2418, 904, 903, 399, 445, 3661, 4074, 4075, 4738, 4242, 2115 +2419, 52, 509, 508, 191, 4452, 2435, 4359, 1301, 4145, 4143 +2420, 117, 118, 597, 564, 1110, 4610, 4739, 4740, 4611, 2881 +2421, 118, 117, 597, 256, 1110, 4739, 4610, 1547, 1513, 4741 +2422, 516, 117, 597, 564, 4498, 4739, 2766, 2654, 4740, 2881 +2423, 846, 331, 332, 834, 4742, 1767, 4743, 3478, 4531, 4744 +2424, 45, 500, 75, 74, 4745, 2408, 2375, 2376, 2407, 1060 +2425, 744, 694, 695, 228, 3147, 2993, 3148, 4746, 4096, 4044 +2426, 106, 524, 107, 21, 2473, 2472, 1093, 4244, 4747, 4748 +2427, 117, 597, 537, 516, 4739, 2701, 4749, 4498, 2766, 2625 +2428, 258, 708, 757, 292, 4733, 3187, 4735, 1639, 4261, 4262 +2429, 595, 250, 670, 594, 4750, 4751, 2924, 2696, 4752, 2923 +2430, 730, 301, 361, 665, 4753, 1855, 4542, 3113, 4754, 4543 +2431, 298, 258, 757, 292, 1652, 4735, 4737, 1654, 1639, 4262 +2432, 159, 546, 547, 14, 4755, 2532, 4757, 1227, 4756, 4758 +2433, 359, 736, 398, 739, 4701, 4702, 1973, 4473, 3228, 4475 +2434, 914, 475, 437, 474, 4685, 2259, 4683, 4289, 2281, 2209 +2435, 568, 15, 14, 126, 4759, 996, 4760, 4761, 1133, 1132 +2436, 287, 722, 222, 291, 4762, 4232, 1626, 1637, 4763, 1635 +2437, 547, 546, 99, 14, 2532, 2528, 2530, 4758, 4756, 4399 +2438, 100, 568, 14, 99, 2589, 4760, 4764, 1086, 2590, 4399 +2439, 741, 398, 366, 792, 4765, 1974, 4767, 3299, 4766, 4768 +2440, 276, 720, 712, 207, 4769, 3078, 4771, 1594, 4770, 4772 +2441, 747, 697, 244, 316, 3156, 4696, 4695, 4774, 4773, 1711 +2442, 367, 747, 316, 805, 4775, 4774, 1872, 4776, 3337, 4658 +2443, 136, 110, 25, 526, 4178, 4777, 1163, 4177, 2477, 3938 +2444, 854, 367, 853, 806, 4778, 4779, 3503, 3501, 4780, 3499 +2445, 31, 529, 30, 116, 4230, 3957, 1012, 4781, 2482, 3958 +2446, 551, 637, 636, 181, 2803, 2805, 2801, 4396, 4782, 4783 +2447, 208, 277, 207, 720, 1597, 1596, 1381, 4785, 4784, 4770 +2448, 348, 367, 316, 805, 1873, 1872, 1813, 4485, 4776, 4658 +2449, 252, 695, 745, 696, 4043, 3150, 4786, 4787, 2996, 3151 +2450, 573, 136, 135, 608, 4176, 1164, 4715, 2724, 4788, 4789 +2451, 136, 573, 24, 110, 4176, 4790, 1162, 4178, 2599, 4791 +2452, 444, 876, 886, 843, 4792, 3606, 4426, 4153, 3574, 3603 +2453, 280, 341, 776, 281, 1792, 4793, 4252, 1610, 1793, 4794 +2454, 609, 137, 657, 212, 4795, 4459, 2872, 4796, 1392, 4460 +2455, 881, 378, 329, 377, 4506, 1910, 4360, 4797, 1912, 1909 +2456, 228, 158, 226, 630, 1438, 1432, 1518, 4097, 4118, 4798 +2457, 238, 642, 184, 164, 4799, 4800, 1460, 1461, 4801, 1314 +2458, 376, 447, 404, 905, 2120, 2122, 1991, 4802, 4304, 4803 +2459, 629, 694, 226, 630, 2988, 4106, 4288, 2784, 2989, 4798 +2460, 136, 573, 526, 657, 4176, 2651, 4177, 4458, 2874, 2873 +2461, 24, 557, 184, 110, 4804, 4805, 1286, 4791, 2561, 4806 +2462, 525, 573, 135, 608, 2636, 4715, 4705, 2725, 2724, 4789 +2463, 760, 788, 325, 762, 3289, 4807, 4315, 3202, 3290, 4631 +2464, 211, 678, 608, 682, 4808, 2944, 4809, 4810, 2956, 2955 +2465, 139, 610, 575, 140, 4811, 2728, 4812, 1176, 4694, 4674 +2466, 386, 872, 940, 889, 4708, 3775, 4813, 4709, 3616, 3776 +2467, 125, 568, 14, 126, 4814, 4760, 1130, 1134, 4761, 1132 +2468, 65, 37, 148, 38, 2355, 1198, 4815, 2356, 1020, 1199 +2469, 579, 65, 148, 38, 2617, 4815, 4439, 4487, 2356, 1199 +2470, 846, 331, 834, 878, 4742, 4531, 3478, 3581, 4014, 3579 +2471, 980, 469, 970, 468, 4374, 4376, 3918, 3985, 2195, 3986 +2472, 30, 29, 528, 141, 1011, 4816, 4817, 1178, 1177, 4818 +2473, 722, 345, 777, 688, 4819, 4820, 3245, 3086, 4821, 3244 +2474, 656, 525, 135, 608, 2870, 4705, 4822, 2899, 2725, 4789 +2475, 364, 676, 768, 724, 4823, 3221, 4824, 4825, 3093, 3257 +2476, 540, 92, 93, 7, 2509, 1079, 2510, 4278, 4651, 4826 +2477, 225, 153, 536, 152, 1430, 4827, 4521, 1429, 1214, 4522 +2478, 144, 34, 145, 531, 1188, 1190, 1263, 4403, 4828, 4402 +2479, 527, 138, 112, 574, 4829, 4830, 2479, 2652, 4831, 2601 +2480, 79, 505, 49, 80, 2421, 4832, 2384, 1065, 2422, 2383 +2481, 331, 849, 878, 330, 4530, 3580, 4014, 1764, 4833, 4016 +2482, 467, 970, 468, 976, 4834, 3986, 2192, 3971, 3897, 3973 +2483, 123, 12, 567, 519, 1124, 4835, 4836, 4837, 4135, 2630 +2484, 169, 48, 77, 503, 1248, 2382, 4839, 4679, 4838, 2415 +2485, 631, 546, 159, 178, 2786, 4755, 4841, 4544, 4840, 1333 +2486, 164, 642, 641, 237, 4801, 2820, 4842, 1458, 4442, 4227 +2487, 560, 112, 27, 185, 2569, 4843, 4446, 4301, 4844, 1287 +2488, 18, 103, 570, 522, 4845, 2594, 4129, 4127, 2468, 2633 +2489, 772, 767, 352, 787, 3235, 4687, 4846, 3397, 3286, 4847 +2490, 247, 588, 589, 506, 4621, 2678, 4620, 4848, 2674, 2676 +2491, 889, 431, 883, 927, 4849, 4850, 3705, 3734, 4027, 3735 +2492, 276, 796, 277, 337, 4851, 4852, 1598, 1780, 3966, 1781 +2493, 41, 70, 152, 581, 2372, 4853, 1209, 4854, 2621, 4855 +2494, 378, 884, 330, 379, 4507, 4856, 1911, 1915, 4857, 1913 +2495, 697, 747, 746, 316, 3156, 3158, 3154, 4773, 4774, 4659 +2496, 542, 541, 94, 9, 2517, 2513, 2515, 4859, 4858, 4467 +2497, 100, 15, 14, 568, 4860, 996, 4764, 2589, 4759, 4760 +2498, 506, 247, 190, 589, 4848, 1484, 4861, 2676, 4620, 4862 +2499, 34, 144, 60, 531, 1188, 4410, 2348, 4828, 4403, 2491 +2500, 313, 612, 721, 622, 4022, 3082, 4863, 4864, 2758, 3080 +2501, 461, 489, 929, 449, 2280, 4865, 4866, 2171, 2254, 4590 +2502, 7, 118, 517, 119, 1109, 4646, 4648, 1111, 1113, 4867 +2503, 403, 827, 871, 801, 4868, 3560, 4599, 4600, 3454, 3558 +2504, 261, 299, 295, 668, 1655, 1657, 1645, 4642, 4869, 4870 +2505, 573, 136, 24, 135, 4176, 1162, 4790, 4715, 1164, 1160 +2506, 315, 701, 702, 253, 4108, 3014, 4871, 1707, 4109, 4872 +2507, 832, 389, 340, 867, 4873, 1943, 4875, 3543, 4874, 4876 +2508, 810, 375, 857, 809, 4877, 4352, 3511, 3353, 4878, 3510 +2509, 866, 920, 391, 847, 3723, 4879, 4880, 3540, 3728, 4881 +2510, 406, 859, 858, 901, 4882, 3518, 4883, 4884, 3651, 3650 +2511, 766, 780, 790, 264, 3400, 3293, 3401, 4575, 4504, 4505 +2512, 70, 41, 152, 42, 2372, 1209, 4853, 2362, 1024, 1210 +2513, 147, 576, 533, 616, 4885, 2615, 4699, 4700, 2743, 2742 +2514, 549, 16, 160, 548, 4139, 1229, 4886, 2538, 4343, 4887 +2515, 771, 282, 835, 343, 4579, 4888, 3432, 4889, 1798, 4890 +2516, 865, 368, 864, 817, 4891, 4644, 3537, 3534, 4645, 3532 +2517, 536, 70, 152, 42, 2501, 4853, 4522, 4892, 2362, 1210 +2518, 716, 598, 197, 714, 3059, 4893, 4894, 3061, 3053, 4895 +2519, 546, 13, 99, 14, 4018, 4019, 2528, 4756, 995, 4399 +2520, 301, 730, 361, 370, 4753, 4542, 1855, 1883, 4639, 1884 +2521, 341, 794, 847, 850, 4676, 3481, 4476, 4477, 3490, 3492 +2522, 214, 139, 215, 610, 1398, 1400, 1402, 4896, 4811, 4680 +2523, 557, 642, 184, 643, 2819, 4800, 4805, 2821, 2823, 4897 +2524, 25, 26, 526, 111, 1007, 3939, 3938, 4899, 4898, 2476 +2525, 457, 839, 482, 823, 4900, 4901, 2264, 4902, 3455, 4903 +2526, 51, 82, 171, 52, 2387, 4604, 1253, 1035, 2390, 1252 +2527, 30, 528, 29, 115, 4817, 4816, 1011, 3956, 2480, 3949 +2528, 838, 411, 797, 347, 4418, 4904, 3453, 4905, 2011, 4906 +2529, 656, 210, 209, 680, 4094, 1387, 4907, 2948, 4494, 4908 +2530, 282, 771, 835, 775, 4579, 3432, 4888, 4909, 3283, 3433 +2531, 188, 76, 47, 46, 4660, 2380, 1294, 1295, 2377, 1030 +2532, 796, 337, 841, 833, 3966, 3967, 3459, 3428, 4572, 3572 +2533, 189, 586, 587, 504, 4910, 2672, 4911, 4912, 2668, 2670 +2534, 434, 945, 913, 907, 4913, 3792, 4914, 4669, 3791, 3688 +2535, 376, 862, 399, 904, 4915, 4916, 2003, 4917, 3660, 4075 +2536, 241, 620, 242, 167, 4171, 4918, 1470, 1466, 4172, 1469 +2537, 661, 662, 286, 586, 3062, 4723, 4431, 2903, 2904, 4725 +2538, 958, 461, 497, 489, 4919, 2308, 4101, 4920, 2280, 2309 +2539, 906, 909, 454, 919, 3768, 4921, 3990, 3710, 3711, 4922 +2540, 798, 333, 845, 831, 4923, 4924, 3476, 3423, 4363, 3475 +2541, 244, 634, 160, 633, 4925, 4926, 1475, 4927, 2796, 4928 +2542, 815, 298, 756, 757, 4929, 4930, 3366, 3367, 4737, 3188 +2543, 404, 864, 919, 405, 4931, 3707, 4933, 2103, 4932, 4934 +2544, 301, 260, 665, 590, 1662, 4935, 4754, 4937, 4936, 2913 +2545, 7, 540, 539, 175, 4278, 2511, 4722, 1267, 4279, 4732 +2546, 954, 478, 922, 971, 4938, 4939, 3828, 3874, 4483, 3875 +2547, 709, 645, 239, 644, 3034, 4940, 4520, 3033, 2829, 4941 +2548, 54, 192, 86, 511, 1303, 4942, 2403, 4944, 4943, 2440 +2549, 898, 455, 402, 442, 4945, 2148, 4627, 4946, 2155, 2105 +2550, 169, 189, 503, 233, 1318, 4947, 4679, 1450, 1449, 4948 +2551, 169, 233, 503, 585, 1450, 4948, 4679, 4678, 3970, 2665 +2552, 507, 51, 82, 171, 4380, 2387, 2428, 4339, 1253, 4604 +2553, 475, 474, 877, 448, 2281, 4258, 4949, 2213, 2285, 4259 +2554, 306, 735, 661, 780, 4429, 3123, 4430, 4950, 3259, 3258 +2555, 560, 561, 28, 113, 2574, 3998, 3997, 2570, 2572, 4373 +2556, 871, 844, 440, 891, 3582, 4951, 4952, 3625, 3621, 4953 +2557, 422, 909, 908, 880, 4190, 3673, 4954, 4955, 3672, 3669 +2558, 170, 247, 190, 506, 1485, 1484, 1319, 4956, 4848, 4861 +2559, 81, 507, 190, 51, 2427, 4957, 4958, 2388, 4380, 1298 +2560, 675, 774, 674, 205, 3267, 3239, 2939, 4564, 4959, 4960 +2561, 752, 810, 363, 811, 3352, 4213, 4961, 3354, 3356, 4214 +2562, 446, 910, 886, 416, 4962, 3676, 4428, 2117, 4250, 4251 +2563, 441, 901, 858, 900, 4963, 3650, 4147, 4148, 3652, 3648 +2564, 164, 109, 24, 23, 4964, 4965, 1237, 1238, 4706, 1005 +2565, 686, 199, 269, 200, 4667, 1572, 4966, 4967, 1357, 1573 +2566, 542, 95, 9, 94, 2516, 4968, 4859, 2515, 1081, 4467 +2567, 78, 189, 504, 503, 4453, 4912, 2418, 2416, 4947, 2420 +2568, 29, 114, 28, 186, 3947, 4372, 1010, 1289, 3954, 1290 +2569, 288, 224, 619, 223, 1628, 4969, 4511, 1627, 1428, 4513 +2570, 197, 714, 267, 266, 4895, 4970, 1566, 1564, 4971, 1568 +2571, 205, 604, 605, 674, 4098, 2859, 4111, 4960, 2935, 2934 +2572, 681, 214, 284, 215, 4603, 1617, 4972, 4681, 1402, 1618 +2573, 285, 762, 325, 284, 4973, 4631, 1850, 1622, 4974, 1856 +2574, 967, 965, 484, 982, 3869, 4975, 4976, 3929, 3928, 4977 +2575, 874, 829, 416, 328, 3567, 4978, 4980, 4060, 4979, 2029 +2576, 701, 637, 234, 636, 3010, 4981, 4110, 3009, 2805, 4982 +2577, 822, 340, 339, 388, 4983, 1791, 4984, 4985, 1941, 1940 +2578, 774, 738, 275, 795, 3238, 4986, 4987, 3307, 3306, 4988 +2579, 206, 712, 674, 605, 4989, 3045, 4990, 4991, 3044, 2934 +2580, 276, 738, 275, 206, 4992, 4986, 1595, 1593, 4993, 1591 +2581, 855, 357, 413, 369, 4994, 2016, 4628, 4332, 1881, 2017 +2582, 783, 681, 284, 215, 3386, 4972, 4995, 4996, 4681, 1618 +2583, 373, 851, 417, 371, 4312, 4997, 2031, 1898, 4998, 2030 +2584, 590, 591, 666, 248, 2684, 2915, 2914, 5000, 4999, 5001 +2585, 154, 582, 537, 256, 5002, 2656, 5004, 1516, 5003, 5005 +2586, 450, 785, 768, 823, 5006, 3310, 5007, 5008, 3392, 3391 +2587, 454, 909, 405, 919, 4921, 5009, 2143, 4922, 3711, 4934 +2588, 839, 879, 479, 482, 3592, 5010, 5012, 4901, 5011, 2272 +2589, 664, 665, 300, 589, 3063, 4670, 4671, 2910, 2912, 5013 +2590, 741, 398, 792, 739, 4765, 4766, 3299, 3140, 4475, 3298 +2591, 595, 670, 250, 309, 2924, 4751, 4750, 5015, 5014, 1731 +2592, 13, 98, 99, 520, 4017, 1085, 4019, 4398, 2465, 2464 +2593, 170, 49, 80, 50, 1251, 2383, 5016, 1250, 1033, 2386 +2594, 774, 675, 274, 205, 3267, 5017, 5018, 4959, 4564, 1588 +2595, 4, 2, 74, 984, 2399, 2401, 1059, 5019, 4382, 4381 +2596, 285, 783, 762, 284, 5020, 3277, 4973, 1622, 4995, 4974 +2597, 436, 914, 912, 437, 4296, 3690, 5021, 2091, 4683, 5022 +2598, 32, 155, 5, 563, 1305, 1220, 1184, 5024, 5023, 4386 +2599, 202, 126, 127, 602, 1361, 1137, 1362, 5026, 5025, 4092 +2600, 444, 839, 479, 482, 5027, 5012, 2226, 2265, 4901, 2272 +2601, 431, 386, 889, 385, 2072, 4709, 4849, 2071, 1936, 5028 +2602, 257, 235, 294, 704, 1529, 1643, 1642, 4716, 5029, 4718 +2603, 323, 742, 825, 743, 5030, 3404, 5031, 5032, 3146, 3434 +2604, 189, 586, 504, 503, 4910, 2668, 4912, 4947, 2667, 2420 +2605, 672, 675, 654, 204, 2938, 2937, 2929, 5033, 4565, 5034 +2606, 101, 521, 569, 16, 2466, 2632, 2592, 4342, 4577, 5035 +2607, 18, 551, 550, 161, 4568, 2544, 5037, 1231, 5036, 4625 +2608, 60, 144, 33, 577, 4410, 1187, 2347, 2611, 4411, 5038 +2609, 206, 205, 605, 674, 1375, 4111, 4991, 4990, 4960, 2934 +2610, 408, 837, 456, 462, 5039, 5040, 2153, 2173, 4009, 2174 +2611, 312, 310, 718, 394, 1701, 5041, 5042, 1958, 1957, 5043 +2612, 981, 470, 481, 476, 4083, 2299, 4082, 4456, 2300, 2268 +2613, 839, 444, 457, 482, 5027, 2158, 4900, 4901, 2265, 2264 +2614, 189, 586, 503, 233, 4910, 2667, 4947, 1449, 3969, 4948 +2615, 870, 392, 842, 920, 5044, 5045, 3556, 3712, 5046, 3713 +2616, 202, 602, 685, 201, 5026, 2965, 5048, 1363, 5047, 5049 +2617, 557, 109, 110, 24, 2560, 1096, 2561, 4804, 4965, 4791 +2618, 463, 485, 975, 487, 2251, 4661, 4071, 2286, 2313, 4035 +2619, 709, 645, 240, 239, 3034, 5050, 4606, 4520, 4940, 1532 +2620, 206, 131, 207, 655, 1374, 1376, 1378, 5052, 5051, 5053 +2621, 189, 586, 233, 587, 4910, 3969, 1449, 4911, 2672, 4726 +2622, 165, 644, 185, 559, 4714, 5054, 1315, 4229, 2825, 4302 +2623, 799, 788, 284, 344, 3394, 5055, 5057, 5058, 5056, 1802 +2624, 873, 411, 908, 838, 4417, 5059, 3678, 3564, 4418, 3671 +2625, 194, 320, 684, 314, 1728, 5060, 4113, 1705, 1817, 4693 +2626, 733, 272, 798, 333, 5061, 5062, 3316, 4362, 1768, 4923 +2627, 287, 345, 722, 291, 1806, 4819, 4762, 1637, 1807, 4763 +2628, 648, 195, 684, 618, 5063, 5064, 2964, 2839, 5065, 3051 +2629, 125, 13, 520, 124, 1129, 4398, 4401, 1131, 1127, 4613 +2630, 194, 684, 195, 314, 4113, 5064, 1342, 1705, 4693, 1706 +2631, 315, 304, 701, 234, 1709, 5066, 4108, 1708, 1671, 4110 +2632, 631, 546, 178, 545, 2786, 4840, 4544, 2785, 2529, 4552 +2633, 744, 695, 745, 322, 3148, 3150, 3152, 4587, 4045, 4588 +2634, 357, 808, 855, 856, 5067, 3505, 4994, 5068, 3507, 3509 +2635, 408, 837, 777, 731, 5039, 3448, 5069, 5070, 3447, 3246 +2636, 538, 175, 539, 652, 5071, 4732, 2508, 2854, 5072, 2878 +2637, 606, 720, 207, 712, 3077, 4770, 5073, 3046, 3078, 4772 +2638, 155, 175, 538, 652, 1266, 5071, 5074, 5075, 5072, 2854 +2639, 307, 752, 753, 703, 5076, 3176, 5077, 5078, 3172, 3174 +2640, 162, 553, 182, 20, 5079, 5080, 1312, 1233, 5081, 1282 +2641, 155, 530, 652, 563, 5082, 2852, 5075, 5023, 2767, 2853 +2642, 634, 549, 160, 548, 2795, 4886, 4926, 2794, 2538, 4887 +2643, 315, 750, 372, 809, 5083, 5084, 1902, 5085, 3348, 5086 +2644, 410, 899, 933, 900, 5087, 3752, 5088, 5089, 3649, 3753 +2645, 914, 436, 912, 926, 4296, 5021, 3690, 3733, 5090, 3731 +2646, 538, 155, 652, 563, 5074, 5075, 2854, 2661, 5023, 2853 +2647, 349, 307, 363, 811, 1816, 1860, 1862, 5092, 5091, 4214 +2648, 73, 985, 193, 90, 5093, 4586, 4085, 2455, 4585, 4496 +2649, 810, 375, 858, 857, 4877, 4409, 3513, 3511, 4352, 3515 +2650, 246, 263, 663, 286, 1558, 5094, 5095, 1623, 1686, 5096 +2651, 562, 29, 167, 186, 3948, 1244, 3980, 3953, 1289, 1327 +2652, 294, 705, 704, 754, 4717, 3023, 4718, 5097, 3178, 3177 +2653, 173, 513, 512, 262, 4423, 2447, 5099, 1544, 5098, 5100 +2654, 587, 246, 663, 286, 5101, 5095, 2906, 4724, 1623, 5096 +2655, 286, 764, 355, 663, 4384, 4379, 1833, 5096, 3207, 5102 +2656, 692, 324, 229, 317, 5103, 1741, 5104, 5105, 1744, 1714 +2657, 323, 742, 317, 393, 5030, 5106, 1739, 1981, 5107, 1955 +2658, 876, 829, 416, 874, 3591, 4978, 4249, 3609, 3567, 4980 +2659, 741, 692, 317, 324, 3139, 5105, 5108, 5109, 5103, 1744 +2660, 480, 455, 490, 960, 2229, 2256, 2276, 4336, 5110, 4366 +2661, 741, 398, 324, 366, 4765, 1971, 5109, 4767, 1974, 1870 +2662, 249, 593, 594, 511, 4068, 2693, 4327, 5111, 2689, 2691 +2663, 263, 286, 355, 663, 1686, 1833, 1832, 5094, 5096, 5102 +2664, 31, 529, 116, 515, 4230, 2482, 4781, 4247, 2485, 2453 +2665, 848, 802, 374, 825, 3483, 5112, 5113, 3482, 3435, 5114 +2666, 480, 961, 979, 976, 4334, 3908, 4335, 5115, 3909, 3919 +2667, 646, 645, 240, 710, 2832, 5050, 5116, 3037, 3036, 4607 +2668, 758, 816, 292, 368, 3370, 4698, 4260, 5117, 4643, 1874 +2669, 558, 184, 110, 25, 3999, 4806, 2563, 4001, 1285, 4777 +2670, 370, 763, 299, 666, 4638, 5118, 1882, 5119, 3203, 5120 +2671, 376, 863, 404, 350, 5121, 5122, 1991, 1906, 5123, 1990 +2672, 758, 816, 368, 817, 3370, 4643, 5117, 3372, 3374, 4645 +2673, 906, 447, 923, 905, 3989, 4303, 3725, 3666, 4304, 3724 +2674, 206, 738, 275, 674, 4993, 4986, 1591, 4990, 3132, 5124 +2675, 496, 915, 495, 918, 3979, 5125, 2322, 4276, 3704, 5126 +2676, 678, 211, 280, 682, 4808, 1606, 3943, 2956, 4810, 4567 +2677, 499, 917, 479, 943, 5127, 5128, 2326, 5129, 3787, 5130 +2678, 917, 879, 462, 479, 3696, 5131, 5132, 5128, 5010, 2271 +2679, 7, 92, 564, 6, 4651, 2581, 4647, 988, 5133, 5134 +2680, 837, 408, 777, 844, 5039, 5069, 3448, 3473, 4448, 3471 +2681, 738, 774, 275, 674, 3238, 4987, 4986, 3132, 3239, 5124 +2682, 769, 849, 330, 830, 3486, 4833, 5135, 3421, 3487, 5136 +2683, 354, 266, 778, 773, 1828, 5137, 5139, 5140, 5138, 3249 +2684, 786, 271, 685, 201, 5141, 5142, 3278, 5143, 1578, 5049 +2685, 269, 769, 330, 830, 5144, 5135, 1759, 5145, 3421, 5136 +2686, 635, 161, 636, 251, 4623, 4624, 2802, 5146, 1492, 5147 +2687, 197, 623, 198, 714, 4267, 4268, 1351, 4895, 3052, 5148 +2688, 271, 786, 685, 734, 5141, 3278, 5142, 5149, 3281, 3122 +2689, 183, 640, 641, 555, 5150, 2817, 5151, 5152, 2813, 2815 +2690, 681, 783, 713, 215, 3386, 3287, 3049, 4681, 4996, 4223 +2691, 346, 780, 297, 264, 4502, 5153, 1809, 1812, 4504, 1685 +2692, 653, 199, 200, 124, 4615, 1357, 4533, 4616, 1353, 1355 +2693, 19, 105, 20, 523, 4529, 5154, 1001, 5155, 2470, 5156 +2694, 246, 587, 505, 189, 5101, 2671, 4547, 1483, 4911, 4549 +2695, 661, 233, 306, 585, 3968, 1675, 4430, 2902, 3970, 5157 +2696, 898, 899, 402, 856, 3646, 5158, 4627, 3642, 3644, 5159 +2697, 136, 573, 657, 608, 4176, 2874, 4458, 4788, 2724, 2896 +2698, 296, 264, 710, 759, 1649, 5160, 4605, 4007, 5161, 3193 +2699, 648, 195, 618, 119, 5063, 5065, 2839, 5162, 1340, 5163 +2700, 565, 93, 8, 94, 2584, 5164, 5165, 2583, 1080, 5166 +2701, 844, 408, 440, 462, 4448, 2175, 4951, 4010, 2173, 2216 +2702, 837, 408, 844, 462, 5039, 4448, 3473, 4009, 2173, 4010 +2703, 252, 631, 159, 178, 5167, 4841, 1494, 1495, 4544, 1333 +2704, 357, 808, 856, 372, 5067, 3507, 5068, 1893, 5168, 5169 +2705, 631, 252, 696, 695, 5167, 4787, 2994, 2992, 4043, 2996 +2706, 804, 348, 371, 321, 4484, 1889, 5170, 3974, 1814, 1887 +2707, 832, 782, 340, 280, 3426, 4293, 4875, 5171, 4013, 1790 +2708, 252, 230, 632, 696, 1497, 5172, 5174, 4787, 5173, 2995 +2709, 211, 657, 212, 682, 5175, 4460, 1393, 4810, 2954, 5176 +2710, 338, 822, 833, 770, 5177, 3429, 4573, 5178, 3390, 3427 +2711, 230, 697, 632, 696, 5179, 2997, 5172, 5173, 2999, 2995 +2712, 700, 304, 701, 750, 5180, 5066, 3011, 3165, 5181, 3166 +2713, 37, 147, 64, 533, 1196, 5182, 2354, 5183, 4699, 2495 +2714, 420, 825, 393, 840, 5184, 5185, 2040, 4002, 3458, 5186 +2715, 477, 931, 959, 490, 4727, 3839, 5188, 2257, 5187, 5189 +2716, 472, 488, 956, 473, 2304, 4273, 5190, 2207, 2305, 5191 +2717, 951, 436, 914, 926, 4295, 4296, 3814, 3815, 5090, 3733 +2718, 497, 477, 959, 490, 2307, 5188, 4103, 2310, 2257, 5189 +2719, 719, 326, 289, 288, 5192, 1750, 5193, 5194, 1749, 1631 +2720, 232, 634, 244, 698, 4515, 4925, 1478, 5195, 3001, 4697 +2721, 859, 860, 349, 812, 3521, 4131, 5196, 3517, 3519, 4608 +2722, 882, 419, 460, 888, 4161, 2165, 5197, 3612, 4462, 4463 +2723, 268, 761, 819, 328, 5198, 3380, 5200, 1754, 5199, 4058 +2724, 949, 474, 951, 473, 4501, 4290, 2343, 5201, 2210, 5202 +2725, 596, 142, 141, 217, 4720, 1182, 5203, 5204, 1407, 1406 +2726, 179, 160, 548, 633, 1291, 4887, 5205, 5206, 4928, 2792 +2727, 546, 13, 159, 178, 4018, 1228, 4755, 4840, 1273, 1333 +2728, 397, 895, 853, 852, 5207, 3633, 5208, 5209, 3632, 3500 +2729, 529, 142, 141, 596, 4231, 1182, 4282, 2856, 4720, 5203 +2730, 596, 529, 528, 141, 2856, 2484, 2883, 5203, 4282, 4818 +2731, 367, 397, 853, 348, 1968, 5208, 4779, 1873, 1969, 5210 +2732, 246, 170, 588, 247, 1482, 5211, 5212, 1537, 1485, 4621 +2733, 307, 752, 363, 811, 5076, 4961, 1860, 5091, 3354, 4214 +2734, 264, 766, 710, 759, 4575, 3214, 5160, 5161, 3216, 3193 +2735, 384, 887, 868, 883, 5213, 3607, 3992, 5214, 3680, 3596 +2736, 258, 238, 707, 643, 1549, 5215, 4734, 4711, 5216, 3028 +2737, 299, 261, 248, 591, 1655, 1556, 1656, 5218, 5217, 4999 +2738, 571, 131, 20, 523, 5219, 1148, 5221, 2634, 5220, 5156 +2739, 759, 365, 790, 817, 5222, 4194, 3437, 3373, 4193, 3436 +2740, 233, 585, 586, 503, 3970, 2669, 3969, 4948, 2665, 2667 +2741, 708, 258, 707, 643, 4733, 4734, 3032, 3030, 4711, 3028 +2742, 727, 728, 308, 614, 3251, 5223, 4414, 3104, 3110, 4415 +2743, 298, 238, 707, 258, 1653, 5215, 4736, 1652, 1549, 4734 +2744, 529, 142, 514, 515, 4231, 4721, 2700, 2485, 4248, 2454 +2745, 926, 956, 951, 473, 3829, 2342, 3815, 5224, 5191, 5202 +2746, 137, 136, 25, 526, 1167, 1163, 1165, 3940, 4177, 3938 +2747, 45, 500, 31, 168, 4745, 5225, 1245, 1247, 4174, 1262 +2748, 4, 74, 116, 984, 1059, 2406, 1103, 5019, 4381, 5226 +2749, 124, 653, 567, 520, 4616, 2861, 4614, 4613, 2860, 2645 +2750, 472, 956, 926, 473, 5190, 3829, 4635, 2207, 5191, 5224 +2751, 673, 202, 603, 602, 5227, 5228, 2931, 2932, 5026, 2862 +2752, 408, 837, 731, 456, 5039, 3447, 5070, 2153, 5040, 5229 +2753, 928, 925, 458, 973, 3738, 4159, 5230, 3883, 3882, 5231 +2754, 345, 722, 777, 779, 4819, 3245, 4820, 5232, 3253, 3256 +2755, 772, 289, 725, 719, 5233, 5234, 3232, 3233, 5193, 3098 +2756, 807, 357, 808, 855, 5235, 5067, 3347, 3504, 4994, 3505 +2757, 921, 892, 427, 941, 3715, 4445, 5236, 3782, 3781, 4493 +2758, 843, 839, 457, 823, 3547, 4900, 4154, 3466, 3455, 4902 +2759, 821, 799, 283, 344, 3387, 5237, 5238, 5239, 5058, 1801 +2760, 356, 815, 756, 814, 5240, 3366, 5241, 5242, 3368, 3364 +2761, 255, 617, 534, 651, 5243, 2746, 4525, 5244, 2850, 2849 +2762, 148, 222, 613, 220, 1421, 4233, 4438, 1415, 1515, 4434 +2763, 477, 455, 931, 490, 2222, 5245, 4727, 2257, 2256, 5187 +2764, 221, 287, 616, 222, 1625, 4212, 5246, 1422, 1626, 4234 +2765, 44, 43, 72, 154, 1026, 2365, 2366, 1216, 1215, 5247 +2766, 843, 414, 789, 457, 4152, 5248, 3465, 4154, 2157, 5249 +2767, 310, 312, 718, 651, 1701, 5042, 5041, 5251, 5250, 3070 +2768, 419, 825, 840, 848, 5252, 3458, 5253, 4160, 3482, 3484 +2769, 518, 95, 9, 10, 2460, 4968, 4466, 5254, 4285, 991 +2770, 257, 183, 641, 237, 1527, 5151, 4225, 1551, 1459, 4227 +2771, 299, 667, 668, 261, 5255, 2920, 4869, 1655, 4641, 4642 +2772, 312, 718, 724, 394, 5042, 3092, 5256, 1958, 5043, 5257 +2773, 247, 170, 588, 506, 1485, 5211, 4621, 4848, 4956, 2674 +2774, 337, 386, 385, 841, 1934, 1936, 1932, 3967, 5258, 5259 +2775, 708, 758, 292, 239, 3189, 4260, 4261, 4519, 4518, 1638 +2776, 428, 893, 382, 383, 4355, 5260, 2062, 2063, 5261, 1927 +2777, 879, 818, 482, 839, 3583, 5262, 5011, 3592, 3456, 4901 +2778, 423, 904, 399, 445, 4308, 4075, 2050, 2163, 4738, 2115 +2779, 510, 172, 85, 511, 5263, 5264, 2437, 2441, 5265, 2439 +2780, 165, 26, 559, 185, 1239, 5266, 4229, 1315, 1288, 4302 +2781, 164, 109, 23, 556, 4964, 4706, 1238, 5267, 2558, 5268 +2782, 816, 815, 757, 350, 3371, 3367, 3369, 5270, 5269, 5271 +2783, 664, 729, 347, 765, 3112, 5272, 5273, 3209, 3212, 4391 +2784, 829, 876, 327, 824, 3591, 5274, 5275, 3461, 3573, 5276 +2785, 444, 876, 843, 414, 4792, 3574, 4153, 2112, 5277, 4152 +2786, 497, 978, 465, 490, 4570, 4317, 2291, 2310, 4319, 2292 +2787, 329, 268, 269, 740, 1756, 1574, 1757, 5278, 4048, 5279 +2788, 939, 430, 429, 467, 4370, 2070, 4294, 5280, 2188, 2187 +2789, 304, 700, 701, 234, 5180, 3011, 5066, 1671, 5281, 4110 +2790, 347, 411, 361, 765, 2011, 2025, 1854, 4391, 4120, 4122 +2791, 566, 10, 11, 96, 5282, 992, 5283, 2585, 4287, 4164 +2792, 403, 840, 420, 393, 4598, 4002, 2041, 1987, 5186, 2040 +2793, 131, 571, 20, 132, 5219, 5221, 1148, 1152, 5284, 1150 +2794, 760, 351, 325, 395, 4314, 1822, 4315, 5285, 1963, 1962 +2795, 441, 857, 410, 900, 4146, 4353, 2102, 4148, 3647, 5089 +2796, 264, 726, 297, 259, 4574, 4024, 1685, 1559, 4055, 1651 +2797, 909, 880, 405, 919, 3672, 5286, 5009, 3711, 3709, 4934 +2798, 257, 235, 704, 640, 1529, 5029, 4716, 5288, 5287, 3019 +2799, 230, 697, 633, 632, 5179, 2998, 5289, 5172, 2997, 2793 +2800, 851, 373, 803, 371, 4312, 4313, 3493, 4998, 1898, 5290 +2801, 230, 252, 321, 696, 1497, 1730, 1729, 5173, 4787, 3983 +2802, 296, 758, 368, 817, 4006, 5117, 1876, 4008, 3372, 4645 +2803, 392, 343, 866, 391, 1952, 5291, 5292, 1954, 1950, 4880 +2804, 409, 854, 413, 369, 5293, 5294, 2133, 2006, 4330, 2017 +2805, 522, 569, 17, 102, 2647, 5295, 4690, 2469, 2591, 4142 +2806, 368, 404, 864, 350, 1992, 4931, 4644, 1875, 1990, 5296 +2807, 26, 111, 25, 165, 4898, 4899, 1007, 1239, 4228, 1240 +2808, 815, 298, 350, 356, 4929, 1819, 5269, 5240, 1835, 1891 +2809, 272, 733, 273, 333, 5061, 4364, 1586, 1768, 4362, 1769 +2810, 969, 978, 464, 977, 3904, 4553, 5297, 3915, 3925, 4555 +2811, 719, 288, 289, 619, 5194, 1631, 5193, 3073, 4511, 5298 +2812, 161, 18, 17, 550, 1231, 999, 1232, 4625, 5037, 5299 +2813, 153, 536, 152, 42, 4827, 4522, 1214, 1212, 4892, 1210 +2814, 103, 18, 17, 522, 4845, 999, 5300, 2468, 4127, 4690 +2815, 103, 18, 550, 17, 4845, 5037, 2540, 5300, 999, 5299 +2816, 103, 522, 17, 102, 2468, 4690, 5300, 1089, 2469, 4142 +2817, 103, 550, 102, 17, 2540, 2539, 1089, 5300, 5299, 4142 +2818, 411, 826, 765, 838, 4119, 3407, 4120, 4418, 3452, 3451 +2819, 32, 563, 1, 58, 5024, 4388, 1014, 2344, 2487, 2370 +2820, 26, 111, 559, 112, 4898, 2566, 5266, 5301, 1098, 2567 +2821, 428, 887, 893, 383, 4349, 3629, 4355, 2063, 4351, 5261 +2822, 628, 177, 543, 629, 4186, 4187, 2777, 2781, 4200, 2779 +2823, 147, 221, 616, 222, 1418, 5246, 4700, 1420, 1422, 4234 +2824, 895, 397, 853, 896, 5207, 5208, 3633, 3637, 5302, 3635 +2825, 254, 628, 692, 693, 4201, 2983, 5303, 5304, 2985, 2987 +2826, 345, 408, 421, 779, 2000, 2044, 2043, 5232, 4450, 4451 +2827, 884, 849, 830, 330, 3597, 3487, 3598, 4856, 4833, 5136 +2828, 122, 123, 519, 11, 1125, 4837, 5305, 1121, 1123, 4137 +2829, 884, 379, 946, 878, 4857, 5306, 3794, 3600, 4015, 3793 +2830, 150, 535, 580, 68, 4087, 2659, 4088, 4270, 2499, 2619 +2831, 884, 378, 330, 329, 4507, 1911, 4856, 4508, 1910, 1761 +2832, 518, 120, 121, 9, 5307, 1119, 5308, 4466, 1115, 1117 +2833, 819, 329, 830, 740, 4057, 5309, 3420, 3379, 5278, 3419 +2834, 247, 664, 300, 589, 4619, 4671, 1660, 4620, 2910, 5013 +2835, 329, 884, 830, 330, 4508, 3598, 5309, 1761, 4856, 5136 +2836, 890, 895, 415, 852, 3634, 5310, 5311, 3618, 3632, 5312 +2837, 470, 940, 432, 433, 4393, 4405, 2196, 2197, 5313, 2079 +2838, 489, 957, 449, 487, 4569, 4592, 2254, 2255, 4036, 2249 +2839, 268, 329, 819, 740, 1756, 4057, 5200, 4048, 5278, 3379 +2840, 793, 782, 680, 279, 3393, 3264, 3308, 5314, 4012, 4495 +2841, 23, 109, 525, 108, 4706, 2474, 4707, 5315, 1095, 2475 +2842, 794, 342, 775, 281, 4675, 5316, 3304, 4677, 1795, 5317 +2843, 315, 253, 702, 311, 1707, 4872, 4871, 1710, 1696, 5318 +2844, 260, 507, 190, 589, 5319, 4957, 1539, 5320, 2677, 4862 +2845, 859, 811, 363, 858, 3516, 4214, 5321, 3518, 3514, 4215 +2846, 626, 176, 627, 231, 5322, 5323, 2775, 5324, 1443, 5325 +2847, 125, 601, 201, 200, 4534, 5326, 1358, 1356, 4535, 1360 +2848, 472, 926, 435, 473, 4635, 4637, 2203, 2207, 5224, 2205 +2849, 867, 822, 872, 388, 3544, 3561, 3563, 5327, 4985, 5328 +2850, 247, 260, 190, 589, 1555, 1539, 1484, 4620, 5320, 4862 +2851, 769, 686, 269, 200, 3223, 4966, 5144, 5329, 4967, 1573 +2852, 238, 258, 184, 643, 1549, 1531, 1460, 5216, 4711, 4897 +2853, 967, 937, 938, 423, 3870, 3772, 3863, 5330, 4682, 4310 +2854, 703, 752, 702, 311, 3172, 3171, 3017, 5332, 5331, 5318 +2855, 701, 637, 702, 253, 3010, 3012, 3014, 4109, 5333, 4872 +2856, 893, 892, 427, 382, 3628, 4445, 5335, 5260, 5334, 2060 +2857, 381, 333, 845, 798, 1920, 4924, 5336, 5337, 4923, 3476 +2858, 18, 129, 570, 130, 1142, 4130, 4129, 1144, 1146, 5338 +2859, 56, 513, 88, 87, 4422, 2446, 2395, 2396, 2445, 1073 +2860, 439, 870, 791, 869, 5339, 3554, 4077, 5340, 3557, 3552 +2861, 40, 150, 68, 535, 1204, 4270, 2360, 5341, 4087, 2499 +2862, 238, 706, 237, 303, 5342, 4441, 1526, 1668, 5343, 1669 +2863, 870, 395, 791, 800, 5344, 4078, 3554, 3555, 5345, 3324 +2864, 18, 104, 19, 570, 5346, 4528, 1000, 4129, 2593, 5347 +2865, 120, 565, 618, 119, 5348, 2748, 5350, 1116, 5349, 5163 +2866, 315, 311, 702, 751, 1710, 5318, 4871, 5352, 5351, 3169 +2867, 762, 760, 669, 325, 3202, 3196, 3200, 4631, 4315, 4632 +2868, 238, 298, 756, 303, 1653, 4930, 5353, 1668, 1670, 4655 +2869, 945, 472, 982, 956, 4634, 5354, 3831, 3830, 5190, 3832 +2870, 445, 937, 965, 484, 4243, 3857, 5356, 2240, 5355, 4975 +2871, 632, 159, 547, 179, 5357, 4757, 2789, 5358, 1309, 5359 +2872, 840, 403, 801, 393, 4598, 4600, 3457, 5186, 1987, 5360 +2873, 406, 860, 401, 349, 5361, 4165, 1995, 1996, 4131, 1983 +2874, 659, 596, 528, 141, 2894, 2883, 2879, 4594, 5203, 4818 +2875, 388, 433, 872, 913, 2078, 5362, 5328, 5364, 5363, 3687 +2876, 507, 81, 190, 506, 2427, 4958, 4957, 2429, 2425, 4861 +2877, 771, 282, 343, 283, 4579, 1798, 4889, 4580, 1616, 1799 +2878, 557, 164, 24, 184, 5365, 1237, 4804, 4805, 1314, 1286 +2879, 431, 972, 469, 927, 5366, 4375, 2193, 4027, 3878, 5367 +2880, 486, 478, 922, 459, 2246, 4939, 5368, 2245, 2223, 5369 +2881, 219, 577, 614, 600, 5370, 2737, 5371, 5372, 2707, 2738 +2882, 407, 351, 791, 395, 1997, 5373, 4079, 1999, 1963, 4078 +2883, 114, 29, 28, 140, 3947, 1010, 4372, 5374, 1175, 1174 +2884, 821, 771, 835, 343, 3388, 3432, 3441, 5375, 4889, 4890 +2885, 326, 719, 676, 288, 5192, 3106, 5376, 1749, 5194, 5377 +2886, 527, 27, 28, 113, 5378, 1009, 5379, 2478, 4447, 4373 +2887, 645, 166, 560, 646, 5380, 3995, 2828, 2832, 4583, 2830 +2888, 956, 472, 982, 484, 5190, 5354, 3832, 5381, 2303, 4977 +2889, 864, 865, 919, 405, 3537, 3708, 3707, 4932, 5382, 4934 +2890, 488, 967, 423, 484, 5383, 5330, 2253, 2263, 4976, 2239 +2891, 166, 560, 28, 27, 3995, 3997, 1241, 1242, 4446, 1009 +2892, 818, 462, 456, 837, 5384, 2174, 5385, 3449, 4009, 5040 +2893, 408, 345, 777, 779, 2000, 4820, 5069, 4450, 5232, 3256 +2894, 600, 175, 219, 155, 5386, 1517, 5372, 5387, 1266, 1510 +2895, 738, 276, 796, 720, 4992, 4851, 3312, 3133, 4769, 3311 +2896, 844, 827, 440, 421, 3542, 5388, 4951, 4449, 4464, 2123 +2897, 609, 137, 526, 657, 4795, 3940, 2727, 2872, 4459, 2873 +2898, 254, 177, 157, 628, 1502, 1307, 1503, 4201, 4186, 4188 +2899, 600, 175, 155, 652, 5386, 1266, 5387, 2855, 5072, 5075 +2900, 318, 739, 324, 691, 4474, 5389, 1743, 5390, 3135, 4051 +2901, 408, 777, 844, 779, 5069, 3471, 4448, 4450, 3256, 3472 +2902, 600, 175, 652, 625, 5386, 5072, 2855, 3076, 4731, 2890 +2903, 827, 403, 871, 440, 4868, 4599, 3560, 5388, 2099, 4952 +2904, 180, 549, 17, 16, 5391, 4140, 1277, 1278, 4139, 998 +2905, 760, 788, 395, 325, 3289, 5392, 5285, 4315, 4807, 1962 +2906, 183, 164, 641, 237, 1324, 4842, 5151, 1459, 1458, 4227 +2907, 827, 412, 418, 792, 5393, 2106, 5395, 3410, 5394, 5396 +2908, 569, 16, 17, 102, 5035, 998, 5295, 2591, 4141, 4142 +2909, 419, 825, 848, 374, 5252, 3482, 4160, 2037, 5114, 5113 +2910, 848, 851, 882, 417, 3550, 3594, 3593, 4162, 4997, 4158 +2911, 959, 978, 490, 974, 3906, 4319, 5189, 3930, 3903, 4320 +2912, 101, 549, 16, 102, 2536, 4139, 4342, 1088, 2537, 4141 +2913, 319, 748, 806, 369, 5397, 3340, 5399, 1879, 5398, 5400 +2914, 232, 634, 699, 635, 4515, 3003, 5401, 4514, 2799, 3004 +2915, 294, 813, 349, 358, 5402, 4133, 1815, 1841, 4134, 1894 +2916, 290, 319, 369, 748, 1724, 1879, 1878, 4538, 5397, 5398 +2917, 716, 265, 773, 266, 5403, 5404, 3236, 5405, 1565, 5138 +2918, 285, 783, 284, 215, 5020, 4995, 1622, 1620, 4996, 1618 +2919, 966, 485, 478, 493, 4480, 2243, 4482, 4181, 2317, 2316 +2920, 243, 188, 584, 502, 1473, 5406, 5407, 4561, 4562, 2663 +2921, 609, 574, 526, 137, 2726, 2637, 2727, 4795, 3988, 3940 +2922, 140, 114, 528, 575, 5374, 2481, 4673, 4674, 2603, 2653 +2923, 610, 659, 215, 713, 2893, 4222, 4680, 3048, 3047, 4223 +2924, 419, 825, 374, 420, 5252, 5114, 2037, 2167, 5184, 2042 +2925, 158, 177, 226, 629, 1335, 1433, 1432, 4116, 4200, 4288 +2926, 926, 436, 435, 473, 5090, 2088, 4637, 5224, 2206, 2205 +2927, 847, 390, 850, 894, 4478, 4479, 3492, 3630, 4664, 3631 +2928, 264, 766, 759, 790, 4575, 3216, 5161, 4505, 3401, 3437 +2929, 937, 967, 484, 423, 3870, 4976, 5355, 4682, 5330, 2239 +2930, 937, 967, 965, 484, 3870, 3869, 3857, 5355, 4976, 4975 +2931, 365, 264, 759, 790, 1868, 5161, 5222, 4194, 4505, 3437 +2932, 879, 885, 839, 479, 3602, 3601, 3592, 5010, 5408, 5012 +2933, 351, 667, 784, 668, 4149, 3272, 4151, 5409, 2920, 3270 +2934, 393, 742, 801, 825, 5107, 3326, 5360, 5185, 3404, 3403 +2935, 342, 866, 391, 847, 5410, 4880, 1949, 5411, 3540, 4881 +2936, 134, 133, 22, 572, 1158, 1154, 1156, 5413, 5412, 5414 +2937, 340, 389, 388, 867, 1943, 1945, 1941, 4876, 4874, 5327 +2938, 859, 406, 349, 860, 4882, 1996, 5196, 3521, 5361, 4131 +2939, 434, 907, 913, 388, 4669, 3688, 4914, 2080, 5415, 5364 +2940, 950, 499, 478, 943, 4499, 2338, 4719, 3812, 5129, 5416 +2941, 640, 183, 163, 555, 5150, 1313, 5417, 2813, 5152, 5418 +2942, 598, 122, 197, 623, 5419, 1347, 4893, 2857, 4266, 4267 +2943, 120, 618, 195, 119, 5350, 5065, 1341, 1116, 5163, 1340 +2944, 981, 476, 982, 471, 4456, 4457, 3926, 5420, 2301, 5421 +2945, 367, 348, 853, 805, 1873, 5210, 4779, 4776, 4485, 3498 +2946, 23, 183, 556, 108, 1283, 5422, 5268, 5315, 5423, 2557 +2947, 263, 664, 300, 247, 5424, 4671, 1726, 1557, 4619, 1660 +2948, 565, 650, 120, 618, 2845, 5425, 5348, 2748, 2846, 5350 +2949, 871, 827, 440, 844, 3560, 5388, 4952, 3582, 3542, 4951 +2950, 492, 917, 916, 891, 5426, 3767, 5427, 5428, 3697, 3700 +2951, 672, 272, 673, 733, 3959, 3960, 2933, 3119, 5061, 3120 +2952, 516, 117, 91, 90, 4498, 5429, 2456, 2457, 4497, 1077 +2953, 403, 871, 440, 451, 4599, 4952, 2099, 2134, 4123, 2135 +2954, 134, 133, 572, 607, 1158, 5412, 5413, 5430, 4034, 2722 +2955, 133, 524, 572, 607, 4033, 2635, 5412, 4034, 2723, 2722 +2956, 728, 219, 600, 625, 5431, 5372, 3107, 3108, 5432, 3076 +2957, 760, 351, 784, 668, 4314, 4151, 3271, 3195, 5409, 3270 +2958, 450, 457, 482, 823, 2269, 2264, 2248, 5008, 4902, 4903 +2959, 784, 351, 800, 791, 4151, 5433, 3321, 3296, 5373, 3324 +2960, 407, 351, 763, 791, 1997, 4150, 5434, 4079, 5373, 3295 +2961, 648, 194, 597, 684, 5435, 4114, 2891, 2964, 4113, 2962 +2962, 302, 249, 295, 669, 1666, 1644, 1691, 4328, 4326, 5436 +2963, 157, 176, 542, 9, 1336, 5437, 4730, 1224, 1269, 4859 +2964, 194, 648, 118, 119, 5435, 4609, 1338, 1339, 5162, 1113 +2965, 351, 800, 791, 395, 5433, 3324, 5373, 1963, 5345, 4078 +2966, 540, 156, 8, 541, 4280, 1221, 4348, 2514, 4284, 5438 +2967, 188, 46, 168, 501, 1295, 1246, 1337, 3936, 4412, 3937 +2968, 147, 576, 146, 36, 4885, 4272, 1197, 1195, 5439, 1193 +2969, 741, 742, 801, 366, 3143, 3326, 3325, 4767, 5440, 5441 +2970, 584, 188, 501, 502, 5406, 3936, 2662, 2663, 4562, 2414 +2971, 769, 686, 200, 715, 3223, 4967, 5329, 3225, 3057, 5442 +2972, 169, 243, 233, 585, 1472, 1474, 1450, 4678, 5443, 3970 +2973, 55, 192, 512, 86, 1302, 5444, 5445, 2394, 4942, 2442 +2974, 167, 620, 187, 583, 4172, 5446, 1317, 3982, 2753, 5447 +2975, 384, 887, 429, 383, 5213, 4350, 2066, 1930, 4351, 2065 +2976, 334, 382, 875, 383, 1923, 5448, 5449, 1925, 1927, 5450 +2977, 562, 620, 167, 583, 2752, 4172, 3980, 2660, 2753, 3982 +2978, 738, 276, 275, 336, 4992, 1595, 4986, 5451, 1778, 1777 +2979, 500, 187, 168, 649, 5452, 1434, 4174, 2840, 5453, 5454 +2980, 637, 181, 253, 234, 4782, 1499, 5333, 4981, 1451, 1500 +2981, 738, 206, 712, 674, 4993, 4989, 3131, 3132, 4990, 3045 +2982, 19, 523, 130, 570, 5155, 5455, 1145, 5347, 2648, 5338 +2983, 300, 665, 765, 361, 4670, 3210, 4392, 1853, 4543, 4122 +2984, 54, 172, 192, 511, 1254, 1321, 1303, 4944, 5265, 4943 +2985, 44, 154, 72, 537, 1216, 5247, 2366, 5456, 5004, 2503 +2986, 370, 763, 351, 299, 4638, 4150, 1885, 1882, 5118, 1821 +2987, 942, 378, 377, 459, 4652, 1912, 5457, 4061, 2162, 2161 +2988, 973, 458, 487, 493, 5231, 2250, 5458, 5459, 2273, 2275 +2989, 379, 884, 330, 878, 4857, 4856, 1913, 4015, 3600, 4016 +2990, 631, 252, 695, 228, 5167, 4043, 2992, 4546, 1496, 4044 +2991, 164, 183, 641, 556, 1324, 5151, 4842, 5267, 5422, 2816 +2992, 595, 513, 596, 262, 2695, 2697, 2699, 5460, 5098, 5461 +2993, 417, 458, 882, 460, 2160, 4156, 4158, 2164, 2166, 5197 +2994, 252, 631, 178, 228, 5167, 4544, 1495, 1496, 4546, 1437 +2995, 554, 640, 163, 555, 2812, 5417, 5462, 2556, 2813, 5418 +2996, 192, 250, 512, 594, 1491, 5463, 5444, 5464, 4752, 2692 +2997, 211, 136, 657, 608, 1389, 4458, 5175, 4809, 4788, 2896 +2998, 511, 192, 512, 594, 4943, 5444, 2444, 2691, 5464, 2692 +2999, 192, 173, 512, 250, 1332, 5099, 5444, 1491, 1490, 5463 +3000, 425, 379, 911, 946, 2053, 4065, 4582, 4649, 5306, 3796 +3001, 192, 54, 86, 55, 1303, 2403, 4942, 1302, 1038, 2394 +3002, 73, 44, 72, 537, 2367, 2366, 1057, 2502, 5456, 2503 +3003, 319, 747, 806, 748, 5465, 3339, 5399, 5397, 3161, 3340 +3004, 642, 238, 706, 237, 4799, 5342, 3025, 4442, 1526, 4441 +3005, 205, 774, 674, 275, 4959, 3239, 4960, 1590, 4987, 5124 +3006, 527, 139, 28, 27, 5466, 1172, 5379, 5378, 1171, 1009 +3007, 98, 12, 567, 13, 5467, 4835, 2587, 4017, 994, 4612 +3008, 565, 518, 9, 120, 2626, 4466, 4465, 5348, 5307, 1115 +3009, 103, 551, 18, 104, 2542, 4568, 4845, 1090, 2543, 5346 +3010, 126, 202, 201, 602, 1361, 1363, 1359, 5025, 5026, 5047 +3011, 206, 205, 674, 275, 1375, 4960, 4990, 1591, 1590, 5124 +3012, 672, 733, 781, 273, 3119, 3261, 3260, 5468, 4364, 4541 +3013, 367, 747, 806, 319, 4775, 3339, 4780, 1871, 5465, 5399 +3014, 131, 206, 605, 655, 1374, 4991, 5469, 5051, 5052, 2887 +3015, 904, 376, 905, 423, 4917, 4802, 3699, 4308, 2049, 4309 +3016, 184, 643, 165, 558, 4897, 4713, 1325, 3999, 2822, 4000 +3017, 496, 873, 915, 918, 3977, 3693, 3979, 4276, 3701, 3704 +3018, 898, 455, 413, 402, 4945, 2149, 4626, 4627, 2148, 2018 +3019, 843, 414, 876, 824, 4152, 5277, 3574, 3546, 5470, 3573 +3020, 687, 620, 649, 242, 2971, 2886, 2969, 5471, 4918, 5472 +3021, 810, 375, 751, 311, 4877, 5473, 3351, 5474, 1905, 5351 +3022, 749, 304, 700, 750, 5475, 5180, 3163, 3167, 5181, 3165 +3023, 249, 172, 593, 511, 1489, 5476, 4068, 5111, 5265, 2689 +3024, 544, 158, 545, 630, 4117, 4551, 2526, 2782, 4118, 2783 +3025, 722, 345, 723, 779, 4819, 5477, 3089, 3253, 5232, 3254 +3026, 601, 653, 715, 200, 2889, 3056, 3055, 4535, 4533, 5442 +3027, 513, 595, 512, 262, 2695, 2694, 2447, 5098, 5460, 5100 +3028, 221, 147, 616, 576, 1418, 4700, 5246, 5478, 4885, 2743 +3029, 851, 417, 371, 415, 4997, 2030, 4998, 5479, 2114, 2022 +3030, 546, 631, 159, 632, 2786, 4841, 4755, 2788, 2790, 5357 +3031, 792, 412, 366, 801, 5394, 2014, 4768, 3327, 5480, 5441 +3032, 192, 249, 594, 511, 1488, 4327, 5464, 4943, 5111, 2691 +3033, 527, 112, 138, 27, 2479, 4830, 4829, 5378, 4843, 1169 +3034, 365, 865, 368, 405, 4192, 4891, 1986, 1994, 5382, 2010 +3035, 854, 855, 413, 369, 3506, 4628, 5294, 4330, 4332, 2017 +3036, 120, 650, 121, 196, 5425, 5481, 1119, 1343, 4471, 1344 +3037, 767, 265, 352, 773, 4686, 1824, 4687, 3284, 5404, 5482 +3038, 346, 780, 790, 735, 4502, 3293, 4503, 4413, 3259, 3294 +3039, 414, 400, 789, 457, 2107, 5483, 5248, 2157, 2234, 5249 +3040, 683, 213, 214, 658, 5484, 1399, 4601, 2958, 5485, 5486 +3041, 849, 331, 270, 330, 4530, 1762, 5487, 4833, 1764, 1760 +3042, 651, 312, 718, 724, 5250, 5042, 3070, 3091, 5256, 3092 +3043, 496, 422, 873, 448, 2289, 4191, 3977, 2288, 2126, 4277 +3044, 587, 246, 233, 189, 5101, 1514, 4726, 4911, 1483, 1449 +3045, 865, 365, 790, 820, 4192, 4194, 3535, 3536, 5488, 3384 +3046, 626, 541, 627, 176, 2771, 2773, 2775, 5322, 5489, 5323 +3047, 849, 769, 270, 786, 3486, 3944, 5487, 3485, 3280, 3945 +3048, 700, 635, 636, 251, 3006, 2802, 3007, 5490, 5146, 5147 +3049, 522, 128, 569, 654, 4689, 5491, 2647, 2864, 5492, 2865 +3050, 296, 365, 759, 817, 1895, 5222, 4007, 4008, 4193, 3373 +3051, 194, 648, 597, 118, 5435, 2891, 4114, 1338, 4609, 4610 +3052, 576, 63, 146, 36, 2605, 4207, 4272, 5439, 2352, 1193 +3053, 153, 43, 582, 71, 1213, 5493, 5494, 5495, 2364, 2624 +3054, 406, 859, 902, 860, 4882, 3653, 5496, 5361, 3521, 3654 +3055, 365, 296, 368, 817, 1895, 1876, 1986, 4193, 4008, 4645 +3056, 235, 639, 236, 703, 5497, 4203, 1457, 5498, 3016, 5499 +3057, 222, 722, 613, 291, 4232, 3084, 4233, 1635, 4763, 4432 +3058, 147, 222, 533, 148, 1420, 4436, 4699, 1200, 1421, 4437 +3059, 65, 37, 533, 148, 2355, 5183, 2494, 4815, 1198, 4437 +3060, 112, 26, 27, 185, 5301, 1008, 4843, 4844, 1288, 1287 +3061, 301, 590, 666, 248, 4937, 2914, 5500, 1661, 5000, 5001 +3062, 762, 788, 325, 284, 3290, 4807, 4631, 4974, 5055, 1856 +3063, 818, 462, 837, 879, 5384, 4009, 3449, 3583, 5131, 3584 +3064, 37, 147, 533, 148, 1196, 4699, 5183, 1198, 1200, 4437 +3065, 541, 93, 94, 8, 2512, 1080, 2513, 5438, 5164, 5166 +3066, 236, 253, 702, 638, 1501, 4872, 5502, 4205, 5501, 3013 +3067, 337, 796, 277, 338, 3966, 4852, 1781, 1785, 4571, 1783 +3068, 203, 128, 654, 603, 1365, 5492, 5504, 5505, 5503, 2884 +3069, 356, 862, 861, 399, 5506, 3527, 4361, 1975, 4916, 4076 +3070, 253, 236, 702, 311, 1501, 5502, 4872, 1696, 1695, 5318 +3071, 650, 716, 598, 196, 3060, 3059, 2847, 4471, 4470, 5507 +3072, 796, 276, 336, 337, 4851, 1778, 3964, 3966, 1780, 1782 +3073, 477, 931, 930, 959, 4727, 3748, 4728, 5188, 3839, 3838 +3074, 333, 382, 845, 831, 1922, 5508, 4924, 4363, 5509, 3475 +3075, 166, 186, 561, 646, 1316, 3955, 3996, 4583, 4419, 2831 +3076, 133, 524, 21, 107, 4033, 4747, 1153, 5510, 2472, 4748 +3077, 89, 2, 515, 57, 2400, 5511, 2451, 2397, 1041, 5512 +3078, 168, 46, 75, 501, 1246, 2378, 4175, 3937, 4412, 2409 +3079, 367, 747, 319, 316, 4775, 5465, 1871, 1872, 4774, 1723 +3080, 393, 742, 317, 366, 5107, 5106, 1955, 1956, 5440, 1869 +3081, 452, 934, 963, 935, 5513, 3850, 5514, 5515, 3760, 3851 +3082, 367, 854, 409, 369, 4778, 5293, 2004, 1880, 4330, 2006 +3083, 584, 687, 649, 242, 2970, 2969, 2842, 5516, 5471, 5472 +3084, 554, 106, 107, 21, 2551, 1093, 2552, 5517, 4244, 4748 +3085, 187, 500, 583, 649, 5452, 2709, 5447, 5453, 2840, 2843 +3086, 727, 318, 308, 690, 5518, 1719, 4414, 3297, 5519, 5520 +3087, 772, 320, 352, 767, 5521, 1851, 4846, 3235, 5522, 4687 +3088, 400, 354, 787, 352, 1979, 5523, 5524, 1978, 1830, 4847 +3089, 672, 781, 204, 273, 3260, 5525, 5033, 5468, 4541, 1585 +3090, 488, 967, 938, 423, 5383, 3863, 4691, 2253, 5330, 4310 +3091, 478, 950, 943, 971, 4719, 3812, 5416, 4483, 3899, 3876 +3092, 620, 187, 583, 649, 5446, 5447, 2753, 2886, 5453, 2843 +3093, 615, 312, 288, 223, 5526, 1700, 4510, 4512, 1699, 1627 +3094, 353, 359, 736, 418, 1844, 4701, 5527, 2033, 2032, 4703 +3095, 598, 122, 623, 566, 5419, 4266, 2857, 2703, 5528, 2760 +3096, 741, 692, 324, 691, 3139, 5103, 5109, 3138, 2984, 4051 +3097, 187, 620, 242, 649, 5446, 4918, 1468, 5453, 2886, 5472 +3098, 980, 491, 962, 494, 3984, 4341, 3911, 4168, 2314, 4170 +3099, 354, 824, 773, 778, 5529, 3395, 5140, 5139, 3399, 3249 +3100, 781, 274, 204, 273, 4539, 1587, 5525, 4541, 1589, 1585 +3101, 13, 546, 545, 178, 4018, 2529, 5530, 1273, 4840, 4552 +3102, 532, 221, 218, 612, 5531, 1419, 5532, 2733, 4020, 5533 +3103, 66, 38, 149, 39, 2357, 1201, 4489, 2358, 1021, 1202 +3104, 178, 158, 228, 630, 1308, 1438, 1437, 4545, 4118, 4097 +3105, 258, 239, 165, 644, 1552, 1463, 1530, 4712, 4941, 4714 +3106, 245, 144, 531, 614, 1479, 4403, 4404, 4416, 5534, 2736 +3107, 411, 838, 797, 908, 4418, 3453, 4904, 5059, 3671, 3670 +3108, 339, 793, 278, 279, 5535, 5536, 1786, 1787, 5314, 1604 +3109, 312, 255, 651, 310, 1698, 5244, 5250, 1701, 1693, 5251 +3110, 355, 797, 347, 729, 5537, 4906, 1863, 5538, 3314, 5272 +3111, 331, 849, 786, 834, 4530, 3485, 5539, 4531, 3488, 3439 +3112, 353, 359, 305, 660, 1844, 1843, 1825, 5541, 5540, 4657 +3113, 253, 637, 702, 638, 5333, 3012, 4872, 5501, 2808, 3013 +3114, 359, 353, 736, 660, 1844, 5527, 4701, 5540, 5541, 3126 +3115, 272, 332, 798, 333, 1766, 5542, 5062, 1768, 1770, 4923 +3116, 660, 245, 727, 308, 4124, 4126, 3105, 5543, 1681, 4414 +3117, 246, 505, 588, 170, 4547, 2673, 5212, 1482, 4548, 5211 +3118, 738, 275, 795, 336, 4986, 4988, 3306, 5451, 1777, 3965 +3119, 552, 551, 104, 19, 2547, 2543, 2545, 4182, 4397, 4528 +3120, 263, 246, 588, 247, 1558, 5212, 5544, 1557, 1537, 4621 +3121, 305, 359, 308, 660, 1843, 1842, 1682, 4657, 5540, 5543 +3122, 660, 245, 308, 305, 4124, 1681, 5543, 4657, 1673, 1682 +3123, 569, 521, 603, 127, 2632, 2715, 2714, 5545, 4091, 4093 +3124, 452, 441, 453, 934, 2138, 2139, 2142, 5513, 5546, 5547 +3125, 321, 371, 745, 322, 1887, 5548, 3976, 1834, 1888, 4588 +3126, 508, 191, 171, 52, 4143, 1320, 4340, 4359, 1301, 1252 +3127, 983, 980, 494, 469, 2335, 4168, 4185, 5549, 4374, 2297 +3128, 694, 228, 226, 630, 4096, 1518, 4106, 2989, 4097, 4798 +3129, 359, 727, 308, 660, 5550, 4414, 1842, 5540, 3105, 5543 +3130, 169, 502, 77, 47, 4563, 2413, 4839, 1249, 5551, 2379 +3131, 389, 907, 388, 867, 4668, 5415, 1945, 4874, 3668, 5327 +3132, 464, 978, 497, 489, 4553, 4570, 2290, 2319, 4554, 2309 +3133, 125, 653, 200, 124, 4532, 4533, 1356, 1131, 4616, 1355 +3134, 203, 672, 204, 273, 3961, 5033, 1369, 1584, 5468, 1585 +3135, 578, 145, 611, 218, 5552, 5553, 2730, 4298, 1410, 4297 +3136, 139, 527, 610, 658, 5466, 2729, 4811, 5554, 2876, 2875 +3137, 488, 967, 944, 938, 5383, 3864, 4275, 4691, 3863, 3818 +3138, 216, 309, 285, 671, 1687, 1690, 1621, 5556, 5555, 5557 +3139, 945, 434, 435, 907, 4913, 2085, 4636, 3791, 4669, 4665 +3140, 206, 712, 605, 655, 4989, 3044, 4991, 5052, 3043, 2887 +3141, 216, 596, 671, 659, 5558, 2926, 5556, 4220, 2894, 2927 +3142, 670, 302, 669, 594, 5559, 4328, 3066, 2923, 4329, 2922 +3143, 177, 254, 226, 629, 1502, 1505, 1433, 4200, 4202, 4288 +3144, 309, 216, 217, 671, 1687, 1409, 1688, 5555, 5556, 5560 +3145, 596, 595, 217, 671, 2699, 5561, 5204, 2926, 2925, 5560 +3146, 265, 717, 195, 196, 5562, 5563, 1561, 1562, 4472, 1345 +3147, 305, 245, 218, 611, 1673, 1524, 1674, 4407, 4125, 4297 +3148, 595, 309, 217, 671, 5015, 1688, 5561, 2925, 5555, 5560 +3149, 895, 449, 461, 929, 5564, 2171, 5565, 3740, 4590, 4866 +3150, 903, 860, 401, 902, 3656, 4165, 4166, 3658, 3654, 5566 +3151, 527, 574, 658, 138, 2652, 2877, 2876, 4829, 4831, 5567 +3152, 430, 939, 384, 883, 4370, 5568, 2068, 4371, 3773, 5214 +3153, 488, 495, 944, 949, 2283, 5569, 4275, 4274, 5570, 3807 +3154, 606, 132, 655, 207, 5571, 5572, 2898, 5073, 1377, 5053 +3155, 452, 494, 963, 934, 2278, 4169, 5514, 5513, 5573, 3850 +3156, 953, 434, 471, 945, 5574, 2200, 4265, 3820, 4913, 5575 +3157, 477, 896, 930, 897, 5576, 3743, 4728, 4729, 3640, 3744 +3158, 749, 700, 251, 699, 3163, 5490, 5577, 3162, 3008, 5578 +3159, 131, 206, 130, 605, 1374, 1373, 1149, 5469, 4991, 4112 +3160, 865, 396, 880, 405, 5579, 5580, 3587, 5382, 1993, 5286 +3161, 211, 682, 212, 281, 4810, 5176, 1393, 1608, 5581, 1609 +3162, 843, 789, 823, 457, 3465, 3398, 3466, 4154, 5249, 4902 +3163, 183, 23, 556, 164, 1283, 5268, 5422, 1324, 1238, 5267 +3164, 649, 500, 501, 168, 2840, 2411, 2841, 5454, 4174, 3937 +3165, 824, 354, 787, 789, 5529, 5523, 3396, 3469, 5582, 3468 +3166, 100, 15, 101, 548, 4860, 5583, 1087, 2533, 5584, 2534 +3167, 265, 716, 196, 266, 5403, 4470, 1562, 1565, 5405, 1563 +3168, 288, 719, 676, 619, 5194, 3106, 5377, 4511, 3073, 2940 +3169, 225, 224, 624, 289, 1431, 5585, 4523, 1630, 1629, 5586 +3170, 794, 775, 776, 281, 3304, 3288, 3305, 4677, 5317, 4794 +3171, 683, 213, 609, 677, 5484, 5587, 2959, 2960, 5588, 2942 +3172, 153, 225, 536, 621, 1430, 4521, 4827, 5589, 4238, 2755 +3173, 197, 598, 196, 121, 4893, 5507, 1348, 1346, 5590, 1344 +3174, 224, 151, 152, 581, 1426, 1211, 1427, 5592, 5591, 4855 +3175, 15, 179, 160, 548, 1275, 1291, 1230, 5584, 5205, 4887 +3176, 716, 197, 196, 266, 4894, 1348, 4470, 5405, 1564, 1563 +3177, 598, 650, 196, 121, 2847, 4471, 5507, 5590, 5481, 1344 +3178, 617, 579, 613, 220, 2747, 2734, 2882, 4440, 5593, 4434 +3179, 211, 136, 212, 657, 1389, 1391, 1393, 5175, 4458, 4460 +3180, 321, 230, 746, 316, 1729, 5594, 3975, 1745, 1712, 4659 +3181, 364, 400, 768, 737, 1980, 5595, 4824, 5597, 5596, 3220 +3182, 731, 785, 718, 394, 3276, 3275, 3115, 5599, 5598, 5043 +3183, 485, 975, 487, 493, 4661, 4035, 2313, 2317, 5600, 2275 +3184, 111, 26, 559, 165, 4898, 5266, 2566, 4228, 1239, 4229 +3185, 472, 945, 926, 956, 4634, 3801, 4635, 5190, 3830, 3829 +3186, 26, 112, 559, 185, 5301, 2567, 5266, 1288, 4844, 4302 +3187, 265, 717, 314, 195, 5562, 4692, 1725, 1561, 5563, 1706 +3188, 309, 285, 670, 302, 1690, 5601, 5014, 1746, 1804, 5559 +3189, 683, 771, 213, 677, 3230, 4578, 5484, 2960, 3231, 5588 +3190, 342, 794, 847, 341, 4675, 3481, 5411, 1797, 4676, 4476 +3191, 829, 761, 267, 328, 3416, 5602, 5603, 4979, 5199, 1753 +3192, 760, 351, 395, 800, 4314, 1963, 5285, 3322, 5433, 5345 +3193, 411, 797, 347, 396, 4904, 4906, 2011, 2012, 5604, 1970 +3194, 301, 260, 300, 665, 1662, 1659, 1663, 4754, 4935, 4670 +3195, 254, 628, 693, 629, 4201, 2985, 5304, 4202, 2781, 2986 +3196, 355, 764, 729, 663, 4379, 3213, 5538, 5102, 3207, 3111 +3197, 518, 650, 120, 565, 2844, 5425, 5307, 2626, 2845, 5348 +3198, 606, 208, 207, 720, 5605, 1381, 5073, 3077, 4785, 4770 +3199, 664, 263, 729, 663, 5424, 5606, 3112, 2911, 5094, 3111 +3200, 700, 701, 234, 636, 3011, 4110, 5281, 3007, 3009, 4982 +3201, 894, 391, 912, 920, 5607, 5608, 3730, 3729, 4879, 3714 +3202, 151, 224, 223, 619, 1426, 1428, 1425, 5609, 4969, 4513 +3203, 388, 872, 433, 387, 5328, 5362, 2078, 1942, 5610, 2077 +3204, 387, 833, 822, 872, 5611, 3429, 5612, 5610, 3562, 3561 +3205, 235, 307, 703, 236, 1678, 5078, 5498, 1457, 1679, 5499 +3206, 698, 747, 319, 748, 3157, 5465, 5613, 3159, 3161, 5397 +3207, 807, 290, 369, 748, 4537, 1878, 4331, 3342, 4538, 5398 +3208, 131, 571, 655, 523, 5219, 2867, 5051, 5220, 2634, 2868 +3209, 307, 703, 753, 704, 5078, 3174, 5077, 5614, 3020, 3175 +3210, 771, 821, 283, 343, 3388, 5238, 4580, 4889, 5375, 1799 +3211, 400, 364, 326, 737, 1980, 1865, 1977, 5596, 5597, 5615 +3212, 659, 610, 215, 140, 2893, 4680, 4222, 4593, 4694, 1401 +3213, 785, 818, 823, 450, 3375, 3402, 3392, 5006, 5616, 5008 +3214, 562, 29, 115, 167, 3948, 3949, 2576, 3980, 1244, 3981 +3215, 307, 235, 703, 704, 1678, 5498, 5078, 5614, 5029, 3020 +3216, 87, 55, 512, 86, 2393, 5445, 2443, 1072, 2394, 2442 +3217, 772, 725, 289, 320, 3232, 5234, 5233, 5521, 4239, 1805 +3218, 626, 156, 541, 176, 4283, 4284, 2771, 5322, 1334, 5489 +3219, 433, 940, 872, 913, 5313, 3775, 5362, 5363, 3778, 3687 +3220, 711, 780, 726, 297, 3266, 3415, 3273, 4025, 5153, 4024 +3221, 307, 235, 704, 294, 1678, 5029, 5614, 1715, 1643, 4718 +3222, 673, 202, 685, 734, 5227, 5048, 3074, 3121, 5617, 3122 +3223, 297, 687, 711, 243, 4023, 3042, 4025, 1684, 5618, 4323 +3224, 241, 620, 687, 242, 4171, 2971, 4633, 1470, 4918, 5471 +3225, 243, 584, 687, 711, 5407, 2970, 5618, 4323, 3039, 3042 +3226, 232, 290, 251, 699, 1634, 1633, 1522, 5401, 5619, 5578 +3227, 65, 579, 66, 38, 2617, 2616, 1050, 2356, 4487, 2357 +3228, 387, 822, 833, 338, 5612, 3429, 5611, 1937, 5177, 4573 +3229, 16, 15, 160, 548, 997, 1230, 1229, 4343, 5584, 4887 +3230, 634, 180, 549, 635, 4517, 5391, 2795, 2799, 4516, 2797 +3231, 101, 15, 16, 548, 5583, 997, 4342, 2534, 5584, 4343 +3232, 368, 816, 350, 864, 4643, 5270, 1875, 4644, 3531, 5296 +3233, 193, 117, 90, 5, 1511, 4497, 4496, 1306, 1106, 4584 +3234, 386, 940, 431, 889, 4813, 5620, 2072, 4709, 3776, 4849 +3235, 715, 601, 201, 685, 3055, 5326, 5621, 3058, 2966, 5049 +3236, 326, 320, 352, 772, 1831, 1851, 1886, 5622, 5521, 4846 +3237, 258, 708, 239, 644, 4733, 4519, 1552, 4712, 3031, 4941 +3238, 792, 741, 801, 366, 3299, 3325, 3327, 4768, 4767, 5441 +3239, 568, 125, 520, 601, 4814, 4401, 2631, 2710, 4534, 2711 +3240, 297, 687, 243, 241, 4023, 5618, 1684, 1650, 4633, 1632 +3241, 620, 562, 167, 647, 2752, 3980, 4172, 2835, 2834, 4173 +3242, 386, 337, 338, 833, 1934, 1785, 1935, 4710, 4572, 4573 +3243, 818, 462, 879, 482, 5384, 5131, 3583, 5262, 2232, 5011 +3244, 604, 654, 204, 129, 2863, 5034, 4566, 4100, 5623, 1368 +3245, 386, 431, 940, 432, 2072, 5620, 4813, 2074, 2076, 4405 +3246, 942, 459, 377, 910, 4061, 2161, 5457, 3797, 5624, 5625 +3247, 199, 686, 269, 740, 4667, 4966, 1572, 4046, 3136, 5279 +3248, 268, 761, 267, 198, 5198, 5602, 1571, 1569, 5626, 1567 +3249, 623, 123, 599, 519, 5627, 4622, 2761, 2759, 4837, 2706 +3250, 832, 389, 850, 341, 4873, 5628, 3491, 5629, 1944, 4477 +3251, 133, 21, 22, 107, 1153, 1003, 1154, 5510, 4748, 5630 +3252, 812, 754, 307, 753, 3358, 5631, 5632, 3357, 3179, 5077 +3253, 382, 381, 333, 845, 1924, 1920, 1922, 5508, 5336, 4924 +3254, 913, 907, 867, 388, 3688, 3668, 3686, 5364, 5415, 5327 +3255, 913, 388, 867, 872, 5364, 5327, 3686, 3687, 5328, 3563 +3256, 40, 535, 68, 69, 5341, 2499, 2360, 2361, 2498, 1053 +3257, 67, 150, 534, 580, 4269, 4527, 2496, 2620, 4088, 2641 +3258, 738, 276, 720, 712, 4992, 4769, 3133, 3131, 4771, 3078 +3259, 264, 726, 259, 710, 4574, 4055, 1559, 5160, 3102, 5633 +3260, 832, 340, 822, 867, 4875, 4983, 3470, 3543, 4876, 3544 +3261, 579, 148, 613, 220, 4439, 4438, 2734, 5593, 1415, 4434 +3262, 145, 34, 61, 531, 1190, 2349, 5634, 4402, 4828, 2490 +3263, 287, 722, 723, 616, 4762, 3089, 4211, 4212, 3085, 3087 +3264, 287, 722, 616, 222, 4762, 3085, 4212, 1626, 4232, 4234 +3265, 813, 349, 812, 754, 4133, 4608, 3362, 3360, 5635, 3358 +3266, 889, 883, 431, 385, 3705, 4850, 4849, 5028, 5636, 2071 +3267, 921, 427, 464, 969, 5236, 2179, 5637, 3868, 4491, 5297 +3268, 824, 354, 773, 787, 5529, 5140, 3395, 3396, 5523, 3285 +3269, 827, 418, 732, 792, 5395, 5638, 3409, 3410, 5396, 3309 +3270, 683, 799, 214, 283, 3320, 4602, 4601, 5639, 5237, 1615 +3271, 618, 648, 119, 517, 2839, 5162, 5163, 2749, 2837, 4867 +3272, 287, 221, 616, 612, 1625, 5246, 4212, 4021, 4020, 2744 +3273, 70, 41, 69, 581, 2372, 2373, 1054, 2621, 4854, 2622 +3274, 940, 431, 889, 927, 5620, 4849, 3776, 3777, 4027, 3734 +3275, 183, 257, 640, 163, 1527, 5288, 5150, 1313, 1528, 5417 +3276, 555, 554, 107, 163, 2556, 2552, 2554, 5418, 5462, 5640 +3277, 639, 554, 640, 163, 2810, 2812, 2814, 5641, 5462, 5417 +3278, 705, 257, 704, 640, 4224, 4716, 3023, 3021, 5288, 3019 +3279, 857, 899, 856, 410, 3645, 3644, 3512, 4353, 5087, 5642 +3280, 162, 236, 638, 253, 1456, 4205, 5643, 1498, 1501, 5501 +3281, 547, 15, 179, 14, 5644, 1275, 5359, 4758, 996, 1276 +3282, 887, 939, 429, 948, 3774, 4294, 4350, 3804, 3803, 4217 +3283, 675, 672, 781, 204, 2938, 3260, 3262, 4565, 5033, 5525 +3284, 235, 639, 703, 704, 5497, 3016, 5498, 5029, 3018, 3020 +3285, 522, 128, 654, 129, 4689, 5492, 2864, 4128, 1143, 5623 +3286, 232, 698, 319, 748, 5195, 5613, 1721, 5645, 3159, 5397 +3287, 730, 826, 438, 836, 3408, 4029, 5646, 3443, 3446, 4031 +3288, 19, 131, 130, 523, 1147, 1149, 1145, 5155, 5220, 5455 +3289, 187, 500, 116, 583, 5452, 2579, 5647, 5447, 2709, 2628 +3290, 422, 909, 405, 454, 4190, 5009, 2047, 2146, 4921, 2143 +3291, 82, 508, 171, 52, 2430, 4340, 4604, 2390, 4359, 1252 +3292, 172, 510, 593, 511, 5263, 2688, 5476, 5265, 2441, 2689 +3293, 189, 505, 170, 49, 4549, 4548, 1329, 1296, 4832, 1251 +3294, 507, 51, 171, 190, 4380, 1253, 4339, 4957, 1298, 1330 +3295, 396, 865, 880, 820, 5579, 3587, 5580, 5648, 3536, 3585 +3296, 904, 376, 423, 399, 4917, 2049, 4308, 4075, 2003, 2050 +3297, 183, 555, 641, 556, 5152, 2815, 5151, 5422, 2559, 2816 +3298, 820, 346, 790, 735, 5649, 4503, 3384, 3381, 4413, 3294 +3299, 820, 797, 355, 764, 3383, 5537, 4378, 3382, 3313, 4379 +3300, 782, 832, 776, 280, 3426, 3425, 3265, 4013, 5171, 4252 +3301, 290, 232, 319, 748, 1634, 1721, 1724, 4538, 5645, 5397 +3302, 873, 422, 909, 908, 4191, 4190, 3679, 3678, 4954, 3673 +3303, 815, 816, 863, 350, 3371, 3529, 3528, 5269, 5270, 5123 +3304, 587, 246, 588, 663, 5101, 5212, 2675, 2906, 5095, 2907 +3305, 342, 835, 794, 775, 5650, 3442, 4675, 5316, 3433, 3304 +3306, 342, 282, 835, 775, 1796, 4888, 5650, 5316, 4909, 3433 +3307, 749, 290, 748, 699, 4536, 4538, 3164, 3162, 5619, 3160 +3308, 430, 431, 883, 385, 2073, 4850, 4371, 2069, 2071, 5636 +3309, 327, 829, 267, 328, 5275, 5603, 1752, 1755, 4979, 1753 +3310, 582, 153, 536, 621, 5494, 4827, 2643, 2754, 5589, 2755 +3311, 726, 646, 259, 710, 3100, 4420, 4055, 3102, 3037, 5633 +3312, 126, 521, 127, 602, 4595, 4091, 1137, 5025, 2712, 4092 +3313, 271, 331, 786, 834, 1763, 5539, 5141, 5651, 4531, 3439 +3314, 334, 382, 831, 875, 1923, 5509, 5652, 5449, 5448, 3569 +3315, 749, 290, 357, 807, 4536, 1839, 5653, 3343, 4537, 5235 +3316, 332, 271, 734, 834, 1765, 5149, 5654, 4744, 5651, 3431 +3317, 264, 726, 710, 766, 4574, 3102, 5160, 4575, 3215, 3214 +3318, 274, 334, 828, 335, 1772, 5655, 5656, 1774, 1776, 4199 +3319, 653, 686, 715, 200, 2967, 3057, 3056, 4533, 4967, 5442 +3320, 276, 277, 720, 207, 1598, 4784, 4769, 1594, 1596, 4770 +3321, 112, 560, 27, 113, 2569, 4446, 4843, 1099, 2570, 4447 +3322, 709, 296, 710, 759, 4325, 4605, 3038, 3192, 4007, 3193 +3323, 365, 296, 759, 264, 1895, 4007, 5222, 1868, 1649, 5161 +3324, 386, 872, 833, 387, 4708, 3562, 4710, 1939, 5610, 5611 +3325, 249, 192, 594, 250, 1488, 5464, 4327, 1542, 1491, 4752 +3326, 386, 872, 387, 940, 4708, 5610, 1939, 4813, 3775, 5657 +3327, 785, 364, 394, 450, 5658, 1959, 5598, 5006, 2132, 2131 +3328, 841, 386, 385, 889, 5258, 1936, 5259, 3615, 4709, 5028 +3329, 720, 277, 770, 679, 4784, 5659, 3227, 3079, 5660, 3226 +3330, 882, 888, 460, 924, 3612, 4463, 5197, 3779, 3722, 4469 +3331, 117, 91, 6, 564, 5429, 5661, 1107, 4740, 2582, 5134 +3332, 783, 799, 762, 284, 3378, 3377, 3277, 4995, 5057, 4974 +3333, 279, 209, 680, 278, 1602, 4908, 4495, 1604, 1600, 5662 +3334, 855, 898, 402, 856, 3641, 4627, 4629, 3509, 3642, 5159 +3335, 265, 266, 354, 773, 1565, 1828, 1827, 5404, 5138, 5140 +3336, 898, 442, 402, 899, 4946, 2105, 4627, 3646, 5663, 5158 +3337, 219, 227, 625, 728, 1536, 5664, 5432, 5431, 5665, 3108 +3338, 859, 349, 811, 812, 5196, 5092, 3516, 3517, 4608, 3359 +3339, 205, 604, 204, 129, 4098, 4566, 1372, 1370, 4100, 1368 +3340, 555, 183, 22, 108, 5152, 1284, 5666, 2555, 5423, 5667 +3341, 349, 307, 811, 812, 1816, 5091, 5092, 4608, 5632, 3359 +3342, 749, 304, 808, 357, 5475, 5668, 3345, 5653, 1838, 5067 +3343, 183, 23, 22, 108, 1283, 1004, 1284, 5423, 5315, 5667 +3344, 298, 356, 756, 303, 1835, 5241, 4930, 1670, 1836, 4655 +3345, 304, 749, 808, 750, 5475, 3345, 5668, 5181, 3167, 3346 +3346, 502, 76, 77, 47, 2412, 1062, 2413, 5551, 2380, 2379 +3347, 136, 211, 135, 608, 1389, 1388, 1164, 4788, 4809, 4789 +3348, 199, 686, 740, 689, 4667, 3136, 4046, 4047, 2976, 3137 +3349, 331, 271, 332, 834, 1763, 1765, 1767, 4531, 5651, 4744 +3350, 249, 593, 295, 669, 4068, 4070, 1644, 4326, 2921, 5436 +3351, 268, 761, 740, 819, 5198, 3252, 4048, 5200, 3380, 3379 +3352, 268, 689, 740, 761, 4049, 3137, 4048, 5198, 3198, 3252 +3353, 191, 510, 509, 592, 5669, 2438, 4145, 5670, 2686, 2685 +3354, 686, 769, 269, 740, 3223, 5144, 4966, 3136, 3224, 5279 +3355, 167, 620, 242, 187, 4172, 4918, 1469, 1317, 5446, 1468 +3356, 411, 838, 765, 347, 4418, 3451, 4120, 2011, 4905, 4391 +3357, 274, 774, 828, 781, 5018, 3411, 5656, 4539, 3315, 3412 +3358, 881, 884, 830, 329, 3599, 3598, 3590, 4360, 4508, 5309 +3359, 675, 205, 204, 274, 4564, 1372, 4565, 5017, 1588, 1587 +3360, 513, 56, 88, 174, 4422, 2395, 2446, 5671, 1259, 5672 +3361, 983, 469, 481, 470, 5549, 2298, 4080, 4081, 2198, 2299 +3362, 381, 892, 426, 380, 4443, 4444, 2057, 1921, 4596, 2056 +3363, 231, 176, 627, 229, 1443, 5323, 5325, 1446, 1440, 5673 +3364, 824, 829, 778, 327, 3461, 3417, 3399, 5276, 5275, 5674 +3365, 216, 659, 215, 140, 4220, 4222, 1405, 1403, 4593, 1401 +3366, 475, 439, 407, 869, 2214, 2097, 2211, 4557, 5340, 4559 +3367, 412, 827, 801, 792, 5393, 3454, 5480, 5394, 3410, 3327 +3368, 865, 365, 396, 405, 4192, 1966, 5579, 5382, 1994, 1993 +3369, 10, 157, 542, 9, 1223, 4730, 5675, 991, 1224, 4859 +3370, 403, 827, 801, 412, 4868, 3454, 4600, 2013, 5393, 5480 +3371, 398, 412, 792, 418, 2015, 5394, 4766, 2035, 2106, 5396 +3372, 736, 398, 792, 418, 4702, 4766, 3300, 4703, 2035, 5396 +3373, 881, 942, 377, 910, 3785, 5457, 4797, 3677, 3797, 5625 +3374, 159, 547, 179, 14, 4757, 5359, 1309, 1227, 4758, 1276 +3375, 409, 854, 853, 896, 5293, 3503, 5676, 5677, 3636, 3635 +3376, 895, 397, 415, 852, 5207, 2023, 5310, 3632, 5209, 5312 +3377, 15, 521, 101, 16, 4576, 2466, 5583, 997, 4577, 4342 +3378, 862, 376, 863, 905, 4915, 5121, 3530, 3662, 4802, 3663 +3379, 804, 348, 805, 852, 4484, 4485, 3338, 3495, 5678, 3496 +3380, 348, 805, 852, 853, 4485, 3496, 5678, 5210, 3498, 3500 +3381, 393, 403, 801, 366, 1987, 4600, 5360, 1956, 1988, 5441 +3382, 373, 744, 802, 803, 5679, 3329, 5680, 4313, 3330, 3332 +3383, 782, 832, 340, 822, 3426, 4875, 4293, 3406, 3470, 4983 +3384, 816, 863, 350, 864, 3529, 5123, 5270, 3531, 3533, 5296 +3385, 939, 970, 467, 955, 3871, 4834, 5280, 3826, 3872, 4307 +3386, 898, 442, 899, 932, 4946, 5663, 3646, 3749, 5681, 3750 +3387, 862, 356, 350, 376, 5506, 1891, 5682, 4915, 1907, 1906 +3388, 816, 368, 350, 292, 4643, 1875, 5270, 4698, 1874, 1818 +3389, 210, 656, 678, 680, 4094, 2945, 3941, 4494, 2948, 2951 +3390, 558, 643, 165, 644, 2822, 4713, 4000, 2824, 2826, 4714 +3391, 371, 804, 745, 803, 5170, 3333, 5548, 5290, 3335, 3331 +3392, 892, 381, 845, 846, 4443, 5336, 3623, 3624, 5683, 3479 +3393, 307, 753, 811, 812, 5077, 3355, 5091, 5632, 3357, 3359 +3394, 939, 467, 429, 955, 5280, 2187, 4294, 3826, 4307, 4219 +3395, 810, 375, 809, 751, 4877, 4878, 3353, 3351, 5473, 3349 +3396, 514, 57, 174, 88, 5684, 1258, 5685, 2448, 2398, 5672 +3397, 378, 884, 946, 942, 4507, 3794, 4653, 4652, 3784, 3795 +3398, 483, 888, 451, 916, 4461, 4005, 2237, 5686, 3695, 5687 +3399, 408, 345, 362, 777, 2000, 1859, 2001, 5069, 4820, 5688 +3400, 975, 973, 493, 966, 3895, 5459, 5600, 3894, 3892, 4181 +3401, 706, 705, 641, 237, 3026, 3022, 3024, 4441, 4226, 4227 +3402, 222, 533, 613, 616, 4436, 2735, 4233, 4234, 2742, 2745 +3403, 428, 887, 429, 948, 4349, 4350, 2067, 4357, 3804, 4217 +3404, 705, 755, 237, 706, 3180, 5689, 4226, 3026, 3181, 4441 +3405, 969, 464, 921, 952, 5297, 5637, 3868, 3881, 5690, 3816 +3406, 397, 367, 853, 409, 1968, 4779, 5208, 2005, 2004, 5676 +3407, 492, 483, 451, 916, 2320, 2237, 2311, 5427, 5686, 5687 +3408, 397, 461, 409, 896, 2170, 2172, 2005, 5302, 5691, 5677 +3409, 26, 574, 138, 137, 3987, 4831, 1168, 1166, 3988, 1170 +3410, 972, 980, 983, 469, 2336, 2335, 2331, 4375, 4374, 5549 +3411, 397, 895, 461, 896, 5207, 5565, 2170, 5302, 3637, 5691 +3412, 131, 605, 130, 523, 5469, 4112, 1149, 5220, 2718, 5455 +3413, 105, 571, 20, 523, 2596, 5221, 5154, 2470, 2634, 5156 +3414, 230, 697, 746, 316, 5179, 3154, 5594, 1712, 4773, 4659 +3415, 477, 461, 896, 409, 2221, 5691, 5576, 2220, 2172, 5677 +3416, 371, 745, 322, 803, 5548, 4588, 1888, 5290, 3331, 4589 +3417, 399, 401, 861, 358, 2007, 4167, 4076, 1976, 1982, 4337 +3418, 717, 650, 195, 196, 3075, 5692, 5563, 4472, 4471, 1345 +3419, 469, 972, 432, 470, 4375, 4406, 2194, 2198, 4394, 2196 +3420, 841, 386, 889, 833, 5258, 4709, 3615, 3572, 4710, 3614 +3421, 268, 689, 761, 198, 4049, 3198, 5198, 1569, 5693, 5626 +3422, 431, 972, 927, 940, 5366, 3878, 4027, 5620, 3880, 3777 +3423, 216, 596, 659, 141, 5558, 2894, 4220, 1404, 5203, 4594 +3424, 433, 953, 940, 913, 4263, 3862, 5313, 5363, 3821, 3778 +3425, 114, 562, 186, 29, 2575, 3953, 3954, 3947, 3948, 1289 +3426, 246, 587, 588, 505, 5101, 2675, 5212, 4547, 2671, 2673 +3427, 840, 393, 801, 825, 5186, 5360, 3457, 3458, 5185, 3403 +3428, 937, 423, 484, 445, 4682, 2239, 5355, 4243, 2163, 2240 +3429, 973, 458, 928, 487, 5231, 5230, 3883, 5458, 2250, 5694 +3430, 815, 356, 350, 862, 5240, 1891, 5269, 3526, 5506, 5682 +3431, 254, 692, 229, 317, 5303, 5104, 1504, 1713, 5105, 1714 +3432, 472, 945, 434, 435, 4634, 4913, 2202, 2203, 4636, 2085 +3433, 431, 972, 940, 432, 5366, 3880, 5620, 2076, 4406, 4405 +3434, 461, 895, 929, 896, 5565, 3740, 4866, 5691, 3637, 3741 +3435, 461, 958, 929, 489, 4919, 3835, 4866, 2280, 4920, 4865 +3436, 497, 477, 930, 959, 2307, 4728, 4102, 4103, 5188, 3838 +3437, 268, 199, 269, 740, 1570, 1572, 1574, 4048, 4046, 5279 +3438, 309, 595, 670, 671, 5015, 2924, 5014, 5555, 2925, 2928 +3439, 393, 323, 825, 374, 1981, 5031, 5185, 1989, 1900, 5114 +3440, 968, 478, 954, 971, 5695, 4938, 3866, 3877, 4483, 3874 +3441, 378, 942, 424, 459, 4652, 4062, 2051, 2162, 4061, 2169 +3442, 742, 323, 825, 393, 5030, 5031, 3404, 5107, 1981, 5185 +3443, 346, 365, 790, 264, 1867, 4194, 4503, 1812, 1868, 4505 +3444, 397, 895, 415, 449, 5207, 5310, 2023, 2129, 5564, 2130 +3445, 895, 461, 449, 397, 5565, 2171, 5564, 5207, 2170, 2129 +3446, 280, 682, 281, 776, 4567, 5581, 1610, 4252, 3242, 4794 +3447, 384, 841, 385, 883, 5696, 5259, 1933, 5214, 3595, 5636 +3448, 681, 214, 610, 658, 4603, 4896, 2952, 2953, 5486, 2875 +3449, 431, 972, 432, 469, 5366, 4406, 2076, 2193, 4375, 2194 +3450, 689, 199, 599, 198, 4047, 4617, 2974, 5693, 1354, 5697 +3451, 742, 323, 693, 743, 5030, 4105, 3142, 3146, 5032, 3144 +3452, 917, 492, 462, 891, 5426, 2267, 5132, 3697, 5428, 4011 +3453, 841, 385, 883, 889, 5259, 5636, 3595, 3615, 5028, 3705 +3454, 417, 851, 882, 890, 4997, 3594, 4158, 4157, 3617, 3619 +3455, 170, 505, 506, 80, 4548, 2426, 4956, 5016, 2422, 2424 +3456, 459, 910, 446, 377, 5624, 4962, 2168, 2161, 5625, 2118 +3457, 400, 326, 352, 737, 1977, 1886, 1978, 5596, 5615, 5698 +3458, 469, 431, 927, 468, 2193, 4027, 5367, 2195, 2191, 4028 +3459, 430, 939, 927, 970, 4370, 3802, 4026, 5699, 3871, 3873 +3460, 543, 177, 157, 10, 4187, 1307, 4189, 4286, 1272, 1223 +3461, 495, 923, 944, 915, 5700, 3789, 5569, 5125, 3720, 3790 +3462, 972, 469, 927, 970, 4375, 5367, 3878, 3879, 4376, 3873 +3463, 165, 111, 25, 558, 4228, 4899, 1240, 4000, 2564, 4001 +3464, 450, 818, 482, 456, 5616, 5262, 2248, 2215, 5385, 2233 +3465, 464, 426, 921, 952, 2178, 4039, 5637, 5690, 4040, 3816 +3466, 494, 983, 481, 963, 4185, 4080, 2277, 4169, 3932, 5701 +3467, 209, 679, 680, 278, 5702, 2950, 4908, 1600, 5703, 5662 +3468, 964, 481, 963, 935, 4253, 5701, 3855, 3853, 4321, 3851 +3469, 436, 912, 391, 437, 5021, 5608, 2087, 2091, 5022, 2089 +3470, 604, 605, 570, 130, 2859, 2719, 2716, 4099, 4112, 5338 +3471, 419, 417, 882, 460, 2038, 4158, 4161, 2165, 2164, 5197 +3472, 492, 451, 891, 916, 2311, 5704, 5428, 5427, 5687, 3700 +3473, 123, 599, 567, 124, 4622, 2705, 4836, 1128, 4618, 4614 +3474, 334, 382, 333, 831, 1923, 1922, 1773, 5652, 5509, 4363 +3475, 925, 973, 966, 493, 3882, 3892, 3860, 4179, 5459, 4181 +3476, 895, 928, 449, 929, 3737, 4591, 5564, 3740, 3742, 4590 +3477, 406, 859, 363, 858, 4882, 5321, 2002, 4883, 3518, 4215 +3478, 208, 679, 209, 278, 5705, 5702, 1384, 1599, 5703, 1600 +3479, 771, 683, 213, 283, 3230, 5484, 4578, 4580, 5639, 1614 +3480, 249, 593, 669, 594, 4068, 2921, 4326, 4327, 2693, 2922 +3481, 441, 406, 363, 858, 2128, 2002, 2110, 4147, 4883, 4215 +3482, 418, 736, 732, 792, 4703, 3127, 5638, 5396, 3300, 3309 +3483, 870, 920, 912, 437, 3712, 3714, 3684, 5707, 5706, 5022 +3484, 221, 532, 218, 146, 5531, 5532, 1419, 1417, 4271, 1411 +3485, 447, 488, 495, 944, 2252, 2283, 2282, 5708, 4275, 5569 +3486, 812, 307, 754, 349, 5632, 5631, 3358, 4608, 1816, 5635 +3487, 831, 382, 845, 875, 5509, 5508, 3475, 3569, 5448, 3571 +3488, 381, 332, 333, 798, 1919, 1770, 1920, 5337, 5542, 4923 +3489, 956, 488, 967, 944, 4273, 5383, 3887, 3888, 4275, 3864 +3490, 334, 274, 828, 781, 1772, 5656, 5655, 4540, 4539, 3412 +3491, 984, 500, 45, 74, 5709, 4745, 4383, 4381, 2407, 2376 +3492, 453, 410, 933, 900, 2140, 5088, 5710, 5711, 5089, 3753 +3493, 495, 915, 944, 949, 5125, 3790, 5569, 5570, 3805, 3807 +3494, 275, 335, 795, 336, 1775, 4198, 4988, 1777, 1779, 3965 +3495, 854, 409, 897, 896, 5293, 5712, 3638, 3636, 5677, 3640 +3496, 495, 923, 447, 944, 5700, 4303, 2282, 5569, 3789, 5708 +3497, 925, 928, 458, 890, 3738, 5230, 4159, 3727, 3736, 4155 +3498, 419, 848, 417, 373, 4160, 4162, 2038, 2036, 4311, 2031 +3499, 852, 851, 371, 415, 3497, 4998, 5713, 5312, 5479, 2022 +3500, 851, 890, 415, 852, 3617, 5311, 5479, 3497, 3618, 5312 +3501, 263, 355, 729, 663, 1832, 5538, 5606, 5094, 5102, 3111 +3502, 984, 500, 31, 45, 5709, 5225, 5714, 4383, 4745, 1245 +3503, 865, 880, 919, 405, 3587, 3709, 3708, 5382, 5286, 4934 +3504, 390, 342, 847, 341, 1947, 5411, 4478, 1946, 1797, 4476 +3505, 703, 639, 236, 638, 3016, 4203, 5499, 3015, 2811, 4205 +3506, 821, 788, 344, 842, 3414, 5056, 5239, 3463, 3462, 5715 +3507, 939, 430, 467, 970, 4370, 2188, 5280, 3871, 5699, 4834 +3508, 901, 406, 902, 935, 4884, 5496, 3655, 3758, 5716, 3759 +3509, 480, 467, 491, 976, 2321, 2294, 2261, 5115, 3971, 3972 +3510, 286, 662, 735, 764, 4723, 3124, 4385, 4384, 3206, 3208 +3511, 351, 760, 784, 800, 4314, 3271, 4151, 5433, 3322, 3321 +3512, 480, 961, 932, 960, 4334, 3844, 5717, 4336, 3846, 3842 +3513, 961, 480, 442, 491, 4334, 2228, 4346, 4344, 2261, 2260 +3514, 116, 984, 31, 515, 5226, 5714, 4781, 2453, 5718, 4247 +3515, 442, 491, 453, 933, 2260, 2262, 2141, 4347, 4345, 5710 +3516, 488, 447, 938, 944, 2252, 4305, 4691, 4275, 5708, 3818 +3517, 472, 945, 471, 434, 4634, 5575, 2204, 2202, 4913, 2200 +3518, 920, 392, 866, 391, 5046, 5292, 3723, 4879, 1954, 4880 +3519, 401, 903, 902, 443, 4166, 3658, 5566, 2108, 5719, 5720 +3520, 894, 912, 391, 436, 3730, 5608, 5607, 4672, 5021, 2087 +3521, 334, 335, 383, 875, 1776, 1926, 1925, 5449, 5721, 5450 +3522, 949, 474, 473, 495, 4501, 2210, 5201, 5570, 2337, 2306 +3523, 452, 494, 934, 453, 2278, 5573, 5513, 2142, 2279, 5547 +3524, 554, 639, 553, 182, 2810, 2809, 2553, 5722, 4204, 5080 +3525, 868, 335, 336, 795, 3994, 1779, 5723, 3548, 4198, 3965 +3526, 553, 106, 182, 20, 2549, 5724, 5080, 5081, 4245, 1282 +3527, 422, 396, 880, 908, 2046, 5580, 4955, 4954, 5725, 3669 +3528, 837, 879, 462, 891, 3584, 5131, 4009, 3620, 3622, 4011 +3529, 45, 500, 168, 75, 4745, 4174, 1247, 2375, 2408, 4175 +3530, 915, 918, 949, 495, 3704, 3806, 3805, 5125, 5126, 5570 +3531, 502, 169, 77, 503, 4563, 4839, 2413, 2417, 4679, 2415 +3532, 447, 923, 938, 944, 4303, 3771, 4305, 5708, 3789, 3818 +3533, 440, 492, 891, 462, 2266, 5428, 4953, 2216, 2267, 4011 +3534, 93, 565, 8, 517, 2584, 5165, 5164, 2458, 2608, 5726 +3535, 684, 618, 195, 717, 3051, 5065, 5064, 3069, 3068, 5563 +3536, 626, 156, 176, 231, 4283, 1334, 5322, 5324, 1444, 1443 +3537, 81, 506, 80, 50, 2425, 2424, 1066, 2385, 5727, 2386 +3538, 844, 440, 891, 462, 4951, 4953, 3621, 4010, 2216, 4011 +3539, 678, 210, 280, 211, 3941, 1605, 3943, 4808, 1390, 1606 +3540, 618, 650, 195, 717, 2846, 5692, 5065, 3068, 3075, 5563 +3541, 642, 238, 184, 643, 4799, 1460, 4800, 2823, 5216, 4897 +3542, 26, 111, 574, 526, 4898, 2602, 3987, 3939, 2476, 2637 +3543, 140, 659, 528, 141, 4593, 2879, 4673, 1179, 4594, 4818 +3544, 7, 93, 8, 517, 4826, 5164, 989, 4648, 2458, 5726 +3545, 859, 349, 363, 811, 5196, 1862, 5321, 3516, 5092, 4214 +3546, 571, 106, 20, 132, 2595, 4245, 5221, 5284, 4246, 1150 +3547, 716, 265, 196, 717, 5403, 1562, 4470, 3130, 5562, 4472 +3548, 440, 871, 891, 451, 4952, 3625, 4953, 2135, 4123, 5704 +3549, 719, 725, 624, 289, 3098, 3097, 3072, 5193, 5234, 5586 +3550, 624, 224, 152, 581, 5585, 1427, 4524, 2763, 5592, 4855 +3551, 40, 535, 69, 151, 5341, 2498, 2361, 1206, 5728, 5729 +3552, 492, 440, 891, 451, 2266, 4953, 5428, 2311, 2135, 5704 +3553, 326, 772, 352, 737, 5622, 4846, 1886, 5615, 3234, 5698 +3554, 950, 492, 916, 498, 4500, 5427, 3810, 4208, 2324, 4210 +3555, 206, 205, 130, 605, 1375, 1371, 1373, 4991, 4111, 4112 +3556, 637, 181, 162, 253, 4782, 1304, 5730, 5333, 1499, 1498 +3557, 451, 871, 891, 916, 4123, 3625, 5704, 5687, 3694, 3700 +3558, 177, 158, 544, 629, 1335, 4117, 5731, 4200, 4116, 2780 +3559, 744, 293, 228, 322, 3951, 1640, 4746, 4587, 1735, 1734 +3560, 15, 100, 521, 568, 4860, 2467, 4576, 4759, 2589, 2646 +3561, 122, 623, 519, 123, 4266, 2759, 5305, 1125, 5627, 4837 +3562, 643, 557, 558, 184, 2821, 2565, 2822, 4897, 4805, 3999 +3563, 430, 384, 385, 883, 2068, 1933, 2069, 4371, 5214, 5636 +3564, 276, 738, 206, 712, 4992, 4993, 1593, 4771, 3131, 4989 +3565, 473, 488, 949, 495, 2305, 4274, 5201, 2306, 2283, 5570 +3566, 452, 406, 901, 935, 2137, 4884, 5732, 5515, 5716, 3758 +3567, 949, 474, 495, 918, 4501, 2337, 5570, 3806, 4256, 5126 +3568, 951, 956, 949, 473, 2342, 2341, 2343, 5202, 5191, 5201 +3569, 956, 488, 949, 473, 4273, 4274, 2341, 5191, 2305, 5201 +3570, 202, 673, 603, 203, 5227, 2931, 5228, 1366, 3962, 5505 +3571, 29, 140, 528, 141, 1175, 4673, 4816, 1177, 1179, 4818 +3572, 125, 653, 520, 601, 4532, 2860, 4401, 4534, 2889, 2711 +3573, 250, 595, 512, 594, 4750, 2694, 5463, 4752, 2696, 2692 +3574, 455, 480, 932, 960, 2229, 5717, 5733, 5110, 4336, 3842 +3575, 216, 596, 141, 217, 5558, 5203, 1404, 1409, 5204, 1406 +3576, 948, 465, 941, 974, 5734, 4492, 3819, 3884, 4318, 3885 +3577, 287, 345, 360, 723, 1806, 1848, 1847, 4211, 5477, 5735 +3578, 173, 513, 262, 174, 4423, 5098, 1544, 1260, 5671, 1543 +3579, 360, 345, 779, 723, 1848, 5232, 5736, 5735, 5477, 3254 +3580, 302, 670, 250, 594, 5559, 4751, 1665, 4329, 2923, 4752 +3581, 593, 668, 295, 669, 2919, 4870, 4070, 2921, 3067, 5436 +3582, 117, 516, 537, 193, 4498, 2625, 4749, 1511, 4084, 4086 +3583, 931, 959, 490, 960, 3839, 5189, 5187, 3841, 3843, 4366 +3584, 934, 453, 933, 900, 5547, 5710, 3757, 3755, 5711, 3753 +3585, 763, 667, 351, 299, 3204, 4149, 4150, 5118, 5255, 1821 +3586, 656, 607, 680, 209, 2897, 2949, 2948, 4907, 5737, 4908 +3587, 292, 298, 350, 757, 1654, 1819, 1818, 4262, 4737, 5271 +3588, 59, 60, 33, 577, 1044, 2347, 2346, 2609, 2611, 5038 +3589, 269, 769, 270, 330, 5144, 3944, 1577, 1759, 5135, 1760 +3590, 970, 469, 927, 468, 4376, 5367, 3873, 3986, 2195, 4028 +3591, 532, 221, 612, 576, 5531, 4020, 2733, 2606, 5478, 2732 +3592, 73, 985, 90, 3, 5093, 4585, 2455, 1058, 5738, 1076 +3593, 769, 849, 270, 330, 3486, 5487, 3944, 5135, 4833, 1760 +3594, 144, 34, 60, 33, 1188, 2348, 4410, 1187, 1016, 2347 +3595, 563, 985, 1, 3, 4389, 4390, 4388, 2486, 5738, 2369 +3596, 431, 430, 883, 927, 2073, 4371, 4850, 4027, 4026, 3735 +3597, 510, 172, 593, 261, 5263, 5476, 2688, 4291, 1540, 4069 +3598, 502, 188, 76, 47, 4562, 4660, 2412, 5551, 1294, 2380 +3599, 12, 123, 567, 124, 1124, 4836, 4835, 1126, 1128, 4614 +3600, 444, 876, 416, 886, 4792, 4249, 2113, 4426, 3606, 4251 +3601, 910, 459, 446, 922, 5624, 2168, 4962, 3800, 5369, 5739 +3602, 968, 478, 971, 485, 5695, 4483, 3877, 4662, 2243, 4481 +3603, 54, 511, 86, 85, 4944, 2440, 2403, 2404, 2439, 1071 +3604, 695, 252, 745, 322, 4043, 4786, 3150, 4045, 1736, 4588 +3605, 4, 89, 2, 515, 1075, 2400, 2399, 2452, 2451, 5511 +3606, 968, 478, 485, 424, 5695, 2243, 4662, 4369, 2224, 2241 +3607, 147, 576, 64, 533, 4885, 2607, 5182, 4699, 2615, 2495 +3608, 63, 576, 64, 36, 2605, 2607, 1048, 2352, 5439, 2353 +3609, 493, 924, 925, 460, 4180, 3780, 4179, 2274, 4469, 5740 +3610, 865, 365, 368, 817, 4192, 1986, 4891, 3534, 4193, 4645 +3611, 115, 167, 30, 583, 3981, 1243, 3956, 2627, 3982, 5741 +3612, 483, 924, 916, 498, 4468, 3721, 5686, 2323, 4209, 4210 +3613, 30, 167, 187, 583, 1243, 1317, 1293, 5741, 3982, 5447 +3614, 888, 871, 451, 916, 3613, 4123, 4005, 3695, 3694, 5687 +3615, 682, 775, 212, 281, 3241, 5742, 5176, 5581, 5317, 1609 +3616, 683, 771, 799, 283, 3230, 3385, 3320, 5639, 4580, 5237 +3617, 459, 942, 922, 910, 4061, 3825, 5369, 5624, 3797, 3800 +3618, 492, 483, 916, 498, 2320, 5686, 5427, 2324, 2323, 4210 +3619, 208, 607, 209, 679, 5743, 5737, 1384, 5705, 2946, 5702 +3620, 519, 566, 11, 96, 2644, 5283, 4137, 2463, 2585, 4164 +3621, 299, 351, 295, 668, 1821, 1820, 1657, 4869, 5409, 4870 +3622, 434, 389, 907, 388, 2081, 4668, 4669, 2080, 1945, 5415 +3623, 73, 985, 3, 1, 5093, 5738, 1058, 2368, 4390, 2369 +3624, 667, 299, 591, 261, 5255, 5218, 2916, 4641, 1655, 5217 +3625, 942, 459, 922, 954, 4061, 5369, 3825, 3823, 4063, 3828 +3626, 524, 133, 572, 107, 4033, 5412, 2635, 2472, 5510, 2598 +3627, 945, 472, 471, 982, 4634, 2204, 5575, 3831, 5354, 5421 +3628, 903, 401, 399, 445, 4166, 2007, 4074, 4242, 2116, 2115 +3629, 474, 914, 436, 437, 4289, 4296, 2208, 2209, 4683, 2091 +3630, 598, 623, 197, 714, 2857, 4267, 4893, 3053, 3052, 4895 +3631, 331, 846, 380, 878, 4742, 4597, 1916, 4014, 3581, 4066 +3632, 485, 425, 968, 424, 2242, 4368, 4662, 2241, 2055, 4369 +3633, 271, 332, 734, 272, 1765, 5654, 5149, 1583, 1766, 5744 +3634, 175, 538, 539, 6, 5071, 2508, 4732, 1265, 5745, 5746 +3635, 118, 7, 564, 6, 1109, 4647, 4611, 1108, 988, 5134 +3636, 100, 15, 521, 101, 4860, 4576, 2467, 1087, 5583, 2466 +3637, 155, 175, 6, 538, 1266, 1265, 1219, 5074, 5071, 5745 +3638, 151, 224, 619, 581, 1426, 4969, 5609, 5591, 5592, 2750 +3639, 539, 538, 91, 6, 2508, 2505, 2506, 5746, 5745, 5661 +3640, 934, 494, 963, 962, 5573, 4169, 3850, 3848, 4170, 3852 +3641, 634, 232, 699, 698, 4515, 5401, 3003, 3001, 5195, 3005 +3642, 232, 698, 748, 699, 5195, 3159, 5645, 5401, 3005, 3160 +3643, 646, 186, 561, 647, 4419, 3955, 2831, 2836, 4421, 2833 +3644, 151, 535, 581, 619, 5728, 2642, 5591, 5609, 2751, 2750 +3645, 320, 326, 289, 772, 1831, 1750, 1805, 5521, 5622, 5233 +3646, 238, 298, 707, 756, 1653, 4736, 5215, 5353, 4930, 3184 +3647, 481, 452, 963, 935, 2231, 5514, 5701, 4321, 5515, 3851 +3648, 318, 227, 308, 690, 1718, 1683, 1719, 5519, 5747, 5520 +3649, 727, 318, 690, 739, 5518, 5519, 3297, 3303, 4474, 3134 +3650, 326, 719, 289, 772, 5192, 5193, 1750, 5622, 3233, 5233 +3651, 66, 67, 39, 534, 1051, 2359, 2358, 2497, 2496, 5748 +3652, 983, 964, 481, 963, 2340, 4253, 4080, 3932, 3855, 5701 +3653, 535, 151, 581, 69, 5728, 5591, 2642, 2498, 5729, 2622 +3654, 947, 425, 911, 946, 4041, 4582, 3798, 3799, 4649, 3796 +3655, 318, 398, 324, 739, 1972, 1971, 1743, 4474, 4475, 5389 +3656, 601, 568, 126, 602, 2710, 4761, 5749, 2858, 2713, 5025 +3657, 939, 887, 429, 384, 3774, 4350, 4294, 5568, 5213, 2066 +3658, 549, 180, 17, 550, 5391, 1277, 4140, 2541, 5750, 5299 +3659, 459, 478, 954, 424, 2223, 4938, 4063, 2169, 2224, 4064 +3660, 510, 191, 261, 592, 5669, 1541, 4291, 2686, 5670, 4292 +3661, 549, 550, 17, 102, 2541, 5299, 4140, 2537, 2539, 4142 +3662, 848, 851, 417, 373, 3550, 4997, 4162, 4311, 4312, 2031 +3663, 522, 128, 17, 569, 4689, 1139, 4690, 2647, 5491, 5295 +3664, 274, 675, 781, 204, 5017, 3262, 4539, 1587, 4565, 5525 +3665, 321, 252, 745, 696, 1730, 4786, 3976, 3983, 4787, 3151 +3666, 498, 966, 478, 493, 4509, 4482, 2334, 2328, 4181, 2316 +3667, 323, 254, 693, 226, 1738, 5304, 4105, 1737, 1505, 4107 +3668, 430, 939, 429, 384, 4370, 4294, 2070, 2068, 5568, 2066 +3669, 810, 375, 363, 858, 4877, 2024, 4213, 3513, 4409, 4215 +3670, 151, 41, 152, 581, 1207, 1209, 1211, 5591, 4854, 4855 +3671, 750, 304, 372, 808, 5181, 1892, 5084, 3346, 5668, 5168 +3672, 356, 756, 303, 814, 5241, 4655, 1836, 5242, 3364, 4656 +3673, 377, 874, 416, 328, 5751, 4980, 2039, 1908, 4060, 2029 +3674, 41, 151, 69, 581, 1207, 5729, 2373, 4854, 5591, 2622 +3675, 444, 876, 414, 416, 4792, 5277, 2112, 2113, 4249, 2027 +3676, 365, 346, 790, 820, 1867, 4503, 4194, 5488, 5649, 3384 +3677, 40, 150, 535, 151, 1204, 4087, 5341, 1206, 1208, 5728 +3678, 498, 966, 493, 924, 4509, 4181, 2328, 4209, 3859, 4180 +3679, 818, 785, 456, 450, 3375, 5752, 5385, 5616, 5006, 2215 +3680, 700, 304, 251, 234, 5180, 1672, 5490, 5281, 1671, 1525 +3681, 579, 65, 533, 148, 2617, 2494, 2640, 4439, 4815, 4437 +3682, 672, 272, 733, 273, 3959, 5061, 3119, 5468, 1586, 4364 +3683, 291, 722, 613, 688, 4763, 3084, 4432, 4433, 3086, 2973 +3684, 57, 56, 174, 88, 1040, 1259, 1258, 2398, 2395, 5672 +3685, 216, 596, 217, 671, 5558, 5204, 1409, 5556, 2926, 5560 +3686, 355, 263, 729, 347, 1832, 5606, 5538, 1863, 1811, 5272 +3687, 925, 458, 493, 460, 4159, 2273, 4179, 5740, 2166, 2274 +3688, 139, 527, 575, 610, 5466, 2638, 4812, 4811, 2729, 2728 +3689, 769, 200, 270, 715, 5329, 1575, 3944, 3225, 5442, 3946 +3690, 529, 115, 528, 30, 2483, 2480, 2484, 3957, 3956, 4817 +3691, 392, 395, 842, 344, 1964, 5753, 5045, 1953, 1961, 5715 +3692, 140, 528, 114, 29, 4673, 2481, 5374, 1175, 4816, 3947 +3693, 333, 334, 831, 273, 1773, 5652, 4363, 1769, 1771, 4365 +3694, 577, 144, 33, 143, 4411, 1187, 5038, 4197, 1189, 1186 +3695, 390, 342, 391, 847, 1947, 1949, 1951, 4478, 5411, 4881 +3696, 425, 947, 911, 426, 4041, 3798, 4582, 2058, 4038, 4581 +3697, 975, 463, 977, 952, 4071, 5754, 3920, 3933, 4072, 3916 +3698, 224, 624, 619, 581, 5585, 2764, 4969, 5592, 2763, 2750 +3699, 535, 150, 223, 151, 4087, 1424, 4089, 5728, 1208, 1425 +3700, 311, 752, 702, 751, 5331, 3171, 5318, 5351, 3173, 3169 +3701, 752, 810, 751, 311, 3352, 3351, 3173, 5331, 5474, 5351 +3702, 255, 651, 580, 223, 5244, 2848, 4526, 1508, 5755, 4090 +3703, 410, 899, 856, 402, 5087, 3644, 5642, 2026, 5158, 5159 +3704, 375, 441, 363, 858, 2101, 2110, 2024, 4409, 4147, 4215 +3705, 651, 615, 580, 223, 2851, 2741, 2848, 5755, 4512, 4090 +3706, 466, 979, 974, 955, 4354, 3934, 5756, 4218, 3922, 3890 +3707, 155, 32, 530, 563, 1305, 5757, 5082, 5023, 5024, 2767 +3708, 591, 191, 509, 592, 4144, 4145, 2683, 2687, 5670, 2685 +3709, 822, 387, 872, 388, 5612, 5610, 3561, 4985, 1942, 5328 +3710, 847, 390, 894, 391, 4478, 4664, 3630, 4881, 1951, 5607 +3711, 224, 225, 624, 152, 1431, 4523, 5585, 1427, 1429, 4524 +3712, 245, 531, 611, 614, 4404, 2731, 4125, 4416, 2736, 2739 +3713, 390, 389, 341, 850, 1948, 1944, 1946, 4479, 5628, 4477 +3714, 261, 191, 591, 592, 1541, 4144, 5217, 4292, 5670, 2687 +3715, 202, 602, 127, 603, 5026, 4092, 1362, 5228, 2862, 4093 +3716, 948, 466, 974, 955, 4216, 5756, 3884, 3827, 4218, 3890 +3717, 106, 571, 20, 105, 2595, 5221, 4245, 1092, 2596, 5154 +3718, 752, 307, 311, 703, 5076, 1697, 5331, 3172, 5078, 5332 +3719, 979, 466, 974, 490, 4354, 5756, 3934, 4358, 2293, 4320 +3720, 829, 327, 416, 328, 5275, 2028, 4978, 4979, 1755, 2029 +3721, 378, 881, 884, 942, 4506, 3599, 4507, 4652, 3785, 3784 +3722, 703, 307, 311, 236, 5078, 1697, 5332, 5499, 1679, 1695 +3723, 106, 21, 182, 20, 4244, 1281, 5724, 4245, 1002, 1282 +3724, 860, 406, 401, 902, 5361, 1995, 4165, 3654, 5496, 5566 +3725, 859, 406, 902, 901, 4882, 5496, 3653, 3651, 4884, 3655 +3726, 402, 357, 856, 372, 1985, 5068, 5159, 1984, 1893, 5169 +3727, 738, 276, 336, 796, 4992, 1778, 5451, 3312, 4851, 3964 +3728, 203, 202, 127, 603, 1366, 1362, 1364, 5505, 5228, 4093 +3729, 397, 348, 852, 853, 1969, 5678, 5209, 5208, 5210, 3500 +3730, 854, 855, 897, 413, 3506, 3639, 3638, 5294, 4628, 5758 +3731, 958, 489, 977, 957, 4920, 4556, 3901, 3837, 4569, 3900 +3732, 909, 422, 405, 880, 4190, 2047, 5009, 3672, 4955, 5286 +3733, 701, 315, 702, 751, 4108, 4871, 3014, 3168, 5352, 3169 +3734, 466, 948, 974, 465, 4216, 3884, 5756, 2186, 5734, 4318 +3735, 815, 298, 757, 350, 4929, 4737, 3367, 5269, 1819, 5271 +3736, 576, 147, 64, 36, 4885, 5182, 2607, 5439, 1195, 2353 +3737, 960, 979, 974, 490, 3907, 3934, 3931, 4366, 4358, 4320 +3738, 147, 37, 64, 36, 1196, 2354, 5182, 1195, 1019, 2353 +3739, 128, 569, 603, 127, 5491, 2714, 5503, 1140, 5545, 4093 +3740, 31, 2, 984, 45, 1013, 4382, 5714, 1245, 1028, 4383 +3741, 444, 885, 839, 886, 4425, 3601, 5027, 4426, 3605, 3604 +3742, 354, 400, 787, 789, 1979, 5524, 5523, 5582, 5483, 3468 +3743, 670, 285, 762, 302, 5601, 4973, 3201, 5559, 1804, 4630 +3744, 312, 364, 724, 676, 1866, 4825, 5256, 5759, 4823, 3093 +3745, 565, 8, 517, 119, 5165, 5726, 2608, 5349, 1112, 4867 +3746, 56, 87, 55, 173, 2396, 2393, 1039, 1256, 4424, 1257 +3747, 465, 969, 941, 974, 4490, 3867, 4492, 4318, 3893, 3885 +3748, 57, 2, 515, 31, 1041, 5511, 5512, 1183, 1013, 4247 +3749, 187, 242, 168, 649, 1468, 1471, 1434, 5453, 5472, 5454 +3750, 203, 128, 603, 127, 1365, 5503, 5505, 1364, 1140, 4093 +3751, 188, 76, 46, 501, 4660, 2377, 1295, 3936, 2410, 4412 +3752, 296, 758, 239, 292, 4006, 4518, 1647, 1648, 4260, 1638 +3753, 807, 749, 808, 357, 3343, 3345, 3347, 5235, 5653, 5067 +3754, 958, 461, 929, 930, 4919, 4866, 3835, 3836, 5760, 3745 +3755, 708, 258, 643, 644, 4733, 4711, 3030, 3031, 4712, 2826 +3756, 184, 557, 558, 110, 4805, 2565, 3999, 4806, 2561, 2563 +3757, 173, 87, 55, 512, 4424, 2393, 1257, 5099, 2443, 5445 +3758, 404, 863, 864, 350, 5122, 3533, 4931, 1990, 5123, 5296 +3759, 192, 173, 55, 512, 1332, 1257, 1302, 5444, 5099, 5445 +3760, 219, 144, 245, 614, 1413, 1479, 1481, 5371, 5534, 4416 +3761, 339, 793, 782, 822, 5535, 3393, 5761, 4984, 3389, 3406 +3762, 308, 219, 245, 614, 1680, 1481, 1681, 4415, 5371, 4416 +3763, 719, 326, 737, 772, 5192, 5615, 3128, 3233, 5622, 3234 +3764, 367, 805, 853, 806, 4776, 3498, 4779, 4780, 3341, 3499 +3765, 265, 354, 352, 773, 1827, 1830, 1824, 5404, 5140, 5482 +3766, 354, 352, 773, 787, 1830, 5482, 5140, 5523, 4847, 3285 +3767, 208, 606, 207, 132, 5605, 5073, 1381, 1379, 5571, 1377 +3768, 826, 411, 361, 438, 4119, 2025, 4121, 4029, 2111, 2093 +3769, 19, 552, 20, 105, 4182, 4183, 1001, 4529, 2546, 5154 +3770, 703, 236, 702, 638, 5499, 5502, 3017, 3015, 4205, 3013 +3771, 863, 906, 905, 404, 3664, 3666, 3663, 5122, 3991, 4803 +3772, 274, 774, 275, 335, 5018, 4987, 1592, 1774, 5762, 1775 +3773, 810, 752, 363, 311, 3352, 4961, 4213, 5474, 5331, 1861 +3774, 337, 841, 385, 336, 3967, 5259, 1932, 1782, 3963, 1931 +3775, 728, 219, 308, 614, 5431, 1680, 5223, 3110, 5371, 4415 +3776, 381, 846, 332, 798, 5683, 4743, 1919, 5337, 3477, 5542 +3777, 175, 227, 625, 219, 1436, 5664, 4731, 1517, 1536, 5432 +3778, 522, 604, 570, 129, 2717, 2716, 2633, 4128, 4100, 4130 +3779, 18, 103, 104, 570, 4845, 1090, 5346, 4129, 2594, 2593 +3780, 499, 950, 478, 498, 4499, 4719, 2338, 2333, 4208, 2334 +3781, 837, 818, 731, 456, 3449, 3376, 3447, 5040, 5385, 5229 +3782, 175, 540, 625, 156, 4279, 2769, 4731, 1268, 4280, 5763 +3783, 172, 249, 593, 261, 1489, 4068, 5476, 1540, 1553, 4069 +3784, 951, 436, 926, 473, 4295, 5090, 3815, 5202, 2206, 5224 +3785, 951, 436, 473, 474, 4295, 2206, 5202, 4290, 2208, 2210 +3786, 227, 175, 625, 156, 1436, 4731, 5664, 1435, 1268, 5763 +3787, 290, 749, 251, 699, 4536, 5577, 1633, 5619, 3162, 5578 +3788, 155, 530, 32, 143, 5082, 5757, 1305, 1414, 4195, 1185 +3789, 899, 442, 402, 410, 5663, 2105, 5158, 5087, 2104, 2026 +3790, 958, 978, 497, 959, 3905, 4570, 4101, 3840, 3906, 4103 +3791, 554, 21, 107, 163, 5517, 4748, 2552, 5462, 1236, 5640 +3792, 711, 780, 297, 306, 3266, 5153, 4025, 4324, 4950, 1733 +3793, 390, 389, 850, 907, 1948, 5628, 4479, 4663, 4668, 3667 +3794, 414, 876, 327, 416, 5277, 5274, 2020, 2027, 4249, 2028 +3795, 128, 654, 129, 204, 5492, 5623, 1143, 1367, 5034, 1368 +3796, 128, 203, 654, 204, 1365, 5504, 5492, 1367, 1369, 5034 +3797, 283, 799, 284, 344, 5237, 5057, 1619, 1801, 5058, 1802 +3798, 425, 463, 968, 952, 2176, 4073, 4368, 4042, 4072, 3886 +3799, 679, 793, 680, 278, 3301, 3308, 2950, 5703, 5536, 5662 +3800, 968, 478, 424, 954, 5695, 2224, 4369, 3866, 4938, 4064 +3801, 799, 681, 284, 783, 3319, 4972, 5057, 3378, 3386, 4995 +3802, 285, 670, 762, 783, 5601, 3201, 4973, 5020, 3268, 3277 +3803, 464, 969, 977, 952, 5297, 3915, 4555, 5690, 3881, 3916 +3804, 681, 683, 214, 658, 2961, 4601, 4603, 2953, 2958, 5486 +3805, 763, 370, 351, 407, 4638, 1885, 4150, 5434, 1998, 1997 +3806, 422, 411, 873, 448, 2048, 4417, 4191, 2126, 2125, 4277 +3807, 12, 98, 567, 97, 5467, 2587, 4835, 4136, 1084, 2588 +3808, 711, 661, 306, 585, 3041, 4430, 4324, 3040, 2902, 5157 +3809, 466, 465, 974, 490, 2186, 4318, 5756, 2293, 2292, 4320 +3810, 492, 917, 462, 479, 5426, 5132, 2267, 2270, 5128, 2271 +3811, 139, 527, 138, 27, 5466, 4829, 1173, 1171, 5378, 1169 +3812, 186, 562, 561, 647, 3953, 2577, 3955, 4421, 2834, 2833 +3813, 634, 244, 698, 633, 4925, 4697, 3001, 2796, 4927, 3000 +3814, 818, 462, 482, 456, 5384, 2232, 5262, 5385, 2174, 2233 +3815, 543, 10, 157, 542, 4286, 1223, 4189, 2520, 5675, 4730 +3816, 230, 321, 746, 696, 1729, 3975, 5594, 5173, 3983, 3153 +3817, 230, 159, 632, 179, 1442, 5357, 5172, 1441, 1309, 5358 +3818, 368, 865, 864, 405, 4891, 3537, 4644, 2010, 5382, 4932 +3819, 494, 491, 962, 453, 2314, 4341, 4170, 2279, 2262, 5764 +3820, 202, 673, 685, 602, 5227, 3074, 5048, 5026, 2932, 2965 +3821, 367, 854, 369, 806, 4778, 4330, 1880, 4780, 3501, 5400 +3822, 39, 150, 149, 534, 1203, 1205, 1202, 5748, 4527, 5765 +3823, 761, 829, 267, 778, 3416, 5603, 5602, 3250, 3417, 5766 +3824, 392, 870, 439, 437, 5044, 5339, 2095, 2090, 5707, 2098 +3825, 199, 653, 686, 599, 4615, 2967, 4667, 4617, 2866, 2968 +3826, 420, 825, 374, 393, 5184, 5114, 2042, 2040, 5185, 1989 +3827, 877, 475, 836, 869, 4949, 4558, 3576, 3577, 4557, 3551 +3828, 681, 214, 215, 610, 4603, 1402, 4681, 2952, 4896, 4680 +3829, 271, 202, 685, 201, 1579, 5048, 5142, 1578, 1363, 5049 +3830, 609, 213, 137, 212, 5587, 1394, 4795, 4796, 1396, 1392 +3831, 557, 642, 556, 164, 2819, 2818, 2562, 5365, 4801, 5267 +3832, 555, 107, 22, 163, 2554, 5630, 5666, 5418, 5640, 1235 +3833, 796, 338, 833, 770, 4571, 4573, 3428, 3318, 5178, 3427 +3834, 162, 236, 182, 638, 1456, 1455, 1312, 5643, 4205, 4206 +3835, 788, 799, 284, 762, 3394, 5057, 5055, 3290, 3377, 4974 +3836, 67, 150, 39, 534, 4269, 1203, 2359, 2496, 4527, 5748 +3837, 115, 30, 116, 583, 3956, 3958, 1102, 2627, 5741, 2628 +3838, 841, 868, 336, 795, 3553, 5723, 3963, 3460, 3548, 3965 +3839, 554, 106, 21, 182, 2551, 4244, 5517, 5722, 5724, 1281 +3840, 277, 338, 770, 278, 1783, 5178, 5659, 1601, 1784, 5767 +3841, 445, 936, 443, 476, 4241, 5768, 2151, 2217, 5769, 2218 +3842, 519, 12, 567, 97, 4135, 4835, 2630, 2462, 4136, 2588 +3843, 153, 225, 621, 256, 1430, 4238, 5589, 1519, 1523, 5770 +3844, 538, 90, 5, 563, 2504, 4584, 5771, 2661, 2580, 4386 +3845, 191, 508, 248, 591, 4143, 5772, 1486, 4144, 2682, 4999 +3846, 590, 508, 248, 171, 2680, 5772, 5000, 4338, 4340, 1487 +3847, 950, 478, 966, 971, 4719, 4482, 3861, 3899, 4483, 3914 +3848, 219, 227, 728, 308, 1536, 5665, 5431, 1680, 1683, 5223 +3849, 98, 12, 545, 97, 5467, 4550, 2525, 1084, 4136, 2524 +3850, 12, 13, 545, 178, 994, 5530, 4550, 1274, 1273, 4552 +3851, 730, 763, 370, 666, 3205, 4638, 4639, 3114, 3203, 5119 +3852, 261, 593, 592, 668, 4069, 2690, 4292, 4642, 2919, 2918 +3853, 505, 79, 49, 189, 2421, 2384, 4832, 4549, 4454, 1296 +3854, 43, 153, 42, 71, 1213, 1212, 1025, 2364, 5495, 2363 +3855, 507, 260, 171, 590, 5319, 1538, 4339, 2679, 4936, 4338 +3856, 71, 70, 536, 42, 1055, 2501, 2500, 2363, 2362, 4892 +3857, 345, 287, 722, 723, 1806, 4762, 4819, 5477, 4211, 3089 +3858, 191, 261, 591, 248, 1541, 5217, 4144, 1486, 1556, 4999 +3859, 563, 32, 1, 5, 5024, 1014, 4388, 4386, 1184, 986 +3860, 12, 98, 545, 13, 5467, 2525, 4550, 994, 4017, 5530 +3861, 508, 191, 248, 171, 4143, 1486, 5772, 4340, 1320, 1487 +3862, 243, 188, 242, 584, 1473, 1521, 1520, 5407, 5406, 5516 +3863, 508, 590, 248, 591, 2680, 5000, 5772, 2682, 2684, 4999 +3864, 463, 464, 977, 952, 2180, 4555, 5754, 4072, 5690, 3916 +3865, 305, 313, 622, 218, 1732, 4864, 4408, 1674, 1703, 4299 +3866, 756, 298, 707, 757, 4930, 4736, 3184, 3188, 4737, 3186 +3867, 30, 187, 116, 583, 1293, 5647, 3958, 5741, 5447, 2628 +3868, 191, 52, 509, 53, 1301, 4452, 4145, 1300, 1036, 5773 +3869, 172, 54, 53, 85, 1254, 1037, 1255, 5264, 2404, 2391 +3870, 367, 747, 805, 806, 4775, 3337, 4776, 4780, 3339, 3341 +3871, 249, 302, 250, 594, 1666, 1665, 1542, 4327, 4329, 4752 +3872, 172, 249, 192, 511, 1489, 1488, 1321, 5265, 5111, 4943 +3873, 667, 261, 591, 592, 4641, 5217, 2916, 2917, 4292, 2687 +3874, 244, 747, 319, 698, 4695, 5465, 1722, 4697, 3157, 5613 +3875, 617, 255, 534, 149, 5243, 4525, 2746, 5774, 1506, 5765 +3876, 486, 885, 446, 922, 5775, 4427, 2244, 5368, 3718, 5739 +3877, 128, 16, 569, 127, 1138, 5035, 5491, 1140, 1136, 5545 +3878, 52, 84, 509, 53, 2405, 2434, 4452, 1036, 2392, 5773 +3879, 519, 122, 11, 566, 5305, 1121, 4137, 2644, 5528, 5283 +3880, 191, 510, 53, 509, 5669, 4333, 1300, 4145, 2438, 5773 +3881, 357, 807, 369, 855, 5235, 4331, 1881, 4994, 3504, 4332 +3882, 510, 172, 53, 85, 5263, 1255, 4333, 2437, 5264, 2391 +3883, 318, 690, 691, 231, 5519, 2981, 5390, 1720, 5776, 4050 +3884, 705, 257, 640, 641, 4224, 5288, 3021, 3022, 4225, 2817 +3885, 26, 112, 138, 574, 5301, 4830, 1168, 3987, 2601, 4831 +3886, 186, 241, 167, 647, 1467, 1466, 1327, 4421, 4054, 4173 +3887, 22, 107, 108, 572, 5630, 1094, 5667, 5414, 2598, 2597 +3888, 211, 210, 135, 608, 1390, 1386, 1388, 4809, 4095, 4789 +3889, 539, 175, 625, 652, 4732, 4731, 2768, 2878, 5072, 2890 +3890, 312, 615, 724, 651, 5526, 3090, 5256, 5250, 2851, 3091 +3891, 112, 26, 138, 27, 5301, 1168, 4830, 4843, 1008, 1169 +3892, 694, 323, 293, 743, 4104, 1740, 3950, 3145, 5032, 3952 +3893, 760, 668, 669, 295, 3195, 3067, 3196, 4316, 4870, 5436 +3894, 736, 353, 721, 660, 5527, 5777, 3125, 3126, 5541, 3081 +3895, 221, 576, 616, 612, 5478, 2743, 5246, 4020, 2732, 2744 +3896, 90, 538, 5, 91, 2504, 5771, 4584, 1077, 2505, 5778 +3897, 584, 188, 242, 501, 5406, 1521, 5516, 2662, 3936, 3935 +3898, 243, 711, 306, 585, 4323, 4324, 1676, 5443, 3040, 5157 +3899, 635, 232, 251, 699, 4514, 1522, 5146, 3004, 5401, 5578 +3900, 57, 89, 514, 515, 2397, 2449, 5684, 5512, 2451, 2454 +3901, 353, 360, 732, 721, 1849, 5779, 5781, 5777, 5780, 3118 +3902, 532, 62, 578, 146, 2493, 2613, 2658, 4271, 5782, 5783 +3903, 447, 906, 404, 905, 3989, 3991, 2122, 4304, 3666, 4803 +3904, 752, 307, 363, 311, 5076, 1860, 4961, 5331, 1697, 1861 +3905, 637, 162, 638, 253, 5730, 5643, 2808, 5333, 1498, 5501 +3906, 755, 705, 237, 294, 3180, 4226, 5689, 5784, 4717, 1658 +3907, 132, 131, 655, 207, 1152, 5051, 5572, 1377, 1376, 5053 +3908, 645, 239, 644, 185, 4940, 4941, 2829, 4300, 1462, 5054 +3909, 134, 22, 108, 572, 1156, 5667, 5785, 5413, 5414, 2597 +3910, 34, 35, 145, 61, 1017, 1191, 1190, 2349, 2350, 5634 +3911, 873, 908, 411, 422, 3678, 5059, 4417, 4191, 4954, 2048 +3912, 706, 238, 756, 303, 5342, 5353, 3183, 5343, 1668, 4655 +3913, 294, 755, 358, 303, 5784, 4235, 1841, 1716, 4654, 1840 +3914, 964, 936, 965, 476, 3854, 3856, 3858, 4254, 5769, 4455 +3915, 339, 770, 793, 822, 5786, 3302, 5535, 4984, 3390, 3389 +3916, 107, 555, 22, 108, 2554, 5666, 5630, 1094, 2555, 5667 +3917, 49, 505, 170, 80, 4832, 4548, 1251, 2383, 2422, 5016 +3918, 164, 109, 556, 557, 4964, 2558, 5267, 5365, 2560, 2562 +3919, 984, 500, 74, 116, 5709, 2407, 4381, 5226, 2579, 2406 +3920, 142, 57, 514, 515, 1218, 5684, 4721, 4248, 5512, 2454 +3921, 288, 224, 289, 619, 1628, 1629, 1631, 4511, 4969, 5298 +3922, 767, 320, 352, 314, 5522, 1851, 4687, 4688, 1817, 1823 +3923, 665, 301, 361, 300, 4754, 1855, 4543, 4670, 1663, 1853 +3924, 772, 352, 737, 787, 4846, 5698, 3234, 3397, 4847, 3467 +3925, 155, 538, 5, 563, 5074, 5771, 1220, 5023, 2661, 4386 +3926, 320, 621, 684, 725, 4237, 2963, 5060, 4239, 3096, 3099 +3927, 117, 537, 597, 256, 4749, 2701, 4739, 1513, 5005, 4741 +3928, 595, 309, 262, 217, 5015, 1689, 5460, 5561, 1688, 1546 +3929, 34, 60, 61, 531, 2348, 1045, 2349, 4828, 2491, 2490 +3930, 359, 736, 739, 660, 4701, 3228, 4473, 5540, 3126, 3229 +3931, 164, 109, 557, 24, 4964, 2560, 5365, 1237, 4965, 4804 +3932, 727, 318, 739, 359, 5518, 4474, 3303, 5550, 1845, 4473 +3933, 238, 642, 706, 707, 4799, 3025, 5342, 5215, 3027, 3029 +3934, 642, 557, 184, 164, 2819, 4805, 4800, 4801, 5365, 1314 +3935, 134, 23, 108, 22, 1157, 5315, 5785, 1156, 1004, 5667 +3936, 824, 354, 327, 778, 5529, 1829, 5276, 3399, 5139, 5674 +3937, 92, 91, 564, 6, 1078, 2582, 2581, 5133, 5661, 5134 +3938, 227, 728, 308, 690, 5665, 5223, 1683, 5747, 3109, 5520 +3939, 727, 318, 359, 308, 5518, 1845, 5550, 4414, 1719, 1842 +3940, 728, 727, 308, 690, 3251, 4414, 5223, 3109, 3297, 5520 +3941, 92, 539, 91, 6, 2507, 2506, 1078, 5133, 5746, 5661 +3942, 230, 632, 633, 179, 5172, 2793, 5289, 1441, 5358, 5206 +3943, 256, 117, 537, 193, 1513, 4749, 5005, 1512, 1511, 4086 +3944, 117, 90, 5, 91, 4497, 4584, 1106, 5429, 1077, 5778 +3945, 166, 645, 240, 646, 5380, 5050, 1464, 4583, 2832, 5116 +3946, 117, 516, 91, 564, 4498, 2456, 5429, 4740, 2654, 2582 +3947, 100, 15, 548, 547, 4860, 5584, 2533, 2531, 5644, 2535 +3948, 114, 140, 28, 575, 5374, 1174, 4372, 2603, 4674, 5787 +3949, 5, 538, 6, 91, 5771, 5745, 987, 5778, 2505, 5661 +3950, 879, 917, 885, 479, 3696, 3698, 3602, 5010, 5128, 5408 +3951, 846, 331, 380, 332, 4742, 1916, 4597, 4743, 1767, 1917 +3952, 716, 265, 717, 773, 5403, 5562, 3130, 3236, 5404, 3237 +3953, 689, 714, 761, 198, 3054, 3199, 3198, 5693, 5148, 5626 +3954, 194, 118, 597, 256, 1338, 4610, 4114, 1550, 1547, 4741 +3955, 824, 414, 327, 354, 5470, 2020, 5276, 5529, 2019, 1829 +3956, 154, 582, 72, 537, 5002, 2623, 5247, 5004, 2656, 2503 +3957, 118, 648, 564, 517, 4609, 2838, 4611, 4646, 2837, 2629 +3958, 373, 293, 374, 802, 1897, 1899, 1901, 5680, 5788, 5112 +3959, 621, 194, 597, 256, 4115, 4114, 2892, 5770, 1550, 4741 +3960, 725, 225, 624, 289, 4240, 4523, 3097, 5234, 1630, 5586 +3961, 134, 525, 572, 108, 5789, 2650, 5413, 5785, 2475, 2597 +3962, 881, 874, 910, 377, 3589, 3674, 3677, 4797, 5751, 5625 +3963, 549, 180, 160, 16, 5391, 1310, 4886, 4139, 1278, 1229 +3964, 241, 186, 259, 647, 1467, 1534, 1533, 4054, 4421, 4056 +3965, 712, 206, 207, 655, 4989, 1378, 4772, 3043, 5052, 5053 +3966, 547, 100, 14, 99, 2531, 4764, 4758, 2530, 1086, 4399 +3967, 15, 100, 14, 547, 4860, 4764, 996, 5644, 2531, 4758 +3968, 964, 936, 443, 935, 3854, 5768, 4255, 3853, 3763, 4322 +3969, 52, 508, 509, 83, 4359, 2435, 4452, 2389, 2431, 2433 +3970, 664, 300, 765, 347, 4671, 4392, 3209, 5273, 1810, 4391 +3971, 947, 954, 968, 424, 3824, 3866, 3865, 4367, 4064, 4369 +3972, 464, 969, 427, 465, 5297, 4491, 2179, 2183, 4490, 2181 +3973, 293, 744, 373, 322, 3951, 5679, 1897, 1735, 4587, 1896 +3974, 165, 558, 644, 559, 4000, 2824, 4714, 4229, 2568, 2825 +3975, 562, 186, 167, 647, 3953, 1327, 3980, 2834, 4421, 4173 +3976, 726, 780, 264, 297, 3415, 4504, 4574, 4024, 5153, 1685 +3977, 664, 263, 588, 247, 5424, 5544, 2909, 4619, 1557, 4621 +3978, 30, 529, 141, 528, 3957, 4282, 1178, 4817, 2484, 4818 +3979, 433, 434, 913, 388, 2082, 4914, 5363, 2078, 2080, 5364 +3980, 954, 942, 424, 946, 3823, 4062, 4064, 3822, 3795, 4650 +3981, 706, 238, 707, 756, 5342, 5215, 3029, 3183, 5353, 3184 +3982, 107, 21, 22, 163, 4748, 1003, 5630, 5640, 1236, 1235 +3983, 632, 547, 633, 179, 2789, 2791, 2793, 5358, 5359, 5206 +3984, 331, 271, 786, 270, 1763, 5141, 5539, 1762, 1580, 3945 +3985, 179, 244, 160, 633, 1476, 1475, 1291, 5206, 4927, 4928 +3986, 744, 373, 322, 803, 5679, 1896, 4587, 3330, 4313, 4589 +3987, 353, 736, 732, 418, 5527, 3127, 5781, 2033, 4703, 5638 +3988, 134, 23, 135, 525, 1157, 1159, 1161, 5789, 4707, 4705 +3989, 13, 98, 520, 567, 4017, 2465, 4398, 4612, 2587, 2645 +3990, 544, 12, 11, 97, 5790, 993, 4163, 2522, 4136, 4138 +3991, 244, 230, 633, 179, 1477, 5289, 4927, 1476, 1441, 5206 +3992, 12, 544, 545, 97, 5790, 2526, 4550, 4136, 2522, 2524 +3993, 260, 590, 248, 171, 4936, 5000, 1554, 1538, 4338, 1487 +3994, 355, 820, 735, 346, 4378, 3381, 4377, 1852, 5649, 4413 +3995, 662, 587, 663, 286, 2905, 2906, 2908, 4723, 4724, 5096 +3996, 134, 23, 525, 108, 1157, 4707, 5789, 5785, 5315, 2475 +3997, 646, 726, 259, 647, 3100, 4055, 4420, 2836, 3101, 4056 +3998, 306, 735, 780, 346, 4429, 3259, 4950, 1808, 4413, 4502 +3999, 723, 360, 732, 779, 5735, 5779, 3117, 3254, 5736, 3255 +4000, 161, 181, 636, 234, 1311, 4783, 4624, 1452, 1451, 4982 +4001, 381, 892, 845, 382, 4443, 3623, 5336, 1924, 5334, 5508 +4002, 898, 455, 932, 931, 4945, 5733, 3749, 3747, 5245, 3751 +4003, 357, 855, 413, 402, 4994, 4628, 2016, 1985, 4629, 2018 +4004, 656, 134, 135, 525, 5791, 1161, 4822, 2870, 5789, 4705 +4005, 604, 522, 654, 129, 2717, 2864, 2863, 4100, 4128, 5623 +4006, 315, 304, 372, 750, 1709, 1892, 1902, 5083, 5181, 5084 +4007, 335, 868, 383, 875, 3994, 3993, 1926, 5721, 3570, 5450 +4008, 140, 139, 28, 575, 1176, 1172, 1174, 4674, 4812, 5787 +4009, 656, 210, 135, 134, 4094, 1386, 4822, 5791, 1385, 1161 +4010, 301, 730, 370, 666, 4753, 4639, 1883, 5500, 3114, 5119 +4011, 305, 660, 611, 622, 4657, 2901, 4407, 4408, 2900, 2888 +4012, 297, 687, 241, 726, 4023, 4633, 1650, 4024, 3197, 4053 +4013, 458, 417, 890, 415, 2160, 4157, 4155, 2159, 2114, 5311 +4014, 233, 661, 306, 286, 3968, 4430, 1675, 1624, 4431, 1677 +4015, 804, 348, 852, 371, 4484, 5678, 3495, 5170, 1889, 5713 +4016, 139, 527, 28, 575, 5466, 5379, 1172, 4812, 2638, 5787 +4017, 186, 114, 28, 561, 3954, 4372, 1290, 3955, 2573, 3998 +4018, 851, 804, 852, 371, 3494, 3495, 3497, 4998, 5170, 5713 +4019, 551, 18, 104, 19, 4568, 5346, 2543, 4397, 1000, 4528 +4020, 598, 716, 197, 196, 3059, 4894, 4893, 5507, 4470, 1348 +4021, 307, 294, 704, 754, 1715, 4718, 5614, 5631, 5097, 3177 +4022, 348, 852, 371, 415, 5678, 5713, 1889, 2021, 5312, 2022 +4023, 423, 447, 905, 938, 2121, 4304, 4309, 4310, 4305, 3770 +4024, 565, 120, 9, 8, 5348, 1115, 4465, 5165, 1114, 990 +4025, 7, 92, 93, 517, 4651, 1079, 4826, 4648, 2459, 2458 +4026, 161, 551, 636, 181, 5036, 2801, 4624, 1311, 4396, 4783 +4027, 617, 310, 718, 651, 5792, 5041, 3071, 2850, 5251, 3070 +4028, 313, 612, 622, 218, 4022, 2758, 4864, 1703, 5533, 4299 +4029, 10, 95, 96, 566, 4285, 1082, 4287, 5282, 2586, 2585 +4030, 723, 360, 721, 732, 5735, 5780, 3095, 3117, 5779, 3118 +4031, 145, 531, 61, 578, 4402, 2490, 5634, 5552, 2639, 2614 +4032, 868, 887, 383, 875, 3607, 4351, 3993, 3570, 3608, 5450 +4033, 197, 714, 198, 267, 4895, 5148, 1351, 1566, 4970, 1567 +4034, 290, 749, 304, 251, 4536, 5475, 1702, 1633, 5577, 1672 +4035, 384, 887, 383, 868, 5213, 4351, 1930, 3992, 3607, 3993 +4036, 158, 178, 545, 630, 1308, 4552, 4551, 4118, 4545, 2783 +4037, 950, 917, 916, 492, 3809, 3767, 3810, 4500, 5426, 5427 +4038, 466, 428, 429, 948, 2184, 2067, 2185, 4216, 4357, 4217 +4039, 333, 733, 831, 798, 4362, 3422, 4363, 4923, 3316, 3423 +4040, 35, 145, 578, 146, 1191, 5552, 5793, 1192, 1194, 5783 +4041, 898, 455, 931, 897, 4945, 5245, 3747, 3643, 5794, 3746 +4042, 62, 35, 578, 146, 2351, 5793, 2613, 5782, 1192, 5783 +4043, 813, 755, 358, 294, 3361, 4235, 4134, 5402, 5784, 1841 +4044, 969, 978, 465, 464, 3904, 4317, 4490, 5297, 4553, 2183 +4045, 187, 30, 116, 31, 1293, 3958, 5647, 1292, 1012, 4781 +4046, 914, 474, 918, 877, 4289, 4256, 3703, 3691, 4258, 3702 +4047, 596, 142, 174, 514, 4720, 1261, 5795, 2698, 4721, 5685 +4048, 788, 344, 325, 284, 5056, 1890, 4807, 5055, 1802, 1856 +4049, 474, 914, 475, 877, 4289, 4685, 2281, 4258, 3691, 4949 +4050, 870, 392, 920, 437, 5044, 5046, 3712, 5707, 2090, 5706 +4051, 965, 484, 982, 476, 4975, 4977, 3928, 4455, 2258, 4457 +4052, 496, 873, 918, 448, 3977, 3701, 4276, 2288, 4277, 4257 +4053, 499, 917, 950, 492, 5127, 3809, 4499, 2325, 5426, 4500 +4054, 187, 500, 31, 116, 5452, 5225, 1292, 5647, 2579, 4781 +4055, 246, 263, 588, 663, 1558, 5544, 5212, 5095, 5094, 2907 +4056, 312, 364, 676, 288, 1866, 4823, 5759, 1700, 1864, 5377 +4057, 687, 241, 726, 647, 4633, 4053, 3197, 3083, 4054, 3101 +4058, 419, 825, 420, 840, 5252, 5184, 2167, 5253, 3458, 4002 +4059, 612, 532, 622, 218, 2733, 2756, 2758, 5533, 5532, 4299 +4060, 665, 260, 300, 589, 4935, 1659, 4670, 2912, 5320, 5013 +4061, 8, 541, 176, 9, 5438, 5489, 1270, 990, 4858, 1269 +4062, 398, 741, 324, 739, 4765, 5109, 1971, 4475, 3140, 5389 +4063, 541, 8, 94, 9, 5438, 5166, 2513, 4858, 990, 4467 +4064, 260, 247, 300, 589, 1555, 1660, 1659, 5320, 4620, 5013 +4065, 761, 714, 778, 267, 3199, 3247, 3250, 5602, 4970, 5766 +4066, 483, 420, 451, 888, 2236, 2136, 2237, 4461, 4004, 4005 +4067, 924, 483, 460, 498, 4468, 2238, 4469, 4209, 2323, 2327 +4068, 412, 827, 418, 421, 5393, 5395, 2106, 2124, 4464, 2147 +4069, 747, 805, 746, 316, 3337, 3336, 3158, 4774, 4658, 4659 +4070, 373, 848, 803, 802, 4311, 3489, 4313, 5680, 3483, 3332 +4071, 254, 692, 317, 693, 5303, 5105, 1713, 5304, 2987, 5796 +4072, 459, 486, 446, 922, 2245, 2244, 2168, 5369, 5368, 5739 +4073, 912, 920, 391, 437, 3714, 4879, 5608, 5022, 5706, 2089 +4074, 906, 404, 864, 919, 3991, 4931, 3665, 3710, 4933, 3707 +4075, 551, 637, 181, 552, 2803, 4782, 4396, 2547, 2804, 4395 +4076, 551, 18, 181, 161, 4568, 1280, 4396, 5036, 1231, 1311 +4077, 323, 254, 317, 693, 1738, 1713, 1739, 4105, 5304, 5796 +4078, 106, 553, 105, 20, 2549, 2548, 1092, 4245, 5081, 5154 +4079, 522, 18, 17, 129, 4127, 999, 4690, 4128, 1142, 1141 +4080, 809, 857, 856, 372, 3510, 3512, 3508, 5086, 5797, 5169 +4081, 232, 180, 635, 251, 1447, 4516, 4514, 1522, 1493, 5146 +4082, 914, 912, 437, 869, 3690, 5022, 4683, 3689, 3683, 4684 +4083, 258, 708, 292, 239, 4733, 4261, 1639, 1552, 4519, 1638 +4084, 984, 2, 31, 515, 4382, 1013, 5714, 5718, 5511, 4247 +4085, 558, 111, 25, 110, 2564, 4899, 4001, 2563, 1097, 4777 +4086, 662, 661, 286, 735, 3062, 4431, 4723, 3124, 3123, 4385 +4087, 213, 683, 214, 283, 5484, 4601, 1399, 1614, 5639, 1615 +4088, 282, 342, 835, 343, 1796, 5650, 4888, 1798, 1800, 4890 +4089, 634, 232, 244, 160, 4515, 1478, 4925, 4926, 1448, 1475 +4090, 574, 609, 658, 138, 2726, 2895, 2877, 4831, 5798, 5567 +4091, 742, 741, 317, 366, 3143, 5108, 5106, 5440, 4767, 1869 +4092, 19, 104, 105, 523, 4528, 1091, 4529, 5155, 2471, 2470 +4093, 590, 260, 665, 589, 4936, 4935, 2913, 2681, 5320, 2912 +4094, 337, 386, 841, 833, 1934, 5258, 3967, 4572, 4710, 3572 +4095, 953, 434, 945, 913, 5574, 4913, 3820, 3821, 4914, 3792 +4096, 356, 862, 399, 376, 5506, 4916, 1975, 1907, 4915, 2003 +4097, 639, 235, 182, 163, 5497, 1454, 4204, 5641, 1453, 1323 +4098, 692, 741, 317, 742, 3139, 5108, 5105, 3141, 3143, 5106 +4099, 700, 635, 251, 699, 3006, 5146, 5490, 3008, 3004, 5578 +4100, 99, 568, 14, 520, 2590, 4760, 4399, 2464, 2631, 4400 +4101, 601, 602, 201, 685, 2858, 5047, 5326, 2966, 2965, 5049 +4102, 507, 260, 590, 589, 5319, 4936, 2679, 2677, 5320, 2681 +4103, 973, 975, 487, 957, 3895, 4035, 5458, 3891, 3896, 4036 +4104, 577, 530, 600, 143, 2610, 2708, 2707, 4197, 4195, 5799 +4105, 742, 692, 693, 317, 3141, 2987, 3142, 5106, 5105, 5796 +4106, 958, 978, 977, 489, 3905, 3925, 3901, 4920, 4554, 4556 +4107, 634, 180, 160, 549, 4517, 1310, 4926, 2795, 5391, 4886 +4108, 219, 577, 600, 143, 5370, 2707, 5372, 1412, 4197, 5799 +4109, 455, 898, 413, 897, 4945, 4626, 2149, 5794, 3643, 5758 +4110, 180, 161, 17, 550, 1322, 1232, 1277, 5750, 4625, 5299 +4111, 928, 458, 449, 487, 5230, 2225, 4591, 5694, 2250, 2249 +4112, 600, 175, 625, 219, 5386, 4731, 3076, 5372, 1517, 5432 +4113, 769, 200, 269, 270, 5329, 1573, 5144, 3944, 1575, 1577 +4114, 921, 464, 427, 426, 5637, 2179, 5236, 4039, 2178, 2061 +4115, 928, 957, 973, 487, 3833, 3891, 3883, 5694, 4036, 5458 +4116, 892, 381, 427, 382, 4443, 2059, 4445, 5334, 1924, 2060 +4117, 574, 609, 138, 137, 2726, 5798, 4831, 3988, 4795, 1170 +4118, 959, 960, 974, 490, 3843, 3931, 3930, 5189, 4366, 4320 +4119, 261, 593, 668, 295, 4069, 2919, 4642, 1645, 4070, 4870 +4120, 771, 799, 283, 821, 3385, 5237, 4580, 3388, 3387, 5238 +4121, 609, 213, 138, 137, 5587, 1395, 5798, 4795, 1394, 1170 +4122, 439, 475, 437, 869, 2214, 2259, 2098, 5340, 4557, 4684 +4123, 910, 446, 886, 922, 4962, 4428, 3676, 3800, 5739, 3717 +4124, 414, 843, 789, 824, 4152, 3465, 5248, 5470, 3546, 3469 +4125, 400, 414, 789, 354, 2107, 5248, 5483, 1979, 2019, 5582 +4126, 112, 560, 559, 185, 2569, 2571, 2567, 4844, 4301, 4302 +4127, 510, 84, 53, 509, 2436, 2392, 4333, 2438, 2434, 5773 +4128, 786, 271, 201, 270, 5141, 1578, 5143, 3945, 1580, 1576 +4129, 455, 480, 442, 932, 2229, 2228, 2155, 5733, 5717, 5681 +4130, 219, 155, 143, 600, 1510, 1414, 1412, 5372, 5387, 5799 +4131, 367, 854, 853, 409, 4778, 3503, 4779, 2004, 5293, 5676 +4132, 530, 155, 652, 600, 5082, 5075, 2852, 2708, 5387, 2855 +4133, 155, 530, 143, 600, 5082, 4195, 1414, 5387, 2708, 5799 +4134, 807, 290, 357, 369, 4537, 1839, 5235, 4331, 1878, 1881 +4135, 892, 426, 380, 911, 4444, 2056, 4596, 3685, 4581, 4067 +4136, 255, 150, 534, 149, 1507, 4527, 4525, 1506, 1205, 5765 +4137, 676, 364, 768, 737, 4823, 4824, 3221, 3129, 5597, 3220 +4138, 390, 436, 894, 391, 2086, 4672, 4664, 1951, 2087, 5607 +4139, 470, 940, 433, 953, 4393, 5313, 2197, 4264, 3862, 4263 +4140, 920, 847, 894, 391, 3728, 3630, 3729, 4879, 4881, 5607 +4141, 775, 282, 212, 281, 4909, 1611, 5742, 5317, 1613, 1609 +4142, 66, 579, 534, 149, 2616, 2618, 2497, 4489, 4488, 5765 +4143, 426, 892, 921, 911, 4444, 3715, 4039, 4581, 3685, 3716 +4144, 66, 39, 149, 534, 2358, 1202, 4489, 2497, 5748, 5765 +4145, 579, 617, 534, 149, 2747, 2746, 2618, 4488, 5774, 5765 +4146, 936, 445, 965, 476, 4241, 5356, 3856, 5769, 2217, 4455 +4147, 826, 730, 438, 361, 3408, 5646, 4029, 4121, 4542, 2093 +4148, 645, 644, 559, 185, 2829, 2825, 2827, 4300, 5054, 4302 +4149, 860, 813, 861, 358, 3520, 3522, 3524, 4132, 4134, 4337 +4150, 862, 376, 905, 904, 4915, 4802, 3662, 3660, 4917, 3699 +4151, 239, 165, 644, 185, 1463, 4714, 4941, 1462, 1315, 5054 +4152, 645, 239, 185, 240, 4940, 1462, 4300, 5050, 1532, 1465 +4153, 296, 709, 240, 239, 4325, 4606, 1646, 1647, 4520, 1532 +4154, 145, 531, 578, 611, 4402, 2639, 5552, 5553, 2731, 2730 +4155, 313, 360, 721, 723, 1846, 5780, 4863, 5800, 5735, 3095 +4156, 966, 485, 493, 975, 4480, 2317, 4181, 3894, 4661, 5600 +4157, 929, 489, 957, 449, 4865, 4569, 3834, 4590, 2254, 4592 +4158, 544, 543, 96, 11, 2523, 2519, 2521, 4163, 5801, 4164 +4159, 145, 245, 531, 611, 1480, 4404, 4402, 5553, 4125, 2731 +4160, 464, 463, 977, 489, 2180, 5754, 4555, 2319, 2287, 4556 +4161, 543, 177, 10, 11, 4187, 1272, 4286, 5801, 1271, 992 +4162, 936, 964, 443, 476, 3854, 4255, 5768, 5769, 4254, 2218 +4163, 357, 855, 402, 856, 4994, 4629, 1985, 5068, 3509, 5159 +4164, 489, 463, 977, 487, 2287, 5754, 4556, 2255, 2286, 4037 +4165, 532, 146, 578, 218, 4271, 5783, 2658, 5532, 1411, 4298 +4166, 637, 552, 162, 181, 2804, 4184, 5730, 4782, 4395, 1304 +4167, 450, 785, 456, 394, 5006, 5752, 2215, 2131, 5598, 2156 +4168, 808, 809, 856, 372, 3350, 3508, 3507, 5168, 5086, 5169 +4169, 939, 887, 384, 883, 3774, 5213, 5568, 3773, 3680, 5214 +4170, 260, 507, 171, 190, 5319, 4339, 1538, 1539, 4957, 1330 +4171, 730, 826, 765, 361, 3408, 3407, 3211, 4542, 4121, 4122 +4172, 213, 683, 609, 658, 5484, 2959, 5587, 5485, 2958, 2895 +4173, 928, 957, 487, 449, 3833, 4036, 5694, 4591, 4592, 2249 +4174, 965, 445, 484, 476, 5356, 2240, 4975, 4455, 2217, 2258 +4175, 302, 285, 762, 325, 1804, 4973, 4630, 1747, 1850, 4631 +4176, 648, 118, 119, 517, 4609, 1113, 5162, 2837, 4646, 4867 +4177, 956, 967, 484, 982, 3887, 4976, 5381, 3832, 3929, 4977 +4178, 983, 972, 470, 981, 2331, 4394, 4081, 2330, 2332, 4083 +4179, 59, 32, 530, 143, 2345, 5757, 2488, 4196, 1185, 4195 +4180, 621, 582, 256, 597, 2754, 5003, 5770, 2892, 2702, 4741 +4181, 414, 824, 789, 354, 5470, 3469, 5248, 2019, 5529, 5582 +4182, 972, 983, 470, 469, 2331, 4081, 4394, 4375, 5549, 2198 +4183, 729, 838, 347, 765, 3450, 4905, 5272, 3212, 3451, 4391 +4184, 584, 242, 649, 501, 5516, 5472, 2842, 2662, 3935, 2841 +4185, 296, 264, 240, 710, 1649, 1560, 1646, 4605, 5160, 4607 +4186, 697, 230, 633, 244, 5179, 5289, 2998, 4696, 1477, 4927 +4187, 936, 937, 965, 445, 3766, 3857, 3856, 4241, 4243, 5356 +4188, 183, 555, 556, 108, 5152, 2559, 5422, 5423, 2555, 2557 +4189, 953, 945, 471, 982, 3820, 5575, 4265, 3921, 3831, 5421 +4190, 214, 139, 658, 138, 1398, 5554, 5486, 1397, 1173, 5567 +4191, 244, 697, 698, 633, 4696, 3002, 4697, 4927, 2998, 3000 +4192, 626, 227, 156, 231, 5802, 1435, 4283, 5324, 1445, 1444 +4193, 139, 527, 658, 138, 5466, 2876, 5554, 1173, 4829, 5567 +4194, 530, 32, 58, 563, 5757, 2344, 2489, 2767, 5024, 2487 +4195, 983, 469, 494, 481, 5549, 2297, 4185, 4080, 2298, 2277 +4196, 540, 626, 625, 156, 2770, 2772, 2769, 4280, 4283, 5763 +4197, 118, 117, 6, 564, 1110, 1107, 1108, 4611, 4740, 5134 +4198, 433, 387, 940, 432, 2077, 5657, 5313, 2079, 2075, 4405 +4199, 387, 386, 940, 432, 1939, 4813, 5657, 2075, 2074, 4405 +4200, 551, 161, 636, 550, 5036, 4624, 2801, 2544, 4625, 2800 +4201, 375, 315, 372, 809, 1903, 1902, 1904, 4878, 5085, 5086 +4202, 397, 409, 853, 896, 2005, 5676, 5208, 5302, 5677, 3635 +4203, 227, 626, 625, 690, 5802, 2772, 5664, 5747, 2978, 2977 +4204, 214, 213, 138, 658, 1399, 1395, 1397, 5486, 5485, 5567 +4205, 494, 452, 963, 481, 2278, 5514, 4169, 2277, 2231, 5701 +4206, 137, 136, 526, 657, 1167, 4177, 3940, 4459, 4458, 2873 +4207, 238, 642, 707, 643, 4799, 3027, 5215, 5216, 2823, 3028 +4208, 233, 661, 286, 586, 3968, 4431, 1624, 3969, 2903, 4725 +4209, 797, 396, 880, 820, 5604, 5580, 3586, 3383, 5648, 3585 +4210, 820, 355, 797, 396, 4378, 5537, 3383, 5648, 1967, 5604 +4211, 35, 62, 578, 61, 2351, 2613, 5793, 2350, 1046, 2614 +4212, 901, 452, 935, 934, 5732, 5515, 3758, 3756, 5513, 3760 +4213, 554, 639, 182, 163, 2810, 4204, 5722, 5462, 5641, 1323 +4214, 888, 483, 924, 916, 4461, 4468, 3722, 3695, 5686, 3721 +4215, 166, 645, 560, 185, 5380, 2828, 3995, 1326, 4300, 4301 +4216, 657, 609, 212, 677, 2872, 4796, 4460, 2943, 2942, 5803 +4217, 549, 180, 550, 635, 5391, 5750, 2541, 2797, 4516, 2798 +4218, 829, 327, 267, 778, 5275, 1752, 5603, 3417, 5674, 5766 +4219, 403, 840, 871, 451, 4598, 3559, 4599, 2134, 4003, 4123 +4220, 327, 266, 267, 778, 1751, 1568, 1752, 5674, 5137, 5766 +4221, 111, 110, 526, 25, 1097, 2477, 2476, 4899, 4777, 3938 +4222, 219, 144, 577, 143, 1413, 4411, 5370, 1412, 1189, 4197 +4223, 775, 682, 212, 677, 3241, 5176, 5742, 3240, 2957, 5803 +4224, 682, 657, 212, 677, 2954, 4460, 5176, 2957, 2943, 5803 +4225, 213, 609, 138, 658, 5587, 5798, 1395, 5485, 2895, 5567 +4226, 259, 646, 240, 710, 4420, 5116, 1548, 5633, 3037, 4607 +4227, 670, 309, 302, 250, 5014, 1746, 5559, 4751, 1731, 1665 +4228, 48, 169, 189, 503, 1248, 1318, 1297, 4838, 4679, 4947 +4229, 301, 260, 590, 248, 1662, 4936, 4937, 1661, 1554, 5000 +4230, 78, 48, 189, 503, 2381, 1297, 4453, 2416, 4838, 4947 +4231, 615, 312, 223, 651, 5526, 1699, 4512, 2851, 5250, 5755 +4232, 463, 975, 977, 487, 4071, 3920, 5754, 2286, 4035, 4037 +4233, 868, 384, 336, 335, 3992, 1929, 5723, 3994, 1928, 1779 +4234, 969, 921, 427, 941, 3868, 5236, 4491, 3867, 3782, 4493 +4235, 166, 560, 27, 185, 3995, 4446, 1242, 1326, 4301, 1287 +4236, 615, 312, 676, 288, 5526, 5759, 2941, 4510, 1700, 5377 +4237, 217, 596, 174, 262, 5204, 5795, 1408, 1546, 5461, 1543 +4238, 615, 312, 724, 676, 5526, 5256, 3090, 2941, 5759, 3093 +4239, 717, 684, 314, 195, 3069, 4693, 4692, 5563, 5064, 1706 +4240, 491, 453, 933, 962, 2262, 5710, 4345, 4341, 5764, 3847 +4241, 221, 147, 576, 146, 1418, 4885, 5478, 1417, 1197, 4272 +4242, 547, 179, 548, 633, 5359, 5205, 2535, 2791, 5206, 2792 +4243, 804, 851, 803, 371, 3494, 3493, 3335, 5170, 4998, 5290 +4244, 154, 44, 193, 537, 1216, 1105, 1423, 5004, 5456, 4086 +4245, 144, 219, 577, 614, 1413, 5370, 4411, 5534, 5371, 2737 +4246, 89, 57, 514, 88, 2397, 5684, 2449, 1074, 2398, 2448 +4247, 276, 206, 207, 712, 1593, 1378, 1594, 4771, 4989, 4772 +4248, 552, 181, 19, 162, 4395, 1279, 4182, 4184, 1304, 1234 +4249, 144, 577, 531, 614, 4411, 2612, 4403, 5534, 2737, 2736 +4250, 375, 810, 363, 311, 4877, 4213, 2024, 1905, 5474, 1861 +4251, 626, 227, 231, 690, 5802, 1445, 5324, 2978, 5747, 5776 +4252, 325, 760, 669, 295, 4315, 3196, 4632, 1748, 4316, 5436 +4253, 571, 606, 132, 655, 2721, 5571, 5284, 2867, 2898, 5572 +4254, 739, 318, 690, 691, 4474, 5519, 3134, 3135, 5390, 2981 +4255, 129, 604, 570, 130, 4100, 2716, 4130, 1146, 4099, 5338 +4256, 403, 827, 412, 440, 4868, 5393, 2013, 2099, 5388, 2100 +4257, 114, 29, 528, 115, 3947, 4816, 2481, 1101, 3949, 2480 +4258, 285, 670, 783, 671, 5601, 3268, 5020, 5557, 2928, 3269 +4259, 123, 519, 567, 599, 4837, 2630, 4836, 4622, 2706, 2705 +4260, 18, 19, 130, 570, 1000, 1145, 1144, 4129, 5347, 5338 +4261, 131, 571, 132, 655, 5219, 5284, 1152, 5051, 2867, 5572 +4262, 568, 125, 14, 520, 4814, 1130, 4760, 2631, 4401, 4400 +4263, 605, 131, 655, 523, 5469, 5051, 2887, 2718, 5220, 2868 +4264, 302, 325, 669, 295, 1747, 4632, 4328, 1691, 1748, 5436 +4265, 410, 402, 856, 372, 2026, 5159, 5642, 2009, 1984, 5169 +4266, 510, 191, 172, 261, 5669, 1331, 5263, 4291, 1541, 1540 +4267, 116, 4, 984, 515, 1103, 5019, 5226, 2453, 2452, 5718 +4268, 19, 104, 523, 570, 4528, 2471, 5155, 5347, 2593, 2648 +4269, 610, 139, 215, 140, 4811, 1400, 4680, 4694, 1176, 1401 +4270, 280, 211, 281, 682, 1606, 1608, 1610, 4567, 4810, 5581 +4271, 711, 661, 780, 306, 3041, 3258, 3266, 4324, 4430, 4950 +4272, 299, 591, 248, 666, 5218, 4999, 1656, 5120, 2915, 5001 +4273, 301, 299, 248, 666, 1664, 1656, 1661, 5500, 5120, 5001 +4274, 400, 450, 768, 823, 2150, 5007, 5595, 5804, 5008, 3391 +4275, 642, 164, 641, 556, 4801, 4842, 2820, 2818, 5267, 2816 +4276, 667, 299, 666, 591, 5255, 5120, 3065, 2916, 5218, 2915 +4277, 763, 667, 299, 666, 3204, 5255, 5118, 3203, 3065, 5120 +4278, 180, 161, 550, 635, 1322, 4625, 5750, 4516, 4623, 2798 +4279, 742, 393, 801, 366, 5107, 5360, 3326, 5440, 1956, 5441 +4280, 398, 736, 792, 739, 4702, 3300, 4766, 4475, 3228, 3298 +4281, 697, 230, 746, 696, 5179, 5594, 3154, 2999, 5173, 3153 +4282, 323, 742, 693, 317, 5030, 3142, 4105, 1739, 5106, 5796 +4283, 727, 359, 739, 660, 5550, 4473, 3303, 3105, 5540, 3229 +4284, 650, 518, 120, 121, 2844, 5307, 5425, 5481, 5308, 1119 +4285, 180, 161, 635, 251, 1322, 4623, 4516, 1493, 1492, 5146 +4286, 103, 551, 550, 18, 2542, 2544, 2540, 4845, 4568, 5037 +4287, 203, 672, 654, 204, 3961, 2929, 5504, 1369, 5033, 5034 +4288, 775, 282, 677, 212, 4909, 5805, 3240, 5742, 1611, 5803 +4289, 552, 637, 162, 638, 2804, 5730, 4184, 2806, 2808, 5643 +4290, 269, 769, 830, 740, 5144, 3421, 5145, 5279, 3224, 3419 +4291, 329, 269, 830, 740, 1757, 5145, 5309, 5278, 5279, 3419 +4292, 771, 282, 677, 775, 4579, 5805, 3231, 3283, 4909, 3240 +4293, 282, 213, 677, 212, 1612, 5588, 5805, 1611, 1396, 5803 +4294, 579, 38, 148, 149, 4487, 1199, 4439, 4488, 1201, 1264 +4295, 324, 318, 691, 231, 1743, 5390, 4051, 1742, 1720, 4050 +4296, 579, 148, 220, 149, 4439, 1415, 5593, 4488, 1264, 1416 +4297, 582, 43, 72, 71, 5493, 2365, 2623, 2624, 2364, 1056 +4298, 301, 370, 299, 666, 1883, 1882, 1664, 5500, 5119, 5120 +4299, 623, 689, 198, 714, 2975, 5693, 4268, 3052, 3054, 5148 +4300, 35, 62, 63, 146, 2351, 1047, 2371, 1192, 5782, 4207 +4301, 221, 612, 313, 218, 4020, 4022, 1704, 1419, 5533, 1703 +4302, 654, 128, 569, 603, 5492, 5491, 2865, 2884, 5503, 2714 +4303, 741, 324, 317, 366, 5109, 1744, 5108, 4767, 1870, 1869 +4304, 145, 35, 578, 61, 1191, 5793, 5552, 5634, 2350, 2614 +4305, 203, 672, 603, 654, 3961, 2930, 5505, 5504, 2929, 2884 +4306, 771, 213, 677, 282, 4578, 5588, 3231, 4579, 1612, 5805 +4307, 673, 672, 603, 203, 2933, 2930, 2931, 3962, 3961, 5505 +4308, 345, 722, 291, 688, 4819, 4763, 1807, 4821, 3086, 4433 +4309, 631, 252, 159, 632, 5167, 1494, 4841, 2790, 5174, 5357 +4310, 747, 244, 319, 316, 4695, 1722, 5465, 4774, 1711, 1723 +4311, 362, 731, 688, 718, 5806, 3116, 5807, 5808, 3115, 3094 +4312, 362, 777, 688, 731, 5688, 3244, 5807, 5806, 3246, 3116 +4313, 159, 546, 632, 547, 4755, 2788, 5357, 4757, 2532, 2789 +4314, 252, 230, 159, 632, 1497, 1442, 1494, 5174, 5172, 5357 +4315, 814, 356, 861, 358, 5242, 4361, 3523, 4236, 1877, 4337 +4316, 238, 642, 164, 237, 4799, 4801, 1461, 1526, 4442, 1458 +4317, 708, 709, 239, 644, 3035, 4520, 4519, 3031, 3033, 4941 +4318, 627, 628, 229, 157, 2778, 5809, 5673, 5810, 4188, 1439 +4319, 298, 815, 756, 356, 4929, 3366, 4930, 1835, 5240, 5241 +4320, 563, 90, 5, 985, 2580, 4584, 4386, 4389, 4585, 4387 +4321, 166, 646, 240, 259, 4583, 5116, 1464, 1535, 4420, 1548 +4322, 428, 465, 427, 941, 2182, 2181, 2064, 4356, 4492, 4493 +4323, 41, 40, 69, 151, 1023, 2361, 2373, 1207, 1206, 5729 +4324, 331, 849, 270, 786, 4530, 5487, 1762, 5539, 3485, 3945 +4325, 719, 624, 619, 289, 3072, 2764, 3073, 5193, 5586, 5298 +4326, 947, 426, 921, 911, 4038, 4039, 3813, 3798, 4581, 3716 +4327, 362, 345, 291, 688, 1859, 1807, 1857, 5807, 4821, 4433 +4328, 763, 351, 784, 791, 4150, 4151, 3282, 3295, 5373, 3296 +4329, 777, 345, 362, 688, 4820, 1859, 5688, 3244, 4821, 5807 +4330, 291, 310, 688, 220, 1694, 5811, 4433, 1636, 1692, 4435 +4331, 310, 617, 688, 220, 5792, 2972, 5811, 1692, 4440, 4435 +4332, 154, 256, 537, 193, 1516, 5005, 5004, 1423, 1512, 4086 +4333, 936, 903, 445, 443, 3762, 4242, 4241, 5768, 5719, 2151 +4334, 225, 621, 624, 536, 4238, 2765, 4523, 4521, 2755, 2762 +4335, 840, 403, 420, 451, 4598, 2041, 4002, 4003, 2134, 2136 +4336, 225, 725, 624, 621, 4240, 3097, 4523, 4238, 3096, 2765 +4337, 744, 293, 373, 802, 3951, 1897, 5679, 3329, 5788, 5680 +4338, 145, 245, 611, 218, 1480, 4125, 5553, 1410, 1524, 4297 +4339, 304, 315, 701, 750, 1709, 4108, 5066, 5181, 5083, 3166 +4340, 290, 232, 748, 699, 1634, 5645, 4538, 5619, 5401, 3160 +4341, 617, 310, 688, 718, 5792, 5811, 2972, 3071, 5041, 3094 +4342, 639, 235, 640, 704, 5497, 5287, 2814, 3018, 5029, 3019 +4343, 186, 166, 259, 646, 1316, 1535, 1534, 4419, 4583, 4420 +4344, 113, 114, 28, 575, 1100, 4372, 4373, 2604, 2603, 5787 +4345, 310, 362, 688, 718, 1858, 5807, 5811, 5041, 5808, 3094 +4346, 329, 874, 377, 328, 4059, 5751, 1909, 1758, 4060, 1908 +4347, 678, 210, 211, 608, 3941, 1390, 4808, 2944, 4095, 4809 +4348, 364, 326, 676, 288, 1865, 5376, 4823, 1864, 1749, 5377 +4349, 326, 719, 737, 676, 5192, 3128, 5615, 5376, 3106, 3129 +4350, 681, 799, 284, 214, 3319, 5057, 4972, 4603, 4602, 1617 +4351, 109, 573, 110, 24, 2600, 2599, 1096, 4965, 4790, 4791 +4352, 874, 876, 910, 416, 3609, 3675, 3674, 4980, 4249, 4250 +4353, 821, 835, 866, 343, 3441, 3539, 3538, 5375, 4890, 5291 +4354, 329, 269, 330, 830, 1757, 1759, 1761, 5309, 5145, 5136 +4355, 715, 786, 201, 270, 3279, 5143, 5621, 3946, 3945, 1576 +4356, 910, 377, 416, 446, 5625, 2039, 4250, 4962, 2118, 2117 +4357, 484, 472, 982, 471, 2303, 5354, 4977, 2302, 2204, 5421 +4358, 362, 310, 688, 291, 1858, 5811, 5807, 1857, 1694, 4433 +4359, 780, 346, 297, 306, 4502, 1809, 5153, 4950, 1808, 1733 +4360, 302, 670, 669, 762, 5559, 3066, 4328, 4630, 3201, 3200 +4361, 760, 788, 800, 395, 3289, 3323, 3322, 5285, 5392, 5345 +4362, 828, 334, 831, 875, 5655, 5652, 3474, 3568, 5449, 3569 +4363, 701, 637, 253, 234, 3010, 5333, 4109, 4110, 4981, 1500 +4364, 375, 315, 751, 311, 1903, 5352, 5473, 1905, 1710, 5351 +4365, 870, 395, 392, 439, 5344, 1964, 5044, 5339, 2096, 2095 +4366, 208, 277, 720, 679, 1597, 4784, 4785, 5705, 5660, 3079 +4367, 304, 357, 372, 808, 1838, 1893, 1892, 5668, 5067, 5168 +4368, 453, 441, 410, 900, 2139, 2102, 2140, 5711, 4148, 5089 +4369, 794, 832, 850, 341, 3438, 3491, 3490, 4676, 5629, 4477 +4370, 486, 499, 479, 943, 2329, 2326, 2247, 5812, 5129, 5130 +4371, 387, 386, 338, 833, 1939, 1935, 1937, 5611, 4710, 4573 +4372, 411, 422, 908, 396, 2048, 4954, 5059, 2012, 2046, 5725 +4373, 389, 832, 850, 867, 4873, 3491, 5628, 4874, 3543, 3545 +4374, 793, 279, 680, 278, 5314, 4495, 3308, 5536, 1604, 5662 +4375, 917, 885, 479, 943, 3698, 5408, 5128, 3787, 3786, 5130 +4376, 606, 208, 679, 607, 5605, 5705, 2947, 2869, 5743, 2946 +4377, 396, 797, 880, 908, 5604, 3586, 5580, 5725, 3670, 3669 +4378, 192, 511, 512, 86, 4943, 2444, 5444, 4942, 2440, 2442 +4379, 210, 279, 209, 680, 1603, 1602, 1387, 4494, 4495, 4908 +4380, 857, 410, 856, 372, 4353, 5642, 3512, 5797, 2009, 5169 +4381, 499, 486, 478, 943, 2329, 2246, 2338, 5129, 5812, 5416 +4382, 70, 536, 152, 581, 2501, 4522, 4853, 2621, 2657, 4855 +4383, 199, 123, 599, 198, 1352, 4622, 4617, 1354, 1350, 5697 +4384, 10, 95, 9, 542, 4285, 4968, 991, 5675, 2516, 4859 +4385, 692, 324, 691, 229, 5103, 4051, 2984, 5104, 1741, 4052 +4386, 964, 981, 481, 476, 2339, 4082, 4253, 4254, 4456, 2268 +4387, 851, 417, 415, 890, 4997, 2114, 5479, 3617, 4157, 5311 +4388, 874, 910, 377, 416, 3674, 5625, 5751, 4980, 4250, 2039 +4389, 885, 486, 479, 943, 5775, 2247, 5408, 3786, 5812, 5130 +4390, 486, 885, 479, 446, 5775, 5408, 2247, 2244, 4427, 2227 +4391, 885, 444, 479, 446, 4425, 2226, 5408, 4427, 2119, 2227 +4392, 441, 452, 406, 901, 2138, 2137, 2128, 4963, 5732, 4884 +4393, 628, 692, 627, 229, 2983, 2982, 2778, 5809, 5104, 5673 +4394, 452, 441, 934, 901, 2138, 5546, 5513, 5732, 4963, 3756 +4395, 236, 703, 702, 311, 5499, 3017, 5502, 1695, 5332, 5318 +4396, 396, 422, 880, 405, 2046, 4955, 5580, 1993, 2047, 5286 +4397, 234, 700, 636, 251, 5281, 3007, 4982, 1525, 5490, 5147 +4398, 384, 868, 841, 883, 3992, 3553, 5696, 5214, 3596, 3595 +4399, 264, 259, 240, 710, 1559, 1548, 1560, 5160, 5633, 4607 +4400, 181, 637, 636, 234, 4782, 2805, 4783, 1451, 4981, 4982 +4401, 205, 675, 604, 674, 4564, 2936, 4098, 4960, 2939, 2935 +4402, 285, 309, 670, 671, 1690, 5014, 5601, 5557, 5555, 2928 +4403, 334, 781, 831, 273, 4540, 3424, 5652, 1771, 4541, 4365 +4404, 307, 752, 811, 753, 5076, 3354, 5091, 5077, 3176, 3355 +4405, 781, 733, 831, 273, 3261, 3422, 3424, 4541, 4364, 4365 +4406, 679, 277, 770, 278, 5660, 5659, 3226, 5703, 1601, 5767 +4407, 972, 953, 470, 981, 3902, 4264, 4394, 2332, 3927, 4083 +4408, 953, 434, 913, 433, 5574, 4914, 3821, 4263, 2082, 5363 +4409, 793, 679, 770, 278, 3301, 3226, 3302, 5536, 5703, 5767 +4410, 672, 272, 273, 203, 3959, 1586, 5468, 3961, 1582, 1584 +4411, 827, 412, 440, 421, 5393, 2100, 5388, 4464, 2124, 2123 +4412, 934, 494, 962, 453, 5573, 4170, 3848, 5547, 2279, 5764 +4413, 978, 497, 959, 490, 4570, 4103, 3906, 4319, 2310, 5189 +4414, 287, 313, 723, 360, 1717, 5800, 4211, 1847, 1846, 5735 +4415, 287, 612, 723, 313, 4021, 3088, 4211, 1717, 4022, 5800 +4416, 981, 964, 965, 476, 2339, 3858, 3913, 4456, 4254, 4455 +4417, 360, 353, 732, 418, 1849, 5781, 5779, 2034, 2033, 5638 +4418, 313, 353, 721, 360, 1826, 5777, 4863, 1846, 1849, 5780 +4419, 304, 749, 700, 251, 5475, 3163, 5180, 1672, 5577, 5490 +4420, 458, 890, 449, 415, 4155, 5813, 2225, 2159, 5311, 2130 +4421, 733, 673, 734, 272, 3120, 3121, 3217, 5061, 3960, 5744 +4422, 673, 202, 734, 272, 5227, 5617, 3121, 3960, 1581, 5744 +4423, 202, 271, 734, 272, 1579, 5149, 5617, 1581, 1583, 5744 +4424, 705, 755, 754, 294, 3180, 3182, 3178, 4717, 5784, 5097 +4425, 125, 601, 126, 201, 4534, 5749, 1134, 1358, 5326, 1359 +4426, 92, 7, 539, 6, 4651, 4722, 2507, 5133, 988, 5746 +4427, 862, 356, 861, 814, 5506, 4361, 3527, 3525, 5242, 3523 +4428, 294, 755, 303, 237, 5784, 4654, 1716, 1658, 5689, 1669 +4429, 862, 376, 350, 863, 4915, 1906, 5682, 3530, 5121, 5123 +4430, 378, 379, 424, 946, 1915, 2052, 2051, 4653, 5306, 4650 +4431, 252, 321, 745, 322, 1730, 3976, 4786, 1736, 1834, 4588 +4432, 755, 706, 756, 303, 3181, 3183, 3185, 4654, 5343, 4655 +4433, 978, 958, 497, 489, 3905, 4101, 4570, 4554, 4920, 2309 +4434, 706, 755, 237, 303, 3181, 5689, 4441, 5343, 4654, 1669 +4435, 725, 320, 767, 684, 4239, 5522, 3222, 3099, 5060, 3219 +4436, 305, 313, 721, 622, 1732, 4863, 5814, 4408, 4864, 3080 +4437, 893, 428, 427, 941, 4355, 2064, 5335, 3783, 4356, 4493 +4438, 7, 175, 539, 6, 1267, 4732, 4722, 988, 1265, 5746 +4439, 461, 896, 929, 930, 5691, 3741, 4866, 5760, 3743, 3745 +4440, 353, 313, 721, 305, 1826, 4863, 5777, 1825, 1732, 5814 +4441, 660, 305, 721, 622, 4657, 5814, 3081, 2900, 4408, 3080 +4442, 507, 506, 190, 589, 2429, 4861, 4957, 2677, 2676, 4862 +4443, 172, 54, 85, 511, 1254, 2404, 5264, 5265, 4944, 2439 +4444, 870, 395, 439, 791, 5344, 2096, 5339, 3554, 4078, 4077 +4445, 353, 305, 721, 660, 1825, 5814, 5777, 5541, 4657, 3081 +4446, 418, 827, 732, 421, 5395, 3409, 5638, 2147, 4464, 5815 +4447, 717, 265, 767, 773, 5562, 4686, 3218, 3237, 5404, 3284 +4448, 360, 418, 732, 421, 2034, 5638, 5779, 2045, 2147, 5815 +4449, 169, 48, 47, 77, 1248, 1031, 1249, 4839, 2382, 2379 +4450, 563, 90, 985, 3, 2580, 4585, 4389, 2486, 1076, 5738 +4451, 421, 827, 732, 779, 4464, 3409, 5815, 4451, 3440, 3255 +4452, 12, 158, 545, 544, 1225, 4551, 4550, 5790, 4117, 2526 +4453, 885, 444, 839, 479, 4425, 5027, 3601, 5408, 2226, 5012 +4454, 352, 767, 773, 787, 4687, 3284, 5482, 4847, 3286, 3285 +4455, 818, 450, 482, 823, 5616, 2248, 5262, 3402, 5008, 4903 +4456, 789, 400, 768, 823, 5483, 5595, 3292, 3398, 5804, 3391 +4457, 430, 970, 927, 468, 5699, 3873, 4026, 2190, 3986, 4028 +4458, 409, 854, 897, 413, 5293, 3638, 5712, 2133, 5294, 5758 +4459, 329, 268, 819, 328, 1756, 5200, 4057, 1758, 1754, 4058 +4460, 761, 829, 819, 328, 3416, 3418, 3380, 5199, 4979, 4058 +4461, 846, 381, 845, 798, 5683, 5336, 3479, 3477, 5337, 3476 +4462, 887, 428, 893, 948, 4349, 4355, 3629, 3804, 4357, 3808 +4463, 395, 788, 842, 344, 5392, 3462, 5753, 1961, 5056, 5715 +4464, 458, 928, 449, 890, 5230, 4591, 2225, 4155, 3736, 5813 +4465, 342, 835, 866, 847, 5650, 3539, 5410, 5411, 3480, 3540 +4466, 679, 607, 209, 680, 2946, 5737, 5702, 2950, 2949, 4908 +4467, 46, 45, 168, 75, 1029, 1247, 1246, 2378, 2375, 4175 +4468, 243, 169, 502, 585, 1472, 4563, 4561, 5443, 4678, 2664 +4469, 142, 57, 515, 31, 1218, 5512, 4248, 1181, 1183, 4247 +4470, 48, 78, 77, 503, 2381, 1063, 2382, 4838, 2416, 2415 +4471, 500, 187, 31, 168, 5452, 1292, 5225, 4174, 1434, 1262 +4472, 13, 546, 159, 14, 4018, 4755, 1228, 995, 4756, 1227 +4473, 664, 263, 663, 588, 5424, 5094, 2911, 2909, 5544, 2907 +4474, 360, 421, 732, 779, 2045, 5815, 5779, 5736, 4451, 3255 +4475, 568, 521, 126, 602, 2646, 4595, 4761, 2713, 2712, 5025 +4476, 199, 653, 200, 686, 4615, 4533, 1357, 4667, 2967, 4967 +4477, 441, 406, 858, 901, 2128, 4883, 4147, 4963, 4884, 3650 +4478, 345, 360, 779, 421, 1848, 5736, 5232, 2043, 2045, 4451 +4479, 786, 715, 201, 685, 3279, 5621, 5143, 3278, 3058, 5049 +4480, 252, 631, 696, 632, 5167, 2994, 4787, 5174, 2790, 2995 +4481, 601, 126, 201, 602, 5749, 1359, 5326, 2858, 5025, 5047 +4482, 396, 797, 347, 355, 5604, 4906, 1970, 1967, 5537, 1863 +4483, 609, 213, 212, 677, 5587, 1396, 4796, 2942, 5588, 5803 +4484, 343, 392, 866, 842, 1952, 5292, 5291, 5816, 5045, 3541 +4485, 389, 832, 340, 341, 4873, 4875, 1943, 1944, 5629, 1794 +4486, 162, 638, 182, 553, 5643, 4206, 1312, 5079, 2807, 5080 +4487, 315, 750, 809, 751, 5083, 3348, 5085, 5352, 3170, 3349 +4488, 838, 797, 729, 347, 3453, 3314, 3450, 4905, 4906, 5272 +4489, 109, 135, 573, 24, 4704, 4715, 2600, 4965, 1160, 4790 +4490, 277, 796, 770, 338, 4852, 3318, 5659, 1783, 4571, 5178 +4491, 714, 716, 778, 266, 3061, 3248, 3247, 4971, 5405, 5137 +4492, 153, 582, 154, 256, 5494, 5002, 1217, 1519, 5003, 1516 +4493, 796, 277, 770, 720, 4852, 5659, 3318, 3311, 4784, 3227 +4494, 802, 374, 825, 743, 5112, 5114, 3435, 3328, 5817, 3434 +4495, 981, 953, 470, 471, 3927, 4264, 4083, 5420, 4265, 2201 +4496, 315, 750, 751, 701, 5083, 3170, 5352, 4108, 3166, 3168 +4497, 79, 505, 504, 189, 2421, 2423, 2419, 4454, 4549, 4912 +4498, 433, 387, 872, 940, 2077, 5610, 5362, 5313, 5657, 3775 +4499, 814, 755, 303, 358, 3363, 4654, 4656, 4236, 4235, 1840 +4500, 907, 389, 850, 867, 4668, 5628, 3667, 3668, 4874, 3545 +4501, 797, 764, 729, 355, 3313, 3213, 3314, 5537, 4379, 5538 +4502, 953, 434, 433, 471, 5574, 2082, 4263, 4265, 2200, 2199 +4503, 408, 844, 440, 421, 4448, 4951, 2175, 2044, 4449, 2123 +4504, 506, 170, 80, 50, 4956, 5016, 2424, 5727, 1250, 2386 +4505, 879, 917, 462, 891, 3696, 5132, 5131, 3622, 3697, 4011 +4506, 480, 961, 442, 932, 4334, 4346, 2228, 5717, 3844, 5681 +4507, 450, 400, 457, 823, 2150, 2234, 2269, 5008, 5804, 4902 +4508, 499, 917, 492, 479, 5127, 5426, 2325, 2326, 5128, 2270 +4509, 356, 814, 303, 358, 5242, 4656, 1836, 1877, 4236, 1840 +4510, 169, 188, 502, 47, 1328, 4562, 4563, 1249, 1294, 5551 +4511, 356, 815, 814, 862, 5240, 3368, 5242, 5506, 3526, 3525 +4512, 802, 293, 374, 743, 5788, 1899, 5112, 3328, 3952, 5817 +4513, 615, 288, 676, 619, 4510, 5377, 2941, 2885, 4511, 2940 +4514, 455, 931, 490, 960, 5245, 5187, 2256, 5110, 3841, 4366 +4515, 293, 323, 374, 743, 1740, 1900, 1899, 3952, 5032, 5817 +4516, 552, 553, 20, 105, 2550, 5081, 4183, 2546, 2548, 5154 +4517, 980, 491, 494, 468, 3984, 2314, 4168, 3985, 2295, 2296 +4518, 153, 71, 536, 42, 5495, 2500, 4827, 1212, 2363, 4892 +4519, 506, 81, 190, 50, 2425, 4958, 4861, 5727, 2385, 1299 +4520, 430, 970, 468, 467, 5699, 3986, 2190, 2188, 4834, 2192 +4521, 142, 596, 174, 217, 4720, 5795, 1261, 1407, 5204, 1408 +4522, 343, 821, 344, 842, 5375, 5239, 1803, 5816, 3463, 5715 +4523, 753, 307, 704, 754, 5077, 5614, 3175, 3179, 5631, 3177 +4524, 821, 343, 866, 842, 5375, 5291, 3538, 3463, 5816, 3541 +4525, 194, 225, 256, 621, 1667, 1523, 1550, 4115, 4238, 5770 +4526, 117, 5, 6, 91, 1106, 987, 1107, 5429, 5778, 5661 +4527, 375, 315, 809, 751, 1903, 5085, 4878, 5473, 5352, 3349 +4528, 400, 789, 457, 823, 5483, 5249, 2234, 5804, 3398, 4902 +4529, 13, 12, 567, 124, 994, 4835, 4612, 1127, 1126, 4614 +4530, 634, 160, 633, 548, 4926, 4928, 2796, 2794, 4887, 2792 +4531, 180, 232, 634, 160, 1447, 4515, 4517, 1310, 1448, 4926 +4532, 232, 244, 319, 698, 1478, 1722, 1721, 5195, 4697, 5613 +4533, 400, 789, 768, 737, 5483, 3292, 5595, 5596, 3291, 3220 +4534, 813, 294, 349, 754, 5402, 1815, 4133, 3360, 5097, 5635 +4535, 111, 26, 574, 112, 4898, 3987, 2602, 1098, 5301, 2601 +4536, 166, 645, 185, 240, 5380, 4300, 1326, 1464, 5050, 1465 +4537, 552, 162, 20, 553, 4184, 1233, 4183, 2550, 5079, 5081 +4538, 87, 513, 512, 173, 2445, 2447, 2443, 4424, 4423, 5099 +4539, 842, 395, 870, 800, 5753, 5344, 3556, 3464, 5345, 3555 +4540, 258, 643, 165, 184, 4711, 4713, 1530, 1531, 4897, 1325 +4541, 392, 343, 344, 842, 1952, 1803, 1953, 5045, 5816, 5715 +4542, 395, 788, 800, 842, 5392, 3323, 5345, 5753, 3462, 3464 +4543, 730, 370, 438, 361, 4639, 2092, 5646, 4542, 1884, 2093 +4544, 370, 763, 836, 407, 4638, 3444, 4640, 1998, 5434, 4560 +4545, 543, 95, 10, 542, 2518, 4285, 4286, 2520, 2516, 5675 +4546, 95, 518, 566, 10, 2460, 2655, 2586, 4285, 5254, 5282 +4547, 714, 761, 198, 267, 3199, 5626, 5148, 4970, 5602, 1567 +4548, 917, 499, 950, 943, 5127, 4499, 3809, 3787, 5129, 3812 +4549, 370, 730, 438, 836, 4639, 5646, 2092, 4640, 3443, 4031 +4550, 912, 870, 437, 869, 3684, 5707, 5022, 3683, 3557, 4684 +4551, 407, 475, 836, 438, 2211, 4558, 4560, 2094, 2212, 4031 +4552, 848, 373, 374, 802, 4311, 1901, 5113, 3483, 5680, 5112 +4553, 162, 552, 638, 553, 4184, 2806, 5643, 5079, 2550, 2807 +4554, 890, 895, 449, 415, 3634, 5564, 5813, 5311, 5310, 2130 +4555, 407, 370, 438, 836, 1998, 2092, 2094, 4560, 4640, 4031 +4556, 606, 133, 208, 607, 4032, 1380, 5605, 2869, 4034, 5743 +4557, 294, 307, 349, 754, 1715, 1816, 1815, 5097, 5631, 5635 +4558, 903, 904, 937, 445, 3661, 3765, 3764, 4242, 4738, 4243 +4559, 937, 904, 423, 445, 3765, 4308, 4682, 4243, 4738, 2163 +4560, 882, 925, 924, 460, 3726, 3780, 3779, 5197, 5740, 4469 +4561, 134, 656, 572, 525, 5791, 2871, 5413, 5789, 2870, 2650 +4562, 578, 532, 218, 622, 2658, 5532, 4298, 2757, 2756, 4299 +4563, 848, 419, 882, 888, 4160, 4161, 3593, 3611, 4462, 3612 +4564, 59, 577, 33, 143, 2609, 5038, 2346, 4196, 4197, 1186 +4565, 32, 59, 33, 143, 2345, 2346, 1015, 1185, 4196, 1186 +4566, 582, 153, 621, 256, 5494, 5589, 2754, 5003, 1519, 5770 +4567, 419, 848, 840, 888, 4160, 3484, 5253, 4462, 3611, 3610 +4568, 153, 582, 536, 71, 5494, 2643, 4827, 5495, 2624, 2500 +4569, 419, 483, 888, 420, 2235, 4461, 4462, 2167, 2236, 4004 +4570, 840, 419, 888, 420, 5253, 4462, 3610, 4002, 2167, 4004 +4571, 648, 195, 119, 194, 5063, 1340, 5162, 5435, 1342, 1339 +4572, 458, 925, 882, 460, 4159, 3726, 4156, 2166, 5740, 5197 +4573, 455, 898, 932, 442, 4945, 3749, 5733, 2155, 4946, 5681 +4574, 379, 425, 424, 946, 2053, 2055, 2052, 5306, 4649, 4650 +4575, 326, 364, 676, 737, 1865, 4823, 5376, 5615, 5597, 3129 +4576, 947, 954, 424, 946, 3824, 4064, 4367, 3799, 3822, 4650 +4577, 120, 650, 195, 618, 5425, 5692, 1341, 5350, 2846, 5065 +4578, 627, 176, 542, 157, 5323, 5437, 2774, 5810, 1336, 4730 +4579, 565, 8, 9, 94, 5165, 990, 4465, 2583, 5166, 4467 +4580, 934, 453, 962, 933, 5547, 5764, 3848, 3757, 5710, 3847 +4581, 901, 441, 934, 900, 4963, 5546, 3756, 3652, 4148, 3755 +4582, 320, 684, 314, 767, 5060, 4693, 1817, 5522, 3219, 4688 +4583, 8, 7, 517, 119, 989, 4648, 5726, 1112, 1111, 4867 +4584, 109, 23, 556, 108, 4706, 5268, 2558, 1095, 5315, 2557 +4585, 4, 2, 984, 515, 2399, 4382, 5019, 2452, 5511, 5718 +4586, 56, 513, 173, 174, 4422, 4423, 1256, 1259, 5671, 1260 +4587, 785, 364, 768, 724, 5658, 4824, 3310, 3274, 4825, 3257 +4588, 478, 943, 922, 971, 5416, 3788, 4939, 4483, 3876, 3875 +4589, 631, 178, 630, 545, 4544, 4545, 2787, 2785, 4552, 2783 +4590, 257, 235, 640, 163, 1529, 5287, 5288, 1528, 1453, 5417 +4591, 444, 446, 886, 416, 2119, 4428, 4426, 2113, 2117, 4251 +4592, 329, 881, 819, 830, 4360, 3588, 4057, 5309, 3590, 3420 +4593, 892, 381, 846, 380, 4443, 5683, 3624, 4596, 1921, 4597 +4594, 464, 463, 426, 952, 2180, 2177, 2178, 5690, 4072, 4040 +4595, 379, 425, 911, 380, 2053, 4582, 4065, 1918, 2054, 4067 +4596, 928, 895, 449, 890, 3737, 5564, 4591, 3736, 3634, 5813 +4597, 79, 48, 49, 189, 2402, 1032, 2384, 4454, 1297, 1296 +4598, 428, 893, 427, 382, 4355, 5335, 2064, 2062, 5260, 2060 +4599, 948, 428, 941, 465, 4357, 4356, 3819, 5734, 2182, 4492 +4600, 426, 892, 427, 921, 4444, 4445, 2061, 4039, 3715, 5236 +4601, 892, 893, 427, 941, 3628, 5335, 4445, 3781, 3783, 4493 +4602, 627, 692, 691, 229, 2982, 2984, 2980, 5673, 5104, 4052 +4603, 231, 627, 691, 229, 5325, 2980, 4050, 1446, 5673, 4052 +4604, 332, 734, 798, 834, 5654, 3317, 5542, 4744, 3431, 3430 +4605, 695, 744, 228, 322, 3148, 4746, 4044, 4045, 4587, 1734 +4606, 857, 899, 410, 900, 3645, 5087, 4353, 3647, 3649, 5089 +4607, 373, 371, 322, 803, 1898, 1888, 1896, 4313, 5290, 4589 +4608, 442, 453, 410, 933, 2141, 2140, 2104, 4347, 5710, 5088 +4609, 657, 211, 608, 682, 5175, 4809, 2896, 2954, 4810, 2955 +4610, 250, 173, 512, 262, 1490, 5099, 5463, 1545, 1544, 5100 +4611, 442, 899, 932, 933, 5663, 3750, 5681, 4347, 3752, 3754 +4612, 899, 442, 410, 933, 5663, 2104, 5087, 3752, 4347, 5088 +4613, 376, 863, 905, 404, 5121, 3663, 4802, 1991, 5122, 4803 +4614, 109, 135, 24, 23, 4704, 1160, 4965, 4706, 1159, 1005 +4615, 656, 134, 572, 607, 5791, 5413, 2871, 2897, 5430, 2722 +4616, 860, 401, 349, 358, 4165, 1983, 4131, 4132, 1982, 1894 +4617, 774, 274, 828, 335, 5018, 5656, 3411, 5762, 1774, 4199 +4618, 832, 340, 341, 280, 4875, 1794, 5629, 5171, 1790, 1792 +4619, 335, 774, 795, 828, 5762, 3307, 4198, 4199, 3411, 3413 +4620, 892, 893, 845, 382, 3628, 3627, 3623, 5334, 5260, 5508 +4621, 912, 436, 894, 926, 5021, 4672, 3730, 3731, 5090, 3732 +4622, 309, 595, 262, 250, 5015, 5460, 1689, 1731, 4750, 1545 +4623, 748, 807, 806, 369, 3342, 3344, 3340, 5398, 4331, 5400 +4624, 485, 463, 975, 968, 2251, 4071, 4661, 4662, 4073, 3924 +4625, 626, 231, 627, 691, 5324, 5325, 2775, 2979, 4050, 2980 +4626, 728, 219, 614, 600, 5431, 5371, 3110, 3107, 5372, 2738 +4627, 146, 145, 578, 218, 1194, 5552, 5783, 1411, 1410, 4298 +4628, 444, 843, 886, 839, 4153, 3603, 4426, 5027, 3547, 3604 +4629, 78, 79, 504, 189, 1064, 2419, 2418, 4453, 4454, 4912 +4630, 727, 245, 611, 614, 4126, 4125, 3103, 3104, 4416, 2739 +4631, 21, 554, 182, 163, 5517, 5722, 1281, 1236, 5462, 1323 +4632, 514, 513, 88, 174, 2450, 2446, 2448, 5685, 5671, 5672 +4633, 505, 587, 504, 189, 2671, 2670, 2423, 4549, 4911, 4912 +4634, 5, 985, 193, 1, 4387, 4586, 1306, 986, 4390, 1104 +4635, 595, 250, 512, 262, 4750, 5463, 2694, 5460, 1545, 5100 +4636, 947, 425, 968, 952, 4041, 4368, 3865, 3817, 4042, 3886 +4637, 367, 319, 806, 369, 1871, 5399, 4780, 1880, 1879, 5400 +4638, 697, 230, 244, 316, 5179, 1477, 4696, 4773, 1712, 1711 +4639, 15, 521, 126, 568, 4576, 4595, 1133, 4759, 2646, 4761 +4640, 498, 924, 493, 460, 4209, 4180, 2328, 2327, 4469, 2274 +4641, 461, 477, 896, 930, 2221, 5576, 5691, 5760, 4728, 3743 +4642, 381, 846, 380, 332, 5683, 4597, 1921, 1919, 4743, 1917 +4643, 788, 799, 821, 344, 3394, 3387, 3414, 5056, 5058, 5239 +4644, 406, 401, 902, 443, 1995, 5566, 5496, 2109, 2108, 5720 +4645, 846, 332, 798, 834, 4743, 5542, 3477, 3478, 4744, 3430 +4646, 312, 255, 223, 651, 1698, 1508, 1699, 5250, 5244, 5755 +4647, 626, 690, 231, 691, 2978, 5776, 5324, 2979, 2981, 4050 +4648, 255, 617, 651, 310, 5243, 2850, 5244, 1693, 5792, 5251 +4649, 832, 280, 341, 776, 5171, 1792, 5629, 3425, 4252, 4793 +4650, 488, 956, 967, 484, 4273, 3887, 5383, 2263, 5381, 4976 +4651, 343, 821, 283, 344, 5375, 5238, 1799, 1803, 5239, 1801 +4652, 842, 870, 395, 392, 3556, 5344, 5753, 5045, 5044, 1964 +4653, 535, 151, 223, 619, 5728, 1425, 4089, 2751, 5609, 4513 +4654, 255, 617, 310, 220, 5243, 5792, 1693, 1509, 4440, 1692 +4655, 150, 255, 580, 223, 1507, 4526, 4088, 1424, 1508, 4090 +4656, 920, 392, 842, 866, 5046, 5045, 3713, 3723, 5292, 3541 +4657, 480, 467, 976, 979, 2321, 3971, 5115, 4335, 4306, 3919 +4658, 467, 970, 976, 955, 4834, 3897, 3971, 4307, 3872, 3898 +4659, 716, 266, 773, 778, 5405, 5138, 3236, 3248, 5137, 3249 +4660, 268, 199, 689, 198, 1570, 4047, 4049, 1569, 1354, 5693 +4661, 876, 414, 327, 824, 5277, 2020, 5274, 3573, 5470, 5276 +4662, 716, 197, 266, 714, 4894, 1564, 5405, 3061, 4895, 4971 +4663, 645, 709, 240, 710, 3034, 4606, 5050, 3036, 3038, 4607 +4664, 491, 961, 480, 976, 4344, 4334, 2261, 3972, 3909, 5115 +4665, 794, 832, 341, 776, 3438, 5629, 4676, 3305, 3425, 4793 +4666, 961, 491, 933, 962, 4344, 4345, 3845, 3849, 4341, 3847 +4667, 893, 382, 383, 875, 5260, 1927, 5261, 3626, 5448, 5450 +4668, 352, 400, 737, 787, 1978, 5596, 5698, 4847, 5524, 3467 +4669, 400, 789, 737, 787, 5483, 3291, 5596, 5524, 3468, 3467 +4670, 131, 19, 20, 523, 1147, 1001, 1148, 5220, 5155, 5156 +4671, 816, 292, 350, 757, 4698, 1818, 5270, 3369, 4262, 5271 +4672, 781, 334, 831, 828, 4540, 5652, 3424, 3412, 5655, 3474 +4673, 966, 485, 975, 971, 4480, 4661, 3894, 3914, 4481, 3917 +4674, 605, 523, 570, 130, 2718, 2648, 2719, 4112, 5455, 5338 +4675, 624, 224, 619, 289, 5585, 4969, 2764, 5586, 1629, 5298 +4676, 257, 183, 640, 641, 1527, 5150, 5288, 4225, 5151, 2817 +4677, 466, 480, 979, 467, 2315, 4335, 4354, 2189, 2321, 4306 +4678, 536, 624, 152, 581, 2762, 4524, 4522, 2657, 2763, 4855 +4679, 320, 725, 289, 225, 4239, 5234, 1805, 1727, 4240, 1630 +4680, 272, 332, 734, 798, 1766, 5654, 5744, 5062, 5542, 3317 +4681, 785, 818, 456, 731, 3375, 5385, 5752, 3276, 3376, 5229 +4682, 155, 538, 6, 5, 5074, 5745, 1219, 1220, 5771, 987 +4683, 733, 272, 734, 798, 5061, 5744, 3217, 3316, 5062, 3317 +4684, 263, 664, 729, 347, 5424, 3112, 5606, 1811, 5273, 5272 +4685, 128, 16, 17, 569, 1138, 998, 1139, 5491, 5035, 5295 +4686, 379, 331, 380, 878, 1914, 1916, 1918, 4015, 4014, 4066 +4687, 395, 788, 344, 325, 5392, 5056, 1961, 1962, 4807, 1890 +4688, 667, 351, 299, 668, 4149, 1821, 5255, 2920, 5409, 4869 +4689, 855, 898, 897, 413, 3641, 3643, 3639, 4628, 4626, 5758 +4690, 760, 351, 668, 295, 4314, 5409, 3195, 4316, 1820, 4870 +4691, 822, 340, 388, 867, 4983, 1941, 4985, 3544, 4876, 5327 +4692, 10, 518, 121, 9, 5254, 5308, 1118, 991, 4466, 1117 +4693, 362, 408, 731, 456, 2001, 5070, 5806, 2154, 2153, 5229 +4694, 95, 518, 9, 94, 2460, 4466, 4968, 1081, 2461, 4467 +4695, 717, 265, 314, 767, 5562, 1725, 4692, 3218, 4686, 4688 +4696, 408, 777, 362, 731, 5069, 5688, 2001, 5070, 3246, 5806 +4697, 822, 387, 388, 339, 5612, 1942, 4985, 4984, 1938, 1940 +4698, 975, 973, 487, 493, 3895, 5458, 4035, 5600, 5459, 2275 +4699, 321, 804, 745, 371, 3974, 3333, 3976, 1887, 5170, 5548 +4700, 397, 348, 415, 852, 1969, 2021, 2023, 5209, 5678, 5312 +4701, 461, 477, 930, 497, 2221, 4728, 5760, 2308, 2307, 4102 +4702, 884, 378, 946, 379, 4507, 4653, 3794, 4857, 1915, 5306 +4703, 958, 461, 930, 497, 4919, 5760, 3836, 4101, 2308, 4102 +4704, 843, 444, 457, 839, 4153, 2158, 4154, 3547, 5027, 4900 +4705, 122, 623, 123, 198, 4266, 5627, 1125, 1349, 4268, 1350 +4706, 200, 601, 201, 715, 4535, 5326, 1360, 5442, 3055, 5621 +4707, 125, 568, 126, 601, 4814, 4761, 1134, 4534, 2710, 5749 +4708, 214, 799, 284, 283, 4602, 5057, 1617, 1615, 5237, 1619 +4709, 271, 786, 734, 834, 5141, 3281, 5149, 5651, 3439, 3431 +4710, 623, 689, 599, 198, 2975, 2974, 2761, 4268, 5693, 5697 +4711, 958, 489, 957, 929, 4920, 4569, 3837, 3835, 4865, 3834 +4712, 835, 342, 866, 343, 5650, 5410, 3539, 4890, 1800, 5291 +4713, 123, 623, 599, 198, 5627, 2761, 4622, 1350, 4268, 5697 +4714, 914, 475, 877, 869, 4685, 4949, 3691, 3689, 4557, 3577 +4715, 133, 134, 209, 607, 1158, 1383, 1382, 4034, 5430, 5737 +4716, 758, 296, 239, 709, 4006, 1647, 4518, 3190, 4325, 4520 +4717, 210, 656, 209, 134, 4094, 4907, 1387, 1385, 5791, 1383 +4718, 857, 375, 372, 809, 4352, 1904, 5797, 3510, 4878, 5086 +4719, 320, 725, 767, 772, 4239, 3222, 5522, 5521, 3232, 3235 +4720, 628, 254, 692, 229, 4201, 5303, 2983, 5809, 1504, 5104 +4721, 158, 629, 226, 630, 4116, 4288, 1432, 4118, 2784, 4798 +4722, 694, 293, 226, 228, 3950, 1641, 4106, 4096, 1640, 1518 +4723, 134, 656, 209, 607, 5791, 4907, 1383, 5430, 2897, 5737 +4724, 235, 639, 640, 163, 5497, 2814, 5287, 1453, 5641, 5417 +4725, 183, 555, 22, 163, 5152, 5666, 1284, 1313, 5418, 1235 +4726, 256, 582, 537, 597, 5003, 2656, 5005, 4741, 2702, 2701 +4727, 826, 411, 438, 448, 4119, 2111, 4029, 4281, 2125, 2127 +4728, 664, 263, 300, 347, 5424, 1726, 4671, 5273, 1811, 1810 +4729, 532, 221, 576, 146, 5531, 5478, 2606, 4271, 1417, 4272 +4730, 150, 40, 68, 39, 1204, 2360, 4270, 1203, 1022, 2374 +4731, 297, 241, 259, 726, 1650, 1533, 1651, 4024, 4053, 4055 +4732, 662, 764, 286, 663, 3206, 4384, 4723, 2908, 3207, 5096 +4733, 750, 808, 372, 809, 3346, 5168, 5084, 3348, 3350, 5086 +4734, 527, 113, 28, 575, 2478, 4373, 5379, 2638, 2604, 5787 +4735, 628, 254, 229, 157, 4201, 1504, 5809, 4188, 1503, 1439 +4736, 475, 877, 836, 438, 4949, 3576, 4558, 2212, 4030, 4031 +4737, 282, 342, 281, 775, 1796, 1795, 1613, 4909, 5316, 5317 +4738, 926, 436, 894, 435, 5090, 4672, 3732, 4637, 2088, 4666 +4739, 376, 447, 905, 423, 2120, 4304, 4802, 2049, 2121, 4309 +4740, 488, 472, 956, 484, 2304, 5190, 4273, 2263, 2303, 5381 +4741, 346, 396, 355, 820, 1965, 1967, 1852, 5649, 5648, 4378 +4742, 736, 353, 732, 721, 5527, 5781, 3127, 3125, 5777, 3118 +4743, 73, 516, 90, 193, 2578, 2457, 2455, 4085, 4084, 4496 +4744, 346, 365, 396, 820, 1867, 1966, 1965, 5649, 5488, 5648 +4745, 73, 985, 1, 193, 5093, 4390, 2368, 4085, 4586, 1104 +4746, 835, 342, 794, 847, 5650, 4675, 3442, 3480, 5411, 3481 +4747, 335, 774, 275, 795, 5762, 4987, 1775, 4198, 3307, 4988 +4748, 205, 774, 275, 274, 4959, 4987, 1590, 1588, 5018, 1592 +4749, 365, 865, 396, 820, 4192, 5579, 1966, 5488, 3536, 5648 +4750, 612, 313, 721, 723, 4022, 4863, 3082, 3088, 5800, 3095 +4751, 884, 849, 330, 878, 3597, 4833, 4856, 3600, 3580, 4016 +4752, 43, 582, 72, 154, 5493, 2623, 2365, 1215, 5002, 5247 +4753, 390, 907, 850, 894, 4663, 3667, 4479, 4664, 3706, 3631 +4754, 43, 153, 582, 154, 1213, 5494, 5493, 1215, 1217, 5002 +4755, 216, 659, 671, 713, 4220, 2927, 5556, 4221, 3047, 3050 +4756, 868, 335, 828, 875, 3994, 4199, 3549, 3570, 5721, 3568 +4757, 293, 744, 743, 802, 3951, 3149, 3952, 5788, 3329, 3328 +4758, 887, 893, 383, 875, 3629, 5261, 4351, 3608, 3626, 5450 +4759, 739, 741, 324, 691, 3140, 5109, 5389, 3135, 3138, 4051 +4760, 984, 500, 116, 31, 5709, 2579, 5226, 5714, 5225, 4781 +4761, 7, 540, 8, 93, 4278, 4348, 989, 4826, 2510, 5164 +4762, 242, 649, 501, 168, 5472, 2841, 3935, 1471, 5454, 3937 +4763, 335, 334, 828, 875, 1776, 5655, 4199, 5721, 5449, 3568 +4764, 862, 904, 861, 399, 3660, 3659, 3527, 4916, 4075, 4076 +4765, 285, 783, 215, 713, 5020, 4996, 1620, 5818, 3287, 4223 +4766, 255, 617, 220, 149, 5243, 4440, 1509, 1506, 5774, 1416 +4767, 782, 340, 339, 822, 4293, 1791, 5761, 3406, 4983, 4984 +4768, 617, 579, 220, 149, 2747, 5593, 4440, 5774, 4488, 1416 +4769, 290, 749, 357, 304, 4536, 5653, 1839, 1702, 5475, 1838 +4770, 682, 775, 281, 776, 3241, 5317, 5581, 3242, 3288, 4794 +4771, 441, 934, 900, 453, 5546, 3755, 4148, 2139, 5547, 5711 +4772, 158, 12, 11, 544, 1225, 993, 1226, 4117, 5790, 4163 +4773, 323, 694, 693, 743, 4104, 2990, 4105, 5032, 3145, 3144 +4774, 651, 255, 580, 534, 5244, 4526, 2848, 2849, 4525, 2641 +4775, 339, 793, 279, 782, 5535, 5314, 1787, 5761, 3393, 4012 +4776, 485, 463, 968, 425, 2251, 4073, 4662, 2242, 2176, 4368 +4777, 323, 694, 293, 226, 4104, 3950, 1740, 1737, 4106, 1641 +4778, 782, 279, 339, 340, 4012, 1787, 5761, 4293, 1789, 1791 +4779, 158, 177, 544, 11, 1335, 5731, 4117, 1226, 1271, 4163 +4780, 714, 266, 778, 267, 4971, 5137, 3247, 4970, 1568, 5766 +4781, 953, 981, 982, 471, 3927, 3926, 3921, 4265, 5420, 5421 +4782, 513, 596, 174, 514, 2697, 5795, 5671, 2450, 2698, 5685 +4783, 964, 983, 481, 981, 2340, 4080, 4253, 2339, 2330, 4082 +4784, 815, 862, 350, 863, 3526, 5682, 5269, 3528, 3530, 5123 +4785, 738, 796, 336, 795, 3312, 3964, 5451, 3306, 3405, 3965 +4786, 510, 191, 53, 172, 5669, 1300, 4333, 5263, 1331, 1255 +4787, 343, 342, 866, 391, 1800, 5410, 5291, 1950, 1949, 4880 +4788, 783, 285, 671, 713, 5020, 5557, 3269, 3287, 5818, 3050 +4789, 705, 257, 237, 294, 4224, 1551, 4226, 4717, 1642, 1658 +4790, 216, 285, 215, 713, 1621, 1620, 1405, 4221, 5818, 4223 +4791, 384, 868, 336, 841, 3992, 5723, 1929, 5696, 3553, 3963 +4792, 606, 208, 720, 679, 5605, 4785, 3077, 2947, 5705, 3079 +4793, 595, 596, 217, 262, 2699, 5204, 5561, 5460, 5461, 1546 +4794, 859, 406, 363, 349, 4882, 2002, 5321, 5196, 1996, 1862 +4795, 774, 675, 781, 274, 3267, 3262, 3315, 5018, 5017, 4539 +4796, 920, 392, 391, 437, 5046, 1954, 4879, 5706, 2090, 2089 +4797, 202, 271, 685, 734, 1579, 5142, 5048, 5617, 5149, 3122 +4798, 653, 125, 520, 124, 4532, 4401, 2860, 4616, 1131, 4613 +4799, 961, 442, 932, 933, 4346, 5681, 3844, 3845, 4347, 3754 +4800, 906, 863, 864, 404, 3664, 3533, 3665, 3991, 5122, 4931 +4801, 841, 384, 385, 336, 5696, 1933, 5259, 3963, 1929, 1931 +4802, 596, 513, 174, 262, 2697, 5671, 5795, 5461, 5098, 1543 +4803, 404, 454, 405, 919, 2144, 2143, 2103, 4933, 4922, 4934 +4804, 712, 606, 655, 207, 3046, 2898, 3043, 4772, 5073, 5053 +4805, 404, 906, 454, 919, 3991, 3990, 2144, 4933, 3710, 4922 +4806, 285, 216, 671, 713, 1621, 5556, 5557, 5818, 4221, 3050 +4807, 16, 521, 569, 127, 4577, 2632, 5035, 1136, 4091, 5545 +4808, 382, 893, 845, 875, 5260, 3627, 5508, 5448, 3626, 3571 +4809, 379, 946, 878, 911, 5306, 3793, 4015, 4065, 3796, 3682 +4810, 518, 650, 598, 121, 2844, 2847, 2704, 5308, 5481, 5590 +4811, 846, 380, 878, 911, 4597, 4066, 3581, 3681, 4067, 3682 +4812, 122, 598, 197, 121, 5419, 4893, 1347, 1122, 5590, 1346 +4813, 673, 202, 272, 203, 5227, 1581, 3960, 3962, 1366, 1582 +4814, 10, 518, 566, 121, 5254, 2655, 5282, 1118, 5308, 5819 +4815, 122, 10, 566, 121, 1120, 5282, 5528, 1122, 1118, 5819 +4816, 439, 791, 407, 869, 4077, 4079, 2097, 5340, 3552, 4559 +4817, 448, 826, 877, 438, 4281, 3575, 4259, 2127, 4029, 4030 +4818, 763, 791, 836, 407, 3295, 3445, 3444, 5434, 4079, 4560 +4819, 598, 518, 121, 566, 2704, 5308, 5590, 2703, 2655, 5819 +4820, 791, 407, 869, 836, 4079, 4559, 3552, 3445, 4560, 3551 +4821, 122, 598, 121, 566, 5419, 5590, 1122, 5528, 2703, 5819 +4822, 474, 496, 495, 918, 2318, 2322, 2337, 4256, 4276, 5126 +4823, 475, 448, 877, 438, 2213, 4259, 4949, 2212, 2127, 4030 +4824, 870, 439, 437, 869, 5339, 2098, 5707, 3557, 5340, 4684 +4825, 476, 484, 982, 471, 2258, 4977, 4457, 2301, 2302, 5421 +4826, 235, 639, 182, 236, 5497, 4204, 1454, 1457, 4203, 1455 +4827, 458, 925, 493, 973, 4159, 4179, 2273, 5231, 3882, 5459 +4828, 543, 10, 96, 11, 4286, 4287, 2519, 5801, 992, 4164 +4829, 177, 543, 544, 11, 4187, 2523, 5731, 1271, 5801, 4163 +4830, 638, 639, 182, 553, 2811, 4204, 4206, 2807, 2809, 5080 +4831, 881, 378, 377, 942, 4506, 1912, 4797, 3785, 4652, 5457 +4832, 123, 12, 519, 11, 1124, 4135, 4837, 1123, 993, 4137 +4833, 106, 524, 132, 571, 2473, 5820, 4246, 2595, 2649, 5284 +4834, 524, 106, 132, 21, 2473, 4246, 5820, 4747, 4244, 1151 +4835, 848, 419, 374, 373, 4160, 2037, 5113, 4311, 2036, 1901 +4836, 606, 133, 132, 208, 4032, 1155, 5571, 5605, 1380, 1379 +4837, 412, 403, 366, 801, 2013, 1988, 2014, 5480, 4600, 5441 +4838, 881, 329, 874, 377, 4360, 4059, 3589, 4797, 1909, 5751 +4839, 931, 455, 932, 960, 5245, 5733, 3751, 3841, 5110, 3842 +4840, 466, 428, 948, 465, 2184, 4357, 4216, 2186, 2182, 5734 +4841, 969, 978, 974, 465, 3904, 3903, 3893, 4490, 4317, 4318 +4842, 101, 16, 569, 102, 4342, 5035, 2592, 1088, 4141, 2591 +4843, 854, 807, 369, 806, 3502, 4331, 4330, 3501, 3344, 5400 +4844, 524, 133, 21, 132, 4033, 1153, 4747, 5820, 1155, 1151 +4845, 606, 524, 571, 132, 2720, 2649, 2721, 5571, 5820, 5284 +4846, 15, 547, 179, 548, 5644, 5359, 1275, 5584, 2535, 5205 +4847, 606, 133, 524, 132, 4032, 4033, 2720, 5571, 1155, 5820 +4848, 604, 675, 204, 654, 2936, 4565, 4566, 2863, 2937, 5034 +4849, 730, 301, 665, 666, 4753, 4754, 3113, 3114, 5500, 3064 +4850, 301, 590, 665, 666, 4937, 2913, 4754, 5500, 2914, 3064 +4851, 37, 65, 533, 64, 2355, 2494, 5183, 2354, 1049, 2495 +4852, 839, 818, 482, 823, 3456, 5262, 4901, 3455, 3402, 4903 +4853, 469, 980, 494, 468, 4374, 4168, 2297, 2195, 3985, 2296 +4854, 505, 170, 506, 588, 4548, 4956, 2426, 2673, 5211, 2674 +4855, 62, 532, 63, 146, 2493, 2492, 1047, 5782, 4271, 4207 +4856, 785, 364, 724, 394, 5658, 4825, 3274, 5598, 1959, 5257 +4857, 122, 623, 566, 519, 4266, 2760, 5528, 5305, 2759, 2644 +4858, 446, 885, 886, 922, 4427, 3605, 4428, 5739, 3718, 3717 +4859, 903, 401, 445, 443, 4166, 2116, 4242, 5719, 2108, 2151 +4860, 543, 177, 544, 629, 4187, 5731, 2523, 2779, 4200, 2780 +4861, 541, 176, 542, 627, 5489, 5437, 2517, 2773, 5323, 2774 +4862, 695, 631, 228, 630, 2992, 4546, 4044, 2991, 2787, 4097 +4863, 540, 541, 8, 93, 2514, 5438, 4348, 2510, 2512, 5164 +4864, 563, 3, 1, 58, 2486, 2369, 4388, 2487, 1042, 2370 +4865, 626, 227, 625, 156, 5802, 5664, 2772, 4283, 1435, 5763 +4866, 478, 486, 922, 943, 2246, 5368, 4939, 5416, 5812, 3788 +4867, 59, 32, 58, 530, 2345, 2344, 1043, 2488, 5757, 2489 +4868, 459, 478, 922, 954, 2223, 4939, 5369, 4063, 4938, 3828 +4869, 486, 885, 922, 943, 5775, 3718, 5368, 5812, 3786, 3788 +4870, 628, 627, 542, 157, 2778, 2774, 2776, 4188, 5810, 4730 +4871, 565, 120, 8, 119, 5348, 1114, 5165, 5349, 1116, 1112 +4872, 227, 318, 231, 690, 1718, 1720, 1445, 5747, 5519, 5776 +4873, 541, 156, 8, 176, 4284, 1221, 5438, 5489, 1334, 1270 +4874, 106, 554, 553, 182, 2551, 2553, 2549, 5724, 5722, 5080 +4875, 375, 857, 372, 410, 4352, 5797, 1904, 2008, 4353, 2009 +4876, 24, 136, 110, 25, 1162, 4178, 4791, 1006, 1163, 4777 +4877, 755, 813, 754, 294, 3361, 3360, 3182, 5784, 5402, 5097 +4878, 161, 234, 636, 251, 1452, 4982, 4624, 1492, 1525, 5147 +4879, 184, 24, 110, 25, 1286, 4791, 4806, 1285, 1006, 4777 +4880, 758, 296, 368, 292, 4006, 1876, 5117, 4260, 1648, 1874 +4881, 214, 139, 610, 658, 1398, 4811, 4896, 5486, 5554, 2875 +4882, 477, 409, 897, 413, 2220, 5712, 4729, 2219, 2133, 5758 +4883, 409, 477, 897, 896, 2220, 4729, 5712, 5677, 5576, 3640 +4884, 477, 455, 413, 897, 2222, 2149, 2219, 4729, 5794, 5758 +4885, 527, 112, 27, 113, 2479, 4843, 5378, 2478, 1099, 4447 +4886, 210, 656, 135, 608, 4094, 4822, 1386, 4095, 2899, 4789 +4887, 362, 731, 718, 394, 5806, 3115, 5808, 1960, 5599, 5043 +4888, 341, 794, 776, 281, 4676, 3305, 4793, 1793, 4677, 4794 +4889, 496, 422, 454, 909, 2289, 2146, 2312, 3978, 4190, 4921 +4890, 133, 107, 22, 572, 5510, 5630, 1154, 5412, 2598, 5414 +4891, 398, 412, 366, 792, 2015, 2014, 1974, 4766, 5394, 4768 +4892, 903, 401, 861, 399, 4166, 4167, 3657, 4074, 2007, 4076 +4893, 456, 362, 394, 731, 2154, 1960, 2156, 5229, 5806, 5599 +4894, 243, 584, 711, 585, 5407, 3039, 4323, 5443, 2666, 3040 +4895, 584, 243, 502, 585, 5407, 4561, 2663, 2666, 5443, 2664 +4896, 176, 541, 542, 9, 5489, 2517, 5437, 1269, 4858, 4859 +4897, 310, 362, 718, 394, 1858, 5808, 5041, 1957, 1960, 5043 +4898, 455, 477, 931, 897, 2222, 4727, 5245, 5794, 4729, 3746 +4899, 57, 142, 514, 174, 1218, 4721, 5684, 1258, 1261, 5685 +4900, 279, 782, 680, 678, 4012, 3264, 4495, 3942, 3263, 2951 +4901, 339, 793, 770, 278, 5535, 3302, 5786, 1786, 5536, 5767 +4902, 338, 822, 770, 339, 5177, 3390, 5178, 1788, 4984, 5786 +4903, 133, 208, 607, 209, 1380, 5743, 4034, 1382, 1384, 5737 +4904, 796, 276, 277, 720, 4851, 1598, 4852, 3311, 4769, 4784 +4905, 650, 120, 195, 196, 5425, 1341, 5692, 4471, 1343, 1345 +4906, 648, 195, 194, 684, 5063, 1342, 5435, 2964, 5064, 4113 +4907, 718, 785, 724, 394, 3275, 3274, 3092, 5043, 5598, 5257 +4908, 785, 456, 394, 731, 5752, 2156, 5598, 3276, 5229, 5599 +4909, 44, 73, 193, 537, 2367, 4085, 1105, 5456, 2502, 4086 +4910, 584, 243, 687, 242, 5407, 5618, 2970, 5516, 1520, 5471 +4911, 374, 323, 825, 743, 1900, 5031, 5114, 5817, 5032, 3434 +4912, 903, 936, 902, 443, 3762, 3761, 3658, 5719, 5768, 5720 +4913, 122, 10, 11, 566, 1120, 992, 1121, 5528, 5282, 5283 +4914, 243, 241, 687, 242, 1632, 4633, 5618, 1520, 1470, 5471 +4915, 404, 368, 864, 405, 1992, 4644, 4931, 2103, 2010, 4932 +4916, 364, 312, 724, 394, 1866, 5256, 4825, 1959, 1958, 5257 +4917, 879, 462, 479, 482, 5131, 2271, 5010, 5011, 2232, 2272 +4918, 728, 227, 625, 690, 5665, 5664, 3108, 3109, 5747, 2977 +4919, 452, 481, 443, 935, 2231, 2230, 2152, 5515, 4321, 4322 +4920, 406, 452, 443, 935, 2137, 2152, 2109, 5716, 5515, 4322 +4921, 829, 819, 328, 874, 3418, 4058, 4979, 3567, 3566, 4060 +4922, 364, 785, 768, 450, 5658, 3310, 4824, 2132, 5006, 5007 +4923, 902, 406, 443, 935, 5496, 2109, 5720, 3759, 5716, 4322 +4924, 67, 150, 580, 68, 4269, 4088, 2620, 1052, 4270, 2619 +4925, 761, 268, 267, 328, 5198, 1571, 5602, 5199, 1754, 1753 +4926, 400, 364, 768, 450, 1980, 4824, 5595, 2150, 2132, 5007 +4927, 936, 902, 443, 935, 3761, 5720, 5768, 3763, 3759, 4322 +4928, 615, 535, 580, 223, 2740, 2659, 2741, 4512, 4089, 4090 +4929, 627, 176, 157, 229, 5323, 1336, 5810, 5673, 1440, 1439 +4930, 829, 876, 416, 327, 3591, 4249, 4978, 5275, 5274, 2028 +4931, 246, 587, 233, 286, 5101, 4726, 1514, 1623, 4724, 1624 +4932, 233, 243, 306, 585, 1474, 1676, 1675, 3970, 5443, 5157 +4933, 909, 906, 454, 923, 3768, 3990, 4921, 3719, 3725, 5821 +4934, 170, 506, 190, 50, 4956, 4861, 1319, 1250, 5727, 1299 +4935, 51, 81, 50, 190, 2388, 2385, 1034, 1298, 4958, 1299 +4936, 906, 447, 454, 923, 3989, 2145, 3990, 3725, 4303, 5821 +4937, 915, 496, 495, 454, 3979, 2322, 5125, 5822, 2312, 2284 +4938, 909, 496, 915, 454, 3978, 3979, 3692, 4921, 2312, 5822 +4939, 981, 470, 476, 471, 4083, 2300, 4456, 5420, 2201, 2301 +4940, 495, 923, 915, 454, 5700, 3720, 5125, 2284, 5821, 5822 +4941, 200, 715, 201, 270, 5442, 5621, 1360, 1575, 3946, 1576 +4942, 277, 208, 278, 679, 1597, 1599, 1601, 5660, 5705, 5703 +4943, 495, 923, 454, 447, 5700, 5821, 2284, 2282, 4303, 2145 +4944, 338, 387, 822, 339, 1937, 5612, 5177, 1788, 1938, 4984 +4945, 320, 621, 194, 684, 4237, 4115, 1728, 5060, 2963, 4113 +4946, 909, 923, 454, 915, 3719, 5821, 4921, 3692, 3720, 5822 +4947, 618, 565, 517, 119, 2748, 2608, 2749, 5163, 5349, 4867 +4948, 338, 770, 278, 339, 5178, 5767, 1784, 1788, 5786, 1786 +4949, 354, 266, 327, 778, 1828, 1751, 1829, 5139, 5137, 5674 +4950, 293, 694, 744, 228, 3950, 3147, 3951, 1640, 4096, 4746 +4951, 797, 411, 908, 396, 4904, 5059, 3670, 5604, 2012, 5725 +4952, 254, 629, 693, 226, 4202, 2986, 5304, 1505, 4288, 4107 +4953, 98, 546, 545, 13, 2527, 2529, 2525, 4017, 4018, 5530 + +** Define element set Eall +*ELSET, ELSET=Eall +Evolumes + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +*ELSET,ELSET=MechanicalMaterialSolid +Evolumes + +*********************************************************** +** constraints fixed node sets +** ConstraintFixed +*NSET,NSET=ConstraintFixed +2, +4, +45, +46, +47, +48, +49, +50, +51, +52, +53, +54, +55, +56, +57, +74, +75, +76, +77, +78, +79, +80, +81, +82, +83, +84, +85, +86, +87, +88, +89, +1028, +1029, +1030, +1031, +1032, +1033, +1034, +1035, +1036, +1037, +1038, +1039, +1040, +1041, +1059, +1060, +1061, +1062, +1063, +1064, +1065, +1066, +1067, +1068, +1069, +1070, +1071, +1072, +1073, +1074, +1075, +2375, +2376, +2377, +2378, +2379, +2380, +2381, +2382, +2383, +2384, +2385, +2386, +2387, +2388, +2389, +2390, +2391, +2392, +2393, +2394, +2395, +2396, +2397, +2398, +2399, +2400, +2401, +2402, +2403, +2404, +2405, + +*********************************************************** +** constraints transform node sets +** ConstraintTransform +*NSET,NSET=CylinConstraintTransform +3, +4, +58, +59, +60, +61, +62, +63, +64, +65, +66, +67, +68, +69, +70, +71, +72, +73, +74, +75, +76, +77, +78, +79, +80, +81, +82, +83, +84, +85, +86, +87, +88, +89, +90, +91, +92, +93, +94, +95, +96, +97, +98, +99, +100, +101, +102, +103, +104, +105, +106, +107, +108, +109, +110, +111, +112, +113, +114, +115, +116, +500, +501, +502, +503, +504, +505, +506, +507, +508, +509, +510, +511, +512, +513, +514, +515, +516, +517, +518, +519, +520, +521, +522, +523, +524, +525, +526, +527, +528, +529, +530, +531, +532, +533, +534, +535, +536, +537, +538, +539, +540, +541, +542, +543, +544, +545, +546, +547, +548, +549, +550, +551, +552, +553, +554, +555, +556, +557, +558, +559, +560, +561, +562, +563, +564, +565, +566, +567, +568, +569, +570, +571, +572, +573, +574, +575, +576, +577, +578, +579, +580, +581, +582, +583, +584, +585, +586, +587, +588, +589, +590, +591, +592, +593, +594, +595, +596, +597, +598, +599, +600, +601, +602, +603, +604, +605, +606, +607, +608, +609, +610, +611, +612, +613, +614, +615, +616, +617, +618, +619, +620, +621, +622, +623, +624, +625, +626, +627, +628, +629, +630, +631, +632, +633, +634, +635, +636, +637, +638, +639, +640, +641, +642, +643, +644, +645, +646, +647, +648, +649, +650, +651, +652, +653, +654, +655, +656, +657, +658, +659, +660, +661, +662, +663, +664, +665, +666, +667, +668, +669, +670, +671, +672, +673, +674, +675, +676, +677, +678, +679, +680, +681, +682, +683, +684, +685, +686, +687, +688, +689, +690, +691, +692, +693, +694, +695, +696, +697, +698, +699, +700, +701, +702, +703, +704, +705, +706, +707, +708, +709, +710, +711, +712, +713, +714, +715, +716, +717, +718, +719, +720, +721, +722, +723, +724, +725, +726, +727, +728, +729, +730, +731, +732, +733, +734, +735, +736, +737, +738, +739, +740, +741, +742, +743, +744, +745, +746, +747, +748, +749, +750, +751, +752, +753, +754, +755, +756, +757, +758, +759, +760, +761, +762, +763, +764, +765, +766, +767, +768, +769, +770, +771, +772, +773, +774, +775, +776, +777, +778, +779, +780, +781, +782, +783, +784, +785, +786, +787, +788, +789, +790, +791, +792, +793, +794, +795, +796, +797, +798, +799, +800, +801, +802, +803, +804, +805, +806, +807, +808, +809, +810, +811, +812, +813, +814, +815, +816, +817, +818, +819, +820, +821, +822, +823, +824, +825, +826, +827, +828, +829, +830, +831, +832, +833, +834, +835, +836, +837, +838, +839, +840, +841, +842, +843, +844, +845, +846, +847, +848, +849, +850, +851, +852, +853, +854, +855, +856, +857, +858, +859, +860, +861, +862, +863, +864, +865, +866, +867, +868, +869, +870, +871, +872, +873, +874, +875, +876, +877, +878, +879, +880, +881, +882, +883, +884, +885, +886, +887, +888, +889, +890, +891, +892, +893, +894, +895, +896, +897, +898, +899, +900, +901, +902, +903, +904, +905, +906, +907, +908, +909, +910, +911, +912, +913, +914, +915, +916, +917, +918, +919, +920, +921, +922, +923, +924, +925, +926, +927, +928, +929, +930, +931, +932, +933, +934, +935, +936, +937, +938, +939, +940, +941, +942, +943, +944, +945, +946, +947, +948, +949, +950, +951, +952, +953, +954, +955, +956, +957, +958, +959, +960, +961, +962, +963, +964, +965, +966, +967, +968, +969, +970, +971, +972, +973, +974, +975, +976, +977, +978, +979, +980, +981, +982, +983, +1042, +1043, +1044, +1045, +1046, +1047, +1048, +1049, +1050, +1051, +1052, +1053, +1054, +1055, +1056, +1057, +1058, +1059, +1060, +1061, +1062, +1063, +1064, +1065, +1066, +1067, +1068, +1069, +1070, +1071, +1072, +1073, +1074, +1075, +1076, +1077, +1078, +1079, +1080, +1081, +1082, +1083, +1084, +1085, +1086, +1087, +1088, +1089, +1090, +1091, +1092, +1093, +1094, +1095, +1096, +1097, +1098, +1099, +1100, +1101, +1102, +1103, +2330, +2331, +2332, +2335, +2336, +2339, +2340, +2341, +2342, +2343, +2406, +2407, +2408, +2409, +2410, +2411, +2412, +2413, +2414, +2415, +2416, +2417, +2418, +2419, +2420, +2421, +2422, +2423, +2424, +2425, +2426, +2427, +2428, +2429, +2430, +2431, +2432, +2433, +2434, +2435, +2436, +2437, +2438, +2439, +2440, +2441, +2442, +2443, +2444, +2445, +2446, +2447, +2448, +2449, +2450, +2451, +2452, +2453, +2454, +2455, +2456, +2457, +2458, +2459, +2460, +2461, +2462, +2463, +2464, +2465, +2466, +2467, +2468, +2469, +2470, +2471, +2472, +2473, +2474, +2475, +2476, +2477, +2478, +2479, +2480, +2481, +2482, +2483, +2484, +2485, +2486, +2487, +2488, +2489, +2490, +2491, +2492, +2493, +2494, +2495, +2496, +2497, +2498, +2499, +2500, +2501, +2502, +2503, +2504, +2505, +2506, +2507, +2508, +2509, +2510, +2511, +2512, +2513, +2514, +2515, +2516, +2517, +2518, +2519, +2520, +2521, +2522, +2523, +2524, +2525, +2526, +2527, +2528, +2529, +2530, +2531, +2532, +2533, +2534, +2535, +2536, +2537, +2538, +2539, +2540, +2541, +2542, +2543, +2544, +2545, +2546, +2547, +2548, +2549, +2550, +2551, +2552, +2553, +2554, +2555, +2556, +2557, +2558, +2559, +2560, +2561, +2562, +2563, +2564, +2565, +2566, +2567, +2568, +2569, +2570, +2571, +2572, +2573, +2574, +2575, +2576, +2577, +2578, +2579, +2580, +2581, +2582, +2583, +2584, +2585, +2586, +2587, +2588, +2589, +2590, +2591, +2592, +2593, +2594, +2595, +2596, +2597, +2598, +2599, +2600, +2601, +2602, +2603, +2604, +2605, +2606, +2607, +2608, +2609, +2610, +2611, +2612, +2613, +2614, +2615, +2616, +2617, +2618, +2619, +2620, +2621, +2622, +2623, +2624, +2625, +2626, +2627, +2628, +2629, +2630, +2631, +2632, +2633, +2634, +2635, +2636, +2637, +2638, +2639, +2640, +2641, +2642, +2643, +2644, +2645, +2646, +2647, +2648, +2649, +2650, +2651, +2652, +2653, +2654, +2655, +2656, +2657, +2658, +2659, +2660, +2661, +2662, +2663, +2664, +2665, +2666, +2667, +2668, +2669, +2670, +2671, +2672, +2673, +2674, +2675, +2676, +2677, +2678, +2679, +2680, +2681, +2682, +2683, +2684, +2685, +2686, +2687, +2688, +2689, +2690, +2691, +2692, +2693, +2694, +2695, +2696, +2697, +2698, +2699, +2700, +2701, +2702, +2703, +2704, +2705, +2706, +2707, +2708, +2709, +2710, +2711, +2712, +2713, +2714, +2715, +2716, +2717, +2718, +2719, +2720, +2721, +2722, +2723, +2724, +2725, +2726, +2727, +2728, +2729, +2730, +2731, +2732, +2733, +2734, +2735, +2736, +2737, +2738, +2739, +2740, +2741, +2742, +2743, +2744, +2745, +2746, +2747, +2748, +2749, +2750, +2751, +2752, +2753, +2754, +2755, +2756, +2757, +2758, +2759, +2760, +2761, +2762, +2763, +2764, +2765, +2766, +2767, +2768, +2769, +2770, +2771, +2772, +2773, +2774, +2775, +2776, +2777, +2778, +2779, +2780, +2781, +2782, +2783, +2784, +2785, +2786, +2787, +2788, +2789, +2790, +2791, +2792, +2793, +2794, +2795, +2796, +2797, +2798, +2799, +2800, +2801, +2802, +2803, +2804, +2805, +2806, +2807, +2808, +2809, +2810, +2811, +2812, +2813, +2814, +2815, +2816, +2817, +2818, +2819, +2820, +2821, +2822, +2823, +2824, +2825, +2826, +2827, +2828, +2829, +2830, +2831, +2832, +2833, +2834, +2835, +2836, +2837, +2838, +2839, +2840, +2841, +2842, +2843, +2844, +2845, +2846, +2847, +2848, +2849, +2850, +2851, +2852, +2853, +2854, +2855, +2856, +2857, +2858, +2859, +2860, +2861, +2862, +2863, +2864, +2865, +2866, +2867, +2868, +2869, +2870, +2871, +2872, +2873, +2874, +2875, +2876, +2877, +2878, +2879, +2880, +2881, +2882, +2883, +2884, +2885, +2886, +2887, +2888, +2889, +2890, +2891, +2892, +2893, +2894, +2895, +2896, +2897, +2898, +2899, +2900, +2901, +2902, +2903, +2904, +2905, +2906, +2907, +2908, +2909, +2910, +2911, +2912, +2913, +2914, +2915, +2916, +2917, +2918, +2919, +2920, +2921, +2922, +2923, +2924, +2925, +2926, +2927, +2928, +2929, +2930, +2931, +2932, +2933, +2934, +2935, +2936, +2937, +2938, +2939, +2940, +2941, +2942, +2943, +2944, +2945, +2946, +2947, +2948, +2949, +2950, +2951, +2952, +2953, +2954, +2955, +2956, +2957, +2958, +2959, +2960, +2961, +2962, +2963, +2964, +2965, +2966, +2967, +2968, +2969, +2970, +2971, +2972, +2973, +2974, +2975, +2976, +2977, +2978, +2979, +2980, +2981, +2982, +2983, +2984, +2985, +2986, +2987, +2988, +2989, +2990, +2991, +2992, +2993, +2994, +2995, +2996, +2997, +2998, +2999, +3000, +3001, +3002, +3003, +3004, +3005, +3006, +3007, +3008, +3009, +3010, +3011, +3012, +3013, +3014, +3015, +3016, +3017, +3018, +3019, +3020, +3021, +3022, +3023, +3024, +3025, +3026, +3027, +3028, +3029, +3030, +3031, +3032, +3033, +3034, +3035, +3036, +3037, +3038, +3039, +3040, +3041, +3042, +3043, +3044, +3045, +3046, +3047, +3048, +3049, +3050, +3051, +3052, +3053, +3054, +3055, +3056, +3057, +3058, +3059, +3060, +3061, +3062, +3063, +3064, +3065, +3066, +3067, +3068, +3069, +3070, +3071, +3072, +3073, +3074, +3075, +3076, +3077, +3078, +3079, +3080, +3081, +3082, +3083, +3084, +3085, +3086, +3087, +3088, +3089, +3090, +3091, +3092, +3093, +3094, +3095, +3096, +3097, +3098, +3099, +3100, +3101, +3102, +3103, +3104, +3105, +3106, +3107, +3108, +3109, +3110, +3111, +3112, +3113, +3114, +3115, +3116, +3117, +3118, +3119, +3120, +3121, +3122, +3123, +3124, +3125, +3126, +3127, +3128, +3129, +3130, +3131, +3132, +3133, +3134, +3135, +3136, +3137, +3138, +3139, +3140, +3141, +3142, +3143, +3144, +3145, +3146, +3147, +3148, +3149, +3150, +3151, +3152, +3153, +3154, +3155, +3156, +3157, +3158, +3159, +3160, +3161, +3162, +3163, +3164, +3165, +3166, +3167, +3168, +3169, +3170, +3171, +3172, +3173, +3174, +3175, +3176, +3177, +3178, +3179, +3180, +3181, +3182, +3183, +3184, +3185, +3186, +3187, +3188, +3189, +3190, +3191, +3192, +3193, +3194, +3195, +3196, +3197, +3198, +3199, +3200, +3201, +3202, +3203, +3204, +3205, +3206, +3207, +3208, +3209, +3210, +3211, +3212, +3213, +3214, +3215, +3216, +3217, +3218, +3219, +3220, +3221, +3222, +3223, +3224, +3225, +3226, +3227, +3228, +3229, +3230, +3231, +3232, +3233, +3234, +3235, +3236, +3237, +3238, +3239, +3240, +3241, +3242, +3243, +3244, +3245, +3246, +3247, +3248, +3249, +3250, +3251, +3252, +3253, +3254, +3255, +3256, +3257, +3258, +3259, +3260, +3261, +3262, +3263, +3264, +3265, +3266, +3267, +3268, +3269, +3270, +3271, +3272, +3273, +3274, +3275, +3276, +3277, +3278, +3279, +3280, +3281, +3282, +3283, +3284, +3285, +3286, +3287, +3288, +3289, +3290, +3291, +3292, +3293, +3294, +3295, +3296, +3297, +3298, +3299, +3300, +3301, +3302, +3303, +3304, +3305, +3306, +3307, +3308, +3309, +3310, +3311, +3312, +3313, +3314, +3315, +3316, +3317, +3318, +3319, +3320, +3321, +3322, +3323, +3324, +3325, +3326, +3327, +3328, +3329, +3330, +3331, +3332, +3333, +3334, +3335, +3336, +3337, +3338, +3339, +3340, +3341, +3342, +3343, +3344, +3345, +3346, +3347, +3348, +3349, +3350, +3351, +3352, +3353, +3354, +3355, +3356, +3357, +3358, +3359, +3360, +3361, +3362, +3363, +3364, +3365, +3366, +3367, +3368, +3369, +3370, +3371, +3372, +3373, +3374, +3375, +3376, +3377, +3378, +3379, +3380, +3381, +3382, +3383, +3384, +3385, +3386, +3387, +3388, +3389, +3390, +3391, +3392, +3393, +3394, +3395, +3396, +3397, +3398, +3399, +3400, +3401, +3402, +3403, +3404, +3405, +3406, +3407, +3408, +3409, +3410, +3411, +3412, +3413, +3414, +3415, +3416, +3417, +3418, +3419, +3420, +3421, +3422, +3423, +3424, +3425, +3426, +3427, +3428, +3429, +3430, +3431, +3432, +3433, +3434, +3435, +3436, +3437, +3438, +3439, +3440, +3441, +3442, +3443, +3444, +3445, +3446, +3447, +3448, +3449, +3450, +3451, +3452, +3453, +3454, +3455, +3456, +3457, +3458, +3459, +3460, +3461, +3462, +3463, +3464, +3465, +3466, +3467, +3468, +3469, +3470, +3471, +3472, +3473, +3474, +3475, +3476, +3477, +3478, +3479, +3480, +3481, +3482, +3483, +3484, +3485, +3486, +3487, +3488, +3489, +3490, +3491, +3492, +3493, +3494, +3495, +3496, +3497, +3498, +3499, +3500, +3501, +3502, +3503, +3504, +3505, +3506, +3507, +3508, +3509, +3510, +3511, +3512, +3513, +3514, +3515, +3516, +3517, +3518, +3519, +3520, +3521, +3522, +3523, +3524, +3525, +3526, +3527, +3528, +3529, +3530, +3531, +3532, +3533, +3534, +3535, +3536, +3537, +3538, +3539, +3540, +3541, +3542, +3543, +3544, +3545, +3546, +3547, +3548, +3549, +3550, +3551, +3552, +3553, +3554, +3555, +3556, +3557, +3558, +3559, +3560, +3561, +3562, +3563, +3564, +3565, +3566, +3567, +3568, +3569, +3570, +3571, +3572, +3573, +3574, +3575, +3576, +3577, +3578, +3579, +3580, +3581, +3582, +3583, +3584, +3585, +3586, +3587, +3588, +3589, +3590, +3591, +3592, +3593, +3594, +3595, +3596, +3597, +3598, +3599, +3600, +3601, +3602, +3603, +3604, +3605, +3606, +3607, +3608, +3609, +3610, +3611, +3612, +3613, +3614, +3615, +3616, +3617, +3618, +3619, +3620, +3621, +3622, +3623, +3624, +3625, +3626, +3627, +3628, +3629, +3630, +3631, +3632, +3633, +3634, +3635, +3636, +3637, +3638, +3639, +3640, +3641, +3642, +3643, +3644, +3645, +3646, +3647, +3648, +3649, +3650, +3651, +3652, +3653, +3654, +3655, +3656, +3657, +3658, +3659, +3660, +3661, +3662, +3663, +3664, +3665, +3666, +3667, +3668, +3669, +3670, +3671, +3672, +3673, +3674, +3675, +3676, +3677, +3678, +3679, +3680, +3681, +3682, +3683, +3684, +3685, +3686, +3687, +3688, +3689, +3690, +3691, +3692, +3693, +3694, +3695, +3696, +3697, +3698, +3699, +3700, +3701, +3702, +3703, +3704, +3705, +3706, +3707, +3708, +3709, +3710, +3711, +3712, +3713, +3714, +3715, +3716, +3717, +3718, +3719, +3720, +3721, +3722, +3723, +3724, +3725, +3726, +3727, +3728, +3729, +3730, +3731, +3732, +3733, +3734, +3735, +3736, +3737, +3738, +3739, +3740, +3741, +3742, +3743, +3744, +3745, +3746, +3747, +3748, +3749, +3750, +3751, +3752, +3753, +3754, +3755, +3756, +3757, +3758, +3759, +3760, +3761, +3762, +3763, +3764, +3765, +3766, +3767, +3768, +3769, +3770, +3771, +3772, +3773, +3774, +3775, +3776, +3777, +3778, +3779, +3780, +3781, +3782, +3783, +3784, +3785, +3786, +3787, +3788, +3789, +3790, +3791, +3792, +3793, +3794, +3795, +3796, +3797, +3798, +3799, +3800, +3801, +3802, +3803, +3804, +3805, +3806, +3807, +3808, +3809, +3810, +3811, +3812, +3813, +3814, +3815, +3816, +3817, +3818, +3819, +3820, +3821, +3822, +3823, +3824, +3825, +3826, +3827, +3828, +3829, +3830, +3831, +3832, +3833, +3834, +3835, +3836, +3837, +3838, +3839, +3840, +3841, +3842, +3843, +3844, +3845, +3846, +3847, +3848, +3849, +3850, +3851, +3852, +3853, +3854, +3855, +3856, +3857, +3858, +3859, +3860, +3861, +3862, +3863, +3864, +3865, +3866, +3867, +3868, +3869, +3870, +3871, +3872, +3873, +3874, +3875, +3876, +3877, +3878, +3879, +3880, +3881, +3882, +3883, +3884, +3885, +3886, +3887, +3888, +3889, +3890, +3891, +3892, +3893, +3894, +3895, +3896, +3897, +3898, +3899, +3900, +3901, +3902, +3903, +3904, +3905, +3906, +3907, +3908, +3909, +3910, +3911, +3912, +3913, +3914, +3915, +3916, +3917, +3918, +3919, +3920, +3921, +3922, +3923, +3924, +3925, +3926, +3927, +3928, +3929, +3930, +3931, +3932, +3933, +3934, + +*********************************************************** +** Materials +** see information about units at file end +** FreeCAD material name: Calculix-Steel +** MechanicalMaterial +*MATERIAL, NAME=MechanicalMaterial +*ELASTIC +210000,0.3 + +*********************************************************** +** Sections +*SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial + +*********************************************************** +** Transform Constraints +** ConstraintTransform +*TRANSFORM, NSET=CylinConstraintTransform, TYPE=C +0,0,-35,0,0,-15 + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 + + +*********************************************************** +** constraints force node loads +*CLOAD +** ConstraintForce +** node loads on shape: Cut:Face1 +3,2,-0.0000000000000E+00 +4,2,-0.0000000000000E+00 +58,2,-0.0000000000000E+00 +59,2,-0.0000000000000E+00 +60,2,-0.0000000000000E+00 +61,2,-0.0000000000000E+00 +62,2,-0.0000000000000E+00 +63,2,-0.0000000000000E+00 +64,2,-0.0000000000000E+00 +65,2,-0.0000000000000E+00 +66,2,-0.0000000000000E+00 +67,2,-0.0000000000000E+00 +68,2,-0.0000000000000E+00 +69,2,-0.0000000000000E+00 +70,2,-0.0000000000000E+00 +71,2,-0.0000000000000E+00 +72,2,-0.0000000000000E+00 +73,2,-0.0000000000000E+00 +74,2,-0.0000000000000E+00 +75,2,-0.0000000000000E+00 +76,2,-0.0000000000000E+00 +77,2,-0.0000000000000E+00 +78,2,-0.0000000000000E+00 +79,2,-0.0000000000000E+00 +80,2,-0.0000000000000E+00 +81,2,-0.0000000000000E+00 +82,2,-0.0000000000000E+00 +83,2,-0.0000000000000E+00 +84,2,-0.0000000000000E+00 +85,2,-0.0000000000000E+00 +86,2,-0.0000000000000E+00 +87,2,-0.0000000000000E+00 +88,2,-0.0000000000000E+00 +89,2,-0.0000000000000E+00 +90,2,-0.0000000000000E+00 +91,2,-0.0000000000000E+00 +92,2,-0.0000000000000E+00 +93,2,-0.0000000000000E+00 +94,2,-0.0000000000000E+00 +95,2,-0.0000000000000E+00 +96,2,-0.0000000000000E+00 +97,2,-0.0000000000000E+00 +98,2,-0.0000000000000E+00 +99,2,-0.0000000000000E+00 +100,2,-0.0000000000000E+00 +101,2,-0.0000000000000E+00 +102,2,-0.0000000000000E+00 +103,2,-0.0000000000000E+00 +104,2,-0.0000000000000E+00 +105,2,-0.0000000000000E+00 +106,2,-0.0000000000000E+00 +107,2,-0.0000000000000E+00 +108,2,-0.0000000000000E+00 +109,2,-0.0000000000000E+00 +110,2,-0.0000000000000E+00 +111,2,-0.0000000000000E+00 +112,2,-0.0000000000000E+00 +113,2,-0.0000000000000E+00 +114,2,-0.0000000000000E+00 +115,2,-0.0000000000000E+00 +116,2,-0.0000000000000E+00 +500,2,-0.0000000000000E+00 +501,2,-0.0000000000000E+00 +502,2,-0.0000000000000E+00 +503,2,-0.0000000000000E+00 +504,2,-0.0000000000000E+00 +505,2,-0.0000000000000E+00 +506,2,-0.0000000000000E+00 +507,2,-0.0000000000000E+00 +508,2,-0.0000000000000E+00 +509,2,-0.0000000000000E+00 +510,2,-0.0000000000000E+00 +511,2,-0.0000000000000E+00 +512,2,-0.0000000000000E+00 +513,2,-0.0000000000000E+00 +514,2,-0.0000000000000E+00 +515,2,-0.0000000000000E+00 +516,2,-0.0000000000000E+00 +517,2,-0.0000000000000E+00 +518,2,-0.0000000000000E+00 +519,2,-0.0000000000000E+00 +520,2,-0.0000000000000E+00 +521,2,-0.0000000000000E+00 +522,2,-0.0000000000000E+00 +523,2,-0.0000000000000E+00 +524,2,-0.0000000000000E+00 +525,2,-0.0000000000000E+00 +526,2,-0.0000000000000E+00 +527,2,-0.0000000000000E+00 +528,2,-0.0000000000000E+00 +529,2,-0.0000000000000E+00 +530,2,-0.0000000000000E+00 +531,2,-0.0000000000000E+00 +532,2,-0.0000000000000E+00 +533,2,-0.0000000000000E+00 +534,2,-0.0000000000000E+00 +535,2,-0.0000000000000E+00 +536,2,-0.0000000000000E+00 +537,2,-0.0000000000000E+00 +538,2,-0.0000000000000E+00 +539,2,-0.0000000000000E+00 +540,2,-0.0000000000000E+00 +541,2,-0.0000000000000E+00 +542,2,-0.0000000000000E+00 +543,2,-0.0000000000000E+00 +544,2,-0.0000000000000E+00 +545,2,-0.0000000000000E+00 +546,2,-0.0000000000000E+00 +547,2,-0.0000000000000E+00 +548,2,-0.0000000000000E+00 +549,2,-0.0000000000000E+00 +550,2,-0.0000000000000E+00 +551,2,-0.0000000000000E+00 +552,2,-0.0000000000000E+00 +553,2,-0.0000000000000E+00 +554,2,-0.0000000000000E+00 +555,2,-0.0000000000000E+00 +556,2,-0.0000000000000E+00 +557,2,-0.0000000000000E+00 +558,2,-0.0000000000000E+00 +559,2,-0.0000000000000E+00 +560,2,-0.0000000000000E+00 +561,2,-0.0000000000000E+00 +562,2,-0.0000000000000E+00 +563,2,-0.0000000000000E+00 +564,2,-0.0000000000000E+00 +565,2,-0.0000000000000E+00 +566,2,-0.0000000000000E+00 +567,2,-0.0000000000000E+00 +568,2,-0.0000000000000E+00 +569,2,-0.0000000000000E+00 +570,2,-0.0000000000000E+00 +571,2,-0.0000000000000E+00 +572,2,-0.0000000000000E+00 +573,2,-0.0000000000000E+00 +574,2,-0.0000000000000E+00 +575,2,-0.0000000000000E+00 +576,2,-0.0000000000000E+00 +577,2,-0.0000000000000E+00 +578,2,-0.0000000000000E+00 +579,2,-0.0000000000000E+00 +580,2,-0.0000000000000E+00 +581,2,-0.0000000000000E+00 +582,2,-0.0000000000000E+00 +583,2,-0.0000000000000E+00 +584,2,-0.0000000000000E+00 +585,2,-0.0000000000000E+00 +586,2,-0.0000000000000E+00 +587,2,-0.0000000000000E+00 +588,2,-0.0000000000000E+00 +589,2,-0.0000000000000E+00 +590,2,-0.0000000000000E+00 +591,2,-0.0000000000000E+00 +592,2,-0.0000000000000E+00 +593,2,-0.0000000000000E+00 +594,2,-0.0000000000000E+00 +595,2,-0.0000000000000E+00 +596,2,-0.0000000000000E+00 +597,2,-0.0000000000000E+00 +598,2,-0.0000000000000E+00 +599,2,-0.0000000000000E+00 +600,2,-0.0000000000000E+00 +601,2,-0.0000000000000E+00 +602,2,-0.0000000000000E+00 +603,2,-0.0000000000000E+00 +604,2,-0.0000000000000E+00 +605,2,-0.0000000000000E+00 +606,2,-0.0000000000000E+00 +607,2,-0.0000000000000E+00 +608,2,-0.0000000000000E+00 +609,2,-0.0000000000000E+00 +610,2,-0.0000000000000E+00 +611,2,-0.0000000000000E+00 +612,2,-0.0000000000000E+00 +613,2,-0.0000000000000E+00 +614,2,-0.0000000000000E+00 +615,2,-0.0000000000000E+00 +616,2,-0.0000000000000E+00 +617,2,-0.0000000000000E+00 +618,2,-0.0000000000000E+00 +619,2,-0.0000000000000E+00 +620,2,-0.0000000000000E+00 +621,2,-0.0000000000000E+00 +622,2,-0.0000000000000E+00 +623,2,-0.0000000000000E+00 +624,2,-0.0000000000000E+00 +625,2,-0.0000000000000E+00 +626,2,-0.0000000000000E+00 +627,2,-0.0000000000000E+00 +628,2,-0.0000000000000E+00 +629,2,-0.0000000000000E+00 +630,2,-0.0000000000000E+00 +631,2,-0.0000000000000E+00 +632,2,-0.0000000000000E+00 +633,2,-0.0000000000000E+00 +634,2,-0.0000000000000E+00 +635,2,-0.0000000000000E+00 +636,2,-0.0000000000000E+00 +637,2,-0.0000000000000E+00 +638,2,-0.0000000000000E+00 +639,2,-0.0000000000000E+00 +640,2,-0.0000000000000E+00 +641,2,-0.0000000000000E+00 +642,2,-0.0000000000000E+00 +643,2,-0.0000000000000E+00 +644,2,-0.0000000000000E+00 +645,2,-0.0000000000000E+00 +646,2,-0.0000000000000E+00 +647,2,-0.0000000000000E+00 +648,2,-0.0000000000000E+00 +649,2,-0.0000000000000E+00 +650,2,-0.0000000000000E+00 +651,2,-0.0000000000000E+00 +652,2,-0.0000000000000E+00 +653,2,-0.0000000000000E+00 +654,2,-0.0000000000000E+00 +655,2,-0.0000000000000E+00 +656,2,-0.0000000000000E+00 +657,2,-0.0000000000000E+00 +658,2,-0.0000000000000E+00 +659,2,-0.0000000000000E+00 +660,2,-0.0000000000000E+00 +661,2,-0.0000000000000E+00 +662,2,-0.0000000000000E+00 +663,2,-0.0000000000000E+00 +664,2,-0.0000000000000E+00 +665,2,-0.0000000000000E+00 +666,2,-0.0000000000000E+00 +667,2,-0.0000000000000E+00 +668,2,-0.0000000000000E+00 +669,2,-0.0000000000000E+00 +670,2,-0.0000000000000E+00 +671,2,-0.0000000000000E+00 +672,2,-0.0000000000000E+00 +673,2,-0.0000000000000E+00 +674,2,-0.0000000000000E+00 +675,2,-0.0000000000000E+00 +676,2,-0.0000000000000E+00 +677,2,-0.0000000000000E+00 +678,2,-0.0000000000000E+00 +679,2,-0.0000000000000E+00 +680,2,-0.0000000000000E+00 +681,2,-0.0000000000000E+00 +682,2,-0.0000000000000E+00 +683,2,-0.0000000000000E+00 +684,2,-0.0000000000000E+00 +685,2,-0.0000000000000E+00 +686,2,-0.0000000000000E+00 +687,2,-0.0000000000000E+00 +688,2,-0.0000000000000E+00 +689,2,-0.0000000000000E+00 +690,2,-0.0000000000000E+00 +691,2,-0.0000000000000E+00 +692,2,-0.0000000000000E+00 +693,2,-0.0000000000000E+00 +694,2,-0.0000000000000E+00 +695,2,-0.0000000000000E+00 +696,2,-0.0000000000000E+00 +697,2,-0.0000000000000E+00 +698,2,-0.0000000000000E+00 +699,2,-0.0000000000000E+00 +700,2,-0.0000000000000E+00 +701,2,-0.0000000000000E+00 +702,2,-0.0000000000000E+00 +703,2,-0.0000000000000E+00 +704,2,-0.0000000000000E+00 +705,2,-0.0000000000000E+00 +706,2,-0.0000000000000E+00 +707,2,-0.0000000000000E+00 +708,2,-0.0000000000000E+00 +709,2,-0.0000000000000E+00 +710,2,-0.0000000000000E+00 +711,2,-0.0000000000000E+00 +712,2,-0.0000000000000E+00 +713,2,-0.0000000000000E+00 +714,2,-0.0000000000000E+00 +715,2,-0.0000000000000E+00 +716,2,-0.0000000000000E+00 +717,2,-0.0000000000000E+00 +718,2,-0.0000000000000E+00 +719,2,-0.0000000000000E+00 +720,2,-0.0000000000000E+00 +721,2,-0.0000000000000E+00 +722,2,-0.0000000000000E+00 +723,2,-0.0000000000000E+00 +724,2,-0.0000000000000E+00 +725,2,-0.0000000000000E+00 +726,2,-0.0000000000000E+00 +727,2,-0.0000000000000E+00 +728,2,-0.0000000000000E+00 +729,2,-0.0000000000000E+00 +730,2,-0.0000000000000E+00 +731,2,-0.0000000000000E+00 +732,2,-0.0000000000000E+00 +733,2,-0.0000000000000E+00 +734,2,-0.0000000000000E+00 +735,2,-0.0000000000000E+00 +736,2,-0.0000000000000E+00 +737,2,-0.0000000000000E+00 +738,2,-0.0000000000000E+00 +739,2,-0.0000000000000E+00 +740,2,-0.0000000000000E+00 +741,2,-0.0000000000000E+00 +742,2,-0.0000000000000E+00 +743,2,-0.0000000000000E+00 +744,2,-0.0000000000000E+00 +745,2,-0.0000000000000E+00 +746,2,-0.0000000000000E+00 +747,2,-0.0000000000000E+00 +748,2,-0.0000000000000E+00 +749,2,-0.0000000000000E+00 +750,2,-0.0000000000000E+00 +751,2,-0.0000000000000E+00 +752,2,-0.0000000000000E+00 +753,2,-0.0000000000000E+00 +754,2,-0.0000000000000E+00 +755,2,-0.0000000000000E+00 +756,2,-0.0000000000000E+00 +757,2,-0.0000000000000E+00 +758,2,-0.0000000000000E+00 +759,2,-0.0000000000000E+00 +760,2,-0.0000000000000E+00 +761,2,-0.0000000000000E+00 +762,2,-0.0000000000000E+00 +763,2,-0.0000000000000E+00 +764,2,-0.0000000000000E+00 +765,2,-0.0000000000000E+00 +766,2,-0.0000000000000E+00 +767,2,-0.0000000000000E+00 +768,2,-0.0000000000000E+00 +769,2,-0.0000000000000E+00 +770,2,-0.0000000000000E+00 +771,2,-0.0000000000000E+00 +772,2,-0.0000000000000E+00 +773,2,-0.0000000000000E+00 +774,2,-0.0000000000000E+00 +775,2,-0.0000000000000E+00 +776,2,-0.0000000000000E+00 +777,2,-0.0000000000000E+00 +778,2,-0.0000000000000E+00 +779,2,-0.0000000000000E+00 +780,2,-0.0000000000000E+00 +781,2,-0.0000000000000E+00 +782,2,-0.0000000000000E+00 +783,2,-0.0000000000000E+00 +784,2,-0.0000000000000E+00 +785,2,-0.0000000000000E+00 +786,2,-0.0000000000000E+00 +787,2,-0.0000000000000E+00 +788,2,-0.0000000000000E+00 +789,2,-0.0000000000000E+00 +790,2,-0.0000000000000E+00 +791,2,-0.0000000000000E+00 +792,2,-0.0000000000000E+00 +793,2,-0.0000000000000E+00 +794,2,-0.0000000000000E+00 +795,2,-0.0000000000000E+00 +796,2,-0.0000000000000E+00 +797,2,-0.0000000000000E+00 +798,2,-0.0000000000000E+00 +799,2,-0.0000000000000E+00 +800,2,-0.0000000000000E+00 +801,2,-0.0000000000000E+00 +802,2,-0.0000000000000E+00 +803,2,-0.0000000000000E+00 +804,2,-0.0000000000000E+00 +805,2,-0.0000000000000E+00 +806,2,-0.0000000000000E+00 +807,2,-0.0000000000000E+00 +808,2,-0.0000000000000E+00 +809,2,-0.0000000000000E+00 +810,2,-0.0000000000000E+00 +811,2,-0.0000000000000E+00 +812,2,-0.0000000000000E+00 +813,2,-0.0000000000000E+00 +814,2,-0.0000000000000E+00 +815,2,-0.0000000000000E+00 +816,2,-0.0000000000000E+00 +817,2,-0.0000000000000E+00 +818,2,-0.0000000000000E+00 +819,2,-0.0000000000000E+00 +820,2,-0.0000000000000E+00 +821,2,-0.0000000000000E+00 +822,2,-0.0000000000000E+00 +823,2,-0.0000000000000E+00 +824,2,-0.0000000000000E+00 +825,2,-0.0000000000000E+00 +826,2,-0.0000000000000E+00 +827,2,-0.0000000000000E+00 +828,2,-0.0000000000000E+00 +829,2,-0.0000000000000E+00 +830,2,-0.0000000000000E+00 +831,2,-0.0000000000000E+00 +832,2,-0.0000000000000E+00 +833,2,-0.0000000000000E+00 +834,2,-0.0000000000000E+00 +835,2,-0.0000000000000E+00 +836,2,-0.0000000000000E+00 +837,2,-0.0000000000000E+00 +838,2,-0.0000000000000E+00 +839,2,-0.0000000000000E+00 +840,2,-0.0000000000000E+00 +841,2,-0.0000000000000E+00 +842,2,-0.0000000000000E+00 +843,2,-0.0000000000000E+00 +844,2,-0.0000000000000E+00 +845,2,-0.0000000000000E+00 +846,2,-0.0000000000000E+00 +847,2,-0.0000000000000E+00 +848,2,-0.0000000000000E+00 +849,2,-0.0000000000000E+00 +850,2,-0.0000000000000E+00 +851,2,-0.0000000000000E+00 +852,2,-0.0000000000000E+00 +853,2,-0.0000000000000E+00 +854,2,-0.0000000000000E+00 +855,2,-0.0000000000000E+00 +856,2,-0.0000000000000E+00 +857,2,-0.0000000000000E+00 +858,2,-0.0000000000000E+00 +859,2,-0.0000000000000E+00 +860,2,-0.0000000000000E+00 +861,2,-0.0000000000000E+00 +862,2,-0.0000000000000E+00 +863,2,-0.0000000000000E+00 +864,2,-0.0000000000000E+00 +865,2,-0.0000000000000E+00 +866,2,-0.0000000000000E+00 +867,2,-0.0000000000000E+00 +868,2,-0.0000000000000E+00 +869,2,-0.0000000000000E+00 +870,2,-0.0000000000000E+00 +871,2,-0.0000000000000E+00 +872,2,-0.0000000000000E+00 +873,2,-0.0000000000000E+00 +874,2,-0.0000000000000E+00 +875,2,-0.0000000000000E+00 +876,2,-0.0000000000000E+00 +877,2,-0.0000000000000E+00 +878,2,-0.0000000000000E+00 +879,2,-0.0000000000000E+00 +880,2,-0.0000000000000E+00 +881,2,-0.0000000000000E+00 +882,2,-0.0000000000000E+00 +883,2,-0.0000000000000E+00 +884,2,-0.0000000000000E+00 +885,2,-0.0000000000000E+00 +886,2,-0.0000000000000E+00 +887,2,-0.0000000000000E+00 +888,2,-0.0000000000000E+00 +889,2,-0.0000000000000E+00 +890,2,-0.0000000000000E+00 +891,2,-0.0000000000000E+00 +892,2,-0.0000000000000E+00 +893,2,-0.0000000000000E+00 +894,2,-0.0000000000000E+00 +895,2,-0.0000000000000E+00 +896,2,-0.0000000000000E+00 +897,2,-0.0000000000000E+00 +898,2,-0.0000000000000E+00 +899,2,-0.0000000000000E+00 +900,2,-0.0000000000000E+00 +901,2,-0.0000000000000E+00 +902,2,-0.0000000000000E+00 +903,2,-0.0000000000000E+00 +904,2,-0.0000000000000E+00 +905,2,-0.0000000000000E+00 +906,2,-0.0000000000000E+00 +907,2,-0.0000000000000E+00 +908,2,-0.0000000000000E+00 +909,2,-0.0000000000000E+00 +910,2,-0.0000000000000E+00 +911,2,-0.0000000000000E+00 +912,2,-0.0000000000000E+00 +913,2,-0.0000000000000E+00 +914,2,-0.0000000000000E+00 +915,2,-0.0000000000000E+00 +916,2,-0.0000000000000E+00 +917,2,-0.0000000000000E+00 +918,2,-0.0000000000000E+00 +919,2,-0.0000000000000E+00 +920,2,-0.0000000000000E+00 +921,2,-0.0000000000000E+00 +922,2,-0.0000000000000E+00 +923,2,-0.0000000000000E+00 +924,2,-0.0000000000000E+00 +925,2,-0.0000000000000E+00 +926,2,-0.0000000000000E+00 +927,2,-0.0000000000000E+00 +928,2,-0.0000000000000E+00 +929,2,-0.0000000000000E+00 +930,2,-0.0000000000000E+00 +931,2,-0.0000000000000E+00 +932,2,-0.0000000000000E+00 +933,2,-0.0000000000000E+00 +934,2,-0.0000000000000E+00 +935,2,-0.0000000000000E+00 +936,2,-0.0000000000000E+00 +937,2,-0.0000000000000E+00 +938,2,-0.0000000000000E+00 +939,2,-0.0000000000000E+00 +940,2,-0.0000000000000E+00 +941,2,-0.0000000000000E+00 +942,2,-0.0000000000000E+00 +943,2,-0.0000000000000E+00 +944,2,-0.0000000000000E+00 +945,2,-0.0000000000000E+00 +946,2,-0.0000000000000E+00 +947,2,-0.0000000000000E+00 +948,2,-0.0000000000000E+00 +949,2,-0.0000000000000E+00 +950,2,-0.0000000000000E+00 +951,2,-0.0000000000000E+00 +952,2,-0.0000000000000E+00 +953,2,-0.0000000000000E+00 +954,2,-0.0000000000000E+00 +955,2,-0.0000000000000E+00 +956,2,-0.0000000000000E+00 +957,2,-0.0000000000000E+00 +958,2,-0.0000000000000E+00 +959,2,-0.0000000000000E+00 +960,2,-0.0000000000000E+00 +961,2,-0.0000000000000E+00 +962,2,-0.0000000000000E+00 +963,2,-0.0000000000000E+00 +964,2,-0.0000000000000E+00 +965,2,-0.0000000000000E+00 +966,2,-0.0000000000000E+00 +967,2,-0.0000000000000E+00 +968,2,-0.0000000000000E+00 +969,2,-0.0000000000000E+00 +970,2,-0.0000000000000E+00 +971,2,-0.0000000000000E+00 +972,2,-0.0000000000000E+00 +973,2,-0.0000000000000E+00 +974,2,-0.0000000000000E+00 +975,2,-0.0000000000000E+00 +976,2,-0.0000000000000E+00 +977,2,-0.0000000000000E+00 +978,2,-0.0000000000000E+00 +979,2,-0.0000000000000E+00 +980,2,-0.0000000000000E+00 +981,2,-0.0000000000000E+00 +982,2,-0.0000000000000E+00 +983,2,-0.0000000000000E+00 +1042,2,-7.5176133391817E-01 +1043,2,-7.2576863923594E-01 +1044,2,-7.0141781841044E-01 +1045,2,-7.4203043721356E-01 +1046,2,-8.1971851192094E-01 +1047,2,-8.0595887637624E-01 +1048,2,-8.2418490973666E-01 +1049,2,-7.7018007208038E-01 +1050,2,-7.9309318036112E-01 +1051,2,-8.1920045738533E-01 +1052,2,-8.1674384149916E-01 +1053,2,-8.0546803858948E-01 +1054,2,-7.9480758483186E-01 +1055,2,-8.3246822797422E-01 +1056,2,-8.4039161264991E-01 +1057,2,-8.0065658261302E-01 +1058,2,-8.9644801716053E-01 +1059,2,-9.2363120045875E-01 +1060,2,-7.2750439722781E-01 +1061,2,-7.0527328940663E-01 +1062,2,-7.2490872378519E-01 +1063,2,-7.7274154457361E-01 +1064,2,-7.4639182681652E-01 +1065,2,-7.7800846519760E-01 +1066,2,-7.4913586346236E-01 +1067,2,-7.4966503894896E-01 +1068,2,-7.6932560945593E-01 +1069,2,-7.8083099985191E-01 +1070,2,-7.8672598113787E-01 +1071,2,-7.7761495809917E-01 +1072,2,-8.1041002193833E-01 +1073,2,-8.1273195112408E-01 +1074,2,-7.8616347328177E-01 +1075,2,-5.9523287068781E-01 +1076,2,-1.6175308640971E+00 +1077,2,-1.2194372942525E+00 +1078,2,-1.4550143298595E+00 +1079,2,-1.5343781387695E+00 +1080,2,-1.4270016803745E+00 +1081,2,-1.4561907979228E+00 +1082,2,-1.5129676716499E+00 +1083,2,-1.4052343696966E+00 +1084,2,-1.3922242066586E+00 +1085,2,-1.3037539986236E+00 +1086,2,-1.4621085806739E+00 +1087,2,-1.5045042074716E+00 +1088,2,-1.3843130331262E+00 +1089,2,-1.4741210461891E+00 +1090,2,-1.4602602380808E+00 +1091,2,-1.3684038963953E+00 +1092,2,-1.4101942479476E+00 +1093,2,-1.5605582785369E+00 +1094,2,-1.4560534987209E+00 +1095,2,-1.4159156220586E+00 +1096,2,-1.5348054276706E+00 +1097,2,-1.4826100050144E+00 +1098,2,-1.3824393071430E+00 +1099,2,-1.5438037640087E+00 +1100,2,-1.4192412454606E+00 +1101,2,-1.4069179902554E+00 +1102,2,-1.7845027967480E+00 +1103,2,-1.5486072621936E+00 +2330,2,-1.4944580040764E+00 +2331,2,-1.5619053666244E+00 +2332,2,-1.8472156683847E+00 +2335,2,-1.4041748622548E+00 +2336,2,-1.7874834918165E+00 +2339,2,-1.5216856792551E+00 +2340,2,-1.3522047787441E+00 +2341,2,-1.3596857925623E+00 +2342,2,-1.4736345483580E+00 +2343,2,-1.1737853156895E+00 +2406,2,-2.0234951306097E+00 +2407,2,-1.8273683273787E+00 +2408,2,-1.5004200120476E+00 +2409,2,-1.4781889042265E+00 +2410,2,-1.4319341898702E+00 +2411,2,-1.5101054273305E+00 +2412,2,-1.4515696242488E+00 +2413,2,-1.4890229088791E+00 +2414,2,-1.4822773555703E+00 +2415,2,-1.5368557296675E+00 +2416,2,-1.5437263854533E+00 +2417,2,-1.5953369428159E+00 +2418,2,-1.5173766676962E+00 +2419,2,-1.4945826295990E+00 +2420,2,-1.5937324124653E+00 +2421,2,-1.5261992679801E+00 +2422,2,-1.5422550398023E+00 +2423,2,-1.5070051515965E+00 +2424,2,-1.5133824380671E+00 +2425,2,-1.5052046873872E+00 +2426,2,-1.5092395307164E+00 +2427,2,-1.5057338628738E+00 +2428,2,-1.5377019655435E+00 +2429,2,-1.5164367482128E+00 +2430,2,-1.5573625360505E+00 +2431,2,-1.5225361274422E+00 +2432,2,-1.6440638198607E+00 +2433,2,-1.5340415178382E+00 +2434,2,-1.5495736094169E+00 +2435,2,-1.5635790967321E+00 +2436,2,-1.5554685907029E+00 +2437,2,-1.5661137225711E+00 +2438,2,-1.5898142251497E+00 +2439,2,-1.5570026995324E+00 +2440,2,-1.6142256449495E+00 +2441,2,-1.5804214949084E+00 +2442,2,-1.6470207087886E+00 +2443,2,-1.6207594686401E+00 +2444,2,-1.6982772836531E+00 +2445,2,-1.6230813978259E+00 +2446,2,-1.5687980529676E+00 +2447,2,-1.6483120114764E+00 +2448,2,-1.5422295751253E+00 +2449,2,-1.3370597245937E+00 +2450,2,-1.6931651488107E+00 +2451,2,-1.1461291219998E+00 +2452,2,-1.2202089324227E+00 +2453,2,-1.2254197821920E+00 +2454,2,-1.2098258158759E+00 +2455,2,-1.9762054231304E+00 +2456,2,-1.5808706004143E+00 +2457,2,-1.8148462961986E+00 +2458,2,-1.4853650864385E+00 +2459,2,-1.5714045903412E+00 +2460,2,-1.4335946912587E+00 +2461,2,-1.4785776590523E+00 +2462,2,-1.3842583203284E+00 +2463,2,-1.4477239785499E+00 +2464,2,-1.3545443242777E+00 +2465,2,-1.3387136627190E+00 +2466,2,-1.5060981727518E+00 +2467,2,-1.5481641323853E+00 +2468,2,-1.5296272523147E+00 +2469,2,-1.4968122406323E+00 +2470,2,-1.3352260807458E+00 +2471,2,-1.3333457674902E+00 +2472,2,-1.5657920683621E+00 +2473,2,-1.5720804345031E+00 +2474,2,-1.4811401972916E+00 +2475,2,-1.5429670209987E+00 +2476,2,-1.4801613974325E+00 +2477,2,-1.5488682275257E+00 +2478,2,-1.4798925625869E+00 +2479,2,-1.5269131835561E+00 +2480,2,-1.4363662832760E+00 +2481,2,-1.4791550188850E+00 +2482,2,-1.4526634167388E+00 +2483,2,-1.5740425400734E+00 +2484,2,-1.5838521477956E+00 +2485,2,-1.2593732850211E+00 +2486,2,-1.4728441808548E+00 +2487,2,-1.3761326565818E+00 +2488,2,-1.3841629378019E+00 +2489,2,-1.3501399618996E+00 +2490,2,-1.4937177992133E+00 +2491,2,-1.4423865802219E+00 +2492,2,-1.6218329115464E+00 +2493,2,-1.6024648403405E+00 +2494,2,-1.5683918557914E+00 +2495,2,-1.5773890878074E+00 +2496,2,-1.6295768833711E+00 +2497,2,-1.6270738019379E+00 +2498,2,-1.6131368802346E+00 +2499,2,-1.6088627594762E+00 +2500,2,-1.6525568862242E+00 +2501,2,-1.6534676787519E+00 +2502,2,-1.6849420445977E+00 +2503,2,-1.5153315268552E+00 +2504,2,-9.9425864114017E-01 +2505,2,-9.5670268990152E-01 +2506,2,-1.1333163668890E+00 +2507,2,-1.3563477182436E+00 +2508,2,-9.8705339899638E-01 +2509,2,-1.4599911810144E+00 +2510,2,-1.5246032798106E+00 +2511,2,-1.4812324531306E+00 +2512,2,-1.4695138434741E+00 +2513,2,-1.4582595813438E+00 +2514,2,-1.5578170711466E+00 +2515,2,-1.4854826257520E+00 +2516,2,-1.4791220537628E+00 +2517,2,-1.5406983564691E+00 +2518,2,-1.4996332592236E+00 +2519,2,-1.4810279051505E+00 +2520,2,-1.5074047230803E+00 +2521,2,-1.4292688347873E+00 +2522,2,-1.4141198142853E+00 +2523,2,-1.4556154559028E+00 +2524,2,-1.4079269081806E+00 +2525,2,-1.3912294645649E+00 +2526,2,-1.4133628305795E+00 +2527,2,-1.3430290904145E+00 +2528,2,-1.3448372672620E+00 +2529,2,-1.4003369098673E+00 +2530,2,-1.4091500103947E+00 +2531,2,-1.4245332083111E+00 +2532,2,-1.4069181637232E+00 +2533,2,-1.4422293786764E+00 +2534,2,-1.4357489781928E+00 +2535,2,-1.4204611241925E+00 +2536,2,-1.3744810235290E+00 +2537,2,-1.3684249940625E+00 +2538,2,-1.4254615616565E+00 +2539,2,-1.4060723289077E+00 +2540,2,-1.4223998150756E+00 +2541,2,-1.4271902083436E+00 +2542,2,-1.4438068464893E+00 +2543,2,-1.4488208720197E+00 +2544,2,-1.4307570769220E+00 +2545,2,-1.4223950332079E+00 +2546,2,-1.4163285987952E+00 +2547,2,-1.4289452305481E+00 +2548,2,-1.4167786309677E+00 +2549,2,-1.4271670230901E+00 +2550,2,-1.4336297300304E+00 +2551,2,-1.4739463550634E+00 +2552,2,-1.4740923229335E+00 +2553,2,-1.4358812572345E+00 +2554,2,-1.4294323440632E+00 +2555,2,-1.4177953682634E+00 +2556,2,-1.4366685212983E+00 +2557,2,-1.3983158176019E+00 +2558,2,-1.4076020553095E+00 +2559,2,-1.4308954970916E+00 +2560,2,-1.4686035107355E+00 +2561,2,-1.4705342513597E+00 +2562,2,-1.4322368488603E+00 +2563,2,-1.4420737757343E+00 +2564,2,-1.4300989705904E+00 +2565,2,-1.4335812355288E+00 +2566,2,-1.3881845505861E+00 +2567,2,-1.3954211791821E+00 +2568,2,-1.4388481478480E+00 +2569,2,-1.4853015537587E+00 +2570,2,-1.4677832528848E+00 +2571,2,-1.4632792983777E+00 +2572,2,-1.4231160454934E+00 +2573,2,-1.4196418845026E+00 +2574,2,-1.4233814667375E+00 +2575,2,-1.3886193807006E+00 +2576,2,-1.4294091038196E+00 +2577,2,-1.4034816379110E+00 +2578,2,-1.9640428679545E+00 +2579,2,-2.1727610630450E+00 +2580,2,-1.2309930840531E+00 +2581,2,-1.5956842442019E+00 +2582,2,-1.6398339590338E+00 +2583,2,-1.4766115859122E+00 +2584,2,-1.4330780643801E+00 +2585,2,-1.5036982101401E+00 +2586,2,-1.4698603595251E+00 +2587,2,-1.3789834966036E+00 +2588,2,-1.3774410633951E+00 +2589,2,-1.5234646759530E+00 +2590,2,-1.4485861631953E+00 +2591,2,-1.4446515624146E+00 +2592,2,-1.4471749530702E+00 +2593,2,-1.3987762703639E+00 +2594,2,-1.4943594127926E+00 +2595,2,-1.4684957358870E+00 +2596,2,-1.3765664001255E+00 +2597,2,-1.5636253469996E+00 +2598,2,-1.5059472674165E+00 +2599,2,-1.5726031745565E+00 +2600,2,-1.5390285474776E+00 +2601,2,-1.4554291012671E+00 +2602,2,-1.4219051195653E+00 +2603,2,-1.4604557702882E+00 +2604,2,-1.3999972514302E+00 +2605,2,-1.6400589449068E+00 +2606,2,-1.5858697079108E+00 +2607,2,-1.6313939254637E+00 +2608,2,-1.4455312673145E+00 +2609,2,-1.3598121169764E+00 +2610,2,-1.3405947054707E+00 +2611,2,-1.4017739614188E+00 +2612,2,-1.3938576020848E+00 +2613,2,-1.6162244758852E+00 +2614,2,-1.5714058739207E+00 +2615,2,-1.5962553453673E+00 +2616,2,-1.6009665249137E+00 +2617,2,-1.5913049640722E+00 +2618,2,-1.6178560440123E+00 +2619,2,-1.6201385623859E+00 +2620,2,-1.6271202674850E+00 +2621,2,-1.6158070356095E+00 +2622,2,-1.6024764264770E+00 +2623,2,-1.5550665568920E+00 +2624,2,-1.6604802708999E+00 +2625,2,-1.7566956265572E+00 +2626,2,-1.5506434033311E+00 +2627,2,-1.6693176535147E+00 +2628,2,-2.0051802333604E+00 +2629,2,-1.5009287063513E+00 +2630,2,-1.3739368001357E+00 +2631,2,-1.4027360797088E+00 +2632,2,-1.4654664847743E+00 +2633,2,-1.5289657231127E+00 +2634,2,-1.2526161954695E+00 +2635,2,-1.5017604054322E+00 +2636,2,-1.4868049413393E+00 +2637,2,-1.4214352370580E+00 +2638,2,-1.3723228949487E+00 +2639,2,-1.4915742561685E+00 +2640,2,-1.5957102855713E+00 +2641,2,-1.6434740282848E+00 +2642,2,-1.5777875976679E+00 +2643,2,-1.6774979487505E+00 +2644,2,-1.5041412233756E+00 +2645,2,-1.3744442616128E+00 +2646,2,-1.5424842942835E+00 +2647,2,-1.4558547150096E+00 +2648,2,-1.3388595444868E+00 +2649,2,-1.6717617196537E+00 +2650,2,-1.6354763268346E+00 +2651,2,-1.5520163782111E+00 +2652,2,-1.5074847102870E+00 +2653,2,-1.5326753562993E+00 +2654,2,-1.8385092184060E+00 +2655,2,-1.4374279015006E+00 +2656,2,-1.5728013292748E+00 +2657,2,-1.5937631131341E+00 +2658,2,-1.5566027906932E+00 +2659,2,-1.6254055541917E+00 +2660,2,-1.3066775212371E+00 +2661,2,-1.0279551182492E+00 +2662,2,-1.4704920554800E+00 +2663,2,-1.5710935676389E+00 +2664,2,-1.6466998702542E+00 +2665,2,-1.6362203646543E+00 +2666,2,-1.6058282549457E+00 +2667,2,-1.6277451785179E+00 +2668,2,-1.6111012874603E+00 +2669,2,-1.5303161951816E+00 +2670,2,-1.5471680646887E+00 +2671,2,-1.5209551015522E+00 +2672,2,-1.5231365114370E+00 +2673,2,-1.5071337088499E+00 +2674,2,-1.4969913749808E+00 +2675,2,-1.4935582827481E+00 +2676,2,-1.5123663431571E+00 +2677,2,-1.5832461802400E+00 +2678,2,-1.4981228197859E+00 +2679,2,-1.6789051492183E+00 +2680,2,-1.6724112906921E+00 +2681,2,-1.5858303156317E+00 +2682,2,-1.6267529761717E+00 +2683,2,-1.6221762155924E+00 +2684,2,-1.5759340390524E+00 +2685,2,-1.6328792524313E+00 +2686,2,-1.6424211344232E+00 +2687,2,-1.5788179647441E+00 +2688,2,-1.6223832723137E+00 +2689,2,-1.6412488046775E+00 +2690,2,-1.6176598157503E+00 +2691,2,-1.7018816480051E+00 +2692,2,-1.6802780675392E+00 +2693,2,-1.6594033107073E+00 +2694,2,-1.6565740355110E+00 +2695,2,-1.8542545009282E+00 +2696,2,-1.6005956557963E+00 +2697,2,-1.9533909831209E+00 +2698,2,-1.8298654604415E+00 +2699,2,-1.9358011589941E+00 +2700,2,-1.5516959780382E+00 +2701,2,-1.7305365496052E+00 +2702,2,-1.8380758200078E+00 +2703,2,-1.4770086815303E+00 +2704,2,-1.5114428842132E+00 +2705,2,-1.3765711436501E+00 +2706,2,-1.3950411438716E+00 +2707,2,-1.3611260132937E+00 +2708,2,-1.2968529722631E+00 +2709,2,-1.8647315277553E+00 +2710,2,-1.4054631603525E+00 +2711,2,-1.4376617744697E+00 +2712,2,-1.5425565932145E+00 +2713,2,-1.4703328621695E+00 +2714,2,-1.4708774873739E+00 +2715,2,-1.5076047433388E+00 +2716,2,-1.4949209279088E+00 +2717,2,-1.4925828809383E+00 +2718,2,-1.2448918013026E+00 +2719,2,-1.4003978917116E+00 +2720,2,-1.8461588238854E+00 +2721,2,-1.5895677473810E+00 +2722,2,-1.5367231761429E+00 +2723,2,-1.6824458758049E+00 +2724,2,-1.5222319183959E+00 +2725,2,-1.4986653974911E+00 +2726,2,-1.4315443789004E+00 +2727,2,-1.4379109924778E+00 +2728,2,-1.4118438272908E+00 +2729,2,-1.3424692958982E+00 +2730,2,-1.4856842921840E+00 +2731,2,-1.4284575531170E+00 +2732,2,-1.5729481477712E+00 +2733,2,-1.5102515040039E+00 +2734,2,-1.5991220604156E+00 +2735,2,-1.6009062941183E+00 +2736,2,-1.3820721180247E+00 +2737,2,-1.3724270654654E+00 +2738,2,-1.2781621706483E+00 +2739,2,-1.4358173041270E+00 +2740,2,-1.6188017840706E+00 +2741,2,-1.6541426229681E+00 +2742,2,-1.5924541218983E+00 +2743,2,-1.5919988046709E+00 +2744,2,-1.6638159147497E+00 +2745,2,-1.6607081532900E+00 +2746,2,-1.6432652778118E+00 +2747,2,-1.6116062580151E+00 +2748,2,-1.4769730490231E+00 +2749,2,-1.4364671889500E+00 +2750,2,-1.5461733047248E+00 +2751,2,-1.5669097067884E+00 +2752,2,-1.1380496804994E+00 +2753,2,-1.1773448608258E+00 +2754,2,-1.8373587254757E+00 +2755,2,-1.6730376155314E+00 +2756,2,-1.5003526579922E+00 +2757,2,-1.5058942247441E+00 +2758,2,-1.4771822265787E+00 +2759,2,-1.4617799088900E+00 +2760,2,-1.5098841527903E+00 +2761,2,-1.4108794990878E+00 +2762,2,-1.5883919873872E+00 +2763,2,-1.5488182110584E+00 +2764,2,-1.5432422434424E+00 +2765,2,-1.6210033567580E+00 +2766,2,-1.8651376727929E+00 +2767,2,-1.2686150156201E+00 +2768,2,-1.5386722804926E+00 +2769,2,-1.6588699786890E+00 +2770,2,-1.6708424979087E+00 +2771,2,-1.6199758509903E+00 +2772,2,-1.7915582331210E+00 +2773,2,-1.6141113984430E+00 +2774,2,-1.5800146667004E+00 +2775,2,-1.6751786104947E+00 +2776,2,-1.5530816053008E+00 +2777,2,-1.5023764492424E+00 +2778,2,-1.5949897210509E+00 +2779,2,-1.4691925361381E+00 +2780,2,-1.4621824601119E+00 +2781,2,-1.4817074337882E+00 +2782,2,-1.4350788552906E+00 +2783,2,-1.4167747062644E+00 +2784,2,-1.4673043624180E+00 +2785,2,-1.4204462291680E+00 +2786,2,-1.4258951152657E+00 +2787,2,-1.4308749784396E+00 +2788,2,-1.4306681922740E+00 +2789,2,-1.4235169762191E+00 +2790,2,-1.4410566770662E+00 +2791,2,-1.4216767387721E+00 +2792,2,-1.4252565004815E+00 +2793,2,-1.4347560604263E+00 +2794,2,-1.4367373384291E+00 +2795,2,-1.4509666251747E+00 +2796,2,-1.4399330287907E+00 +2797,2,-1.4587513013283E+00 +2798,2,-1.4594571299629E+00 +2799,2,-1.4510923566181E+00 +2800,2,-1.4466965123734E+00 +2801,2,-1.4251604549941E+00 +2802,2,-1.4400782424161E+00 +2803,2,-1.4183345830898E+00 +2804,2,-1.4298330446202E+00 +2805,2,-1.4150915790550E+00 +2806,2,-1.4405839785153E+00 +2807,2,-1.4405151350226E+00 +2808,2,-1.4283298300850E+00 +2809,2,-1.4323782701043E+00 +2810,2,-1.4237975252278E+00 +2811,2,-1.4286848048682E+00 +2812,2,-1.4244388214214E+00 +2813,2,-1.4349056740536E+00 +2814,2,-1.4168698211626E+00 +2815,2,-1.4407696256468E+00 +2816,2,-1.4380605995492E+00 +2817,2,-1.4312955222718E+00 +2818,2,-1.4301157136103E+00 +2819,2,-1.4201023712245E+00 +2820,2,-1.4313842233429E+00 +2821,2,-1.4195160172688E+00 +2822,2,-1.4319166844906E+00 +2823,2,-1.4283922184069E+00 +2824,2,-1.4491584019537E+00 +2825,2,-1.4660444101089E+00 +2826,2,-1.4528478676332E+00 +2827,2,-1.4832389320426E+00 +2828,2,-1.4916892768943E+00 +2829,2,-1.4782657020165E+00 +2830,2,-1.4693097461280E+00 +2831,2,-1.4203356539842E+00 +2832,2,-1.4858686668196E+00 +2833,2,-1.4039099861485E+00 +2834,2,-1.2756435202923E+00 +2835,2,-1.1829366777258E+00 +2836,2,-1.5242841700101E+00 +2837,2,-1.4058251240843E+00 +2838,2,-1.4809895882445E+00 +2839,2,-1.5369934352385E+00 +2840,2,-1.5290242073718E+00 +2841,2,-1.4520654128840E+00 +2842,2,-1.4382099712494E+00 +2843,2,-1.3995362874983E+00 +2844,2,-1.5796754182502E+00 +2845,2,-1.5385516635076E+00 +2846,2,-1.5022159646081E+00 +2847,2,-1.5857869581499E+00 +2848,2,-1.6652293919622E+00 +2849,2,-1.6663801806511E+00 +2850,2,-1.6294271656588E+00 +2851,2,-1.6046876168998E+00 +2852,2,-1.2588962583147E+00 +2853,2,-1.1622885740892E+00 +2854,2,-1.0327439942513E+00 +2855,2,-1.3492920689420E+00 +2856,2,-1.7547957174781E+00 +2857,2,-1.5320634280784E+00 +2858,2,-1.4123272282700E+00 +2859,2,-1.5036762254341E+00 +2860,2,-1.4252006179323E+00 +2861,2,-1.3755361719187E+00 +2862,2,-1.5690679233924E+00 +2863,2,-1.4758089467349E+00 +2864,2,-1.4522868845176E+00 +2865,2,-1.4637891082648E+00 +2866,2,-1.3799801240025E+00 +2867,2,-1.2623515589582E+00 +2868,2,-1.1567681390297E+00 +2869,2,-1.8629139600937E+00 +2870,2,-1.5855099592793E+00 +2871,2,-1.6127610179622E+00 +2872,2,-1.4599926611012E+00 +2873,2,-1.4997853035376E+00 +2874,2,-1.5538687281889E+00 +2875,2,-1.3819624016914E+00 +2876,2,-1.4306104902672E+00 +2877,2,-1.4840698704276E+00 +2878,2,-1.2675245777129E+00 +2879,2,-1.6614772195795E+00 +2880,2,-1.5117377697834E+00 +2881,2,-1.7744203854673E+00 +2882,2,-1.6007508141758E+00 +2883,2,-1.7554427466848E+00 +2884,2,-1.4806350516516E+00 +2885,2,-1.5656734136174E+00 +2886,2,-1.2202047957958E+00 +2887,2,-1.1711465171661E+00 +2888,2,-1.4921088957659E+00 +2889,2,-1.4836011992142E+00 +2890,2,-1.4874649681780E+00 +2891,2,-1.6946112276265E+00 +2892,2,-2.1147915377603E+00 +2893,2,-1.3652434126985E+00 +2894,2,-1.7797041861651E+00 +2895,2,-1.4605756413049E+00 +2896,2,-1.5709871877737E+00 +2897,2,-1.5403952902276E+00 +2898,2,-1.3669997415566E+00 +2899,2,-1.5070547834962E+00 +2900,2,-1.4913071152791E+00 +2901,2,-1.4858085661634E+00 +2902,2,-1.4784425197776E+00 +2903,2,-1.4596016692981E+00 +2904,2,-1.4690658766111E+00 +2905,2,-1.4735212286147E+00 +2906,2,-1.4701559630622E+00 +2907,2,-1.4716309450620E+00 +2908,2,-1.4594322070282E+00 +2909,2,-1.4863378159690E+00 +2910,2,-1.5289699222475E+00 +2911,2,-1.4588292922105E+00 +2912,2,-1.5457975810104E+00 +2913,2,-1.4832943049709E+00 +2914,2,-1.4798918869178E+00 +2915,2,-1.5578266911312E+00 +2916,2,-1.5652873774021E+00 +2917,2,-1.5178849772587E+00 +2918,2,-1.5471849462730E+00 +2919,2,-1.6115332297388E+00 +2920,2,-1.5035882918112E+00 +2921,2,-1.6344111923319E+00 +2922,2,-1.6046910988014E+00 +2923,2,-1.5674870243563E+00 +2924,2,-1.5442074890848E+00 +2925,2,-1.6817325268654E+00 +2926,2,-1.8057999663247E+00 +2927,2,-1.5078115045635E+00 +2928,2,-1.5644135262237E+00 +2929,2,-1.5180506902194E+00 +2930,2,-1.4978370265472E+00 +2931,2,-1.5495426423231E+00 +2932,2,-1.5500951526137E+00 +2933,2,-1.5207659940667E+00 +2934,2,-1.5367151047832E+00 +2935,2,-1.5556756964594E+00 +2936,2,-1.5301464647307E+00 +2937,2,-1.5247268090499E+00 +2938,2,-1.5840846676918E+00 +2939,2,-1.5837284618855E+00 +2940,2,-1.5178923679089E+00 +2941,2,-1.5265443774581E+00 +2942,2,-1.4886527494287E+00 +2943,2,-1.4970227808977E+00 +2944,2,-1.5038566910642E+00 +2945,2,-1.4734010901575E+00 +2946,2,-1.7381669577250E+00 +2947,2,-1.8258176252972E+00 +2948,2,-1.4794905382060E+00 +2949,2,-1.5613709875209E+00 +2950,2,-1.4794534650860E+00 +2951,2,-1.5218612846690E+00 +2952,2,-1.3188778411064E+00 +2953,2,-1.4246683166701E+00 +2954,2,-1.5539338829189E+00 +2955,2,-1.5442225744369E+00 +2956,2,-1.5511978757676E+00 +2957,2,-1.5382098776503E+00 +2958,2,-1.4498221761233E+00 +2959,2,-1.4956023432098E+00 +2960,2,-1.5310541760536E+00 +2961,2,-1.5811140661343E+00 +2962,2,-2.0477604531647E+00 +2963,2,-2.0397120214627E+00 +2964,2,-1.7433833725316E+00 +2965,2,-1.4655781885363E+00 +2966,2,-1.4397624982286E+00 +2967,2,-1.4191397209167E+00 +2968,2,-1.4058859001287E+00 +2969,2,-1.3358372740347E+00 +2970,2,-1.4626113122115E+00 +2971,2,-1.2270328685737E+00 +2972,2,-1.6246099557957E+00 +2973,2,-1.6554850605768E+00 +2974,2,-1.4183152749924E+00 +2975,2,-1.4519513645474E+00 +2976,2,-1.4116728927728E+00 +2977,2,-1.6095974526460E+00 +2978,2,-1.7583330214595E+00 +2979,2,-1.6928200457517E+00 +2980,2,-1.6947536947175E+00 +2981,2,-1.8102957489628E+00 +2982,2,-1.6486615370163E+00 +2983,2,-1.5609958732901E+00 +2984,2,-1.8145436324960E+00 +2985,2,-1.4984187420857E+00 +2986,2,-1.5119148948429E+00 +2987,2,-1.5927221438763E+00 +2988,2,-1.5045218994989E+00 +2989,2,-1.4632321898326E+00 +2990,2,-1.5443387683941E+00 +2991,2,-1.4451069548805E+00 +2992,2,-1.4361890220640E+00 +2993,2,-1.4338994025641E+00 +2994,2,-1.4409218345929E+00 +2995,2,-1.4454909466898E+00 +2996,2,-1.4299920966365E+00 +2997,2,-1.4463415461048E+00 +2998,2,-1.4521377265672E+00 +2999,2,-1.4398012245792E+00 +3000,2,-1.4537349332222E+00 +3001,2,-1.4509997311828E+00 +3002,2,-1.4590505729385E+00 +3003,2,-1.4479297722646E+00 +3004,2,-1.4381051810335E+00 +3005,2,-1.4431235981064E+00 +3006,2,-1.4263852381970E+00 +3007,2,-1.4223826499092E+00 +3008,2,-1.4258238817374E+00 +3009,2,-1.4189320439274E+00 +3010,2,-1.4165610839225E+00 +3011,2,-1.4399806242580E+00 +3012,2,-1.4183008734221E+00 +3013,2,-1.4148007174089E+00 +3014,2,-1.4359529699746E+00 +3015,2,-1.4152245356847E+00 +3016,2,-1.4209301803862E+00 +3017,2,-1.4185932118093E+00 +3018,2,-1.4176959415571E+00 +3019,2,-1.4187274568525E+00 +3020,2,-1.4394426760122E+00 +3021,2,-1.4226863053295E+00 +3022,2,-1.4252583275215E+00 +3023,2,-1.4411006224158E+00 +3024,2,-1.4280560546902E+00 +3025,2,-1.4174777558309E+00 +3026,2,-1.4325918254613E+00 +3027,2,-1.4244990932806E+00 +3028,2,-1.4534671214353E+00 +3029,2,-1.4122752077817E+00 +3030,2,-1.4655221034398E+00 +3031,2,-1.4615015580700E+00 +3032,2,-1.4697625750167E+00 +3033,2,-1.4700333842982E+00 +3034,2,-1.4981175830224E+00 +3035,2,-1.4526812594918E+00 +3036,2,-1.4972702029738E+00 +3037,2,-1.6020174284385E+00 +3038,2,-1.5152346146313E+00 +3039,2,-1.5296280837490E+00 +3040,2,-1.5434750739419E+00 +3041,2,-1.5064066757241E+00 +3042,2,-1.5708345797325E+00 +3043,2,-1.2816795970175E+00 +3044,2,-1.3596914869242E+00 +3045,2,-1.5737904159988E+00 +3046,2,-1.5760196171750E+00 +3047,2,-1.2430901808929E+00 +3048,2,-1.2327843207209E+00 +3049,2,-1.2198541007169E+00 +3050,2,-1.2543661343540E+00 +3051,2,-1.7954837228593E+00 +3052,2,-1.5250310496376E+00 +3053,2,-1.5710962286114E+00 +3054,2,-1.4800658169630E+00 +3055,2,-1.4788378550556E+00 +3056,2,-1.4730963501148E+00 +3057,2,-1.4360564734860E+00 +3058,2,-1.4724800753817E+00 +3059,2,-1.5903855560000E+00 +3060,2,-1.6013187074400E+00 +3061,2,-1.6024984433986E+00 +3062,2,-1.5093306603889E+00 +3063,2,-1.5867724930361E+00 +3064,2,-1.4815867037173E+00 +3065,2,-1.5919080549853E+00 +3066,2,-1.6224454923906E+00 +3067,2,-1.6224575297162E+00 +3068,2,-1.7202003921559E+00 +3069,2,-1.8705713052178E+00 +3070,2,-1.5833485726447E+00 +3071,2,-1.6216272874819E+00 +3072,2,-1.5413691536967E+00 +3073,2,-1.5161975997976E+00 +3074,2,-1.5289143551253E+00 +3075,2,-1.5588714686408E+00 +3076,2,-1.4266060237921E+00 +3077,2,-1.7905646989600E+00 +3078,2,-1.7033369370773E+00 +3079,2,-1.7234609321468E+00 +3080,2,-1.4819220128438E+00 +3081,2,-1.4122363155973E+00 +3082,2,-1.5435090597946E+00 +3083,2,-1.4146705509557E+00 +3084,2,-1.7136581659883E+00 +3085,2,-1.7143375888440E+00 +3086,2,-1.7022546009912E+00 +3087,2,-1.7179006675311E+00 +3088,2,-1.6674461041983E+00 +3089,2,-1.6871826086438E+00 +3090,2,-1.5302177418430E+00 +3091,2,-1.5597598125746E+00 +3092,2,-1.6465905755527E+00 +3093,2,-1.5738434438398E+00 +3094,2,-1.7046241749579E+00 +3095,2,-1.6281525566568E+00 +3096,2,-1.7102449504047E+00 +3097,2,-1.5795564906834E+00 +3098,2,-1.3622928980412E+00 +3099,2,-1.7545027139396E+00 +3100,2,-1.6894070237729E+00 +3101,2,-1.6277515773838E+00 +3102,2,-1.5854895145319E+00 +3103,2,-1.4867437135914E+00 +3104,2,-1.3819342102347E+00 +3105,2,-1.5924932947066E+00 +3106,2,-1.4809802461019E+00 +3107,2,-1.2912030844678E+00 +3108,2,-1.3830289025241E+00 +3109,2,-1.3122511417635E+00 +3110,2,-1.2339241293153E+00 +3111,2,-1.4434843160326E+00 +3112,2,-1.4882289029541E+00 +3113,2,-1.5304003675354E+00 +3114,2,-1.5305846436077E+00 +3115,2,-1.7941246808453E+00 +3116,2,-1.7724848076395E+00 +3117,2,-1.6650006427346E+00 +3118,2,-1.5115156844075E+00 +3119,2,-1.5591022698060E+00 +3120,2,-1.5512552598990E+00 +3121,2,-1.5588511106670E+00 +3122,2,-1.5478350568190E+00 +3123,2,-1.5701319658659E+00 +3124,2,-1.5262799640936E+00 +3125,2,-1.3571864902989E+00 +3126,2,-1.4984309641570E+00 +3127,2,-1.4135059055174E+00 +3128,2,-1.3130335552755E+00 +3129,2,-1.4905177790445E+00 +3130,2,-1.6596307244043E+00 +3131,2,-1.6230958459945E+00 +3132,2,-1.6422485458754E+00 +3133,2,-1.6856959609971E+00 +3134,2,-1.8513938707879E+00 +3135,2,-2.0463893195591E+00 +3136,2,-1.4050325677625E+00 +3137,2,-1.4063618487319E+00 +3138,2,-2.0487035541264E+00 +3139,2,-1.9055862179179E+00 +3140,2,-2.2166238540055E+00 +3141,2,-1.7714303930244E+00 +3142,2,-1.6534677613755E+00 +3143,2,-2.0784740382407E+00 +3144,2,-1.5915882331362E+00 +3145,2,-1.5148619281929E+00 +3146,2,-1.6090503555593E+00 +3147,2,-1.4457122720291E+00 +3148,2,-1.4081465787137E+00 +3149,2,-1.3533518697055E+00 +3150,2,-1.4131572056026E+00 +3151,2,-1.4204054016037E+00 +3152,2,-1.4085950216922E+00 +3153,2,-1.4256454174494E+00 +3154,2,-1.4458588331939E+00 +3155,2,-1.4328391149534E+00 +3156,2,-1.4593120010909E+00 +3157,2,-1.4608114558895E+00 +3158,2,-1.4532023412255E+00 +3159,2,-1.4476196830968E+00 +3160,2,-1.4288636883490E+00 +3161,2,-1.4566609634379E+00 +3162,2,-1.4213885632111E+00 +3163,2,-1.4306651651709E+00 +3164,2,-1.4432299648606E+00 +3165,2,-1.4488244959794E+00 +3166,2,-1.4608397191915E+00 +3167,2,-1.4680945829550E+00 +3168,2,-1.4591830249129E+00 +3169,2,-1.4465716555733E+00 +3170,2,-1.4755832861451E+00 +3171,2,-1.4327120534212E+00 +3172,2,-1.4324954689004E+00 +3173,2,-1.4597809185322E+00 +3174,2,-1.4476392884019E+00 +3175,2,-1.4626230647310E+00 +3176,2,-1.4615764440887E+00 +3177,2,-1.4632494958391E+00 +3178,2,-1.4494374776348E+00 +3179,2,-1.4801837921722E+00 +3180,2,-1.4383566584885E+00 +3181,2,-1.4309339186859E+00 +3182,2,-1.4652845553508E+00 +3183,2,-1.4211955998655E+00 +3184,2,-1.4371048497548E+00 +3185,2,-1.4546059833603E+00 +3186,2,-1.4656241888351E+00 +3187,2,-1.4691135783039E+00 +3188,2,-1.4616853942785E+00 +3189,2,-1.4560528081487E+00 +3190,2,-1.4542551848616E+00 +3191,2,-1.4431592342234E+00 +3192,2,-1.4887243412769E+00 +3193,2,-1.4131074150540E+00 +3194,2,-1.4613642638398E+00 +3195,2,-1.5965500654369E+00 +3196,2,-1.6193569730910E+00 +3197,2,-1.6316982239377E+00 +3198,2,-1.4411186833672E+00 +3199,2,-1.5208659651956E+00 +3200,2,-1.6490650292960E+00 +3201,2,-1.6280056650692E+00 +3202,2,-1.6194775837867E+00 +3203,2,-1.5629711906623E+00 +3204,2,-1.5673304595972E+00 +3205,2,-1.5728258960784E+00 +3206,2,-1.4719261587293E+00 +3207,2,-1.4455622128502E+00 +3208,2,-1.4962485562569E+00 +3209,2,-1.5735399975012E+00 +3210,2,-1.5730828808147E+00 +3211,2,-1.5575875128981E+00 +3212,2,-1.5617046930120E+00 +3213,2,-1.4272161973630E+00 +3214,2,-1.3786150894900E+00 +3215,2,-1.4727546447393E+00 +3216,2,-1.4349420237962E+00 +3217,2,-1.5928653026154E+00 +3218,2,-1.7172441121349E+00 +3219,2,-1.7551853997723E+00 +3220,2,-1.5201434356714E+00 +3221,2,-1.5747289672333E+00 +3222,2,-1.4672531210972E+00 +3223,2,-1.4161623276877E+00 +3224,2,-1.4383160890962E+00 +3225,2,-1.4282030282812E+00 +3226,2,-1.5181889042187E+00 +3227,2,-1.7184967432453E+00 +3228,2,-1.7037278618461E+00 +3229,2,-1.6841864923820E+00 +3230,2,-1.6716551571256E+00 +3231,2,-1.5866191169424E+00 +3232,2,-1.2057317649202E+00 +3233,2,-1.1691746533157E+00 +3234,2,-1.2123700774813E+00 +3235,2,-1.2626460626925E+00 +3236,2,-1.6857669875072E+00 +3237,2,-1.6676324548365E+00 +3238,2,-1.7130755158708E+00 +3239,2,-1.6332260000859E+00 +3240,2,-1.5854047870702E+00 +3241,2,-1.5689767522306E+00 +3242,2,-1.5916760588298E+00 +3243,2,-1.5741771659168E+00 +3244,2,-1.7392401288916E+00 +3245,2,-1.7094294238303E+00 +3246,2,-1.7599976549492E+00 +3247,2,-1.5972334126573E+00 +3248,2,-1.6395678579415E+00 +3249,2,-1.8315786878541E+00 +3250,2,-1.5665244620142E+00 +3251,2,-1.2558763245037E+00 +3252,2,-1.3873713358214E+00 +3253,2,-1.6936780086273E+00 +3254,2,-1.6735761313889E+00 +3255,2,-1.7724350854351E+00 +3256,2,-1.8112113876594E+00 +3257,2,-1.6880918102031E+00 +3258,2,-1.5483671307217E+00 +3259,2,-1.7017024516018E+00 +3260,2,-1.6022072797589E+00 +3261,2,-1.5773207324084E+00 +3262,2,-1.6066338986885E+00 +3263,2,-1.5752961757249E+00 +3264,2,-1.4560947432978E+00 +3265,2,-1.5699261616795E+00 +3266,2,-1.6424909941756E+00 +3267,2,-1.6008580372015E+00 +3268,2,-1.5932532341739E+00 +3269,2,-1.4350355954735E+00 +3270,2,-1.5420291109978E+00 +3271,2,-1.5560043037984E+00 +3272,2,-1.5264130965664E+00 +3273,2,-1.7207658883768E+00 +3274,2,-1.7312968711845E+00 +3275,2,-1.7743697962773E+00 +3276,2,-1.7870617503678E+00 +3277,2,-1.6692447627748E+00 +3278,2,-1.5172164673832E+00 +3279,2,-1.4588851252360E+00 +3280,2,-1.4703208207602E+00 +3281,2,-1.5709718920066E+00 +3282,2,-1.5605859888685E+00 +3283,2,-1.5769450846387E+00 +3284,2,-1.6203421431692E+00 +3285,2,-1.7274406817188E+00 +3286,2,-1.4536763724019E+00 +3287,2,-1.2414845730844E+00 +3288,2,-1.6025275734276E+00 +3289,2,-1.6103963757981E+00 +3290,2,-1.7624158752575E+00 +3291,2,-1.5417108854764E+00 +3292,2,-1.6344009315742E+00 +3293,2,-1.6758969798633E+00 +3294,2,-1.7573169840105E+00 +3295,2,-1.5932407397534E+00 +3296,2,-1.5495284141297E+00 +3297,2,-1.5020848324022E+00 +3298,2,-2.0132699280380E+00 +3299,2,-2.2641237751500E+00 +3300,2,-1.5960977090455E+00 +3301,2,-1.3618321047301E+00 +3302,2,-1.5101069007987E+00 +3303,2,-1.7338922992483E+00 +3304,2,-1.5490090629665E+00 +3305,2,-1.6280011531353E+00 +3306,2,-1.7446140523837E+00 +3307,2,-1.7242092176504E+00 +3308,2,-1.3318064744000E+00 +3309,2,-1.6742366531223E+00 +3310,2,-1.7283858296007E+00 +3311,2,-1.7679595339782E+00 +3312,2,-1.7363871973909E+00 +3313,2,-1.4437212253119E+00 +3314,2,-1.4430788553027E+00 +3315,2,-1.6033225638943E+00 +3316,2,-1.6141207117644E+00 +3317,2,-1.6163786295773E+00 +3318,2,-1.8385455227295E+00 +3319,2,-1.7111560398061E+00 +3320,2,-1.7674952142929E+00 +3321,2,-1.5293307146283E+00 +3322,2,-1.5697300034639E+00 +3323,2,-1.5505503649921E+00 +3324,2,-1.5506545716746E+00 +3325,2,-2.2690912955938E+00 +3326,2,-2.1806984191278E+00 +3327,2,-2.2462134450621E+00 +3328,2,-1.2632482100454E+00 +3329,2,-1.2324831577108E+00 +3330,2,-1.3252920030130E+00 +3331,2,-1.4348534811570E+00 +3332,2,-1.3718857091461E+00 +3333,2,-1.4518493784171E+00 +3334,2,-1.4612686558591E+00 +3335,2,-1.5029190730751E+00 +3336,2,-1.4614184663867E+00 +3337,2,-1.4511781897506E+00 +3338,2,-1.4942692592875E+00 +3339,2,-1.4531373571645E+00 +3340,2,-1.4605946649996E+00 +3341,2,-1.4707459170484E+00 +3342,2,-1.4659196611700E+00 +3343,2,-1.4777542109712E+00 +3344,2,-1.4917129562953E+00 +3345,2,-1.4933422271058E+00 +3346,2,-1.4888208657040E+00 +3347,2,-1.4974853596295E+00 +3348,2,-1.4842943456820E+00 +3349,2,-1.4838634798190E+00 +3350,2,-1.4732434791729E+00 +3351,2,-1.4806724815457E+00 +3352,2,-1.4903519437395E+00 +3353,2,-1.4813446049486E+00 +3354,2,-1.4923640538168E+00 +3355,2,-1.4861713311326E+00 +3356,2,-1.5021353221965E+00 +3357,2,-1.4897949028870E+00 +3358,2,-1.4896986490469E+00 +3359,2,-1.4878185928380E+00 +3360,2,-1.4886114304298E+00 +3361,2,-1.4937995536084E+00 +3362,2,-1.4925634194342E+00 +3363,2,-1.4905437214204E+00 +3364,2,-1.4751411191935E+00 +3365,2,-1.5084744836946E+00 +3366,2,-1.4663112802225E+00 +3367,2,-1.4471990209025E+00 +3368,2,-1.4731323548478E+00 +3369,2,-1.4251834713786E+00 +3370,2,-1.4518334313443E+00 +3371,2,-1.4431834477982E+00 +3372,2,-1.4718360842479E+00 +3373,2,-1.6236482160743E+00 +3374,2,-1.4668876803389E+00 +3375,2,-1.7457938016822E+00 +3376,2,-1.7727966109735E+00 +3377,2,-1.8332424184723E+00 +3378,2,-1.7252291009424E+00 +3379,2,-1.4011952186994E+00 +3380,2,-1.3880538263868E+00 +3381,2,-1.5957150904379E+00 +3382,2,-1.4863896383266E+00 +3383,2,-1.4425793649130E+00 +3384,2,-1.6687397256870E+00 +3385,2,-1.7487779944236E+00 +3386,2,-1.4556865499524E+00 +3387,2,-1.7063938880293E+00 +3388,2,-1.6031782517848E+00 +3389,2,-1.6119081555401E+00 +3390,2,-1.8936361337632E+00 +3391,2,-1.7292804825338E+00 +3392,2,-1.7301908060079E+00 +3393,2,-1.4622711336047E+00 +3394,2,-1.8160630859079E+00 +3395,2,-1.9205426937330E+00 +3396,2,-1.8660347103949E+00 +3397,2,-1.2763326001077E+00 +3398,2,-1.7335149162639E+00 +3399,2,-1.9016878929739E+00 +3400,2,-1.5183400769245E+00 +3401,2,-1.5492993316959E+00 +3402,2,-1.7154450930111E+00 +3403,2,-1.9416244872845E+00 +3404,2,-1.8292373680952E+00 +3405,2,-1.7864266347307E+00 +3406,2,-1.7803129771684E+00 +3407,2,-1.5436789510115E+00 +3408,2,-1.5784332215916E+00 +3409,2,-1.8796808747128E+00 +3410,2,-2.0734985420268E+00 +3411,2,-1.6468242285583E+00 +3412,2,-1.6184151801555E+00 +3413,2,-1.7013668136328E+00 +3414,2,-1.6068470002766E+00 +3415,2,-1.6382694121169E+00 +3416,2,-1.4874596707513E+00 +3417,2,-1.6789681124182E+00 +3418,2,-1.2935803255454E+00 +3419,2,-1.4534692529436E+00 +3420,2,-1.4357792512411E+00 +3421,2,-1.4532767668516E+00 +3422,2,-1.5907291316504E+00 +3423,2,-1.6320118690968E+00 +3424,2,-1.5968399675993E+00 +3425,2,-1.6128986343003E+00 +3426,2,-1.7687665728161E+00 +3427,2,-2.0217669166675E+00 +3428,2,-1.9057830103887E+00 +3429,2,-2.2500378935201E+00 +3430,2,-1.6197439021138E+00 +3431,2,-1.6055012728164E+00 +3432,2,-1.5163813821830E+00 +3433,2,-1.5069985393380E+00 +3434,2,-1.4422203909560E+00 +3435,2,-1.4174967712297E+00 +3436,2,-1.7634585039642E+00 +3437,2,-1.6728429022535E+00 +3438,2,-1.7030483004243E+00 +3439,2,-1.5869273476518E+00 +3440,2,-1.9888409208945E+00 +3441,2,-1.3642750038475E+00 +3442,2,-1.5109935162456E+00 +3443,2,-1.5934873286995E+00 +3444,2,-1.6098399158981E+00 +3445,2,-1.6219515153836E+00 +3446,2,-1.5910707011771E+00 +3447,2,-1.7673723887608E+00 +3448,2,-1.8456470994936E+00 +3449,2,-1.8077524818328E+00 +3450,2,-1.5328227640301E+00 +3451,2,-1.5473390144389E+00 +3452,2,-1.6453220494558E+00 +3453,2,-1.3706503692558E+00 +3454,2,-2.5000783852655E+00 +3455,2,-1.7214922348832E+00 +3456,2,-1.7293342371989E+00 +3457,2,-2.0460856936484E+00 +3458,2,-1.8128939677687E+00 +3459,2,-1.8852364589772E+00 +3460,2,-1.8343434014813E+00 +3461,2,-1.8100461919446E+00 +3462,2,-1.4933537788202E+00 +3463,2,-1.3487292059150E+00 +3464,2,-1.4778918334018E+00 +3465,2,-1.8859526802229E+00 +3466,2,-1.7404723816101E+00 +3467,2,-1.4114217510554E+00 +3468,2,-1.7273595520257E+00 +3469,2,-1.9724873620825E+00 +3470,2,-2.0880530706765E+00 +3471,2,-1.9266715372650E+00 +3472,2,-2.0075153458805E+00 +3473,2,-1.9468490182966E+00 +3474,2,-1.6617734483018E+00 +3475,2,-1.7189942367577E+00 +3476,2,-1.6304651835849E+00 +3477,2,-1.6159392987889E+00 +3478,2,-1.6198322084817E+00 +3479,2,-1.6540893697856E+00 +3480,2,-1.3691545578177E+00 +3481,2,-1.5779541305451E+00 +3482,2,-1.6757832288531E+00 +3483,2,-1.5241843541807E+00 +3484,2,-1.8523712780692E+00 +3485,2,-1.5446076185525E+00 +3486,2,-1.4732407979221E+00 +3487,2,-1.4403783164768E+00 +3488,2,-1.5891477000015E+00 +3489,2,-1.6851470371422E+00 +3490,2,-1.6910168245549E+00 +3491,2,-1.8199167362285E+00 +3492,2,-1.6557941761039E+00 +3493,2,-1.7066189229272E+00 +3494,2,-1.6056087554544E+00 +3495,2,-1.5875396642248E+00 +3496,2,-1.5075855150335E+00 +3497,2,-1.6674251339700E+00 +3498,2,-1.4943024494304E+00 +3499,2,-1.4848242094818E+00 +3500,2,-1.4904255588541E+00 +3501,2,-1.4983339408935E+00 +3502,2,-1.5482860236939E+00 +3503,2,-1.4797032694206E+00 +3504,2,-1.5422238772270E+00 +3505,2,-1.4806041017078E+00 +3506,2,-1.5976468934843E+00 +3507,2,-1.4608835826529E+00 +3508,2,-1.4508443749753E+00 +3509,2,-1.4648588859565E+00 +3510,2,-1.4593763666141E+00 +3511,2,-1.5069452191383E+00 +3512,2,-1.4378705991151E+00 +3513,2,-1.5180564741924E+00 +3514,2,-1.5211937711709E+00 +3515,2,-1.5422431739867E+00 +3516,2,-1.5130697644965E+00 +3517,2,-1.4619162088454E+00 +3518,2,-1.5441868543403E+00 +3519,2,-1.4667572892817E+00 +3520,2,-1.5188532069555E+00 +3521,2,-1.4333216369701E+00 +3522,2,-1.5295761480373E+00 +3523,2,-1.5212285122984E+00 +3524,2,-1.5586754519394E+00 +3525,2,-1.5012889856786E+00 +3526,2,-1.4348748331632E+00 +3527,2,-1.5467288586513E+00 +3528,2,-1.4240381854335E+00 +3529,2,-1.4491530569219E+00 +3530,2,-1.3961921146569E+00 +3531,2,-1.4462073294969E+00 +3532,2,-1.4708317710219E+00 +3533,2,-1.4491289393275E+00 +3534,2,-1.6155904628208E+00 +3535,2,-1.6886768253715E+00 +3536,2,-1.5322460250084E+00 +3537,2,-1.3746503670453E+00 +3538,2,-1.2093728457304E+00 +3539,2,-1.2130532025745E+00 +3540,2,-1.1996461331063E+00 +3541,2,-1.1934354499993E+00 +3542,2,-2.2738613447863E+00 +3543,2,-2.0490535679648E+00 +3544,2,-2.2687502816064E+00 +3545,2,-1.9179203691856E+00 +3546,2,-1.9818933463361E+00 +3547,2,-1.8372507367555E+00 +3548,2,-1.7696884151167E+00 +3549,2,-1.7061418627047E+00 +3550,2,-1.9236534235240E+00 +3551,2,-1.6078181791966E+00 +3552,2,-1.6015648662432E+00 +3553,2,-1.9069149149026E+00 +3554,2,-1.5739802481578E+00 +3555,2,-1.5183953289198E+00 +3556,2,-1.4550680911076E+00 +3557,2,-1.6042043541917E+00 +3558,2,-2.5167161558415E+00 +3559,2,-2.1228962876441E+00 +3560,2,-2.5912811418433E+00 +3561,2,-2.3352220847190E+00 +3562,2,-2.2270994930130E+00 +3563,2,-2.2307236271521E+00 +3564,2,-1.5927593791872E+00 +3565,2,-1.8147119432237E+00 +3566,2,-1.1671788849427E+00 +3567,2,-1.2201235956501E+00 +3568,2,-1.6949575457765E+00 +3569,2,-1.7426449800138E+00 +3570,2,-1.7624145634233E+00 +3571,2,-1.8592765795466E+00 +3572,2,-1.9736044452308E+00 +3573,2,-1.8667615950037E+00 +3574,2,-1.8376690437562E+00 +3575,2,-1.7257063243650E+00 +3576,2,-1.5932899521887E+00 +3577,2,-1.5725683553082E+00 +3578,2,-1.7560413444999E+00 +3579,2,-1.6078099315340E+00 +3580,2,-1.5829538974099E+00 +3581,2,-1.6391877610748E+00 +3582,2,-2.4095924338277E+00 +3583,2,-1.7946388167293E+00 +3584,2,-1.8778928865396E+00 +3585,2,-1.4154111163458E+00 +3586,2,-1.3018342378145E+00 +3587,2,-1.3065063709135E+00 +3588,2,-1.2962364183259E+00 +3589,2,-1.2097146869903E+00 +3590,2,-1.4178486140488E+00 +3591,2,-1.5450810203824E+00 +3592,2,-1.7838148018304E+00 +3593,2,-2.0326167122077E+00 +3594,2,-1.8602092702410E+00 +3595,2,-2.0061667360835E+00 +3596,2,-1.9657986245448E+00 +3597,2,-1.5055513345157E+00 +3598,2,-1.4226401653765E+00 +3599,2,-1.4371585288286E+00 +3600,2,-1.5538908324899E+00 +3601,2,-1.8214179119310E+00 +3602,2,-1.7860728415787E+00 +3603,2,-1.8385067327884E+00 +3604,2,-1.8826958491718E+00 +3605,2,-2.0158884800800E+00 +3606,2,-1.7319368716033E+00 +3607,2,-1.8848448254775E+00 +3608,2,-1.8582285672592E+00 +3609,2,-1.2972692699533E+00 +3610,2,-1.9295397460570E+00 +3611,2,-1.9855443847909E+00 +3612,2,-1.9291759759757E+00 +3613,2,-2.0945442015812E+00 +3614,2,-2.0666499510026E+00 +3615,2,-2.0219632089158E+00 +3616,2,-2.1834349752828E+00 +3617,2,-1.7049911481599E+00 +3618,2,-1.6275922834943E+00 +3619,2,-1.6529194931889E+00 +3620,2,-1.9387147122707E+00 +3621,2,-2.1634239159534E+00 +3622,2,-1.8716998636784E+00 +3623,2,-1.7779067023216E+00 +3624,2,-1.7166957176350E+00 +3625,2,-2.4108491736852E+00 +3626,2,-1.9074031491453E+00 +3627,2,-1.8945648589098E+00 +3628,2,-1.8682362812796E+00 +3629,2,-1.9419614440204E+00 +3630,2,-1.6057384061908E+00 +3631,2,-1.7727328441339E+00 +3632,2,-1.5305468575696E+00 +3633,2,-1.4935713737305E+00 +3634,2,-1.5295426070117E+00 +3635,2,-1.4923273242457E+00 +3636,2,-1.5087805237040E+00 +3637,2,-1.5159728753621E+00 +3638,2,-1.5767720649673E+00 +3639,2,-1.5740375359981E+00 +3640,2,-1.5248604922002E+00 +3641,2,-1.5028693039895E+00 +3642,2,-1.4822778499709E+00 +3643,2,-1.5283792345870E+00 +3644,2,-1.4653287708070E+00 +3645,2,-1.4566691504745E+00 +3646,2,-1.5174164017062E+00 +3647,2,-1.5134728728218E+00 +3648,2,-1.5492646583996E+00 +3649,2,-1.4653004060376E+00 +3650,2,-1.5480710417747E+00 +3651,2,-1.5311322719716E+00 +3652,2,-1.5034390823274E+00 +3653,2,-1.4714206102524E+00 +3654,2,-1.4751717878750E+00 +3655,2,-1.5061998498551E+00 +3656,2,-1.5484296851706E+00 +3657,2,-1.5639764598094E+00 +3658,2,-1.5268705615893E+00 +3659,2,-1.5603775022601E+00 +3660,2,-1.5374718609002E+00 +3661,2,-1.5405852230144E+00 +3662,2,-1.4533492694213E+00 +3663,2,-1.4181779443184E+00 +3664,2,-1.4459998975005E+00 +3665,2,-1.3368072892496E+00 +3666,2,-1.4762326502874E+00 +3667,2,-1.9059591255420E+00 +3668,2,-2.0412040045241E+00 +3669,2,-1.3001388721556E+00 +3670,2,-1.2305476121664E+00 +3671,2,-1.3326039493959E+00 +3672,2,-1.3661011305957E+00 +3673,2,-1.5085254096459E+00 +3674,2,-1.2899885199451E+00 +3675,2,-1.5132176724218E+00 +3676,2,-1.8533621684945E+00 +3677,2,-1.4186160206783E+00 +3678,2,-1.5116995541693E+00 +3679,2,-1.7541362631173E+00 +3680,2,-1.9245308182517E+00 +3681,2,-1.6979011992314E+00 +3682,2,-1.6281792317965E+00 +3683,2,-1.5573622080776E+00 +3684,2,-1.5729498305186E+00 +3685,2,-1.7039067749428E+00 +3686,2,-2.1343105488490E+00 +3687,2,-2.1814702448479E+00 +3688,2,-2.1458991345144E+00 +3689,2,-1.5194728962408E+00 +3690,2,-1.6753727355039E+00 +3691,2,-1.5384879615139E+00 +3692,2,-1.7669024348203E+00 +3693,2,-1.7808942420321E+00 +3694,2,-2.3263891853324E+00 +3695,2,-2.0167839187757E+00 +3696,2,-1.7907038336163E+00 +3697,2,-1.8523273196290E+00 +3698,2,-1.7118129289806E+00 +3699,2,-1.5285949533964E+00 +3700,2,-2.1667674259530E+00 +3701,2,-1.6671769596390E+00 +3702,2,-1.5895445785293E+00 +3703,2,-1.4246811874679E+00 +3704,2,-1.4804200343186E+00 +3705,2,-2.0729108334139E+00 +3706,2,-1.9596619311929E+00 +3707,2,-1.2377042754424E+00 +3708,2,-1.2219970755010E+00 +3709,2,-1.2588917508223E+00 +3710,2,-1.2984133435152E+00 +3711,2,-1.3569955890813E+00 +3712,2,-1.4793984866725E+00 +3713,2,-1.3152362806103E+00 +3714,2,-1.5621109060077E+00 +3715,2,-1.7294011341094E+00 +3716,2,-1.6101442888403E+00 +3717,2,-2.0931246605878E+00 +3718,2,-2.0194444532177E+00 +3719,2,-1.6893148540315E+00 +3720,2,-1.6293723730929E+00 +3721,2,-1.8219188860532E+00 +3722,2,-1.7954110544363E+00 +3723,2,-1.1836319785144E+00 +3724,2,-1.5885833637400E+00 +3725,2,-1.6265654945511E+00 +3726,2,-1.5829344039891E+00 +3727,2,-1.5244011127255E+00 +3728,2,-1.3583899359205E+00 +3729,2,-1.5727066573517E+00 +3730,2,-1.8048342752482E+00 +3731,2,-1.9336837271853E+00 +3732,2,-2.0247951111463E+00 +3733,2,-1.6952570760134E+00 +3734,2,-2.1459326026293E+00 +3735,2,-2.0704381853994E+00 +3736,2,-1.4784230912140E+00 +3737,2,-1.4836351893933E+00 +3738,2,-1.3886977062046E+00 +3739,2,-2.1906532072922E+00 +3740,2,-1.5070409415828E+00 +3741,2,-1.5309796346409E+00 +3742,2,-1.4818905143071E+00 +3743,2,-1.5234140520208E+00 +3744,2,-1.4932916481828E+00 +3745,2,-1.4959376255100E+00 +3746,2,-1.4995449195388E+00 +3747,2,-1.5347975692403E+00 +3748,2,-1.5163666241555E+00 +3749,2,-1.5444261903782E+00 +3750,2,-1.5421796320399E+00 +3751,2,-1.5428776456894E+00 +3752,2,-1.4987232567039E+00 +3753,2,-1.4474035010949E+00 +3754,2,-1.5003492268090E+00 +3755,2,-1.4497503918070E+00 +3756,2,-1.4648940474060E+00 +3757,2,-1.4639345412824E+00 +3758,2,-1.4845935847368E+00 +3759,2,-1.5301476264210E+00 +3760,2,-1.4777390613311E+00 +3761,2,-1.5470671605325E+00 +3762,2,-1.5289953992967E+00 +3763,2,-1.5292510530093E+00 +3764,2,-1.5271632860831E+00 +3765,2,-1.5334241745837E+00 +3766,2,-1.5688402287128E+00 +3767,2,-1.8855028804500E+00 +3768,2,-1.5579387960299E+00 +3769,2,-1.5443395463256E+00 +3770,2,-1.6057743417462E+00 +3771,2,-1.6027377278266E+00 +3772,2,-1.6124376197893E+00 +3773,2,-1.9624262817759E+00 +3774,2,-1.9591608096820E+00 +3775,2,-2.2423041846847E+00 +3776,2,-2.2117700024116E+00 +3777,2,-2.2586197021710E+00 +3778,2,-2.2266782345862E+00 +3779,2,-1.6867834448093E+00 +3780,2,-1.6380823939697E+00 +3781,2,-1.8325196557596E+00 +3782,2,-1.7577607695113E+00 +3783,2,-1.9421732553139E+00 +3784,2,-1.5232565889454E+00 +3785,2,-1.5244476667937E+00 +3786,2,-1.7507139724706E+00 +3787,2,-1.6235827667191E+00 +3788,2,-1.9526575961584E+00 +3789,2,-1.5807773776991E+00 +3790,2,-1.4613206632502E+00 +3791,2,-2.2416455316315E+00 +3792,2,-2.1561218131864E+00 +3793,2,-1.5677383373358E+00 +3794,2,-1.5570777234676E+00 +3795,2,-1.6262562138565E+00 +3796,2,-1.5708610646546E+00 +3797,2,-1.8124822837949E+00 +3798,2,-1.5468205459870E+00 +3799,2,-1.6313882143207E+00 +3800,2,-2.0239992791344E+00 +3801,2,-2.3912897579907E+00 +3802,2,-2.0242289636241E+00 +3803,2,-1.9718527227338E+00 +3804,2,-2.0032076936690E+00 +3805,2,-1.2983765172642E+00 +3806,2,-1.1954258796346E+00 +3807,2,-1.3904085173940E+00 +3808,2,-2.0030601278192E+00 +3809,2,-1.7356492321759E+00 +3810,2,-1.8502596071068E+00 +3811,2,-1.8001362330790E+00 +3812,2,-1.6951464489027E+00 +3813,2,-1.5771922821548E+00 +3814,2,-1.4255504627043E+00 +3815,2,-1.6096376843707E+00 +3816,2,-1.6073546899936E+00 +3817,2,-1.5455308106294E+00 +3818,2,-1.5848040069660E+00 +3819,2,-2.3112632842032E+00 +3820,2,-2.1095615077477E+00 +3821,2,-2.1897412172593E+00 +3822,2,-1.6974439773908E+00 +3823,2,-1.8531238135110E+00 +3824,2,-1.6425152193413E+00 +3825,2,-2.0381588056010E+00 +3826,2,-1.9384698311614E+00 +3827,2,-2.1122090302796E+00 +3828,2,-2.2521818616844E+00 +3829,2,-2.0786231945307E+00 +3830,2,-2.2888512385691E+00 +3831,2,-2.0926467067713E+00 +3832,2,-2.0715936113111E+00 +3833,2,-1.3678785466237E+00 +3834,2,-1.4849853434415E+00 +3835,2,-1.4750937615863E+00 +3836,2,-1.4872158291614E+00 +3837,2,-1.5268017052254E+00 +3838,2,-1.5377672316449E+00 +3839,2,-1.5260368153231E+00 +3840,2,-1.4381949238118E+00 +3841,2,-1.5172951871555E+00 +3842,2,-1.5594734249354E+00 +3843,2,-1.7716046296897E+00 +3844,2,-1.5191915643932E+00 +3845,2,-1.4550054256524E+00 +3846,2,-1.4910852003972E+00 +3847,2,-1.4699104957348E+00 +3848,2,-1.4643053573049E+00 +3849,2,-1.4469819315899E+00 +3850,2,-1.4629662217545E+00 +3851,2,-1.5027187548727E+00 +3852,2,-1.4455883064122E+00 +3853,2,-1.5086767048667E+00 +3854,2,-1.5400883580756E+00 +3855,2,-1.4167766003639E+00 +3856,2,-1.5977492950149E+00 +3857,2,-1.6237965299008E+00 +3858,2,-1.6176691540837E+00 +3859,2,-1.7249273506226E+00 +3860,2,-1.5185364080033E+00 +3861,2,-1.9220766904410E+00 +3862,2,-2.2843573813596E+00 +3863,2,-1.6559386943494E+00 +3864,2,-1.7921821716775E+00 +3865,2,-1.5262860794822E+00 +3866,2,-1.6843465740959E+00 +3867,2,-2.0757941907307E+00 +3868,2,-1.6686663320810E+00 +3869,2,-1.6497334627888E+00 +3870,2,-1.6611330324766E+00 +3871,2,-1.9875805999578E+00 +3872,2,-1.8865749822773E+00 +3873,2,-2.1363293033086E+00 +3874,2,-2.1383333803188E+00 +3875,2,-2.2594727544001E+00 +3876,2,-1.9174082812065E+00 +3877,2,-1.8543478104534E+00 +3878,2,-2.2952256246255E+00 +3879,2,-2.1460340840514E+00 +3880,2,-2.3468330312174E+00 +3881,2,-1.6306459843088E+00 +3882,2,-1.3276850115017E+00 +3883,2,-1.2798978367004E+00 +3884,2,-2.4517671575989E+00 +3885,2,-2.5196431058682E+00 +3886,2,-1.5911730669997E+00 +3887,2,-1.9913018513942E+00 +3888,2,-1.7172433965543E+00 +3889,2,-1.2173194138936E+00 +3890,2,-2.0402456022872E+00 +3891,2,-1.3642701178595E+00 +3892,2,-1.4509182635322E+00 +3893,2,-2.1961376541777E+00 +3894,2,-1.9670766772022E+00 +3895,2,-1.5079702832386E+00 +3896,2,-1.6188637254564E+00 +3897,2,-1.7112725960971E+00 +3898,2,-1.6370176434472E+00 +3899,2,-1.9316972811956E+00 +3900,2,-1.6642885160044E+00 +3901,2,-1.5060358215848E+00 +3902,2,-2.2199261893923E+00 +3903,2,-1.9033012418496E+00 +3904,2,-1.7511397074053E+00 +3905,2,-1.4053069725961E+00 +3906,2,-1.6000601660892E+00 +3907,2,-1.5931951400956E+00 +3908,2,-1.3937983247656E+00 +3909,2,-1.4138811946992E+00 +3910,2,-1.4957132683106E+00 +3911,2,-1.4999247815629E+00 +3912,2,-1.3679333539082E+00 +3913,2,-1.7166146402515E+00 +3914,2,-2.2318441614917E+00 +3915,2,-1.5927758961862E+00 +3916,2,-1.7475496165652E+00 +3917,2,-2.1452541233265E+00 +3918,2,-1.8219829945205E+00 +3919,2,-1.4145787663521E+00 +3920,2,-1.8077308235539E+00 +3921,2,-1.9148082293929E+00 +3922,2,-1.6169490643388E+00 +3923,2,-1.5706657926135E+00 +3924,2,-1.7980718975186E+00 +3925,2,-1.4947044087552E+00 +3926,2,-1.7727280436254E+00 +3927,2,-1.9305567469373E+00 +3928,2,-1.7226317140709E+00 +3929,2,-1.8436588043782E+00 +3930,2,-1.9452002882888E+00 +3931,2,-1.9158928071680E+00 +3932,2,-1.2993691147416E+00 +3933,2,-1.7699005786204E+00 +3934,2,-1.7859776571077E+00 + + + +*********************************************************** +** Outputs --> frd file +*NODE FILE +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +*END STEP + +*********************************************************** +** CalculiX Input file +** written by --> FreeCAD 0.20.25209 (Git) +** written on --> Fri Jul 9 13:15:23 2021 +** file name --> constraint_transform_torque.FCStd +** analysis name --> Analysis +** +** +*********************************************************** +** About units: +** See ccx manual, ccx does not know about any unit. +** Golden rule: The user must make sure that the numbers he provides have consistent units. +** The user is the FreeCAD calculix writer module ;-) +** +** The unit system which is used at Guido Dhondt's company: mm, N, s, K +** Since Length and Mass are connected by Force, if Length is mm the Mass is in t to get N +** The following units are used to write to inp file: +** +** Length: mm (this includes the mesh geometry) +** Mass: t +** TimeSpan: s +** Temperature: K +** +** This leads to: +** Force: N +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) +** Density: t/mm^3 +** Gravity: mm/s^2 +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K +** diff --git a/src/Mod/Fem/femtest/data/calculix/frequency_beamsimple.inp b/src/Mod/Fem/femtest/data/calculix/frequency_beamsimple.inp index c6976e95b5..d176b65293 100644 --- a/src/Mod/Fem/femtest/data/calculix/frequency_beamsimple.inp +++ b/src/Mod/Fem/femtest/data/calculix/frequency_beamsimple.inp @@ -16993,13 +16993,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialSolid Evolumes *********************************************************** ** constraints displacement node sets -** written by write_node_sets_constraints_displacement function ** Fix_XYZ *NSET,NSET=Fix_XYZ 1, @@ -17025,25 +17023,21 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 -** Density's unit is t/mm^3 +** see information about units at file end ** FreeCAD material name: Steel-Generic ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000, 0.300 +200000,0.3 *DENSITY -7.900e-09 +7.9E-09 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *FREQUENCY 10,0.01,1000000.0 @@ -17051,7 +17045,6 @@ Evolumes *********************************************************** ** Displacement constraint applied -** written by write_constraints_displacement function ** Fix_XYZ *BOUNDARY Fix_XYZ,1 @@ -17065,19 +17058,16 @@ Fix_YZ,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE S, E *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.20.25028 (Git) ** written on --> Tue Jun 8 22:18:58 2021 ** file name --> test.FCStd @@ -17101,9 +17091,9 @@ S, E ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fiveboxes.inp b/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fiveboxes.inp index ad75fb0b7c..53ba2564cb 100644 --- a/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fiveboxes.inp +++ b/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fiveboxes.inp @@ -19961,7 +19961,6 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterial1Solid 819, 820, @@ -27283,7 +27282,6 @@ Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 13, @@ -27611,41 +27609,37 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Concrete-Generic ** FemMaterial1 *MATERIAL, NAME=FemMaterial1 *ELASTIC -32000, 0.170 +32000,0.17 ** FreeCAD material name: PLA ** FemMaterial2 *MATERIAL, NAME=FemMaterial2 *ELASTIC -3640, 0.360 +3640,0.36 ** FreeCAD material name: Steel-Generic ** FemMaterial3 *MATERIAL, NAME=FemMaterial3 *ELASTIC -200000, 0.300 +200000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=FemMaterial1Solid, MATERIAL=FemMaterial1 *SOLID SECTION, ELSET=FemMaterial2Solid, MATERIAL=FemMaterial2 *SOLID SECTION, ELSET=FemMaterial3Solid, MATERIAL=FemMaterial3 *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -27655,7 +27649,6 @@ ConstraintFixed,3 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node loads on shape: Box1:Face6 @@ -29183,7 +29176,6 @@ ConstraintFixed,3 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -29195,12 +29187,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21802 +11 (Git) ** written on --> Fri Jul 3 22:09:27 2020 ** file name --> @@ -29224,9 +29214,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fivefaces.inp b/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fivefaces.inp index 250de8894d..4976a607f9 100644 --- a/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fivefaces.inp +++ b/src/Mod/Fem/femtest/data/calculix/material_multiple_bendingbeam_fivefaces.inp @@ -1897,7 +1897,6 @@ Efaces *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterial1ShellThickness 367, 368, @@ -2494,7 +2493,6 @@ Efaces *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 1, @@ -2522,44 +2520,40 @@ Efaces *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Concrete-Generic ** FemMaterial1 *MATERIAL, NAME=FemMaterial1 *ELASTIC -32000, 0.170 +32000,0.17 ** FreeCAD material name: PLA ** FemMaterial2 *MATERIAL, NAME=FemMaterial2 *ELASTIC -3640, 0.360 +3640,0.36 ** FreeCAD material name: Steel-Generic ** FemMaterial3 *MATERIAL, NAME=FemMaterial3 *ELASTIC -200000, 0.300 +200000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SHELL SECTION, ELSET=FemMaterial1ShellThickness, MATERIAL=FemMaterial1 -10.0 +10 *SHELL SECTION, ELSET=FemMaterial2ShellThickness, MATERIAL=FemMaterial2 -10.0 +10 *SHELL SECTION, ELSET=FemMaterial3ShellThickness, MATERIAL=FemMaterial3 -10.0 +10 *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -2572,7 +2566,6 @@ ConstraintFixed,6 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce ** node loads on shape: Face1:Edge4 @@ -2694,7 +2687,6 @@ ConstraintFixed,6 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE, OUTPUT=2d U *EL FILE @@ -2706,12 +2698,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21802 +11 (Git) ** written on --> Sat Jul 4 00:18:53 2020 ** file name --> @@ -2735,9 +2725,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/material_multiple_tensionrod_twoboxes.inp b/src/Mod/Fem/femtest/data/calculix/material_multiple_tensionrod_twoboxes.inp index aaa569e805..6ba8538f1c 100644 --- a/src/Mod/Fem/femtest/data/calculix/material_multiple_tensionrod_twoboxes.inp +++ b/src/Mod/Fem/femtest/data/calculix/material_multiple_tensionrod_twoboxes.inp @@ -865,7 +865,6 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialLowSolid 149, 150, @@ -1167,7 +1166,6 @@ Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 9, @@ -1214,35 +1212,31 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Aluminium-Generic ** MechanicalMaterialLow *MATERIAL, NAME=MechanicalMaterialLow *ELASTIC -70000, 0.350 +70000,0.35 ** FreeCAD material name: Steel-Generic ** MechanicalMaterialUpp *MATERIAL, NAME=MechanicalMaterialUpp *ELASTIC -200000, 0.300 +200000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialLowSolid, MATERIAL=MechanicalMaterialLow *SOLID SECTION, ELSET=MechanicalMaterialUppSolid, MATERIAL=MechanicalMaterialUpp *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -1252,30 +1246,28 @@ ConstraintFixed,3 *********************************************************** ** constraints pressure element face loads -** written by write_constraints_pressure function ** ConstraintPressure *DLOAD ** ConstraintPressure: face load -61,P3,1000.0 -74,P3,1000.0 -75,P3,1000.0 -80,P2,1000.0 -96,P3,1000.0 -99,P3,1000.0 -100,P4,1000.0 -102,P3,1000.0 -117,P3,1000.0 -118,P3,1000.0 -121,P3,1000.0 -124,P4,1000.0 -127,P2,1000.0 -131,P4,1000.0 -132,P4,1000.0 -134,P2,1000.0 +61,P3,1000 +74,P3,1000 +75,P3,1000 +80,P2,1000 +96,P3,1000 +99,P3,1000 +100,P4,1000 +102,P3,1000 +117,P3,1000 +118,P3,1000 +121,P3,1000 +124,P4,1000 +127,P2,1000 +131,P4,1000 +132,P4,1000 +134,P2,1000 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -1287,12 +1279,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.19432 (Git) ** written on --> Fri Jan 31 08:06:05 2020 ** file name --> @@ -1316,9 +1306,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/material_nonlinear.inp b/src/Mod/Fem/femtest/data/calculix/material_nonlinear.inp index 6aa3d5d639..a2d2f5190d 100644 --- a/src/Mod/Fem/femtest/data/calculix/material_nonlinear.inp +++ b/src/Mod/Fem/femtest/data/calculix/material_nonlinear.inp @@ -19774,13 +19774,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=Material_linSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 1, @@ -19989,13 +19987,12 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: CalculiX-Steel ** Material_lin *MATERIAL, NAME=Material_lin *ELASTIC -210000, 0.300 +210000,0.3 *PLASTIC 240.0, 0.0 270.0, 0.025 @@ -20003,19 +20000,16 @@ Evolumes *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=Material_linSolid, MATERIAL=Material_lin *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP, NLGEOM *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -20025,94 +20019,92 @@ ConstraintFixed,3 *********************************************************** ** constraints pressure element face loads -** written by write_constraints_pressure function ** ConstraintPressure *DLOAD ** ConstraintPressure: face load -4796,P3,-130.0 -4799,P4,-130.0 -4872,P4,-130.0 -4875,P1,-130.0 -5260,P3,-130.0 -5261,P4,-130.0 -5286,P3,-130.0 -5287,P3,-130.0 -5527,P1,-130.0 -5528,P3,-130.0 -5647,P1,-130.0 -5648,P1,-130.0 -5886,P1,-130.0 -5887,P1,-130.0 -5993,P1,-130.0 -5994,P1,-130.0 -6114,P1,-130.0 -6115,P1,-130.0 -6591,P3,-130.0 -6592,P3,-130.0 -6685,P3,-130.0 -6686,P3,-130.0 -6827,P4,-130.0 -6828,P4,-130.0 -7016,P4,-130.0 -7017,P4,-130.0 -7221,P1,-130.0 -7222,P1,-130.0 -7360,P3,-130.0 -7361,P3,-130.0 -7863,P3,-130.0 -7864,P3,-130.0 -8589,P1,-130.0 -8590,P3,-130.0 -9169,P4,-130.0 -9170,P4,-130.0 -10527,P4,-130.0 -10530,P1,-130.0 -10580,P4,-130.0 -10583,P1,-130.0 -10735,P3,-130.0 -10736,P3,-130.0 -10741,P4,-130.0 -10742,P3,-130.0 -10753,P1,-130.0 -10759,P4,-130.0 -10791,P4,-130.0 -10793,P1,-130.0 -10811,P4,-130.0 -10831,P4,-130.0 -10832,P1,-130.0 -10845,P1,-130.0 -10846,P1,-130.0 -10862,P4,-130.0 -10865,P1,-130.0 -10868,P3,-130.0 -10869,P1,-130.0 -10870,P3,-130.0 -10871,P3,-130.0 -10881,P1,-130.0 -10882,P4,-130.0 -10885,P1,-130.0 -10886,P1,-130.0 -10902,P1,-130.0 -10903,P1,-130.0 -10926,P1,-130.0 -10927,P1,-130.0 -10930,P1,-130.0 -10933,P4,-130.0 -11005,P1,-130.0 -11006,P1,-130.0 -11009,P1,-130.0 -11010,P4,-130.0 -11018,P1,-130.0 -11019,P1,-130.0 -11054,P4,-130.0 -11055,P4,-130.0 -11114,P3,-130.0 -11157,P1,-130.0 -11158,P4,-130.0 +4796,P3,-130 +4799,P4,-130 +4872,P4,-130 +4875,P1,-130 +5260,P3,-130 +5261,P4,-130 +5286,P3,-130 +5287,P3,-130 +5527,P1,-130 +5528,P3,-130 +5647,P1,-130 +5648,P1,-130 +5886,P1,-130 +5887,P1,-130 +5993,P1,-130 +5994,P1,-130 +6114,P1,-130 +6115,P1,-130 +6591,P3,-130 +6592,P3,-130 +6685,P3,-130 +6686,P3,-130 +6827,P4,-130 +6828,P4,-130 +7016,P4,-130 +7017,P4,-130 +7221,P1,-130 +7222,P1,-130 +7360,P3,-130 +7361,P3,-130 +7863,P3,-130 +7864,P3,-130 +8589,P1,-130 +8590,P3,-130 +9169,P4,-130 +9170,P4,-130 +10527,P4,-130 +10530,P1,-130 +10580,P4,-130 +10583,P1,-130 +10735,P3,-130 +10736,P3,-130 +10741,P4,-130 +10742,P3,-130 +10753,P1,-130 +10759,P4,-130 +10791,P4,-130 +10793,P1,-130 +10811,P4,-130 +10831,P4,-130 +10832,P1,-130 +10845,P1,-130 +10846,P1,-130 +10862,P4,-130 +10865,P1,-130 +10868,P3,-130 +10869,P1,-130 +10870,P3,-130 +10871,P3,-130 +10881,P1,-130 +10882,P4,-130 +10885,P1,-130 +10886,P1,-130 +10902,P1,-130 +10903,P1,-130 +10926,P1,-130 +10927,P1,-130 +10930,P1,-130 +10933,P4,-130 +11005,P1,-130 +11006,P1,-130 +11009,P1,-130 +11010,P4,-130 +11018,P1,-130 +11019,P1,-130 +11054,P4,-130 +11055,P4,-130 +11114,P3,-130 +11157,P1,-130 +11158,P4,-130 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U *EL FILE @@ -20124,12 +20116,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.19432 (Git) ** written on --> Fri Jan 31 08:04:49 2020 ** file name --> @@ -20153,9 +20143,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_edgeforces.inp b/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_edgeforces.inp index 3f8ba1e1c9..22fef3842b 100644 --- a/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_edgeforces.inp +++ b/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_edgeforces.inp @@ -2488,13 +2488,11 @@ Efaces *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterialShellThickness Efaces *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 3, @@ -2548,30 +2546,26 @@ Efaces *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Steel-Generic ** FemMaterial *MATERIAL, NAME=FemMaterial *ELASTIC -200000, 0.300 +200000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SHELL SECTION, ELSET=FemMaterialShellThickness, MATERIAL=FemMaterial -15.0 +15 *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -2584,7 +2578,6 @@ ConstraintFixed,6 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce1 ** node loads on shape: SquareTube:Edge9 @@ -2657,7 +2650,6 @@ ConstraintFixed,6 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE, OUTPUT=2d U *EL FILE @@ -2669,12 +2661,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21972 +18 (Git) ** written on --> Fri Jul 17 22:12:38 2020 ** file name --> @@ -2698,9 +2688,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_nodeforces.inp b/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_nodeforces.inp index 20c6d9404a..099ef3bea0 100644 --- a/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_nodeforces.inp +++ b/src/Mod/Fem/femtest/data/calculix/square_pipe_end_twisted_nodeforces.inp @@ -2488,13 +2488,11 @@ Efaces *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=FemMaterialShellThickness Efaces *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 3, @@ -2548,30 +2546,26 @@ Efaces *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 +** see information about units at file end ** FreeCAD material name: Steel-Generic ** FemMaterial *MATERIAL, NAME=FemMaterial *ELASTIC -200000, 0.300 +200000,0.3 *********************************************************** ** Sections -** written by write_femelementsets function *SHELL SECTION, ELSET=FemMaterialShellThickness, MATERIAL=FemMaterial -15.0 +15 *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP *STATIC *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -2584,7 +2578,6 @@ ConstraintFixed,6 *********************************************************** ** constraints force node loads -** written by write_constraints_force function *CLOAD ** ConstraintForce1 ** node load on shape: Forces:Vertex1 @@ -2769,7 +2762,6 @@ ConstraintFixed,6 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE, OUTPUT=2d U *EL FILE @@ -2781,12 +2773,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.21972 +18 (Git) ** written on --> Fri Jul 17 22:14:04 2020 ** file name --> @@ -2810,9 +2800,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/thermomech_bimetall.inp b/src/Mod/Fem/femtest/data/calculix/thermomech_bimetall.inp index 46c0d42a1c..5d20a88b1d 100644 --- a/src/Mod/Fem/femtest/data/calculix/thermomech_bimetall.inp +++ b/src/Mod/Fem/femtest/data/calculix/thermomech_bimetall.inp @@ -4609,7 +4609,6 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MaterialCopperSolid 1431, 1432, @@ -6115,7 +6114,6 @@ Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** ConstraintFixed *NSET,NSET=ConstraintFixed 1, @@ -6162,7 +6160,6 @@ Evolumes *********************************************************** ** constraints temperature node sets -** written by write_node_sets_constraints_temperature function ** ConstraintTemperature *NSET,NSET=ConstraintTemperature 1, @@ -8178,55 +8175,49 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 -** Thermal conductivity unit is kW/mm/K = t*mm/K*s^3 -** Specific Heat unit is kJ/t/K = mm^2/s^2/K +** see information about units at file end ** FreeCAD material name: Copper ** MaterialCopper *MATERIAL, NAME=MaterialCopper *ELASTIC -130000, 0.354 +130000,0.354 *CONDUCTIVITY -200.000 +200 *EXPANSION -2.000e-05 +2E-05 *SPECIFIC HEAT -3.850e+08 +385000000 ** FreeCAD material name: Invar ** MaterialInvar *MATERIAL, NAME=MaterialInvar *ELASTIC -137000, 0.280 +137000,0.28 *CONDUCTIVITY -13.000 +13 *EXPANSION -1.200e-06 +1.2E-06 *SPECIFIC HEAT -5.100e+08 +510000000 *********************************************************** ** Initial temperature constraint -** written by write_constraints_initialtemperature function *INITIAL CONDITIONS,TYPE=TEMPERATURE -Nall,273.0 +** ConstraintInitialTemperature +Nall,273 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MaterialCopperSolid, MATERIAL=MaterialCopper *SOLID SECTION, ELSET=MaterialInvarSolid, MATERIAL=MaterialInvar *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP, INC=2000 *COUPLED TEMPERATURE-DISPLACEMENT, SOLVER=SPOOLES, STEADY STATE 1.0,1.0 *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** ConstraintFixed *BOUNDARY ConstraintFixed,1 @@ -8236,15 +8227,13 @@ ConstraintFixed,3 *********************************************************** ** Fixed temperature constraint applied -** written by write_constraints_temperature function ** ConstraintTemperature *BOUNDARY -ConstraintTemperature,11,11,373.0 +ConstraintTemperature,11,11,373 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U, NT *EL FILE @@ -8256,12 +8245,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.19.19501 (Git) ** written on --> Thu Feb 6 23:22:33 2020 ** file name --> @@ -8285,9 +8272,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/thermomech_flow1D.inp b/src/Mod/Fem/femtest/data/calculix/thermomech_flow1D.inp index e6ceb8cee9..22a885456a 100644 --- a/src/Mod/Fem/femtest/data/calculix/thermomech_flow1D.inp +++ b/src/Mod/Fem/femtest/data/calculix/thermomech_flow1D.inp @@ -57,7 +57,6 @@ Eedges *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=M0F0 1, *ELSET,ELSET=M0F1 @@ -85,61 +84,53 @@ Eedges *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 -** Density's unit is t/mm^3 -** Thermal conductivity unit is kW/mm/K = t*mm/K*s^3 -** Specific Heat unit is kJ/t/K = mm^2/s^2/K +** see information about units at file end ** FreeCAD material name: Water ** FluidMaterial *MATERIAL, NAME=FluidMaterial *DENSITY -9.980e-10 +9.98E-10 *FLUID CONSTANTS -4.182e+06, 1.003e-09 +4182000,1.003E-09 *********************************************************** ** Sections -** written by write_femelementsets function *FLUID SECTION, ELSET=M0F0, TYPE=PIPE INOUT, MATERIAL=FluidMaterial *FLUID SECTION, ELSET=M0F1, TYPE=PIPE ENTRANCE, MATERIAL=FluidMaterial -31416.0,25133.0 +31416,25133 *FLUID SECTION, ELSET=M0F2, TYPE=PIPE MANNING, MATERIAL=FluidMaterial -31416.0,50.0,0.002 +31416,50,0.002 *FLUID SECTION, ELSET=M0F3, TYPE=PIPE BEND, MATERIAL=FluidMaterial -31416.0,1.5,45.0,0.4 +31416,1.5,45,0.4 *FLUID SECTION, ELSET=M0F4, TYPE=PIPE ENLARGEMENT, MATERIAL=FluidMaterial -31416.0,70686.0 +31416,70686 *FLUID SECTION, ELSET=M0F5, TYPE=PIPE MANNING, MATERIAL=FluidMaterial -70686.0,75.0,0.002 +70686,75,0.002 *FLUID SECTION, ELSET=M0F6, TYPE=PIPE CONTRACTION, MATERIAL=FluidMaterial -70686.0,17671.0 +70686,17671 *FLUID SECTION, ELSET=M0F7, TYPE=PIPE MANNING, MATERIAL=FluidMaterial -17671.0,37.5,0.002 +17671,37.5,0.002 *FLUID SECTION, ELSET=M0F8, TYPE=PIPE GATE VALVE, MATERIAL=FluidMaterial -17671.0,0.5 +17671,0.5 *FLUID SECTION, ELSET=M0F9, TYPE=PIPE ENLARGEMENT, MATERIAL=FluidMaterial -17671.0,1e+12 +17671,1000000000000 *FLUID SECTION, ELSET=M0F10, TYPE=PIPE INOUT, MATERIAL=FluidMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP, INC=2000 *COUPLED TEMPERATURE-DISPLACEMENT, STEADY STATE 1.0,1.0 *********************************************************** ** Self weight Constraint -** written by write_constraints_selfweight function ** ConstraintSelfWeight *DLOAD -Eall,GRAV,9806,0.0,0.0,-1.0 +Eall,GRAV,9806,0,0,-1 *********************************************************** ** FluidSection constraints -** written by write_constraints_fluidsection function ** ElementFluid1D **Fluid Section Inlet *BOUNDARY @@ -160,17 +151,14 @@ Eall,GRAV,9806,0.0,0.0,-1.0 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE, OUTPUT=2d MF, PS *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.17.11265 (Git) ** written on --> Fri Jun 9 11:49:27 2017 ** file name --> Resevoir_rev1.fcstd @@ -194,9 +182,9 @@ MF, PS ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/calculix/thermomech_spine.inp b/src/Mod/Fem/femtest/data/calculix/thermomech_spine.inp index c3510dee50..290687e1c6 100644 --- a/src/Mod/Fem/femtest/data/calculix/thermomech_spine.inp +++ b/src/Mod/Fem/femtest/data/calculix/thermomech_spine.inp @@ -73,13 +73,11 @@ Evolumes *********************************************************** ** Element sets for materials and FEM element type (solid, shell, beam, fluid) -** written by write_element_sets_material_and_femelement_type function *ELSET,ELSET=MechanicalMaterialSolid Evolumes *********************************************************** ** constraints fixed node sets -** written by write_node_sets_constraints_fixed function ** FemConstraintFixed *NSET,NSET=FemConstraintFixed 5, @@ -94,7 +92,6 @@ Evolumes *********************************************************** ** constraints temperature node sets -** written by write_node_sets_constraints_temperature function ** FemConstraintTemperature *NSET,NSET=FemConstraintTemperature 5, @@ -109,36 +106,31 @@ Evolumes *********************************************************** ** Materials -** written by write_materials function -** Young's modulus unit is MPa = N/mm2 -** Thermal conductivity unit is kW/mm/K = t*mm/K*s^3 -** Specific Heat unit is kJ/t/K = mm^2/s^2/K +** see information about units at file end ** FreeCAD material name: Steel-Generic ** MechanicalMaterial *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000, 0.300 +200000,0.3 *CONDUCTIVITY -43.270 +43.27 *EXPANSION -1.200e-05 +1.2E-05 *SPECIFIC HEAT -5.000e+08 +500000000 *********************************************************** ** Initial temperature constraint -** written by write_constraints_initialtemperature function *INITIAL CONDITIONS,TYPE=TEMPERATURE -Nall,300.0 +** FemConstraintInitialTemperature +Nall,300 *********************************************************** ** Sections -** written by write_femelementsets function *SOLID SECTION, ELSET=MechanicalMaterialSolid, MATERIAL=MechanicalMaterial *********************************************************** ** At least one step is needed to run an CalculiX analysis of FreeCAD -** written by write_step_begin function *STEP, INC=2000 *CONTROLS, PARAMETERS=TIME INCREMENTATION 4,8,9,200,10,400,,200,, @@ -148,7 +140,6 @@ Nall,300.0 *********************************************************** ** Fixed Constraints -** written by write_constraints_fixed function ** FemConstraintFixed *BOUNDARY FemConstraintFixed,1 @@ -158,7 +149,6 @@ FemConstraintFixed,3 *********************************************************** ** Fixed temperature constraint applied -** written by write_constraints_temperature function ** FemConstraintTemperature *BOUNDARY FemConstraintTemperature,11,11,310.93 @@ -166,7 +156,6 @@ FemConstraintTemperature,11,11,310.93 *********************************************************** ** constraints heatflux element face heatflux -** written by write_constraints_heatflux function ** FemConstraintHeatflux *FILM ** Heat flux on face Box:Face3 @@ -192,7 +181,6 @@ FemConstraintTemperature,11,11,310.93 *********************************************************** ** Outputs --> frd file -** written by write_outputs_types function *NODE FILE U, NT *EL FILE @@ -204,12 +192,10 @@ RF *********************************************************** -** written by write_step_end function *END STEP *********************************************************** ** CalculiX Input file -** written by write_footer function ** written by --> FreeCAD 0.17.9749 (Git) ** written on --> Sun Jan 22 14:33:57 2017 ** file name --> @@ -233,9 +219,9 @@ RF ** ** This leads to: ** Force: N -** Pressure: N/mm^2 +** Pressure: N/mm^2 == MPa (Young's Modulus has unit Pressure) ** Density: t/mm^3 ** Gravity: mm/s^2 -** Thermal conductivity: t*mm/K/s^3 (same as W/m/K) -** Specific Heat: mm^2/s^2/K (same as J/kg/K) +** Thermal conductivity: t*mm/K/s^3 == as W/m/K == kW/mm/K +** Specific Heat: mm^2/s^2/K = J/kg/K == kJ/t/K ** diff --git a/src/Mod/Fem/femtest/data/mystran/.bdf b/src/Mod/Fem/femtest/data/mystran/.bdf new file mode 100644 index 0000000000..2e8ec7a2d4 --- /dev/null +++ b/src/Mod/Fem/femtest/data/mystran/.bdf @@ -0,0 +1,101 @@ +$pyNastran: version=msc +$pyNastran: punch=False +$pyNastran: encoding=utf-8 +$pyNastran: nnodes=36 +$pyNastran: nelements=25 +$EXECUTIVE CONTROL DECK +SOL 101 +CEND +$CASE CONTROL DECK +ECHO = NONE +TITLE = pyNastran plate example for Mystran +SUBCASE 1 + DISPLACEMENT(SORT1,REAL) = ALL + LOAD = 2 + SPC = 2 + SPCFORCES(SORT1,REAL) = ALL + STRESS(SORT1,REAL,VONMISES,BILIN) = ALL + SUBTITLE = Default +BEGIN BULK +$PARAMS +PARAM POST -1 +PARAM PRTMAXIM YES +$NODES +GRID 1 0. 0. 0. +GRID 2 2. 0. 0. +GRID 3 4. 0. 0. +GRID 4 6. 0. 0. +GRID 5 8. 0. 0. +GRID 6 10. 0. 0. +GRID 7 0. 2. 0. +GRID 8 2. 2. 0. +GRID 9 4. 2. 0. +GRID 10 6. 2. 0. +GRID 11 8. 2. 0. +GRID 12 10. 2. 0. +GRID 13 0. 4. 0. +GRID 14 2. 4. 0. +GRID 15 4. 4. 0. +GRID 16 6. 4. 0. +GRID 17 8. 4. 0. +GRID 18 10. 4. 0. +GRID 19 0. 6. 0. +GRID 20 2. 6. 0. +GRID 21 4. 6. 0. +GRID 22 6. 6. 0. +GRID 23 8. 6. 0. +GRID 24 10. 6. 0. +GRID 25 0. 8. 0. +GRID 26 2. 8. 0. +GRID 27 4. 8. 0. +GRID 28 6. 8. 0. +GRID 29 8. 8. 0. +GRID 30 10. 8. 0. +GRID 31 0. 10. 0. +GRID 32 2. 10. 0. +GRID 33 4. 10. 0. +GRID 34 6. 10. 0. +GRID 35 8. 10. 0. +GRID 36 10. 10. 0. +$ELEMENTS +CQUAD4 1 1 1 2 8 7 +CQUAD4 2 1 2 3 9 8 +CQUAD4 3 1 3 4 10 9 +CQUAD4 4 1 4 5 11 10 +CQUAD4 5 1 5 6 12 11 +CQUAD4 6 1 7 8 14 13 +CQUAD4 7 1 8 9 15 14 +CQUAD4 8 1 9 10 16 15 +CQUAD4 9 1 10 11 17 16 +CQUAD4 10 1 11 12 18 17 +CQUAD4 11 1 13 14 20 19 +CQUAD4 12 1 14 15 21 20 +CQUAD4 13 1 15 16 22 21 +CQUAD4 14 1 16 17 23 22 +CQUAD4 15 1 17 18 24 23 +CQUAD4 16 1 19 20 26 25 +CQUAD4 17 1 20 21 27 26 +CQUAD4 18 1 21 22 28 27 +CQUAD4 19 1 22 23 29 28 +CQUAD4 20 1 23 24 30 29 +CQUAD4 21 1 25 26 32 31 +CQUAD4 22 1 26 27 33 32 +CQUAD4 23 1 27 28 34 33 +CQUAD4 24 1 28 29 35 34 +CQUAD4 25 1 29 30 36 35 +$PROPERTIES +PSHELL 1 1 .3 1 1 +$MATERIALS +MAT1 1 210000. .3 +$LOADS +LOAD 2 1. 1. 1 +FORCE 1 6 100. 1. 0. 0. +FORCE 1 12 100. 1. 0. 0. +FORCE 1 18 100. 1. 0. 0. +FORCE 1 24 100. 1. 0. 0. +FORCE 1 30 100. 1. 0. 0. +FORCE 1 36 100. 1. 0. 0. +$SPCs +SPCADD 2 1 +SPC1 1 123456 1 7 13 19 25 31 +ENDDATA diff --git a/src/Mod/Fem/femtest/data/mystran/__init__.py b/src/Mod/Fem/femtest/data/mystran/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_quad4.bdf b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_quad4.bdf new file mode 100644 index 0000000000..ae5ac45419 --- /dev/null +++ b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_quad4.bdf @@ -0,0 +1,79 @@ +$pyNastran: version=msc +$pyNastran: punch=False +$pyNastran: encoding=utf-8 +$pyNastran: nnodes=27 +$pyNastran: nelements=16 +$EXECUTIVE CONTROL DECK +SOL 101 +CEND +$CASE CONTROL DECK +ECHO = NONE +TITLE = pyNastran for generating solverinput for for Mystran +SUBCASE 1 + DISPLACEMENT(SORT1,REAL) = ALL + LOAD = 1 + SPC = 1 + SPCFORCES(SORT1,REAL) = ALL + STRESS(SORT1,REAL,VONMISES,BILIN) = ALL + SUBTITLE = Default +BEGIN BULK +$PARAMS +PARAM POST -1 +$NODES +GRID 1 0. 500. 0. +GRID 2 0. 500. 1000. +GRID 3 8000. 500. 0. +GRID 4 8000. 500. 1000. +GRID 5 0. 500. 500. +GRID 6 2000. 500. 0. +GRID 7 4000. 500. 0. +GRID 8 6000. 500. 0. +GRID 9 1000. 500. 0. +GRID 10 7000. 500. 0. +GRID 11 3000. 500. 0. +GRID 12 5000. 500. 0. +GRID 13 8000. 500. 500. +GRID 14 2000. 500. 1000. +GRID 15 4000. 500. 1000. +GRID 16 6000. 500. 1000. +GRID 17 1000. 500. 1000. +GRID 18 7000. 500. 1000. +GRID 19 3000. 500. 1000. +GRID 20 5000. 500. 1000. +GRID 21 2000. 500. 500. +GRID 22 1000. 500. 500. +GRID 23 6000. 500. 500. +GRID 24 7000. 500. 500. +GRID 25 4000. 500. 500. +GRID 26 3000. 500. 500. +GRID 27 5000. 500. 500. +$ELEMENTS +CQUAD4 21 1 14 17 22 21 +CQUAD4 22 1 6 21 22 9 +CQUAD4 23 1 1 9 22 5 +CQUAD4 24 1 2 5 22 17 +CQUAD4 25 1 4 18 24 13 +CQUAD4 26 1 3 13 24 10 +CQUAD4 27 1 8 10 24 23 +CQUAD4 28 1 16 23 24 18 +CQUAD4 29 1 7 25 26 11 +CQUAD4 30 1 6 11 26 21 +CQUAD4 31 1 14 21 26 19 +CQUAD4 32 1 15 19 26 25 +CQUAD4 33 1 16 20 27 23 +CQUAD4 34 1 8 23 27 12 +CQUAD4 35 1 7 12 27 25 +CQUAD4 36 1 15 25 27 20 +$PROPERTIES +PSHELL 1 1 1000. 1 1 +$MATERIALS +MAT1 1 210000. .3 +$LOADS +LOAD 1 1. 1. 2 +FORCE 2 3 2250000. 0.-2.22-16 -1. +FORCE 2 4 2250000. 0.-2.22-16 -1. +FORCE 2 13 4500000. 0.-2.22-16 -1. +$SPCs +SPCADD 1 2 +SPC1 2 123456 1 2 5 +ENDDATA diff --git a/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_seg2.bdf b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_seg2.bdf new file mode 100644 index 0000000000..c638c7660e --- /dev/null +++ b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_seg2.bdf @@ -0,0 +1,144 @@ +$pyNastran: version=msc +$pyNastran: punch=False +$pyNastran: encoding=utf-8 +$pyNastran: nnodes=55 +$pyNastran: nelements=54 +$EXECUTIVE CONTROL DECK +SOL 101 +CEND +$CASE CONTROL DECK +ECHO = NONE +TITLE = pyNastran for generating solverinput for for Mystran +SUBCASE 1 + DISPLACEMENT(SORT1,REAL) = ALL + LOAD = 1 + SPC = 1 + SPCFORCES(SORT1,REAL) = ALL + STRESS(SORT1,REAL,VONMISES,BILIN) = ALL + SUBTITLE = Default +BEGIN BULK +$PARAMS +PARAM POST -1 +$NODES +GRID 1 0. 500. 500. +GRID 2 8000. 500. 500. +GRID 3 148.1481 500. 500. +GRID 4 296.2963 500. 500. +GRID 5 444.4444 500. 500. +GRID 6 592.5926 500. 500. +GRID 7 740.7407 500. 500. +GRID 8 888.8889 500. 500. +GRID 9 1037.037 500. 500. +GRID 10 1185.185 500. 500. +GRID 11 1333.333 500. 500. +GRID 12 1481.481 500. 500. +GRID 13 1629.63 500. 500. +GRID 14 1777.778 500. 500. +GRID 15 1925.926 500. 500. +GRID 16 2074.074 500. 500. +GRID 17 2222.222 500. 500. +GRID 18 2370.37 500. 500. +GRID 19 2518.519 500. 500. +GRID 20 2666.667 500. 500. +GRID 21 2814.815 500. 500. +GRID 22 2962.963 500. 500. +GRID 23 3111.111 500. 500. +GRID 24 3259.259 500. 500. +GRID 25 3407.407 500. 500. +GRID 26 3555.556 500. 500. +GRID 27 3703.704 500. 500. +GRID 28 3851.852 500. 500. +GRID 29 4000. 500. 500. +GRID 30 4148.148 500. 500. +GRID 31 4296.296 500. 500. +GRID 32 4444.444 500. 500. +GRID 33 4592.593 500. 500. +GRID 34 4740.741 500. 500. +GRID 35 4888.889 500. 500. +GRID 36 5037.037 500. 500. +GRID 37 5185.185 500. 500. +GRID 38 5333.333 500. 500. +GRID 39 5481.481 500. 500. +GRID 40 5629.63 500. 500. +GRID 41 5777.778 500. 500. +GRID 42 5925.926 500. 500. +GRID 43 6074.074 500. 500. +GRID 44 6222.222 500. 500. +GRID 45 6370.37 500. 500. +GRID 46 6518.519 500. 500. +GRID 47 6666.667 500. 500. +GRID 48 6814.815 500. 500. +GRID 49 6962.963 500. 500. +GRID 50 7111.111 500. 500. +GRID 51 7259.259 500. 500. +GRID 52 7407.407 500. 500. +GRID 53 7555.556 500. 500. +GRID 54 7703.704 500. 500. +GRID 55 7851.852 500. 500. +$ELEMENTS +CBAR 1 1 1 3 0. 0. 1. +CBAR 2 1 3 4 0. 0. 1. +CBAR 3 1 4 5 0. 0. 1. +CBAR 4 1 5 6 0. 0. 1. +CBAR 5 1 6 7 0. 0. 1. +CBAR 6 1 7 8 0. 0. 1. +CBAR 7 1 8 9 0. 0. 1. +CBAR 8 1 9 10 0. 0. 1. +CBAR 9 1 10 11 0. 0. 1. +CBAR 10 1 11 12 0. 0. 1. +CBAR 11 1 12 13 0. 0. 1. +CBAR 12 1 13 14 0. 0. 1. +CBAR 13 1 14 15 0. 0. 1. +CBAR 14 1 15 16 0. 0. 1. +CBAR 15 1 16 17 0. 0. 1. +CBAR 16 1 17 18 0. 0. 1. +CBAR 17 1 18 19 0. 0. 1. +CBAR 18 1 19 20 0. 0. 1. +CBAR 19 1 20 21 0. 0. 1. +CBAR 20 1 21 22 0. 0. 1. +CBAR 21 1 22 23 0. 0. 1. +CBAR 22 1 23 24 0. 0. 1. +CBAR 23 1 24 25 0. 0. 1. +CBAR 24 1 25 26 0. 0. 1. +CBAR 25 1 26 27 0. 0. 1. +CBAR 26 1 27 28 0. 0. 1. +CBAR 27 1 28 29 0. 0. 1. +CBAR 28 1 29 30 0. 0. 1. +CBAR 29 1 30 31 0. 0. 1. +CBAR 30 1 31 32 0. 0. 1. +CBAR 31 1 32 33 0. 0. 1. +CBAR 32 1 33 34 0. 0. 1. +CBAR 33 1 34 35 0. 0. 1. +CBAR 34 1 35 36 0. 0. 1. +CBAR 35 1 36 37 0. 0. 1. +CBAR 36 1 37 38 0. 0. 1. +CBAR 37 1 38 39 0. 0. 1. +CBAR 38 1 39 40 0. 0. 1. +CBAR 39 1 40 41 0. 0. 1. +CBAR 40 1 41 42 0. 0. 1. +CBAR 41 1 42 43 0. 0. 1. +CBAR 42 1 43 44 0. 0. 1. +CBAR 43 1 44 45 0. 0. 1. +CBAR 44 1 45 46 0. 0. 1. +CBAR 45 1 46 47 0. 0. 1. +CBAR 46 1 47 48 0. 0. 1. +CBAR 47 1 48 49 0. 0. 1. +CBAR 48 1 49 50 0. 0. 1. +CBAR 49 1 50 51 0. 0. 1. +CBAR 50 1 51 52 0. 0. 1. +CBAR 51 1 52 53 0. 0. 1. +CBAR 52 1 53 54 0. 0. 1. +CBAR 53 1 54 55 0. 0. 1. +CBAR 54 1 55 2 0. 0. 1. +$PROPERTIES +PBARL 1 1 BAR + 1000. 1000. 0. +$MATERIALS +MAT1 1 210000. .3 +$LOADS +LOAD 1 1. 1. 2 +FORCE 2 2 9000000. 0. 0. -1. +$SPCs +SPCADD 1 2 +SPC1 2 123456 1 +ENDDATA diff --git a/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_tria3.bdf b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_tria3.bdf new file mode 100644 index 0000000000..b16e563c60 --- /dev/null +++ b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_tria3.bdf @@ -0,0 +1,1556 @@ +$pyNastran: version=msc +$pyNastran: punch=False +$pyNastran: encoding=utf-8 +$pyNastran: nnodes=546 +$pyNastran: nelements=968 +$EXECUTIVE CONTROL DECK +SOL 101 +CEND +$CASE CONTROL DECK +ECHO = NONE +TITLE = pyNastran for generating solverinput for for Mystran +SUBCASE 1 + DISPLACEMENT(SORT1,REAL) = ALL + LOAD = 1 + SPC = 1 + SPCFORCES(SORT1,REAL) = ALL + STRESS(SORT1,REAL,VONMISES,BILIN) = ALL + SUBTITLE = Default +BEGIN BULK +$PARAMS +PARAM POST -1 +$NODES +GRID 1 0. 500. 0. +GRID 2 0. 500. 1000. +GRID 3 8000. 500. 0. +GRID 4 8000. 500. 1000. +GRID 5 0. 500.142.8571 +GRID 6 0. 500.285.7143 +GRID 7 0. 500.428.5714 +GRID 8 0. 500.571.4286 +GRID 9 0. 500.714.2857 +GRID 10 0. 500.857.1429 +GRID 11 148.1481 500. 0. +GRID 12 296.2963 500. 0. +GRID 13 444.4444 500. 0. +GRID 14 592.5926 500. 0. +GRID 15 740.7407 500. 0. +GRID 16 888.8889 500. 0. +GRID 17 1037.037 500. 0. +GRID 18 1185.185 500. 0. +GRID 19 1333.333 500. 0. +GRID 20 1481.481 500. 0. +GRID 21 1629.63 500. 0. +GRID 22 1777.778 500. 0. +GRID 23 1925.926 500. 0. +GRID 24 2074.074 500. 0. +GRID 25 2222.222 500. 0. +GRID 26 2370.37 500. 0. +GRID 27 2518.519 500. 0. +GRID 28 2666.667 500. 0. +GRID 29 2814.815 500. 0. +GRID 30 2962.963 500. 0. +GRID 31 3111.111 500. 0. +GRID 32 3259.259 500. 0. +GRID 33 3407.407 500. 0. +GRID 34 3555.556 500. 0. +GRID 35 3703.704 500. 0. +GRID 36 3851.852 500. 0. +GRID 37 4000. 500. 0. +GRID 38 4148.148 500. 0. +GRID 39 4296.296 500. 0. +GRID 40 4444.444 500. 0. +GRID 41 4592.593 500. 0. +GRID 42 4740.741 500. 0. +GRID 43 4888.889 500. 0. +GRID 44 5037.037 500. 0. +GRID 45 5185.185 500. 0. +GRID 46 5333.333 500. 0. +GRID 47 5481.481 500. 0. +GRID 48 5629.63 500. 0. +GRID 49 5777.778 500. 0. +GRID 50 5925.926 500. 0. +GRID 51 6074.074 500. 0. +GRID 52 6222.222 500. 0. +GRID 53 6370.37 500. 0. +GRID 54 6518.519 500. 0. +GRID 55 6666.667 500. 0. +GRID 56 6814.815 500. 0. +GRID 57 6962.963 500. 0. +GRID 58 7111.111 500. 0. +GRID 59 7259.259 500. 0. +GRID 60 7407.407 500. 0. +GRID 61 7555.556 500. 0. +GRID 62 7703.704 500. 0. +GRID 63 7851.852 500. 0. +GRID 64 8000. 500.142.8571 +GRID 65 8000. 500.285.7143 +GRID 66 8000. 500.428.5714 +GRID 67 8000. 500.571.4286 +GRID 68 8000. 500.714.2857 +GRID 69 8000. 500.857.1429 +GRID 70 148.1481 500. 1000. +GRID 71 296.2963 500. 1000. +GRID 72 444.4444 500. 1000. +GRID 73 592.5926 500. 1000. +GRID 74 740.7407 500. 1000. +GRID 75 888.8889 500. 1000. +GRID 76 1037.037 500. 1000. +GRID 77 1185.185 500. 1000. +GRID 78 1333.333 500. 1000. +GRID 79 1481.481 500. 1000. +GRID 80 1629.63 500. 1000. +GRID 81 1777.778 500. 1000. +GRID 82 1925.926 500. 1000. +GRID 83 2074.074 500. 1000. +GRID 84 2222.222 500. 1000. +GRID 85 2370.37 500. 1000. +GRID 86 2518.519 500. 1000. +GRID 87 2666.667 500. 1000. +GRID 88 2814.815 500. 1000. +GRID 89 2962.963 500. 1000. +GRID 90 3111.111 500. 1000. +GRID 91 3259.259 500. 1000. +GRID 92 3407.407 500. 1000. +GRID 93 3555.556 500. 1000. +GRID 94 3703.704 500. 1000. +GRID 95 3851.852 500. 1000. +GRID 96 4000. 500. 1000. +GRID 97 4148.148 500. 1000. +GRID 98 4296.296 500. 1000. +GRID 99 4444.444 500. 1000. +GRID 100 4592.593 500. 1000. +GRID 101 4740.741 500. 1000. +GRID 102 4888.889 500. 1000. +GRID 103 5037.037 500. 1000. +GRID 104 5185.185 500. 1000. +GRID 105 5333.333 500. 1000. +GRID 106 5481.481 500. 1000. +GRID 107 5629.63 500. 1000. +GRID 108 5777.778 500. 1000. +GRID 109 5925.926 500. 1000. +GRID 110 6074.074 500. 1000. +GRID 111 6222.222 500. 1000. +GRID 112 6370.37 500. 1000. +GRID 113 6518.519 500. 1000. +GRID 114 6666.667 500. 1000. +GRID 115 6814.815 500. 1000. +GRID 116 6962.963 500. 1000. +GRID 117 7111.111 500. 1000. +GRID 118 7259.259 500. 1000. +GRID 119 7407.407 500. 1000. +GRID 120 7555.556 500. 1000. +GRID 121 7703.704 500. 1000. +GRID 122 7851.852 500. 1000. +GRID 123 7519.097 500.486.4405 +GRID 124 480.9026 500.486.4405 +GRID 125 4377.664 500.495.2832 +GRID 126 3044.392 500.495.2274 +GRID 127 3783.882 500.503.2059 +GRID 128 2437.089 500.495.2274 +GRID 129 1111.022 500.499.8768 +GRID 130 1699.236 500.495.8398 +GRID 131 5117.059 500. 494.163 +GRID 132 6143.739 500.516.6482 +GRID 133 6884.446 500.499.2416 +GRID 134 5647.817 500. 500. +GRID 135 2074.074 500.387.1742 +GRID 136 4740.741 500.387.1742 +GRID 137 3407.407 500.387.1742 +GRID 138 6529.517 500.627.4332 +GRID 139 804.4218 500.659.9969 +GRID 140 7195.578 500.659.9969 +GRID 141 4074.074 500.332.3045 +GRID 142 2740.741 500.667.6955 +GRID 143 1382.138 500.288.4522 +GRID 144 2741.004 500.332.3822 +GRID 145 4074.074 500.670.2611 +GRID 146 1407.407 500.670.2611 +GRID 147 826.749 500.328.5646 +GRID 148 7177.028 500.295.7408 +GRID 149 5374.774 500.676.6557 +GRID 150 5391.526 500.272.9862 +GRID 151 3295.601 500.684.4654 +GRID 152 6406.712 500.315.5346 +GRID 153 2185.881 500.684.4654 +GRID 154 4628.934 500.684.4654 +GRID 155 5898.61 500.684.4424 +GRID 156 5895.787 500.295.8663 +GRID 157 7726.775 500.718.3978 +GRID 158 7729.509 500. 265.881 +GRID 159 273.2246 500.718.3978 +GRID 160 270.491 500. 265.881 +GRID 161 3564.677 500.741.9688 +GRID 162 4894.336 500.743.8672 +GRID 163 1916.804 500.741.9688 +GRID 164 6675.648 500.257.9647 +GRID 165 4528.501 500.248.6841 +GRID 166 2297.481 500.256.4172 +GRID 167 3184. 500.256.4172 +GRID 168 1863.453 500.248.9921 +GRID 169 3620.764 500.249.5773 +GRID 170 4980.684 500.263.8356 +GRID 171 6311.692 500.752.5314 +GRID 172 6758.461 500.736.1644 +GRID 173 579.1873 500.230.9994 +GRID 174 7420.813 500.230.9994 +GRID 175 4370.37 500. 755.487 +GRID 176 2444.444 500. 755.487 +GRID 177 3037.037 500. 755.487 +GRID 178 1110.089 500.256.9178 +GRID 179 6148.148 500. 244.513 +GRID 180 1128.205 500. 743.458 +GRID 181 7445.778 500. 767.609 +GRID 182 554.2225 500. 767.609 +GRID 183 1642.393 500.771.6552 +GRID 184 3839.088 500.771.6552 +GRID 185 6951.851 500.250.7333 +GRID 186 5620.172 500.235.6164 +GRID 187 5620.548 500.749.3389 +GRID 188 5159.556 500. 758.727 +GRID 189 6994.498 500.768.2631 +GRID 190 211.2329 500. 500. +GRID 191 7788.767 500. 500. +GRID 192 4286.145 500.217.5085 +GRID 193 3861.92 500.217.0071 +GRID 194 1609.349 500.226.8933 +GRID 195 2528.124 500.217.0121 +GRID 196 2953.358 500.217.0121 +GRID 197 5190.803 500.215.5276 +GRID 198 6078.215 500.792.0363 +GRID 199 3583.821 500.478.2349 +GRID 200 6684.084 500.492.0074 +GRID 201 1906.691 500.499.9398 +GRID 202 4908.123 500.499.9359 +GRID 203 690.7518 500.481.4907 +GRID 204 7312.153 500.474.7119 +GRID 205 4819.364 500. 211.526 +GRID 206 3331.313 500.210.9916 +GRID 207 2150.275 500.210.4619 +GRID 208 6570.68 500.806.4129 +GRID 209 3206.183 500.488.3725 +GRID 210 2275.299 500.488.3725 +GRID 211 4539.506 500.488.3818 +GRID 212 6331.499 500.510.4482 +GRID 213 7085.946 500.496.2092 +GRID 214 914.0544 500.496.2092 +GRID 215 4179.716 500.497.3193 +GRID 216 2634.807 500.495.2995 +GRID 217 1518.677 500.500.4355 +GRID 218 2845.703 500.495.7794 +GRID 219 1298.925 500.500.6232 +GRID 220 3953.519 500.508.9348 +GRID 221 5838.996 500.497.0599 +GRID 222 5289.258 500.518.0356 +GRID 223 925.8248 500.810.3304 +GRID 224 2587.205 500.813.1174 +GRID 225 1279.141 500.190.6763 +GRID 226 2868.172 500.792.3428 +GRID 227 4231.074 500.814.6493 +GRID 228 1253.256 500.812.6444 +GRID 229 971.4204 500.186.6841 +GRID 230 4763.064 500.811.9186 +GRID 231 2048.454 500.807.7927 +GRID 232 3433.028 500.807.7927 +GRID 233 6544.095 500.192.1925 +GRID 234 7259.309 500.776.9782 +GRID 235 717.8965 500. 803.575 +GRID 236 4524.024 500.837.4174 +GRID 237 3190.691 500.837.4174 +GRID 238 2290.791 500.837.4174 +GRID 239 6301.802 500.162.5826 +GRID 240 5782.151 500.822.6145 +GRID 241 5777.242 500.180.4131 +GRID 242 6008.728 500.156.4311 +GRID 243 725.616 500.174.8168 +GRID 244 7262.823 500.192.4538 +GRID 245 1494.793 500.827.7556 +GRID 246 3986.689 500.827.7556 +GRID 247 7825.553 500.162.9448 +GRID 248 7826.13 500.836.4834 +GRID 249 174.4469 500.162.9448 +GRID 250 173.8697 500.836.4834 +GRID 251 5516.752 500. 470.62 +GRID 252 4074.074 500.121.8568 +GRID 253 7086.699 500.190.4976 +GRID 254 428.4476 500.183.5079 +GRID 255 7571.552 500.183.5079 +GRID 256 2740.741 500.121.1451 +GRID 257 5467.691 500.187.5179 +GRID 258 5467.401 500.828.2803 +GRID 259 4734.052 500.583.8483 +GRID 260 2080.763 500.583.8483 +GRID 261 3400.718 500.583.8483 +GRID 262 6511.829 500.416.1517 +GRID 263 400.3512 500.846.8009 +GRID 264 7599.649 500.846.8009 +GRID 265 966.6321 500. 698.648 +GRID 266 5297.676 500.839.2397 +GRID 267 2609.606 500.653.4815 +GRID 268 2884.656 500.632.9898 +GRID 269 1250.493 500. 354.393 +GRID 270 1457.704 500. 174.386 +GRID 271 4205.766 500.654.8844 +GRID 272 1276.599 500.654.8512 +GRID 273 3475.796 500.130.9814 +GRID 274 2006.183 500.130.3682 +GRID 275 4672.905 500.130.7696 +GRID 276 6449.497 500.872.3962 +GRID 277 956.5842 500.344.1259 +GRID 278 5741.105 500.636.3631 +GRID 279 5737.421 500.356.0064 +GRID 280 1788.129 500.835.2679 +GRID 281 3693.352 500.835.2679 +GRID 282 6807.774 500.176.4552 +GRID 283 6257.079 500.375.7316 +GRID 284 3147.802 500. 623.897 +GRID 285 2333.68 500. 623.897 +GRID 286 4481.064 500.623.9554 +GRID 287 142.4888 500.365.5479 +GRID 288 132.6964 500.621.9515 +GRID 289 7857.511 500.365.5479 +GRID 290 7867.304 500.621.9515 +GRID 291 6050.905 500.631.1049 +GRID 292 5999.229 500.426.6578 +GRID 293 5530.871 500.613.5892 +GRID 294 5022.551 500.823.4911 +GRID 295 444.8681 500.336.5958 +GRID 296 7555.132 500.336.5958 +GRID 297 5208.422 500. 373.862 +GRID 298 7124.013 500.843.4626 +GRID 299 7643.597 500.576.1777 +GRID 300 356.4033 500.576.1777 +GRID 301 7325.398 500. 624.722 +GRID 302 669.4129 500.630.9511 +GRID 303 4271.426 500.381.3315 +GRID 304 1604.759 500.381.3315 +GRID 305 3868.644 500.373.3269 +GRID 306 6876.175 500.844.2791 +GRID 307 3709.947 500. 659.307 +GRID 308 1771.769 500.658.2547 +GRID 309 2939.649 500. 380.543 +GRID 310 2541.833 500. 380.543 +GRID 311 6823.303 500.349.0294 +GRID 312 5040.282 500.656.2029 +GRID 313 5936.689 500.836.7136 +GRID 314 6904.785 500.659.1043 +GRID 315 5208.422 500.618.4464 +GRID 316 3737.536 500.162.8691 +GRID 317 1716.247 500.141.9765 +GRID 318 4410.702 500.163.3051 +GRID 319 2399.263 500.170.3045 +GRID 320 3082.218 500.170.3045 +GRID 321 5324.033 500.155.9164 +GRID 322 5090.479 500.146.9524 +GRID 323 3848.099 500. 629.682 +GRID 324 1631.9 500.626.2985 +GRID 325 6985.865 500.404.1001 +GRID 326 7057.844 500.634.4823 +GRID 327 3540.609 500.373.3333 +GRID 328 1813.929 500.405.8854 +GRID 329 6663.278 500.621.6845 +GRID 330 4998.753 500.410.0543 +GRID 331 6170.266 500.862.3354 +GRID 332 592.7655 500.394.5726 +GRID 333 7407.234 500.394.5726 +GRID 334 4938.545 500. 117.696 +GRID 335 2254.573 500.136.6309 +GRID 336 3226.908 500.136.6309 +GRID 337 6699.018 500.863.3691 +GRID 338 6265.668 500.623.5425 +GRID 339 6382.145 500.642.5856 +GRID 340 3287.708 500.355.8037 +GRID 341 3153.522 500.380.2202 +GRID 342 4466.991 500.399.2631 +GRID 343 2347.824 500.399.2631 +GRID 344 4607.573 500.377.7128 +GRID 345 2198.592 500.355.9937 +GRID 346 4862.286 500.356.7457 +GRID 347 3691.955 500.403.1984 +GRID 348 1949.001 500.380.1485 +GRID 349 7682.269 500.421.7738 +GRID 350 317.7311 500.421.7738 +GRID 351 3557.773 500.861.8561 +GRID 352 1923.709 500.861.8561 +GRID 353 6668.584 500.137.9361 +GRID 354 422.8928 500.705.2712 +GRID 355 7577.107 500.705.2712 +GRID 356 2734.926 500.888.9545 +GRID 357 5503.919 500.330.7129 +GRID 358 7474.552 500.888.5085 +GRID 359 525.4477 500.888.5085 +GRID 360 6035.494 500.304.1955 +GRID 361 540.2212 500.112.6173 +GRID 362 7459.779 500.112.6173 +GRID 363 4354.443 500.888.3393 +GRID 364 2460.784 500.888.0751 +GRID 365 3017.589 500.885.6019 +GRID 366 1114.905 500.113.2029 +GRID 367 1122.287 500.887.9008 +GRID 368 6150.995 500.112.7053 +GRID 369 6563.587 500. 315.86 +GRID 370 3452.476 500. 684.14 +GRID 371 2029.006 500. 684.14 +GRID 372 4785.809 500. 684.14 +GRID 373 4882.931 500.867.5122 +GRID 374 4199.619 500.120.4701 +GRID 375 3948.529 500.120.4701 +GRID 376 2614.905 500.120.2913 +GRID 377 2866.576 500.120.2913 +GRID 378 7706.426 500.122.7928 +GRID 379 293.5738 500.122.7928 +GRID 380 5668.52 500.108.7874 +GRID 381 5672.291 500.895.9575 +GRID 382 6780.507 500.577.6277 +GRID 383 1717.829 500.316.8198 +GRID 384 4650.467 500.883.5857 +GRID 385 2164.348 500.883.5857 +GRID 386 3317.133 500.883.5857 +GRID 387 6428.245 500.116.4143 +GRID 388 836.6509 500.885.2356 +GRID 389 1597.521 500.893.7491 +GRID 390 3883.961 500.893.7491 +GRID 391 6926.465 500.123.8292 +GRID 392 4378.564 500.305.2556 +GRID 393 712.242 500.319.6661 +GRID 394 7302.226 500.328.2962 +GRID 395 3045.329 500.305.2804 +GRID 396 2436.152 500.305.2804 +GRID 397 1106.157 500.386.0022 +GRID 398 1117.906 500.622.1179 +GRID 399 3756.164 500.281.1958 +GRID 400 5097.7 500.317.3992 +GRID 401 5131.145 500. 885.729 +GRID 402 6154.25 500.697.1943 +GRID 403 3452.153 500.274.1946 +GRID 404 1567.618 500.108.8101 +GRID 405 7062.497 500. 300.404 +GRID 406 6482.648 500. 739.999 +GRID 407 4693.328 500.269.3936 +GRID 408 1517.123 500.694.5768 +GRID 409 3963.798 500.695.1955 +GRID 410 1857.917 500.104.2674 +GRID 411 3622.825 500.105.3727 +GRID 412 4525.503 500.105.3044 +GRID 413 847.6264 500.110.0706 +GRID 414 282.8732 500.877.7855 +GRID 415 7717.127 500.877.7855 +GRID 416 2027.072 500.267.3395 +GRID 417 7015.78 500.888.7215 +GRID 418 5952.63 500.557.1248 +GRID 419 4107.677 500.890.2582 +GRID 420 1377.859 500.890.0553 +GRID 421 7473.748 500. 616.972 +GRID 422 521.9605 500.617.1192 +GRID 423 95.44984 500.498.7244 +GRID 424 7904.55 500.498.7244 +GRID 425 6121.063 500.375.5621 +GRID 426 4151.522 500.258.5399 +GRID 427 3994.467 500.258.4176 +GRID 428 4354.351 500.619.1993 +GRID 429 2662.946 500.257.5977 +GRID 430 2819.628 500.258.8283 +GRID 431 5418.224 500.540.7869 +GRID 432 5883.187 500.112.3187 +GRID 433 3021.641 500.618.6923 +GRID 434 2459.841 500.618.6923 +GRID 435 5610.381 500.379.8881 +GRID 436 5262.289 500.722.8898 +GRID 437 7184.701 500.93.46533 +GRID 438 807.6882 500.444.1371 +GRID 439 7195.343 500.541.5689 +GRID 440 1496.078 500.335.9586 +GRID 441 5551.346 500.92.16588 +GRID 442 5551.346 500.907.8341 +GRID 443 6304.81 500.897.4526 +GRID 444 829.6314 500.772.7215 +GRID 445 4074.074 500.556.2022 +GRID 446 2740.741 500.553.6365 +GRID 447 1407.407 500.556.2022 +GRID 448 7752.922 500.605.6891 +GRID 449 247.0781 500.605.6891 +GRID 450 2742.554 500.441.5571 +GRID 451 1392.286 500.422.6774 +GRID 452 4071.349 500.445.2311 +GRID 453 965.6969 500.912.0774 +GRID 454 6034.871 500.895.1963 +GRID 455 4813.424 500.88.01314 +GRID 456 3336.804 500.89.91236 +GRID 457 2145.713 500.88.10036 +GRID 458 6588.323 500.913.3311 +GRID 459 5217.486 500.106.9951 +GRID 460 7126.249 500.736.6366 +GRID 461 7037.037 500. 82.5341 +GRID 462 626.18 500.891.9385 +GRID 463 7344.208 500.889.0403 +GRID 464 103.7999 500.743.8594 +GRID 465 106.4047 500.246.5811 +GRID 466 7893.595 500.246.5811 +GRID 467 7896.2 500.743.8594 +GRID 468 635.6716 500.103.6867 +GRID 469 7346.378 500.97.80963 +GRID 470 5498.399 500. 716.966 +GRID 471 5855.636 500. 914.832 +GRID 472 3551.601 500.594.5031 +GRID 473 1935.137 500.601.7062 +GRID 474 4882.691 500.597.4202 +GRID 475 6657.509 500.398.2114 +GRID 476 6988.368 500.547.5015 +GRID 477 1017.692 500.452.5324 +GRID 478 5387.738 500.904.2805 +GRID 479 2726.144 500.776.6288 +GRID 480 5283.587 500.287.1773 +GRID 481 1200.973 500.544.4576 +GRID 482 3667.851 500.531.9108 +GRID 483 1815.191 500.537.2906 +GRID 484 6772.26 500.461.6065 +GRID 485 4999.582 500.536.8609 +GRID 486 7203.654 500.428.7252 +GRID 487 788.2252 500.551.7972 +GRID 488 3161.232 500.728.6712 +GRID 489 2320.249 500.728.6712 +GRID 490 4494.553 500.728.6817 +GRID 491 6272.016 500.271.2624 +GRID 492 4089.959 500.778.4323 +GRID 493 1391.522 500.778.4323 +GRID 494 2538.432 500.533.9762 +GRID 495 2944.737 500.531.1174 +GRID 496 7904.589 500.906.4443 +GRID 497 95.41094 500.906.4443 +GRID 498 90.50736 500.102.1888 +GRID 499 7909.493 500.102.1888 +GRID 500 5414.042 500.82.15018 +GRID 501 1699.28 500.906.5211 +GRID 502 3782.202 500.906.5211 +GRID 503 1363.769 500.100.3646 +GRID 504 2592.593 500.920.2963 +GRID 505 2882.32 500. 915.356 +GRID 506 4276.278 500.534.7239 +GRID 507 5635.086 500.624.8228 +GRID 508 1255.267 500.80.84877 +GRID 509 2664.629 500.381.4759 +GRID 510 832.875 500.219.1274 +GRID 511 4222.222 500.920.9841 +GRID 512 1259.259 500.920.9841 +GRID 513 600.1102 500.534.8186 +GRID 514 7399.89 500.534.8186 +GRID 515 4149.617 500.382.9453 +GRID 516 3343.038 500.473.3799 +GRID 517 2202.813 500.570.7926 +GRID 518 4676.371 500.473.3799 +GRID 519 4611.985 500.570.8062 +GRID 520 2140.055 500.476.2902 +GRID 521 3278.668 500.570.7926 +GRID 522 6458.983 500. 524.642 +GRID 523 6399.472 500.426.8707 +GRID 524 962.963 500.78.00542 +GRID 525 2492.705 500.102.9401 +GRID 526 2988.776 500.102.9401 +GRID 527 4316.724 500.103.2955 +GRID 528 3831.425 500.103.1998 +GRID 529 7218.945 500. 901.146 +GRID 530 3471.199 500.481.7456 +GRID 531 2014.287 500.488.1845 +GRID 532 4804.09 500.475.7596 +GRID 533 6584.2 500. 513.355 +GRID 534 2817.708 500. 381.818 +GRID 535 6634.453 500. 735.51 +GRID 536 5998.042 500.722.8588 +GRID 537 3989.58 500.384.1502 +GRID 538 7102.959 500.392.0641 +GRID 539 1002.715 500.561.2332 +GRID 540 5373.098 500.399.1687 +GRID 541 3466.069 500.912.9455 +GRID 542 2015.412 500.912.9455 +GRID 543 1195.485 500. 453.57 +GRID 544 1021.729 500.810.4829 +GRID 545 895.2098 500.593.5769 +GRID 546 6576.898 500.87.08557 +$ELEMENTS +CTRIA3 123 1 220 445 409 +CTRIA3 124 1 408 447 217 +CTRIA3 125 1 128 285 210 +CTRIA3 126 1 211 286 125 +CTRIA3 127 1 209 284 126 +CTRIA3 128 1 132 283 212 +CTRIA3 129 1 206 340 167 +CTRIA3 130 1 166 345 207 +CTRIA3 131 1 220 409 323 +CTRIA3 132 1 324 408 217 +CTRIA3 133 1 345 416 207 +CTRIA3 134 1 135 416 345 +CTRIA3 135 1 206 403 340 +CTRIA3 136 1 155 278 221 +CTRIA3 137 1 221 278 134 +CTRIA3 138 1 134 279 221 +CTRIA3 139 1 221 279 156 +CTRIA3 140 1 340 403 137 +CTRIA3 141 1 149 315 222 +CTRIA3 142 1 240 278 155 +CTRIA3 143 1 241 279 186 +CTRIA3 144 1 156 279 241 +CTRIA3 145 1 187 278 240 +CTRIA3 146 1 182 302 235 +CTRIA3 147 1 234 301 181 +CTRIA3 148 1 235 302 139 +CTRIA3 149 1 140 301 234 +CTRIA3 150 1 170 346 205 +CTRIA3 151 1 273 456 33 +CTRIA3 152 1 42 455 275 +CTRIA3 153 1 24 457 274 +CTRIA3 154 1 276 458 113 +CTRIA3 155 1 232 386 151 +CTRIA3 156 1 153 385 231 +CTRIA3 157 1 152 387 233 +CTRIA3 158 1 230 384 154 +CTRIA3 159 1 162 312 294 +CTRIA3 160 1 294 312 188 +CTRIA3 161 1 225 270 143 +CTRIA3 162 1 222 431 149 +CTRIA3 163 1 104 266 105 +CTRIA3 164 1 346 407 205 +CTRIA3 165 1 177 365 226 +CTRIA3 166 1 224 364 176 +CTRIA3 167 1 178 366 225 +CTRIA3 168 1 156 292 221 +CTRIA3 169 1 226 268 177 +CTRIA3 170 1 142 268 226 +CTRIA3 171 1 176 267 224 +CTRIA3 172 1 143 269 225 +CTRIA3 173 1 225 269 178 +CTRIA3 174 1 151 386 237 +CTRIA3 175 1 238 385 153 +CTRIA3 176 1 239 387 152 +CTRIA3 177 1 154 384 236 +CTRIA3 178 1 291 418 132 +CTRIA3 179 1 132 418 292 +CTRIA3 180 1 103 373 294 +CTRIA3 181 1 102 373 103 +CTRIA3 182 1 217 451 440 +CTRIA3 183 1 228 367 180 +CTRIA3 184 1 175 363 227 +CTRIA3 185 1 265 444 139 +CTRIA3 186 1 230 373 101 +CTRIA3 187 1 172 314 306 +CTRIA3 188 1 306 314 189 +CTRIA3 189 1 136 407 346 +CTRIA3 190 1 104 401 266 +CTRIA3 191 1 180 272 228 +CTRIA3 192 1 227 271 175 +CTRIA3 193 1 223 444 265 +CTRIA3 194 1 254 379 13 +CTRIA3 195 1 61 378 255 +CTRIA3 196 1 280 352 81 +CTRIA3 197 1 94 351 281 +CTRIA3 198 1 282 353 56 +CTRIA3 199 1 241 432 156 +CTRIA3 200 1 289 349 158 +CTRIA3 201 1 160 350 287 +CTRIA3 202 1 229 366 178 +CTRIA3 203 1 148 253 244 +CTRIA3 204 1 178 277 229 +CTRIA3 205 1 156 432 242 +CTRIA3 206 1 191 349 289 +CTRIA3 207 1 287 350 190 +CTRIA3 208 1 185 311 282 +CTRIA3 209 1 282 311 164 +CTRIA3 210 1 131 297 222 +CTRIA3 211 1 161 307 281 +CTRIA3 212 1 183 308 280 +CTRIA3 213 1 280 308 163 +CTRIA3 214 1 281 307 184 +CTRIA3 215 1 56 353 55 +CTRIA3 216 1 81 352 82 +CTRIA3 217 1 93 351 94 +CTRIA3 218 1 217 440 304 +CTRIA3 219 1 205 334 170 +CTRIA3 220 1 167 336 206 +CTRIA3 221 1 207 335 166 +CTRIA3 222 1 34 273 33 +CTRIA3 223 1 42 275 41 +CTRIA3 224 1 24 274 23 +CTRIA3 225 1 112 276 113 +CTRIA3 226 1 53 239 52 +CTRIA3 227 1 99 236 100 +CTRIA3 228 1 90 237 91 +CTRIA3 229 1 84 238 85 +CTRIA3 230 1 210 343 128 +CTRIA3 231 1 125 342 211 +CTRIA3 232 1 126 341 209 +CTRIA3 233 1 212 338 132 +CTRIA3 234 1 11 379 249 +CTRIA3 235 1 247 378 63 +CTRIA3 236 1 217 304 130 +CTRIA3 237 1 127 305 220 +CTRIA3 238 1 158 296 255 +CTRIA3 239 1 254 295 160 +CTRIA3 240 1 62 378 61 +CTRIA3 241 1 13 379 12 +CTRIA3 242 1 206 456 273 +CTRIA3 243 1 275 455 205 +CTRIA3 244 1 274 457 207 +CTRIA3 245 1 208 458 276 +CTRIA3 246 1 234 460 140 +CTRIA3 247 1 71 263 72 +CTRIA3 248 1 120 264 121 +CTRIA3 249 1 409 445 145 +CTRIA3 250 1 146 447 408 +CTRIA3 251 1 173 295 254 +CTRIA3 252 1 255 296 174 +CTRIA3 253 1 277 438 147 +CTRIA3 254 1 214 438 277 +CTRIA3 255 1 222 315 131 +CTRIA3 256 1 258 266 149 +CTRIA3 257 1 71 414 263 +CTRIA3 258 1 264 415 121 +CTRIA3 259 1 130 324 217 +CTRIA3 260 1 220 323 127 +CTRIA3 261 1 51 242 50 +CTRIA3 262 1 132 402 291 +CTRIA3 263 1 267 479 224 +CTRIA3 264 1 221 418 155 +CTRIA3 265 1 247 466 158 +CTRIA3 266 1 157 467 248 +CTRIA3 267 1 160 465 249 +CTRIA3 268 1 250 464 159 +CTRIA3 269 1 298 460 234 +CTRIA3 270 1 338 402 132 +CTRIA3 271 1 142 479 267 +CTRIA3 272 1 290 467 157 +CTRIA3 273 1 158 466 289 +CTRIA3 274 1 287 465 160 +CTRIA3 275 1 159 464 288 +CTRIA3 276 1 12 379 11 +CTRIA3 277 1 63 378 62 +CTRIA3 278 1 303 392 125 +CTRIA3 279 1 131 400 297 +CTRIA3 280 1 128 396 310 +CTRIA3 281 1 309 395 126 +CTRIA3 282 1 150 321 257 +CTRIA3 283 1 125 392 342 +CTRIA3 284 1 343 396 128 +CTRIA3 285 1 126 395 341 +CTRIA3 286 1 127 347 305 +CTRIA3 287 1 272 493 228 +CTRIA3 288 1 227 492 271 +CTRIA3 289 1 330 400 131 +CTRIA3 290 1 138 535 406 +CTRIA3 291 1 110 454 331 +CTRIA3 292 1 274 416 168 +CTRIA3 293 1 171 406 276 +CTRIA3 294 1 275 407 165 +CTRIA3 295 1 169 403 273 +CTRIA3 296 1 146 493 272 +CTRIA3 297 1 271 492 145 +CTRIA3 298 1 101 373 102 +CTRIA3 299 1 134 293 251 +CTRIA3 300 1 110 331 111 +CTRIA3 301 1 366 508 225 +CTRIA3 302 1 239 368 52 +CTRIA3 303 1 99 363 236 +CTRIA3 304 1 90 365 237 +CTRIA3 305 1 238 364 85 +CTRIA3 306 1 347 399 305 +CTRIA3 307 1 224 504 364 +CTRIA3 308 1 365 505 226 +CTRIA3 309 1 304 383 130 +CTRIA3 310 1 267 446 142 +CTRIA3 311 1 216 446 267 +CTRIA3 312 1 268 446 218 +CTRIA3 313 1 142 446 268 +CTRIA3 314 1 168 416 348 +CTRIA3 315 1 130 383 328 +CTRIA3 316 1 393 438 203 +CTRIA3 317 1 277 510 229 +CTRIA3 318 1 300 350 124 +CTRIA3 319 1 123 349 299 +CTRIA3 320 1 339 406 171 +CTRIA3 321 1 165 407 344 +CTRIA3 322 1 145 445 271 +CTRIA3 323 1 271 445 215 +CTRIA3 324 1 272 447 146 +CTRIA3 325 1 219 447 272 +CTRIA3 326 1 147 510 277 +CTRIA3 327 1 38 252 37 +CTRIA3 328 1 327 403 169 +CTRIA3 329 1 124 350 295 +CTRIA3 330 1 296 349 123 +CTRIA3 331 1 363 511 227 +CTRIA3 332 1 228 512 367 +CTRIA3 333 1 440 451 143 +CTRIA3 334 1 245 389 79 +CTRIA3 335 1 96 390 246 +CTRIA3 336 1 115 337 306 +CTRIA3 337 1 29 256 28 +CTRIA3 338 1 139 444 235 +CTRIA3 339 1 226 479 142 +CTRIA3 340 1 45 322 44 +CTRIA3 341 1 155 313 240 +CTRIA3 342 1 139 545 265 +CTRIA3 343 1 317 404 21 +CTRIA3 344 1 122 415 248 +CTRIA3 345 1 250 414 70 +CTRIA3 346 1 185 391 253 +CTRIA3 347 1 229 524 366 +CTRIA3 348 1 269 451 219 +CTRIA3 349 1 143 451 269 +CTRIA3 350 1 162 373 230 +CTRIA3 351 1 231 371 153 +CTRIA3 352 1 154 372 230 +CTRIA3 353 1 151 370 232 +CTRIA3 354 1 233 369 152 +CTRIA3 355 1 51 368 242 +CTRIA3 356 1 319 335 26 +CTRIA3 357 1 31 336 320 +CTRIA3 358 1 233 353 164 +CTRIA3 359 1 161 351 232 +CTRIA3 360 1 231 352 163 +CTRIA3 361 1 22 317 21 +CTRIA3 362 1 179 368 239 +CTRIA3 363 1 237 365 177 +CTRIA3 364 1 176 364 238 +CTRIA3 365 1 236 363 175 +CTRIA3 366 1 45 459 322 +CTRIA3 367 1 108 381 240 +CTRIA3 368 1 241 380 49 +CTRIA3 369 1 235 462 182 +CTRIA3 370 1 181 463 234 +CTRIA3 371 1 175 490 236 +CTRIA3 372 1 177 488 237 +CTRIA3 373 1 238 489 176 +CTRIA3 374 1 239 491 179 +CTRIA3 375 1 115 306 116 +CTRIA3 376 1 101 384 230 +CTRIA3 377 1 472 482 307 +CTRIA3 378 1 308 483 473 +CTRIA3 379 1 311 484 475 +CTRIA3 380 1 474 485 312 +CTRIA3 381 1 299 421 123 +CTRIA3 382 1 124 422 300 +CTRIA3 383 1 161 472 307 +CTRIA3 384 1 308 473 163 +CTRIA3 385 1 311 475 164 +CTRIA3 386 1 162 474 312 +CTRIA3 387 1 406 535 208 +CTRIA3 388 1 257 357 150 +CTRIA3 389 1 186 357 257 +CTRIA3 390 1 173 468 243 +CTRIA3 391 1 244 469 174 +CTRIA3 392 1 391 461 253 +CTRIA3 393 1 232 370 161 +CTRIA3 394 1 163 371 231 +CTRIA3 395 1 230 372 162 +CTRIA3 396 1 164 369 233 +CTRIA3 397 1 242 368 179 +CTRIA3 398 1 159 414 250 +CTRIA3 399 1 248 415 157 +CTRIA3 400 1 480 540 297 +CTRIA3 401 1 240 471 108 +CTRIA3 402 1 266 401 188 +CTRIA3 403 1 204 486 394 +CTRIA3 404 1 355 421 299 +CTRIA3 405 1 300 422 354 +CTRIA3 406 1 149 436 315 +CTRIA3 407 1 306 417 116 +CTRIA3 408 1 95 390 96 +CTRIA3 409 1 79 389 80 +CTRIA3 410 1 329 535 138 +CTRIA3 411 1 44 334 43 +CTRIA3 412 1 114 337 115 +CTRIA3 413 1 26 335 25 +CTRIA3 414 1 32 336 31 +CTRIA3 415 1 322 334 44 +CTRIA3 416 1 255 378 158 +CTRIA3 417 1 160 379 254 +CTRIA3 418 1 158 378 247 +CTRIA3 419 1 249 379 160 +CTRIA3 420 1 204 394 333 +CTRIA3 421 1 332 393 203 +CTRIA3 422 1 235 388 74 +CTRIA3 423 1 6 287 7 +CTRIA3 424 1 68 290 67 +CTRIA3 425 1 66 289 65 +CTRIA3 426 1 8 288 9 +CTRIA3 427 1 301 439 204 +CTRIA3 428 1 140 439 301 +CTRIA3 429 1 121 415 122 +CTRIA3 430 1 70 414 71 +CTRIA3 431 1 147 438 393 +CTRIA3 432 1 74 462 235 +CTRIA3 433 1 257 441 186 +CTRIA3 434 1 187 442 258 +CTRIA3 435 1 263 414 159 +CTRIA3 436 1 157 415 264 +CTRIA3 437 1 251 435 134 +CTRIA3 438 1 180 544 265 +CTRIA3 439 1 265 544 223 +CTRIA3 440 1 179 360 242 +CTRIA3 441 1 242 360 156 +CTRIA3 442 1 150 540 480 +CTRIA3 443 1 255 362 61 +CTRIA3 444 1 13 361 254 +CTRIA3 445 1 150 480 321 +CTRIA3 446 1 159 354 263 +CTRIA3 447 1 264 355 157 +CTRIA3 448 1 309 430 196 +CTRIA3 449 1 195 429 310 +CTRIA3 450 1 248 496 122 +CTRIA3 451 1 70 497 250 +CTRIA3 452 1 249 498 11 +CTRIA3 453 1 63 499 247 +CTRIA3 454 1 280 501 183 +CTRIA3 455 1 184 502 281 +CTRIA3 456 1 263 354 182 +CTRIA3 457 1 181 355 264 +CTRIA3 458 1 303 426 192 +CTRIA3 459 1 193 427 305 +CTRIA3 460 1 153 489 238 +CTRIA3 461 1 236 490 154 +CTRIA3 462 1 237 488 151 +CTRIA3 463 1 152 491 239 +CTRIA3 464 1 49 432 241 +CTRIA3 465 1 297 540 222 +CTRIA3 466 1 56 391 282 +CTRIA3 467 1 153 371 260 +CTRIA3 468 1 259 372 154 +CTRIA3 469 1 261 370 151 +CTRIA3 470 1 152 369 262 +CTRIA3 471 1 309 534 430 +CTRIA3 472 1 429 509 310 +CTRIA3 473 1 314 326 189 +CTRIA3 474 1 194 404 317 +CTRIA3 475 1 312 315 188 +CTRIA3 476 1 131 315 312 +CTRIA3 477 1 236 384 100 +CTRIA3 478 1 84 385 238 +CTRIA3 479 1 53 387 239 +CTRIA3 480 1 237 386 91 +CTRIA3 481 1 361 468 173 +CTRIA3 482 1 174 469 362 +CTRIA3 483 1 183 501 389 +CTRIA3 484 1 390 502 184 +CTRIA3 485 1 303 515 426 +CTRIA3 486 1 186 380 241 +CTRIA3 487 1 240 381 187 +CTRIA3 488 1 427 537 305 +CTRIA3 489 1 295 332 124 +CTRIA3 490 1 173 332 295 +CTRIA3 491 1 123 333 296 +CTRIA3 492 1 296 333 174 +CTRIA3 493 1 276 443 171 +CTRIA3 494 1 211 519 286 +CTRIA3 495 1 285 517 210 +CTRIA3 496 1 209 521 284 +CTRIA3 497 1 283 523 212 +CTRIA3 498 1 273 411 169 +CTRIA3 499 1 168 410 274 +CTRIA3 500 1 165 412 275 +CTRIA3 501 1 15 413 243 +CTRIA3 502 1 270 440 143 +CTRIA3 503 1 79 420 245 +CTRIA3 504 1 246 419 96 +CTRIA3 505 1 286 519 154 +CTRIA3 506 1 153 517 285 +CTRIA3 507 1 284 521 151 +CTRIA3 508 1 152 523 283 +CTRIA3 509 1 107 381 108 +CTRIA3 510 1 49 380 48 +CTRIA3 511 1 244 394 148 +CTRIA3 512 1 243 393 173 +CTRIA3 513 1 174 394 244 +CTRIA3 514 1 308 324 130 +CTRIA3 515 1 183 324 308 +CTRIA3 516 1 127 323 307 +CTRIA3 517 1 307 323 184 +CTRIA3 518 1 151 521 261 +CTRIA3 519 1 154 519 259 +CTRIA3 520 1 260 517 153 +CTRIA3 521 1 262 523 152 +CTRIA3 522 1 242 432 50 +CTRIA3 523 1 163 352 280 +CTRIA3 524 1 281 351 161 +CTRIA3 525 1 258 470 187 +CTRIA3 526 1 311 325 133 +CTRIA3 527 1 185 325 311 +CTRIA3 528 1 306 337 172 +CTRIA3 529 1 164 353 282 +CTRIA3 530 1 318 527 40 +CTRIA3 531 1 35 528 316 +CTRIA3 532 1 254 361 173 +CTRIA3 533 1 174 362 255 +CTRIA3 534 1 183 389 245 +CTRIA3 535 1 246 390 184 +CTRIA3 536 1 26 525 319 +CTRIA3 537 1 320 526 31 +CTRIA3 538 1 40 527 39 +CTRIA3 539 1 36 528 35 +CTRIA3 540 1 245 408 183 +CTRIA3 541 1 184 409 246 +CTRIA3 542 1 243 468 15 +CTRIA3 543 1 38 374 252 +CTRIA3 544 1 252 375 37 +CTRIA3 545 1 266 436 149 +CTRIA3 546 1 27 525 26 +CTRIA3 547 1 31 526 30 +CTRIA3 548 1 294 373 162 +CTRIA3 549 1 253 437 244 +CTRIA3 550 1 120 358 264 +CTRIA3 551 1 263 359 72 +CTRIA3 552 1 256 376 28 +CTRIA3 553 1 29 377 256 +CTRIA3 554 1 213 439 326 +CTRIA3 555 1 326 439 140 +CTRIA3 556 1 253 405 185 +CTRIA3 557 1 148 405 253 +CTRIA3 558 1 331 454 198 +CTRIA3 559 1 182 462 359 +CTRIA3 560 1 358 463 181 +CTRIA3 561 1 57 391 56 +CTRIA3 562 1 168 383 317 +CTRIA3 563 1 317 383 194 +CTRIA3 564 1 5 498 465 +CTRIA3 565 1 464 497 10 +CTRIA3 566 1 466 499 64 +CTRIA3 567 1 69 496 467 +CTRIA3 568 1 198 402 331 +CTRIA3 569 1 331 402 171 +CTRIA3 570 1 381 442 187 +CTRIA3 571 1 186 441 380 +CTRIA3 572 1 149 470 258 +CTRIA3 573 1 182 359 263 +CTRIA3 574 1 264 358 181 +CTRIA3 575 1 290 424 67 +CTRIA3 576 1 8 423 288 +CTRIA3 577 1 287 423 7 +CTRIA3 578 1 66 424 289 +CTRIA3 579 1 320 336 167 +CTRIA3 580 1 166 335 319 +CTRIA3 581 1 322 400 170 +CTRIA3 582 1 197 400 322 +CTRIA3 583 1 154 490 286 +CTRIA3 584 1 285 489 153 +CTRIA3 585 1 151 488 284 +CTRIA3 586 1 283 491 152 +CTRIA3 587 1 270 503 20 +CTRIA3 588 1 265 398 180 +CTRIA3 589 1 318 392 192 +CTRIA3 590 1 165 392 318 +CTRIA3 591 1 169 411 316 +CTRIA3 592 1 318 412 165 +CTRIA3 593 1 317 410 168 +CTRIA3 594 1 167 395 320 +CTRIA3 595 1 320 395 196 +CTRIA3 596 1 319 396 166 +CTRIA3 597 1 195 396 319 +CTRIA3 598 1 194 440 270 +CTRIA3 599 1 190 423 287 +CTRIA3 600 1 288 423 190 +CTRIA3 601 1 191 424 290 +CTRIA3 602 1 289 424 191 +CTRIA3 603 1 216 494 310 +CTRIA3 604 1 310 494 128 +CTRIA3 605 1 309 495 218 +CTRIA3 606 1 126 495 309 +CTRIA3 607 1 303 506 215 +CTRIA3 608 1 125 506 303 +CTRIA3 609 1 134 507 293 +CTRIA3 610 1 269 397 178 +CTRIA3 611 1 243 510 393 +CTRIA3 612 1 189 417 306 +CTRIA3 613 1 172 382 314 +CTRIA3 614 1 190 350 300 +CTRIA3 615 1 299 349 191 +CTRIA3 616 1 171 443 331 +CTRIA3 617 1 158 349 296 +CTRIA3 618 1 295 350 160 +CTRIA3 619 1 61 362 60 +CTRIA3 620 1 14 361 13 +CTRIA3 621 1 20 404 270 +CTRIA3 622 1 193 399 316 +CTRIA3 623 1 316 399 169 +CTRIA3 624 1 393 510 147 +CTRIA3 625 1 292 425 132 +CTRIA3 626 1 294 401 103 +CTRIA3 627 1 203 487 302 +CTRIA3 628 1 302 487 139 +CTRIA3 629 1 328 348 201 +CTRIA3 630 1 327 347 199 +CTRIA3 631 1 202 346 330 +CTRIA3 632 1 357 435 251 +CTRIA3 633 1 268 433 177 +CTRIA3 634 1 176 434 267 +CTRIA3 635 1 156 360 292 +CTRIA3 636 1 267 494 216 +CTRIA3 637 1 218 495 268 +CTRIA3 638 1 225 503 270 +CTRIA3 639 1 271 428 175 +CTRIA3 640 1 155 418 291 +CTRIA3 641 1 258 478 266 +CTRIA3 642 1 266 478 105 +CTRIA3 643 1 314 476 326 +CTRIA3 644 1 300 354 159 +CTRIA3 645 1 157 355 299 +CTRIA3 646 1 180 398 272 +CTRIA3 647 1 39 374 38 +CTRIA3 648 1 37 375 36 +CTRIA3 649 1 28 376 27 +CTRIA3 650 1 30 377 29 +CTRIA3 651 1 282 391 185 +CTRIA3 652 1 272 481 219 +CTRIA3 653 1 178 397 277 +CTRIA3 654 1 283 425 179 +CTRIA3 655 1 175 428 286 +CTRIA3 656 1 250 497 464 +CTRIA3 657 1 465 498 249 +CTRIA3 658 1 247 499 466 +CTRIA3 659 1 467 496 248 +CTRIA3 660 1 177 433 284 +CTRIA3 661 1 285 434 176 +CTRIA3 662 1 270 404 194 +CTRIA3 663 1 215 506 271 +CTRIA3 664 1 117 417 298 +CTRIA3 665 1 278 507 134 +CTRIA3 666 1 219 543 269 +CTRIA3 667 1 187 507 278 +CTRIA3 668 1 273 403 206 +CTRIA3 669 1 256 430 429 +CTRIA3 670 1 429 430 144 +CTRIA3 671 1 329 382 172 +CTRIA3 672 1 288 449 159 +CTRIA3 673 1 157 448 290 +CTRIA3 674 1 279 435 186 +CTRIA3 675 1 81 501 280 +CTRIA3 676 1 281 502 94 +CTRIA3 677 1 205 407 275 +CTRIA3 678 1 276 406 208 +CTRIA3 679 1 188 436 266 +CTRIA3 680 1 277 477 214 +CTRIA3 681 1 274 410 23 +CTRIA3 682 1 34 411 273 +CTRIA3 683 1 275 412 41 +CTRIA3 684 1 207 416 274 +CTRIA3 685 1 291 536 155 +CTRIA3 686 1 179 491 283 +CTRIA3 687 1 284 488 177 +CTRIA3 688 1 176 489 285 +CTRIA3 689 1 286 490 175 +CTRIA3 690 1 426 427 252 +CTRIA3 691 1 141 427 426 +CTRIA3 692 1 59 469 437 +CTRIA3 693 1 112 443 276 +CTRIA3 694 1 106 478 442 +CTRIA3 695 1 134 435 279 +CTRIA3 696 1 170 334 322 +CTRIA3 697 1 132 425 283 +CTRIA3 698 1 5 465 6 +CTRIA3 699 1 9 464 10 +CTRIA3 700 1 65 466 64 +CTRIA3 701 1 69 467 68 +CTRIA3 702 1 286 428 125 +CTRIA3 703 1 284 433 126 +CTRIA3 704 1 128 434 285 +CTRIA3 705 1 50 432 49 +CTRIA3 706 1 46 459 45 +CTRIA3 707 1 321 459 46 +CTRIA3 708 1 100 384 101 +CTRIA3 709 1 83 385 84 +CTRIA3 710 1 91 386 92 +CTRIA3 711 1 54 387 53 +CTRIA3 712 1 293 507 187 +CTRIA3 713 1 293 470 149 +CTRIA3 714 1 322 459 197 +CTRIA3 715 1 394 486 148 +CTRIA3 716 1 292 418 221 +CTRIA3 717 1 313 454 109 +CTRIA3 718 1 289 466 65 +CTRIA3 719 1 6 465 287 +CTRIA3 720 1 288 464 9 +CTRIA3 721 1 68 467 290 +CTRIA3 722 1 155 536 313 +CTRIA3 723 1 293 431 251 +CTRIA3 724 1 149 431 293 +CTRIA3 725 1 442 478 258 +CTRIA3 726 1 437 469 244 +CTRIA3 727 1 119 358 120 +CTRIA3 728 1 72 359 73 +CTRIA3 729 1 188 401 294 +CTRIA3 730 1 103 401 104 +CTRIA3 731 1 298 529 117 +CTRIA3 732 1 20 503 19 +CTRIA3 733 1 198 536 402 +CTRIA3 734 1 402 536 291 +CTRIA3 735 1 251 540 357 +CTRIA3 736 1 357 540 150 +CTRIA3 737 1 297 400 197 +CTRIA3 738 1 314 382 133 +CTRIA3 739 1 165 344 342 +CTRIA3 740 1 340 341 167 +CTRIA3 741 1 343 345 166 +CTRIA3 742 1 210 345 343 +CTRIA3 743 1 209 341 340 +CTRIA3 744 1 342 344 211 +CTRIA3 745 1 338 339 171 +CTRIA3 746 1 212 339 338 +CTRIA3 747 1 325 476 133 +CTRIA3 748 1 213 476 325 +CTRIA3 749 1 347 482 199 +CTRIA3 750 1 87 356 88 +CTRIA3 751 1 116 417 117 +CTRIA3 752 1 305 399 193 +CTRIA3 753 1 190 449 288 +CTRIA3 754 1 290 448 191 +CTRIA3 755 1 330 346 170 +CTRIA3 756 1 168 348 328 +CTRIA3 757 1 169 347 327 +CTRIA3 758 1 192 392 303 +CTRIA3 759 1 194 383 304 +CTRIA3 760 1 16 413 15 +CTRIA3 761 1 109 454 110 +CTRIA3 762 1 133 476 314 +CTRIA3 763 1 187 470 293 +CTRIA3 764 1 182 422 302 +CTRIA3 765 1 301 421 181 +CTRIA3 766 1 96 419 97 +CTRIA3 767 1 78 420 79 +CTRIA3 768 1 298 417 189 +CTRIA3 769 1 310 396 195 +CTRIA3 770 1 196 395 309 +CTRIA3 771 1 74 388 75 +CTRIA3 772 1 98 363 99 +CTRIA3 773 1 18 366 17 +CTRIA3 774 1 76 367 77 +CTRIA3 775 1 85 364 86 +CTRIA3 776 1 52 368 51 +CTRIA3 777 1 89 365 90 +CTRIA3 778 1 189 460 298 +CTRIA3 779 1 83 542 385 +CTRIA3 780 1 386 541 92 +CTRIA3 781 1 21 404 20 +CTRIA3 782 1 234 529 298 +CTRIA3 783 1 54 546 387 +CTRIA3 784 1 197 480 297 +CTRIA3 785 1 348 531 201 +CTRIA3 786 1 202 532 346 +CTRIA3 787 1 118 463 119 +CTRIA3 788 1 73 462 74 +CTRIA3 789 1 191 448 299 +CTRIA3 790 1 300 449 190 +CTRIA3 791 1 159 449 300 +CTRIA3 792 1 299 448 157 +CTRIA3 793 1 321 480 197 +CTRIA3 794 1 328 383 168 +CTRIA3 795 1 475 533 262 +CTRIA3 796 1 259 532 474 +CTRIA3 797 1 473 531 260 +CTRIA3 798 1 261 530 472 +CTRIA3 799 1 313 536 198 +CTRIA3 800 1 117 529 118 +CTRIA3 801 1 22 410 317 +CTRIA3 802 1 316 411 35 +CTRIA3 803 1 40 412 318 +CTRIA3 804 1 170 400 330 +CTRIA3 805 1 360 425 292 +CTRIA3 806 1 118 529 463 +CTRIA3 807 1 356 504 224 +CTRIA3 808 1 87 504 356 +CTRIA3 809 1 226 505 356 +CTRIA3 810 1 356 505 88 +CTRIA3 811 1 202 485 474 +CTRIA3 812 1 475 484 200 +CTRIA3 813 1 473 483 201 +CTRIA3 814 1 199 482 472 +CTRIA3 815 1 315 436 188 +CTRIA3 816 1 122 496 4 +CTRIA3 817 1 11 498 1 +CTRIA3 818 1 2 497 70 +CTRIA3 819 1 3 499 63 +CTRIA3 820 1 137 403 327 +CTRIA3 821 1 76 453 367 +CTRIA3 822 1 409 492 246 +CTRIA3 823 1 145 492 409 +CTRIA3 824 1 408 493 146 +CTRIA3 825 1 245 493 408 +CTRIA3 826 1 200 382 329 +CTRIA3 827 1 23 410 22 +CTRIA3 828 1 35 411 34 +CTRIA3 829 1 41 412 40 +CTRIA3 830 1 204 514 301 +CTRIA3 831 1 302 513 203 +CTRIA3 832 1 304 440 194 +CTRIA3 833 1 89 505 365 +CTRIA3 834 1 364 504 86 +CTRIA3 835 1 367 512 77 +CTRIA3 836 1 98 511 363 +CTRIA3 837 1 366 524 17 +CTRIA3 838 1 18 508 366 +CTRIA3 839 1 111 443 112 +CTRIA3 840 1 4 496 69 +CTRIA3 841 1 1 498 5 +CTRIA3 842 1 10 497 2 +CTRIA3 843 1 64 499 3 +CTRIA3 844 1 183 408 324 +CTRIA3 845 1 323 409 184 +CTRIA3 846 1 39 527 374 +CTRIA3 847 1 375 528 36 +CTRIA3 848 1 109 471 313 +CTRIA3 849 1 305 537 220 +CTRIA3 850 1 200 533 475 +CTRIA3 851 1 474 532 202 +CTRIA3 852 1 201 531 473 +CTRIA3 853 1 472 530 199 +CTRIA3 854 1 215 515 303 +CTRIA3 855 1 185 405 325 +CTRIA3 856 1 173 393 332 +CTRIA3 857 1 333 394 174 +CTRIA3 858 1 385 542 231 +CTRIA3 859 1 232 541 386 +CTRIA3 860 1 218 534 309 +CTRIA3 861 1 376 525 27 +CTRIA3 862 1 30 526 377 +CTRIA3 863 1 307 482 127 +CTRIA3 864 1 130 483 308 +CTRIA3 865 1 310 509 216 +CTRIA3 866 1 198 454 313 +CTRIA3 867 1 133 484 311 +CTRIA3 868 1 105 478 106 +CTRIA3 869 1 312 485 131 +CTRIA3 870 1 387 546 233 +CTRIA3 871 1 127 482 347 +CTRIA3 872 1 313 471 240 +CTRIA3 873 1 60 469 59 +CTRIA3 874 1 15 468 14 +CTRIA3 875 1 342 392 165 +CTRIA3 876 1 341 395 167 +CTRIA3 877 1 166 396 343 +CTRIA3 878 1 192 527 318 +CTRIA3 879 1 316 528 193 +CTRIA3 880 1 7 423 8 +CTRIA3 881 1 67 424 66 +CTRIA3 882 1 196 526 320 +CTRIA3 883 1 319 525 195 +CTRIA3 884 1 333 514 204 +CTRIA3 885 1 332 513 124 +CTRIA3 886 1 203 513 332 +CTRIA3 887 1 123 514 333 +CTRIA3 888 1 437 461 58 +CTRIA3 889 1 328 483 130 +CTRIA3 890 1 201 483 328 +CTRIA3 891 1 330 485 202 +CTRIA3 892 1 131 485 330 +CTRIA3 893 1 59 437 58 +CTRIA3 894 1 253 461 437 +CTRIA3 895 1 331 443 111 +CTRIA3 896 1 169 399 347 +CTRIA3 897 1 171 402 338 +CTRIA3 898 1 106 442 107 +CTRIA3 899 1 48 441 47 +CTRIA3 900 1 181 421 355 +CTRIA3 901 1 354 422 182 +CTRIA3 902 1 179 425 360 +CTRIA3 903 1 138 406 339 +CTRIA3 904 1 344 407 136 +CTRIA3 905 1 348 416 135 +CTRIA3 906 1 453 544 367 +CTRIA3 907 1 55 546 54 +CTRIA3 908 1 92 541 93 +CTRIA3 909 1 82 542 83 +CTRIA3 910 1 326 460 189 +CTRIA3 911 1 223 453 388 +CTRIA3 912 1 388 453 75 +CTRIA3 913 1 108 471 109 +CTRIA3 914 1 94 502 95 +CTRIA3 915 1 80 501 81 +CTRIA3 916 1 340 516 209 +CTRIA3 917 1 137 516 340 +CTRIA3 918 1 136 518 344 +CTRIA3 919 1 210 520 345 +CTRIA3 920 1 344 518 211 +CTRIA3 921 1 345 520 135 +CTRIA3 922 1 212 522 339 +CTRIA3 923 1 339 522 138 +CTRIA3 924 1 186 435 357 +CTRIA3 925 1 356 479 226 +CTRIA3 926 1 75 453 76 +CTRIA3 927 1 113 458 114 +CTRIA3 928 1 33 456 32 +CTRIA3 929 1 43 455 42 +CTRIA3 930 1 25 457 24 +CTRIA3 931 1 135 531 348 +CTRIA3 932 1 346 532 136 +CTRIA3 933 1 58 461 57 +CTRIA3 934 1 197 459 321 +CTRIA3 935 1 426 515 141 +CTRIA3 936 1 327 530 137 +CTRIA3 937 1 199 530 327 +CTRIA3 938 1 138 533 329 +CTRIA3 939 1 329 533 200 +CTRIA3 940 1 337 535 172 +CTRIA3 941 1 208 535 337 +CTRIA3 942 1 369 475 262 +CTRIA3 943 1 259 474 372 +CTRIA3 944 1 371 473 260 +CTRIA3 945 1 261 472 370 +CTRIA3 946 1 47 500 46 +CTRIA3 947 1 19 508 18 +CTRIA3 948 1 86 504 87 +CTRIA3 949 1 88 505 89 +CTRIA3 950 1 97 511 98 +CTRIA3 951 1 77 512 78 +CTRIA3 952 1 144 509 429 +CTRIA3 953 1 17 524 16 +CTRIA3 954 1 46 500 321 +CTRIA3 955 1 321 500 257 +CTRIA3 956 1 375 427 193 +CTRIA3 957 1 252 427 375 +CTRIA3 958 1 192 426 374 +CTRIA3 959 1 374 426 252 +CTRIA3 960 1 325 538 213 +CTRIA3 961 1 196 430 377 +CTRIA3 962 1 377 430 256 +CTRIA3 963 1 256 429 376 +CTRIA3 964 1 376 429 195 +CTRIA3 965 1 140 460 326 +CTRIA3 966 1 463 529 234 +CTRIA3 967 1 326 476 213 +CTRIA3 968 1 257 500 441 +CTRIA3 969 1 441 500 47 +CTRIA3 970 1 114 458 337 +CTRIA3 971 1 335 457 25 +CTRIA3 972 1 207 457 335 +CTRIA3 973 1 334 455 43 +CTRIA3 974 1 336 456 206 +CTRIA3 975 1 205 455 334 +CTRIA3 976 1 32 456 336 +CTRIA3 977 1 337 458 208 +CTRIA3 978 1 431 540 251 +CTRIA3 979 1 222 540 431 +CTRIA3 980 1 141 537 427 +CTRIA3 981 1 430 534 144 +CTRIA3 982 1 93 541 351 +CTRIA3 983 1 352 542 82 +CTRIA3 984 1 265 539 398 +CTRIA3 985 1 353 546 55 +CTRIA3 986 1 269 543 397 +CTRIA3 987 1 382 484 133 +CTRIA3 988 1 172 535 329 +CTRIA3 989 1 539 545 214 +CTRIA3 990 1 214 487 438 +CTRIA3 991 1 213 486 439 +CTRIA3 992 1 413 524 229 +CTRIA3 993 1 16 524 413 +CTRIA3 994 1 107 442 381 +CTRIA3 995 1 380 441 48 +CTRIA3 996 1 200 484 382 +CTRIA3 997 1 419 511 97 +CTRIA3 998 1 227 511 419 +CTRIA3 999 1 78 512 420 +CTRIA3 1000 1 420 512 228 +CTRIA3 1001 1 193 528 375 +CTRIA3 1002 1 374 527 192 +CTRIA3 1003 1 213 538 486 +CTRIA3 1004 1 377 526 196 +CTRIA3 1005 1 195 525 376 +CTRIA3 1006 1 224 479 356 +CTRIA3 1007 1 214 545 487 +CTRIA3 1008 1 265 545 539 +CTRIA3 1009 1 351 541 232 +CTRIA3 1010 1 231 542 352 +CTRIA3 1011 1 119 463 358 +CTRIA3 1012 1 359 462 73 +CTRIA3 1013 1 233 546 353 +CTRIA3 1014 1 235 444 388 +CTRIA3 1015 1 388 444 223 +CTRIA3 1016 1 14 468 361 +CTRIA3 1017 1 362 469 60 +CTRIA3 1018 1 389 501 80 +CTRIA3 1019 1 95 502 390 +CTRIA3 1020 1 57 461 391 +CTRIA3 1021 1 398 481 272 +CTRIA3 1022 1 129 481 398 +CTRIA3 1023 1 370 472 161 +CTRIA3 1024 1 163 473 371 +CTRIA3 1025 1 164 475 369 +CTRIA3 1026 1 372 474 162 +CTRIA3 1027 1 129 477 397 +CTRIA3 1028 1 397 477 277 +CTRIA3 1029 1 398 539 129 +CTRIA3 1030 1 397 543 129 +CTRIA3 1031 1 367 544 180 +CTRIA3 1032 1 405 538 325 +CTRIA3 1033 1 413 510 243 +CTRIA3 1034 1 262 533 522 +CTRIA3 1035 1 260 531 520 +CTRIA3 1036 1 137 530 516 +CTRIA3 1037 1 522 533 138 +CTRIA3 1038 1 516 530 261 +CTRIA3 1039 1 520 531 135 +CTRIA3 1040 1 518 532 259 +CTRIA3 1041 1 136 532 518 +CTRIA3 1042 1 301 514 421 +CTRIA3 1043 1 422 513 302 +CTRIA3 1044 1 420 493 245 +CTRIA3 1045 1 228 493 420 +CTRIA3 1046 1 419 492 227 +CTRIA3 1047 1 246 492 419 +CTRIA3 1048 1 447 451 217 +CTRIA3 1049 1 216 450 446 +CTRIA3 1050 1 445 452 215 +CTRIA3 1051 1 229 510 413 +CTRIA3 1052 1 271 506 428 +CTRIA3 1053 1 148 538 405 +CTRIA3 1054 1 124 513 422 +CTRIA3 1055 1 421 514 123 +CTRIA3 1056 1 268 495 433 +CTRIA3 1057 1 433 495 126 +CTRIA3 1058 1 128 494 434 +CTRIA3 1059 1 434 494 267 +CTRIA3 1060 1 428 506 125 +CTRIA3 1061 1 477 539 214 +CTRIA3 1062 1 446 450 218 +CTRIA3 1063 1 220 452 445 +CTRIA3 1064 1 219 451 447 +CTRIA3 1065 1 439 486 204 +CTRIA3 1066 1 438 487 203 +CTRIA3 1067 1 216 509 450 +CTRIA3 1068 1 481 543 219 +CTRIA3 1069 1 452 515 215 +CTRIA3 1070 1 450 534 218 +CTRIA3 1071 1 220 537 452 +CTRIA3 1072 1 223 544 453 +CTRIA3 1073 1 450 509 144 +CTRIA3 1074 1 486 538 148 +CTRIA3 1075 1 141 515 452 +CTRIA3 1076 1 503 508 19 +CTRIA3 1077 1 522 523 262 +CTRIA3 1078 1 212 523 522 +CTRIA3 1079 1 261 521 516 +CTRIA3 1080 1 260 520 517 +CTRIA3 1081 1 516 521 209 +CTRIA3 1082 1 518 519 211 +CTRIA3 1083 1 517 520 210 +CTRIA3 1084 1 259 519 518 +CTRIA3 1085 1 225 508 503 +CTRIA3 1086 1 144 534 450 +CTRIA3 1087 1 487 545 139 +CTRIA3 1088 1 452 537 141 +CTRIA3 1089 1 129 539 477 +CTRIA3 1090 1 129 543 481 +$PROPERTIES +PSHELL 1 1 1000. 1 1 +$MATERIALS +MAT1 1 210000. .3 +$LOADS +LOAD 1 1. 1. 2 +FORCE 2 3 642857.1 0.-2.22-16 -1. +FORCE 2 4 642857.1 0.-2.22-16 -1. +FORCE 2 64 1285714. 0.-2.22-16 -1. +FORCE 2 65 1285714. 0.-2.22-16 -1. +FORCE 2 66 1285714. 0.-2.22-16 -1. +FORCE 2 67 1285714. 0.-2.22-16 -1. +FORCE 2 68 1285714. 0.-2.22-16 -1. +FORCE 2 69 1285714. 0.-2.22-16 -1. +$SPCs +SPCADD 1 2 +SPC1 2 123456 1 2 5 6 7 8 + 9 10 +ENDDATA diff --git a/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_faceload.bdf b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_faceload.bdf new file mode 100644 index 0000000000..8aa88e3cbe --- /dev/null +++ b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_faceload.bdf @@ -0,0 +1,433 @@ +$pyNastran: version=msc +$pyNastran: punch=False +$pyNastran: encoding=utf-8 +$pyNastran: nnodes=228 +$pyNastran: nelements=79 +$EXECUTIVE CONTROL DECK +SOL 101 +CEND +$CASE CONTROL DECK +ECHO = NONE +TITLE = pyNastran for generating solverinput for for Mystran +SUBCASE 1 + DISPLACEMENT(SORT1,REAL) = ALL + LOAD = 1 + SPC = 1 + SPCFORCES(SORT1,REAL) = ALL + STRESS(SORT1,REAL,VONMISES,BILIN) = ALL + SUBTITLE = Default +BEGIN BULK +$PARAMS +PARAM POST -1 +$NODES +GRID 1 8000. 1000. 0. +GRID 2 8000. 1000. 1000. +GRID 3 8000. 0. 0. +GRID 4 8000. 0. 1000. +GRID 5 0. 1000. 0. +GRID 6 0. 1000. 1000. +GRID 7 0. 0. 0. +GRID 8 0. 0. 1000. +GRID 9 728. 1000. 1000. +GRID 10 1456. 1000. 1000. +GRID 11 2184. 1000. 1000. +GRID 12 2912. 1000. 1000. +GRID 13 3640. 1000. 1000. +GRID 14 4368. 1000. 1000. +GRID 15 5096. 1000. 1000. +GRID 16 5824. 1000. 1000. +GRID 17 6552. 1000. 1000. +GRID 18 7280. 1000. 1000. +GRID 19 728. 0. 1000. +GRID 20 1456. 0. 1000. +GRID 21 2184. 0. 1000. +GRID 22 2912. 0. 1000. +GRID 23 3640. 0. 1000. +GRID 24 4368. 0. 1000. +GRID 25 5096. 0. 1000. +GRID 26 5824. 0. 1000. +GRID 27 6552. 0. 1000. +GRID 28 7280. 0. 1000. +GRID 29 728. 1000. 0. +GRID 30 1456. 1000. 0. +GRID 31 2184. 1000. 0. +GRID 32 2912. 1000. 0. +GRID 33 3640. 1000. 0. +GRID 34 4368. 1000. 0. +GRID 35 5096. 1000. 0. +GRID 36 5824. 1000. 0. +GRID 37 6552. 1000. 0. +GRID 38 7280. 1000. 0. +GRID 39 728. 0. 0. +GRID 40 1456. 0. 0. +GRID 41 2184. 0. 0. +GRID 42 2912. 0. 0. +GRID 43 3640. 0. 0. +GRID 44 4368. 0. 0. +GRID 45 5096. 0. 0. +GRID 46 5824. 0. 0. +GRID 47 6552. 0. 0. +GRID 48 7280. 0. 0. +GRID 49 8000. 500. 500. +GRID 50 0. 500. 500. +GRID 51 4732. 500. 500. +GRID 52 0. 500. 1000. +GRID 53 364. 1000. 1000. +GRID 54 1092. 1000. 1000. +GRID 55 1820. 1000. 1000. +GRID 56 2548. 1000. 1000. +GRID 57 3276. 1000. 1000. +GRID 58 4004. 1000. 1000. +GRID 59 4732. 1000. 1000. +GRID 60 5460. 1000. 1000. +GRID 61 6188. 1000. 1000. +GRID 62 6916. 1000. 1000. +GRID 63 7640. 1000. 1000. +GRID 64 8000. 500. 1000. +GRID 65 364. 0. 1000. +GRID 66 1092. 0. 1000. +GRID 67 1820. 0. 1000. +GRID 68 2548. 0. 1000. +GRID 69 3276. 0. 1000. +GRID 70 4004. 0. 1000. +GRID 71 4732. 0. 1000. +GRID 72 5460. 0. 1000. +GRID 73 6188. 0. 1000. +GRID 74 6916. 0. 1000. +GRID 75 7640. 0. 1000. +GRID 76 0. 500. 0. +GRID 77 364. 1000. 0. +GRID 78 1092. 1000. 0. +GRID 79 1820. 1000. 0. +GRID 80 2548. 1000. 0. +GRID 81 3276. 1000. 0. +GRID 82 4004. 1000. 0. +GRID 83 4732. 1000. 0. +GRID 84 5460. 1000. 0. +GRID 85 6188. 1000. 0. +GRID 86 6916. 1000. 0. +GRID 87 7640. 1000. 0. +GRID 88 8000. 500. 0. +GRID 89 364. 0. 0. +GRID 90 1092. 0. 0. +GRID 91 1820. 0. 0. +GRID 92 2548. 0. 0. +GRID 93 3276. 0. 0. +GRID 94 4004. 0. 0. +GRID 95 4732. 0. 0. +GRID 96 5460. 0. 0. +GRID 97 6188. 0. 0. +GRID 98 6916. 0. 0. +GRID 99 7640. 0. 0. +GRID 100 8000. 1000. 500. +GRID 101 0. 1000. 500. +GRID 102 8000. 0. 500. +GRID 103 0. 0. 500. +GRID 104 364. 500. 1000. +GRID 105 728. 500. 1000. +GRID 106 1092. 500. 1000. +GRID 107 1456. 500. 1000. +GRID 108 1820. 500. 1000. +GRID 109 2184. 500. 1000. +GRID 110 2548. 500. 1000. +GRID 111 3276. 500. 1000. +GRID 112 3640. 500. 1000. +GRID 113 4004. 500. 1000. +GRID 114 4368. 500. 1000. +GRID 115 4732. 500. 1000. +GRID 116 5096. 500. 1000. +GRID 117 5460. 500. 1000. +GRID 118 5824. 500. 1000. +GRID 119 6188. 500. 1000. +GRID 120 6552. 500. 1000. +GRID 121 6916. 500. 1000. +GRID 122 7640. 500. 1000. +GRID 123 2912. 500. 1000. +GRID 124 7280. 500. 1000. +GRID 125 364. 500. 0. +GRID 126 1092. 500. 0. +GRID 127 728. 500. 0. +GRID 128 1820. 500. 0. +GRID 129 1456. 500. 0. +GRID 130 2548. 500. 0. +GRID 131 2184. 500. 0. +GRID 132 3640. 500. 0. +GRID 133 3276. 500. 0. +GRID 134 4004. 500. 0. +GRID 135 5096. 500. 0. +GRID 136 4732. 500. 0. +GRID 137 5460. 500. 0. +GRID 138 6188. 500. 0. +GRID 139 5824. 500. 0. +GRID 140 6916. 500. 0. +GRID 141 6552. 500. 0. +GRID 142 7640. 500. 0. +GRID 143 2912. 500. 0. +GRID 144 4368. 500. 0. +GRID 145 7280. 500. 0. +GRID 146 364. 1000. 500. +GRID 147 728. 1000. 500. +GRID 148 1092. 1000. 500. +GRID 149 1456. 1000. 500. +GRID 150 1820. 1000. 500. +GRID 151 2184. 1000. 500. +GRID 152 2548. 1000. 500. +GRID 153 3276. 1000. 500. +GRID 154 3640. 1000. 500. +GRID 155 4004. 1000. 500. +GRID 156 4368. 1000. 500. +GRID 157 4732. 1000. 500. +GRID 158 5096. 1000. 500. +GRID 159 5460. 1000. 500. +GRID 160 5824. 1000. 500. +GRID 161 6188. 1000. 500. +GRID 162 6552. 1000. 500. +GRID 163 6916. 1000. 500. +GRID 164 7640. 1000. 500. +GRID 165 2912. 1000. 500. +GRID 166 7280. 1000. 500. +GRID 167 364. 0. 500. +GRID 168 1092. 0. 500. +GRID 169 728. 0. 500. +GRID 170 1820. 0. 500. +GRID 171 1456. 0. 500. +GRID 172 2548. 0. 500. +GRID 173 2184. 0. 500. +GRID 174 3640. 0. 500. +GRID 175 3276. 0. 500. +GRID 176 4004. 0. 500. +GRID 177 5096. 0. 500. +GRID 178 4732. 0. 500. +GRID 179 5460. 0. 500. +GRID 180 6188. 0. 500. +GRID 181 5824. 0. 500. +GRID 182 6916. 0. 500. +GRID 183 6552. 0. 500. +GRID 184 7640. 0. 500. +GRID 185 2912. 0. 500. +GRID 186 4368. 0. 500. +GRID 187 7280. 0. 500. +GRID 188 8000. 250. 250. +GRID 189 8000. 250. 750. +GRID 190 8000. 750. 750. +GRID 191 8000. 750. 250. +GRID 192 0. 250. 750. +GRID 193 0. 250. 250. +GRID 194 0. 750. 250. +GRID 195 0. 750. 750. +GRID 196 1456. 500. 500. +GRID 197 6552. 500. 500. +GRID 198 6916. 500. 500. +GRID 199 2184. 500. 500. +GRID 200 2548. 500. 500. +GRID 201 2912. 500. 500. +GRID 202 1820. 500. 500. +GRID 203 7640. 750. 250. +GRID 204 7640. 750. 750. +GRID 205 7280. 500. 500. +GRID 206 7640. 250. 250. +GRID 207 5460. 500. 500. +GRID 208 5096. 500. 500. +GRID 209 6188. 500. 500. +GRID 210 5824. 500. 500. +GRID 211 364. 750. 250. +GRID 212 364. 750. 750. +GRID 213 364. 250. 250. +GRID 214 1092. 500. 500. +GRID 215 728. 500. 500. +GRID 216 364. 250. 750. +GRID 217 4550. 250. 250. +GRID 218 4550. 750. 250. +GRID 219 4550. 750. 750. +GRID 220 4368. 500. 500. +GRID 221 4550. 250. 750. +GRID 222 4914. 250. 750. +GRID 223 4914. 750. 750. +GRID 224 3276. 500. 500. +GRID 225 3640. 500. 500. +GRID 226 4004. 500. 500. +GRID 227 4914. 750. 250. +GRID 228 4914. 250. 250. +$ELEMENTS +CTETRA 149 1 40 10 19 20 196 106 + 168 171 107 66 +CTETRA 150 1 10 30 31 40 149 79 + 150 196 129 128 +CTETRA 151 1 38 18 17 47 166 62 + 163 140 198 197 +CTETRA 152 1 32 11 41 12 152 199 + 130 165 56 200 +CTETRA 153 1 12 41 32 42 200 130 + 165 201 92 143 +CTETRA 154 1 42 12 21 22 201 110 + 172 185 123 68 +CTETRA 155 1 10 40 31 11 196 128 + 150 55 202 151 +CTETRA 156 1 11 41 12 21 199 200 + 56 109 173 110 +CTETRA 157 1 20 11 41 40 108 199 + 170 171 202 91 +CTETRA 158 1 20 21 41 11 67 173 + 170 108 109 199 +CTETRA 159 1 32 41 11 31 130 199 + 152 80 131 151 +CTETRA 160 1 11 20 10 40 108 107 + 55 202 171 196 +CTETRA 161 1 38 47 17 37 140 197 + 163 86 141 162 +CTETRA 162 1 38 49 18 48 203 204 + 166 145 206 205 +CTETRA 163 1 46 45 15 36 96 208 + 207 139 137 159 +CTETRA 164 1 47 46 16 37 97 210 + 209 141 138 161 +CTETRA 165 1 18 2 4 49 63 64 + 122 204 190 189 +CTETRA 166 1 18 27 17 47 121 120 + 62 198 183 197 +CTETRA 167 1 38 48 18 47 145 205 + 166 140 98 198 +CTETRA 168 1 12 42 23 22 201 175 + 111 123 185 69 +CTETRA 169 1 26 27 47 17 73 183 + 180 119 120 197 +CTETRA 170 1 50 9 29 6 212 147 + 211 195 53 146 +CTETRA 171 1 27 18 48 47 121 205 + 182 183 198 98 +CTETRA 172 1 8 39 7 50 167 89 + 103 192 213 193 +CTETRA 173 1 40 39 9 30 90 215 + 214 129 126 148 +CTETRA 174 1 42 41 21 12 92 173 + 172 201 200 110 +CTETRA 175 1 50 29 9 39 211 147 + 212 213 127 215 +CTETRA 176 1 29 50 7 39 211 193 + 125 127 213 89 +CTETRA 177 1 31 41 11 40 131 199 + 151 128 91 202 +CTETRA 178 1 47 37 16 17 141 161 + 209 197 162 61 +CTETRA 179 1 40 30 9 10 129 148 + 214 196 149 54 +CTETRA 180 1 2 49 38 1 190 203 + 164 100 191 87 +CTETRA 181 1 2 18 38 49 63 166 + 164 190 204 203 +CTETRA 182 1 48 38 49 3 145 203 + 206 99 142 188 +CTETRA 183 1 38 1 49 3 87 191 + 203 142 88 188 +CTETRA 184 1 49 3 4 48 188 102 + 189 206 99 184 +CTETRA 185 1 28 4 48 18 75 184 + 187 124 122 205 +CTETRA 186 1 49 4 18 48 189 122 + 204 206 184 205 +CTETRA 187 1 7 5 50 29 76 194 + 193 125 77 211 +CTETRA 188 1 50 5 6 29 194 101 + 195 211 77 146 +CTETRA 189 1 50 19 9 6 216 105 + 212 195 104 53 +CTETRA 190 1 50 9 19 39 212 105 + 216 213 215 169 +CTETRA 191 1 50 8 19 6 192 65 + 216 195 52 104 +CTETRA 192 1 40 10 9 19 196 54 + 214 168 106 105 +CTETRA 193 1 51 34 44 14 218 144 + 217 219 156 220 +CTETRA 194 1 51 44 24 14 217 186 + 221 219 220 114 +CTETRA 195 1 25 24 15 51 71 115 + 116 222 221 223 +CTETRA 196 1 43 32 12 13 133 165 + 224 225 153 57 +CTETRA 197 1 43 23 12 42 174 111 + 224 93 175 201 +CTETRA 198 1 43 13 12 23 225 57 + 224 174 112 111 +CTETRA 199 1 43 42 12 32 93 201 + 224 133 143 165 +CTETRA 200 1 34 14 13 44 156 58 + 155 144 220 226 +CTETRA 201 1 14 15 24 51 59 115 + 114 219 223 221 +CTETRA 202 1 23 14 24 44 113 114 + 70 176 220 186 +CTETRA 203 1 33 13 32 43 154 153 + 81 132 225 133 +CTETRA 204 1 34 13 33 43 155 154 + 82 134 225 132 +CTETRA 205 1 35 15 14 51 158 59 + 157 227 223 219 +CTETRA 206 1 25 15 45 51 116 208 + 177 222 223 228 +CTETRA 207 1 44 13 43 23 226 225 + 94 176 112 174 +CTETRA 208 1 35 14 34 51 157 156 + 83 227 219 218 +CTETRA 209 1 46 36 15 16 139 159 + 207 210 160 60 +CTETRA 210 1 36 15 35 45 159 158 + 84 137 208 135 +CTETRA 211 1 37 16 36 46 161 160 + 85 138 210 139 +CTETRA 212 1 25 16 26 46 117 118 + 72 179 210 181 +CTETRA 213 1 47 17 16 26 197 61 + 209 180 119 118 +CTETRA 214 1 47 26 16 46 180 118 + 209 97 181 210 +CTETRA 215 1 27 18 28 48 121 124 + 74 182 205 187 +CTETRA 216 1 35 51 34 45 227 218 + 83 135 228 136 +CTETRA 217 1 13 44 14 23 226 220 + 58 112 176 113 +CTETRA 218 1 44 24 25 51 186 71 + 178 217 221 222 +CTETRA 219 1 44 25 45 51 178 177 + 95 217 222 228 +CTETRA 220 1 46 16 15 25 210 60 + 207 179 117 116 +CTETRA 221 1 46 25 15 45 179 116 + 207 96 177 208 +CTETRA 222 1 50 19 8 39 216 65 + 192 213 169 167 +CTETRA 223 1 35 15 51 45 158 223 + 227 135 208 228 +CTETRA 224 1 34 43 44 13 134 94 + 144 155 225 226 +CTETRA 225 1 51 45 44 34 228 95 + 217 218 136 144 +CTETRA 226 1 9 39 29 30 215 127 + 147 148 126 78 +CTETRA 227 1 40 19 9 39 168 105 + 214 90 169 215 +$PROPERTIES +PSOLID 1 1 +$MATERIALS +MAT1 1 210000. .3 +$LOADS +LOAD 1 1. 1. 2 +FORCE 2 1 0. 0. 0. -1. +FORCE 2 2 0. 0. 0. -1. +FORCE 2 3 0. 0. 0. -1. +FORCE 2 4 0. 0. 0. -1. +FORCE 2 49 0. 0. 0. -1. +FORCE 2 64 750000. 0. 0. -1. +FORCE 2 88 750000. 0. 0. -1. +FORCE 2 100 750000. 0. 0. -1. +FORCE 2 102 750000. 0. 0. -1. +FORCE 2 188 1500000. 0. 0. -1. +FORCE 2 189 1500000. 0. 0. -1. +FORCE 2 190 1500000. 0. 0. -1. +FORCE 2 191 1500000. 0. 0. -1. +$SPCs +SPCADD 1 2 +SPC1 2 123456 5 6 7 8 50 52 + 76 101 103 192 193 194 195 +ENDDATA diff --git a/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_nodeload.bdf b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_nodeload.bdf new file mode 100644 index 0000000000..6d66ff9230 --- /dev/null +++ b/src/Mod/Fem/femtest/data/mystran/ccx_cantilever_nodeload.bdf @@ -0,0 +1,424 @@ +$pyNastran: version=msc +$pyNastran: punch=False +$pyNastran: encoding=utf-8 +$pyNastran: nnodes=228 +$pyNastran: nelements=79 +$EXECUTIVE CONTROL DECK +SOL 101 +CEND +$CASE CONTROL DECK +ECHO = NONE +TITLE = pyNastran for generating solverinput for for Mystran +SUBCASE 1 + DISPLACEMENT(SORT1,REAL) = ALL + LOAD = 1 + SPC = 1 + SPCFORCES(SORT1,REAL) = ALL + STRESS(SORT1,REAL,VONMISES,BILIN) = ALL + SUBTITLE = Default +BEGIN BULK +$PARAMS +PARAM POST -1 +$NODES +GRID 1 8000. 1000. 0. +GRID 2 8000. 1000. 1000. +GRID 3 8000. 0. 0. +GRID 4 8000. 0. 1000. +GRID 5 0. 1000. 0. +GRID 6 0. 1000. 1000. +GRID 7 0. 0. 0. +GRID 8 0. 0. 1000. +GRID 9 728. 1000. 1000. +GRID 10 1456. 1000. 1000. +GRID 11 2184. 1000. 1000. +GRID 12 2912. 1000. 1000. +GRID 13 3640. 1000. 1000. +GRID 14 4368. 1000. 1000. +GRID 15 5096. 1000. 1000. +GRID 16 5824. 1000. 1000. +GRID 17 6552. 1000. 1000. +GRID 18 7280. 1000. 1000. +GRID 19 728. 0. 1000. +GRID 20 1456. 0. 1000. +GRID 21 2184. 0. 1000. +GRID 22 2912. 0. 1000. +GRID 23 3640. 0. 1000. +GRID 24 4368. 0. 1000. +GRID 25 5096. 0. 1000. +GRID 26 5824. 0. 1000. +GRID 27 6552. 0. 1000. +GRID 28 7280. 0. 1000. +GRID 29 728. 1000. 0. +GRID 30 1456. 1000. 0. +GRID 31 2184. 1000. 0. +GRID 32 2912. 1000. 0. +GRID 33 3640. 1000. 0. +GRID 34 4368. 1000. 0. +GRID 35 5096. 1000. 0. +GRID 36 5824. 1000. 0. +GRID 37 6552. 1000. 0. +GRID 38 7280. 1000. 0. +GRID 39 728. 0. 0. +GRID 40 1456. 0. 0. +GRID 41 2184. 0. 0. +GRID 42 2912. 0. 0. +GRID 43 3640. 0. 0. +GRID 44 4368. 0. 0. +GRID 45 5096. 0. 0. +GRID 46 5824. 0. 0. +GRID 47 6552. 0. 0. +GRID 48 7280. 0. 0. +GRID 49 8000. 500. 500. +GRID 50 0. 500. 500. +GRID 51 4732. 500. 500. +GRID 52 0. 500. 1000. +GRID 53 364. 1000. 1000. +GRID 54 1092. 1000. 1000. +GRID 55 1820. 1000. 1000. +GRID 56 2548. 1000. 1000. +GRID 57 3276. 1000. 1000. +GRID 58 4004. 1000. 1000. +GRID 59 4732. 1000. 1000. +GRID 60 5460. 1000. 1000. +GRID 61 6188. 1000. 1000. +GRID 62 6916. 1000. 1000. +GRID 63 7640. 1000. 1000. +GRID 64 8000. 500. 1000. +GRID 65 364. 0. 1000. +GRID 66 1092. 0. 1000. +GRID 67 1820. 0. 1000. +GRID 68 2548. 0. 1000. +GRID 69 3276. 0. 1000. +GRID 70 4004. 0. 1000. +GRID 71 4732. 0. 1000. +GRID 72 5460. 0. 1000. +GRID 73 6188. 0. 1000. +GRID 74 6916. 0. 1000. +GRID 75 7640. 0. 1000. +GRID 76 0. 500. 0. +GRID 77 364. 1000. 0. +GRID 78 1092. 1000. 0. +GRID 79 1820. 1000. 0. +GRID 80 2548. 1000. 0. +GRID 81 3276. 1000. 0. +GRID 82 4004. 1000. 0. +GRID 83 4732. 1000. 0. +GRID 84 5460. 1000. 0. +GRID 85 6188. 1000. 0. +GRID 86 6916. 1000. 0. +GRID 87 7640. 1000. 0. +GRID 88 8000. 500. 0. +GRID 89 364. 0. 0. +GRID 90 1092. 0. 0. +GRID 91 1820. 0. 0. +GRID 92 2548. 0. 0. +GRID 93 3276. 0. 0. +GRID 94 4004. 0. 0. +GRID 95 4732. 0. 0. +GRID 96 5460. 0. 0. +GRID 97 6188. 0. 0. +GRID 98 6916. 0. 0. +GRID 99 7640. 0. 0. +GRID 100 8000. 1000. 500. +GRID 101 0. 1000. 500. +GRID 102 8000. 0. 500. +GRID 103 0. 0. 500. +GRID 104 364. 500. 1000. +GRID 105 728. 500. 1000. +GRID 106 1092. 500. 1000. +GRID 107 1456. 500. 1000. +GRID 108 1820. 500. 1000. +GRID 109 2184. 500. 1000. +GRID 110 2548. 500. 1000. +GRID 111 3276. 500. 1000. +GRID 112 3640. 500. 1000. +GRID 113 4004. 500. 1000. +GRID 114 4368. 500. 1000. +GRID 115 4732. 500. 1000. +GRID 116 5096. 500. 1000. +GRID 117 5460. 500. 1000. +GRID 118 5824. 500. 1000. +GRID 119 6188. 500. 1000. +GRID 120 6552. 500. 1000. +GRID 121 6916. 500. 1000. +GRID 122 7640. 500. 1000. +GRID 123 2912. 500. 1000. +GRID 124 7280. 500. 1000. +GRID 125 364. 500. 0. +GRID 126 1092. 500. 0. +GRID 127 728. 500. 0. +GRID 128 1820. 500. 0. +GRID 129 1456. 500. 0. +GRID 130 2548. 500. 0. +GRID 131 2184. 500. 0. +GRID 132 3640. 500. 0. +GRID 133 3276. 500. 0. +GRID 134 4004. 500. 0. +GRID 135 5096. 500. 0. +GRID 136 4732. 500. 0. +GRID 137 5460. 500. 0. +GRID 138 6188. 500. 0. +GRID 139 5824. 500. 0. +GRID 140 6916. 500. 0. +GRID 141 6552. 500. 0. +GRID 142 7640. 500. 0. +GRID 143 2912. 500. 0. +GRID 144 4368. 500. 0. +GRID 145 7280. 500. 0. +GRID 146 364. 1000. 500. +GRID 147 728. 1000. 500. +GRID 148 1092. 1000. 500. +GRID 149 1456. 1000. 500. +GRID 150 1820. 1000. 500. +GRID 151 2184. 1000. 500. +GRID 152 2548. 1000. 500. +GRID 153 3276. 1000. 500. +GRID 154 3640. 1000. 500. +GRID 155 4004. 1000. 500. +GRID 156 4368. 1000. 500. +GRID 157 4732. 1000. 500. +GRID 158 5096. 1000. 500. +GRID 159 5460. 1000. 500. +GRID 160 5824. 1000. 500. +GRID 161 6188. 1000. 500. +GRID 162 6552. 1000. 500. +GRID 163 6916. 1000. 500. +GRID 164 7640. 1000. 500. +GRID 165 2912. 1000. 500. +GRID 166 7280. 1000. 500. +GRID 167 364. 0. 500. +GRID 168 1092. 0. 500. +GRID 169 728. 0. 500. +GRID 170 1820. 0. 500. +GRID 171 1456. 0. 500. +GRID 172 2548. 0. 500. +GRID 173 2184. 0. 500. +GRID 174 3640. 0. 500. +GRID 175 3276. 0. 500. +GRID 176 4004. 0. 500. +GRID 177 5096. 0. 500. +GRID 178 4732. 0. 500. +GRID 179 5460. 0. 500. +GRID 180 6188. 0. 500. +GRID 181 5824. 0. 500. +GRID 182 6916. 0. 500. +GRID 183 6552. 0. 500. +GRID 184 7640. 0. 500. +GRID 185 2912. 0. 500. +GRID 186 4368. 0. 500. +GRID 187 7280. 0. 500. +GRID 188 8000. 250. 250. +GRID 189 8000. 250. 750. +GRID 190 8000. 750. 750. +GRID 191 8000. 750. 250. +GRID 192 0. 250. 750. +GRID 193 0. 250. 250. +GRID 194 0. 750. 250. +GRID 195 0. 750. 750. +GRID 196 1456. 500. 500. +GRID 197 6552. 500. 500. +GRID 198 6916. 500. 500. +GRID 199 2184. 500. 500. +GRID 200 2548. 500. 500. +GRID 201 2912. 500. 500. +GRID 202 1820. 500. 500. +GRID 203 7640. 750. 250. +GRID 204 7640. 750. 750. +GRID 205 7280. 500. 500. +GRID 206 7640. 250. 250. +GRID 207 5460. 500. 500. +GRID 208 5096. 500. 500. +GRID 209 6188. 500. 500. +GRID 210 5824. 500. 500. +GRID 211 364. 750. 250. +GRID 212 364. 750. 750. +GRID 213 364. 250. 250. +GRID 214 1092. 500. 500. +GRID 215 728. 500. 500. +GRID 216 364. 250. 750. +GRID 217 4550. 250. 250. +GRID 218 4550. 750. 250. +GRID 219 4550. 750. 750. +GRID 220 4368. 500. 500. +GRID 221 4550. 250. 750. +GRID 222 4914. 250. 750. +GRID 223 4914. 750. 750. +GRID 224 3276. 500. 500. +GRID 225 3640. 500. 500. +GRID 226 4004. 500. 500. +GRID 227 4914. 750. 250. +GRID 228 4914. 250. 250. +$ELEMENTS +CTETRA 149 1 40 10 19 20 196 106 + 168 171 107 66 +CTETRA 150 1 10 30 31 40 149 79 + 150 196 129 128 +CTETRA 151 1 38 18 17 47 166 62 + 163 140 198 197 +CTETRA 152 1 32 11 41 12 152 199 + 130 165 56 200 +CTETRA 153 1 12 41 32 42 200 130 + 165 201 92 143 +CTETRA 154 1 42 12 21 22 201 110 + 172 185 123 68 +CTETRA 155 1 10 40 31 11 196 128 + 150 55 202 151 +CTETRA 156 1 11 41 12 21 199 200 + 56 109 173 110 +CTETRA 157 1 20 11 41 40 108 199 + 170 171 202 91 +CTETRA 158 1 20 21 41 11 67 173 + 170 108 109 199 +CTETRA 159 1 32 41 11 31 130 199 + 152 80 131 151 +CTETRA 160 1 11 20 10 40 108 107 + 55 202 171 196 +CTETRA 161 1 38 47 17 37 140 197 + 163 86 141 162 +CTETRA 162 1 38 49 18 48 203 204 + 166 145 206 205 +CTETRA 163 1 46 45 15 36 96 208 + 207 139 137 159 +CTETRA 164 1 47 46 16 37 97 210 + 209 141 138 161 +CTETRA 165 1 18 2 4 49 63 64 + 122 204 190 189 +CTETRA 166 1 18 27 17 47 121 120 + 62 198 183 197 +CTETRA 167 1 38 48 18 47 145 205 + 166 140 98 198 +CTETRA 168 1 12 42 23 22 201 175 + 111 123 185 69 +CTETRA 169 1 26 27 47 17 73 183 + 180 119 120 197 +CTETRA 170 1 50 9 29 6 212 147 + 211 195 53 146 +CTETRA 171 1 27 18 48 47 121 205 + 182 183 198 98 +CTETRA 172 1 8 39 7 50 167 89 + 103 192 213 193 +CTETRA 173 1 40 39 9 30 90 215 + 214 129 126 148 +CTETRA 174 1 42 41 21 12 92 173 + 172 201 200 110 +CTETRA 175 1 50 29 9 39 211 147 + 212 213 127 215 +CTETRA 176 1 29 50 7 39 211 193 + 125 127 213 89 +CTETRA 177 1 31 41 11 40 131 199 + 151 128 91 202 +CTETRA 178 1 47 37 16 17 141 161 + 209 197 162 61 +CTETRA 179 1 40 30 9 10 129 148 + 214 196 149 54 +CTETRA 180 1 2 49 38 1 190 203 + 164 100 191 87 +CTETRA 181 1 2 18 38 49 63 166 + 164 190 204 203 +CTETRA 182 1 48 38 49 3 145 203 + 206 99 142 188 +CTETRA 183 1 38 1 49 3 87 191 + 203 142 88 188 +CTETRA 184 1 49 3 4 48 188 102 + 189 206 99 184 +CTETRA 185 1 28 4 48 18 75 184 + 187 124 122 205 +CTETRA 186 1 49 4 18 48 189 122 + 204 206 184 205 +CTETRA 187 1 7 5 50 29 76 194 + 193 125 77 211 +CTETRA 188 1 50 5 6 29 194 101 + 195 211 77 146 +CTETRA 189 1 50 19 9 6 216 105 + 212 195 104 53 +CTETRA 190 1 50 9 19 39 212 105 + 216 213 215 169 +CTETRA 191 1 50 8 19 6 192 65 + 216 195 52 104 +CTETRA 192 1 40 10 9 19 196 54 + 214 168 106 105 +CTETRA 193 1 51 34 44 14 218 144 + 217 219 156 220 +CTETRA 194 1 51 44 24 14 217 186 + 221 219 220 114 +CTETRA 195 1 25 24 15 51 71 115 + 116 222 221 223 +CTETRA 196 1 43 32 12 13 133 165 + 224 225 153 57 +CTETRA 197 1 43 23 12 42 174 111 + 224 93 175 201 +CTETRA 198 1 43 13 12 23 225 57 + 224 174 112 111 +CTETRA 199 1 43 42 12 32 93 201 + 224 133 143 165 +CTETRA 200 1 34 14 13 44 156 58 + 155 144 220 226 +CTETRA 201 1 14 15 24 51 59 115 + 114 219 223 221 +CTETRA 202 1 23 14 24 44 113 114 + 70 176 220 186 +CTETRA 203 1 33 13 32 43 154 153 + 81 132 225 133 +CTETRA 204 1 34 13 33 43 155 154 + 82 134 225 132 +CTETRA 205 1 35 15 14 51 158 59 + 157 227 223 219 +CTETRA 206 1 25 15 45 51 116 208 + 177 222 223 228 +CTETRA 207 1 44 13 43 23 226 225 + 94 176 112 174 +CTETRA 208 1 35 14 34 51 157 156 + 83 227 219 218 +CTETRA 209 1 46 36 15 16 139 159 + 207 210 160 60 +CTETRA 210 1 36 15 35 45 159 158 + 84 137 208 135 +CTETRA 211 1 37 16 36 46 161 160 + 85 138 210 139 +CTETRA 212 1 25 16 26 46 117 118 + 72 179 210 181 +CTETRA 213 1 47 17 16 26 197 61 + 209 180 119 118 +CTETRA 214 1 47 26 16 46 180 118 + 209 97 181 210 +CTETRA 215 1 27 18 28 48 121 124 + 74 182 205 187 +CTETRA 216 1 35 51 34 45 227 218 + 83 135 228 136 +CTETRA 217 1 13 44 14 23 226 220 + 58 112 176 113 +CTETRA 218 1 44 24 25 51 186 71 + 178 217 221 222 +CTETRA 219 1 44 25 45 51 178 177 + 95 217 222 228 +CTETRA 220 1 46 16 15 25 210 60 + 207 179 117 116 +CTETRA 221 1 46 25 15 45 179 116 + 207 96 177 208 +CTETRA 222 1 50 19 8 39 216 65 + 192 213 169 167 +CTETRA 223 1 35 15 51 45 158 223 + 227 135 208 228 +CTETRA 224 1 34 43 44 13 134 94 + 144 155 225 226 +CTETRA 225 1 51 45 44 34 228 95 + 217 218 136 144 +CTETRA 226 1 9 39 29 30 215 127 + 147 148 126 78 +CTETRA 227 1 40 19 9 39 168 105 + 214 90 169 215 +$PROPERTIES +PSOLID 1 1 +$MATERIALS +MAT1 1 210000. .3 +$LOADS +LOAD 1 1. 1. 2 +FORCE 2 4 2250000. 0. 0. -1. +FORCE 2 3 2250000. 0. 0. -1. +FORCE 2 2 2250000. 0. 0. -1. +FORCE 2 1 2250000. 0. 0. -1. +$SPCs +SPCADD 1 2 +SPC1 2 123456 5 6 7 8 50 52 + 76 101 103 192 193 194 195 +ENDDATA diff --git a/src/Mod/Fem/femtest/data/mystran/mystran_plate.bdf b/src/Mod/Fem/femtest/data/mystran/mystran_plate.bdf new file mode 100644 index 0000000000..ec06e977fb --- /dev/null +++ b/src/Mod/Fem/femtest/data/mystran/mystran_plate.bdf @@ -0,0 +1,100 @@ +$pyNastran: version=msc +$pyNastran: punch=False +$pyNastran: encoding=utf-8 +$pyNastran: nnodes=36 +$pyNastran: nelements=25 +$EXECUTIVE CONTROL DECK +SOL 101 +CEND +$CASE CONTROL DECK +ECHO = NONE +TITLE = pyNastran for generating solverinput for for Mystran +SUBCASE 1 + DISPLACEMENT(SORT1,REAL) = ALL + LOAD = 1 + SPC = 1 + SPCFORCES(SORT1,REAL) = ALL + STRESS(SORT1,REAL,VONMISES,BILIN) = ALL + SUBTITLE = Default +BEGIN BULK +$PARAMS +PARAM POST -1 +$NODES +GRID 1 0. 0. 0. +GRID 2 2. 0. 0. +GRID 3 4. 0. 0. +GRID 4 6. 0. 0. +GRID 5 8. 0. 0. +GRID 6 10. 0. 0. +GRID 7 0. 2. 0. +GRID 8 2. 2. 0. +GRID 9 4. 2. 0. +GRID 10 6. 2. 0. +GRID 11 8. 2. 0. +GRID 12 10. 2. 0. +GRID 13 0. 4. 0. +GRID 14 2. 4. 0. +GRID 15 4. 4. 0. +GRID 16 6. 4. 0. +GRID 17 8. 4. 0. +GRID 18 10. 4. 0. +GRID 19 0. 6. 0. +GRID 20 2. 6. 0. +GRID 21 4. 6. 0. +GRID 22 6. 6. 0. +GRID 23 8. 6. 0. +GRID 24 10. 6. 0. +GRID 25 0. 8. 0. +GRID 26 2. 8. 0. +GRID 27 4. 8. 0. +GRID 28 6. 8. 0. +GRID 29 8. 8. 0. +GRID 30 10. 8. 0. +GRID 31 0. 10. 0. +GRID 32 2. 10. 0. +GRID 33 4. 10. 0. +GRID 34 6. 10. 0. +GRID 35 8. 10. 0. +GRID 36 10. 10. 0. +$ELEMENTS +CQUAD4 1 1 1 2 8 7 +CQUAD4 2 1 2 3 9 8 +CQUAD4 3 1 3 4 10 9 +CQUAD4 4 1 4 5 11 10 +CQUAD4 5 1 5 6 12 11 +CQUAD4 6 1 7 8 14 13 +CQUAD4 7 1 8 9 15 14 +CQUAD4 8 1 9 10 16 15 +CQUAD4 9 1 10 11 17 16 +CQUAD4 10 1 11 12 18 17 +CQUAD4 11 1 13 14 20 19 +CQUAD4 12 1 14 15 21 20 +CQUAD4 13 1 15 16 22 21 +CQUAD4 14 1 16 17 23 22 +CQUAD4 15 1 17 18 24 23 +CQUAD4 16 1 19 20 26 25 +CQUAD4 17 1 20 21 27 26 +CQUAD4 18 1 21 22 28 27 +CQUAD4 19 1 22 23 29 28 +CQUAD4 20 1 23 24 30 29 +CQUAD4 21 1 25 26 32 31 +CQUAD4 22 1 26 27 33 32 +CQUAD4 23 1 27 28 34 33 +CQUAD4 24 1 28 29 35 34 +CQUAD4 25 1 29 30 36 35 +$PROPERTIES +PSHELL 1 1 .3 1 1 +$MATERIALS +MAT1 1 210000. .3 +$LOADS +LOAD 1 1. 1. 2 +FORCE 2 6 100. 1. 0. 0. +FORCE 2 12 100. 1. 0. 0. +FORCE 2 18 100. 1. 0. 0. +FORCE 2 24 100. 1. 0. 0. +FORCE 2 30 100. 1. 0. 0. +FORCE 2 36 100. 1. 0. 0. +$SPCs +SPCADD 1 2 +SPC1 2 123456 1 7 13 19 25 31 +ENDDATA diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/51.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/51.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/51.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/51.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88.dyn b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88.dyn similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88.dyn rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88.dyn diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88elp.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88elp.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88elp.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88elp.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i1.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i1.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i1.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i1.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i2.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i2.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i2.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i2.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i5.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i5.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i5.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88i5.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88int.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88int.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88int.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88int.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88man.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88man.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88man.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88man.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88mat.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88mat.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88mat.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20/z88mat.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/51.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/51.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/51.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/51.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88.dyn b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88.dyn similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88.dyn rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88.dyn diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88elp.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88elp.txt new file mode 100644 index 0000000000..2b73a45163 --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88elp.txt @@ -0,0 +1,2 @@ +1 +1 70 1000.0 0 0 0 0 0 0 diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i1.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i1.txt new file mode 100644 index 0000000000..0376ffabb4 --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i1.txt @@ -0,0 +1,318 @@ +3 177 70 1062 0 written by FreeCAD +1 6 0.000000 500.000000 0.000000 +2 6 0.000000 500.000000 1000.000000 +3 6 8000.000000 500.000000 0.000000 +4 6 8000.000000 500.000000 1000.000000 +5 6 0.000000 500.000000 500.000000 +6 6 0.000000 500.000000 250.000000 +7 6 0.000000 500.000000 750.000000 +8 6 500.000000 500.000000 0.000000 +9 6 1000.000000 500.000000 0.000000 +10 6 1500.000000 500.000000 0.000000 +11 6 2000.000000 500.000000 0.000000 +12 6 2500.000000 500.000000 0.000000 +13 6 3000.000000 500.000000 0.000000 +14 6 3500.000000 500.000000 0.000000 +15 6 4000.000000 500.000000 0.000000 +16 6 4500.000000 500.000000 0.000000 +17 6 5000.000000 500.000000 0.000000 +18 6 5500.000000 500.000000 0.000000 +19 6 6000.000000 500.000000 0.000000 +20 6 6500.000000 500.000000 0.000000 +21 6 7000.000000 500.000000 0.000000 +22 6 7500.000000 500.000000 0.000000 +23 6 250.000000 500.000000 0.000000 +24 6 750.000000 500.000000 0.000000 +25 6 1250.000000 500.000000 0.000000 +26 6 1750.000000 500.000000 0.000000 +27 6 2250.000000 500.000000 0.000000 +28 6 2750.000000 500.000000 0.000000 +29 6 3250.000000 500.000000 0.000000 +30 6 3750.000000 500.000000 0.000000 +31 6 4250.000000 500.000000 0.000000 +32 6 4750.000000 500.000000 0.000000 +33 6 5250.000000 500.000000 0.000000 +34 6 5750.000000 500.000000 0.000000 +35 6 6250.000000 500.000000 0.000000 +36 6 6750.000000 500.000000 0.000000 +37 6 7250.000000 500.000000 0.000000 +38 6 7750.000000 500.000000 0.000000 +39 6 8000.000000 500.000000 500.000000 +40 6 8000.000000 500.000000 250.000000 +41 6 8000.000000 500.000000 750.000000 +42 6 500.000000 500.000000 1000.000000 +43 6 1000.000000 500.000000 1000.000000 +44 6 1500.000000 500.000000 1000.000000 +45 6 2000.000000 500.000000 1000.000000 +46 6 2500.000000 500.000000 1000.000000 +47 6 3000.000000 500.000000 1000.000000 +48 6 3500.000000 500.000000 1000.000000 +49 6 4000.000000 500.000000 1000.000000 +50 6 4500.000000 500.000000 1000.000000 +51 6 5000.000000 500.000000 1000.000000 +52 6 5500.000000 500.000000 1000.000000 +53 6 6000.000000 500.000000 1000.000000 +54 6 6500.000000 500.000000 1000.000000 +55 6 7000.000000 500.000000 1000.000000 +56 6 7500.000000 500.000000 1000.000000 +57 6 250.000000 500.000000 1000.000000 +58 6 750.000000 500.000000 1000.000000 +59 6 1250.000000 500.000000 1000.000000 +60 6 1750.000000 500.000000 1000.000000 +61 6 2250.000000 500.000000 1000.000000 +62 6 2750.000000 500.000000 1000.000000 +63 6 3250.000000 500.000000 1000.000000 +64 6 3750.000000 500.000000 1000.000000 +65 6 4250.000000 500.000000 1000.000000 +66 6 4750.000000 500.000000 1000.000000 +67 6 5250.000000 500.000000 1000.000000 +68 6 5750.000000 500.000000 1000.000000 +69 6 6250.000000 500.000000 1000.000000 +70 6 6750.000000 500.000000 1000.000000 +71 6 7250.000000 500.000000 1000.000000 +72 6 7750.000000 500.000000 1000.000000 +73 6 714.923469 500.000000 484.056122 +74 6 1750.000000 500.000000 500.000000 +75 6 2750.000000 500.000000 500.000000 +76 6 3750.000000 500.000000 500.000000 +77 6 4750.000000 500.000000 500.000000 +78 6 5750.000000 500.000000 500.000000 +79 6 6756.944444 500.000000 489.583333 +80 6 7301.463294 500.000000 489.707341 +81 6 1244.153912 500.000000 497.342687 +82 6 2250.000000 500.000000 500.000000 +83 6 3250.000000 500.000000 500.000000 +84 6 4250.000000 500.000000 500.000000 +85 6 5250.000000 500.000000 500.000000 +86 6 6251.157407 500.000000 498.263889 +87 6 355.277669 500.000000 632.304567 +88 6 7660.398197 500.000000 648.596526 +89 6 7699.764778 500.000000 310.456177 +90 6 314.040228 500.000000 323.272138 +91 6 1122.076956 500.000000 748.671344 +92 6 1372.076956 500.000000 748.671344 +93 6 2125.000000 500.000000 750.000000 +94 6 2375.000000 500.000000 750.000000 +95 6 3125.000000 500.000000 750.000000 +96 6 3375.000000 500.000000 750.000000 +97 6 4125.000000 500.000000 750.000000 +98 6 4375.000000 500.000000 750.000000 +99 6 5125.000000 500.000000 750.000000 +100 6 5375.000000 500.000000 750.000000 +101 6 6125.578704 500.000000 749.131944 +102 6 6375.578704 500.000000 749.131944 +103 6 857.461735 500.000000 742.028061 +104 6 979.538690 500.000000 490.699405 +105 6 1497.076956 500.000000 498.671344 +106 6 1625.000000 500.000000 750.000000 +107 6 1875.000000 500.000000 750.000000 +108 6 2000.000000 500.000000 500.000000 +109 6 2500.000000 500.000000 500.000000 +110 6 2625.000000 500.000000 750.000000 +111 6 2875.000000 500.000000 750.000000 +112 6 3000.000000 500.000000 500.000000 +113 6 3500.000000 500.000000 500.000000 +114 6 3625.000000 500.000000 750.000000 +115 6 3875.000000 500.000000 750.000000 +116 6 4000.000000 500.000000 500.000000 +117 6 4500.000000 500.000000 500.000000 +118 6 4625.000000 500.000000 750.000000 +119 6 4875.000000 500.000000 750.000000 +120 6 5000.000000 500.000000 500.000000 +121 6 5500.000000 500.000000 500.000000 +122 6 5625.000000 500.000000 750.000000 +123 6 5875.000000 500.000000 750.000000 +124 6 6000.578704 500.000000 499.131944 +125 6 6504.050926 500.000000 493.923611 +126 6 6628.472222 500.000000 744.791667 +127 6 7150.731647 500.000000 244.853671 +128 6 7029.203869 500.000000 489.645337 +129 6 6878.472222 500.000000 244.791667 +130 6 6878.472222 500.000000 744.791667 +131 6 7150.731647 500.000000 744.853671 +132 6 7400.731647 500.000000 244.853671 +133 6 7400.731647 500.000000 744.853671 +134 6 857.461735 500.000000 242.028061 +135 6 607.461735 500.000000 242.028061 +136 6 1875.000000 500.000000 250.000000 +137 6 1625.000000 500.000000 250.000000 +138 6 2875.000000 500.000000 250.000000 +139 6 2625.000000 500.000000 250.000000 +140 6 3875.000000 500.000000 250.000000 +141 6 3625.000000 500.000000 250.000000 +142 6 4875.000000 500.000000 250.000000 +143 6 4625.000000 500.000000 250.000000 +144 6 5875.000000 500.000000 250.000000 +145 6 5625.000000 500.000000 250.000000 +146 6 6628.472222 500.000000 244.791667 +147 6 607.461735 500.000000 742.028061 +148 6 1122.076956 500.000000 248.671344 +149 6 1372.076956 500.000000 248.671344 +150 6 2125.000000 500.000000 250.000000 +151 6 2375.000000 500.000000 250.000000 +152 6 3125.000000 500.000000 250.000000 +153 6 3375.000000 500.000000 250.000000 +154 6 4125.000000 500.000000 250.000000 +155 6 4375.000000 500.000000 250.000000 +156 6 5125.000000 500.000000 250.000000 +157 6 5375.000000 500.000000 250.000000 +158 6 6125.578704 500.000000 249.131944 +159 6 6375.578704 500.000000 249.131944 +160 6 514.481849 500.000000 403.664130 +161 6 407.020114 500.000000 161.636069 +162 6 177.638835 500.000000 566.152283 +163 6 177.638835 500.000000 816.152283 +164 6 427.638835 500.000000 816.152283 +165 6 535.100569 500.000000 558.180345 +166 6 7599.882389 500.000000 155.228088 +167 6 7500.614036 500.000000 400.081759 +168 6 7830.199099 500.000000 824.298263 +169 6 7830.199099 500.000000 574.298263 +170 6 7580.199099 500.000000 824.298263 +171 6 7480.930745 500.000000 569.151933 +172 6 334.658948 500.000000 477.788352 +173 6 7849.882389 500.000000 405.228088 +174 6 7849.882389 500.000000 155.228088 +175 6 157.020114 500.000000 161.636069 +176 6 157.020114 500.000000 411.636069 +177 6 7680.081488 500.000000 479.526351 +37 24 +43 81 44 91 92 59 +38 24 +45 82 46 93 94 61 +39 24 +47 83 48 95 96 63 +40 24 +49 84 50 97 98 65 +41 24 +51 85 52 99 100 67 +42 24 +53 86 54 101 102 69 +43 24 +43 73 81 103 104 91 +44 24 +44 81 74 92 105 106 +45 24 +45 74 82 107 108 93 +46 24 +46 82 75 94 109 110 +47 24 +47 75 83 111 112 95 +48 24 +48 83 76 96 113 114 +49 24 +49 76 84 115 116 97 +50 24 +50 84 77 98 117 118 +51 24 +51 77 85 119 120 99 +52 24 +52 85 78 100 121 122 +53 24 +53 78 86 123 124 101 +54 24 +54 86 79 102 125 126 +55 24 +21 80 79 127 128 129 +56 24 +55 79 80 130 128 131 +57 24 +21 22 80 37 132 127 +58 24 +55 80 56 131 133 71 +59 24 +8 9 73 24 134 135 +60 24 +10 11 74 26 136 137 +61 24 +12 13 75 28 138 139 +62 24 +14 15 76 30 140 141 +63 24 +16 17 77 32 142 143 +64 24 +18 19 78 34 144 145 +65 24 +20 21 79 36 129 146 +66 24 +42 73 43 147 103 58 +67 24 +44 74 45 106 107 60 +68 24 +46 75 47 110 111 62 +69 24 +48 76 49 114 115 64 +70 24 +50 77 51 118 119 66 +71 24 +52 78 53 122 123 68 +72 24 +54 79 55 126 130 70 +73 24 +9 81 73 148 104 134 +74 24 +10 74 81 137 105 149 +75 24 +11 82 74 150 108 136 +76 24 +12 75 82 139 109 151 +77 24 +13 83 75 152 112 138 +78 24 +14 76 83 141 113 153 +79 24 +15 84 76 154 116 140 +80 24 +16 77 84 143 117 155 +81 24 +17 85 77 156 120 142 +82 24 +18 78 85 145 121 157 +83 24 +19 86 78 158 124 144 +84 24 +20 79 86 146 125 159 +85 24 +9 10 81 25 149 148 +86 24 +11 12 82 27 151 150 +87 24 +13 14 83 29 153 152 +88 24 +15 16 84 31 155 154 +89 24 +17 18 85 33 157 156 +90 24 +19 20 86 35 159 158 +91 24 +8 73 90 135 160 161 +92 24 +2 5 87 7 162 163 +93 24 +2 87 42 163 164 57 +94 24 +42 87 73 164 165 147 +95 24 +22 89 80 166 167 132 +96 24 +4 88 39 168 169 41 +97 24 +4 56 88 72 170 168 +98 24 +56 80 88 133 171 170 +99 24 +73 87 90 165 172 160 +100 24 +3 39 89 40 173 174 +101 24 +3 89 22 174 166 38 +102 24 +1 90 5 175 176 6 +103 24 +1 8 90 23 161 175 +104 24 +80 89 88 167 177 171 +105 24 +5 90 87 176 172 162 +106 24 +39 88 89 169 177 173 diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i2.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i2.txt new file mode 100644 index 0000000000..9edfa5bd03 --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i2.txt @@ -0,0 +1,26 @@ +25 +1 1 2 0 +1 2 2 0 +1 3 2 0 +2 1 2 0 +2 2 2 0 +2 3 2 0 +3 2 1 -1.6653345369377348e-10 +3 3 1 -750000.0 +4 2 1 -1.6653345369377348e-10 +4 3 1 -750000.0 +5 1 2 0 +5 2 2 0 +5 3 2 0 +6 1 2 0 +6 2 2 0 +6 3 2 0 +7 1 2 0 +7 2 2 0 +7 3 2 0 +39 2 1 -3.3306690738754696e-10 +39 3 1 -1500000.0 +40 2 1 -6.661338147750939e-10 +40 3 1 -3000000.0 +41 2 1 -6.661338147750939e-10 +41 3 1 -3000000.0 diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i5.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i5.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88i5.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88i5.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88int.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88int.txt new file mode 100644 index 0000000000..a680cc2e51 --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88int.txt @@ -0,0 +1,2 @@ +1 +1 70 7 7 diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88man.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88man.txt new file mode 100644 index 0000000000..b6ea4dd7a3 --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88man.txt @@ -0,0 +1,36 @@ +DYNAMIC START +--------------------------------------------------------------------------- +Z88V14OS +--------------------------------------------------------------------------- + +--------------------------------------------------------------------------- +GLOBAL +--------------------------------------------------------------------------- + +GLOBAL START + IBFLAG 0 + IPFLAG 0 + IHFLAG 1 +GLOBAL END + +--------------------------------------------------------------------------- +LINEAR SOLVER +--------------------------------------------------------------------------- + +SOLVER START + MAXIT 10000 + EPS 1e-007 + RALPHA 0.0001 + ROMEGA 1.1 +SOLVER END + +--------------------------------------------------------------------------- +STRESS +--------------------------------------------------------------------------- + +STRESS START + KDFLAG 0 + ISFLAG 1 +STRESS END + +DYNAMIC END diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88mat.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88mat.txt new file mode 100644 index 0000000000..80f043ff2b --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_ele_tria6/z88mat.txt @@ -0,0 +1,2 @@ +1 +1 70 51.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/51.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/51.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/51.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/51.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88.dyn b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88.dyn similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88.dyn rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88.dyn diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88elp.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88elp.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88elp.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88elp.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i1.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i1.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i1.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i1.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i2.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i2.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88i2.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i2.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i5.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i5.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i5.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88i5.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88int.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88int.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88int.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88int.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88man.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88man.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_hexa20/z88man.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88man.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88mat.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88mat.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_faceload/z88mat.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_faceload/z88mat.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/51.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/51.txt new file mode 100644 index 0000000000..d5022434bd --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/51.txt @@ -0,0 +1 @@ +210000.0 0.300 diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88.dyn b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88.dyn new file mode 100644 index 0000000000..82ffff0d69 --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88.dyn @@ -0,0 +1,49 @@ +DYNAMIC START +--------------------------------------------------------------------------- +Z88 new version 14OS Z88 neue Version 14OS +--------------------------------------------------------------------------- + +--------------------------------------------------------------------------- +LANGUAGE SPRACHE +--------------------------------------------------------------------------- +GERMAN + +--------------------------------------------------------------------------- +Entries for mesh generator Z88N Daten fuer Netzgenerator +--------------------------------------------------------------------------- + NET START + MAXSE 40000 + MAXESS 800 + MAXKSS 4000 + MAXAN 15 + NET END + +--------------------------------------------------------------------------- +Common entries for all modules gemeinsame Daten fuer alle Module +--------------------------------------------------------------------------- + + COMMON START + MAXGS 50000000 + MAXKOI 1200000 + MAXK 60000 + MAXE 300000 + MAXNFG 200000 + MAXMAT 32 + MAXPEL 32 + MAXJNT 32 + MAXPR 10000 + MAXRBD 15000 + MAXIEZ 6000000 + MAXGP 2000000 + COMMON END + +--------------------------------------------------------------------------- +Entries for Cuthill-McKee Z88H Daten fuer Cuthill- McKee Programm +--------------------------------------------------------------------------- + CUTKEE START + MAXGRA 200 + MAXNDL 1000 + CUTKEE END + + +DYNAMIC END diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88elp.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88elp.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88elp.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88elp.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i1.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i1.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i1.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i1.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i2.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i2.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88i2.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i2.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i5.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i5.txt new file mode 100644 index 0000000000..2142470504 --- /dev/null +++ b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88i5.txt @@ -0,0 +1 @@ + 0 diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88int.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88int.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88int.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88int.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88man.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88man.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88man.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88man.txt diff --git a/src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88mat.txt b/src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88mat.txt similarity index 100% rename from src/Mod/Fem/femtest/data/z88/ccxcantilever_nodeload/z88mat.txt rename to src/Mod/Fem/femtest/data/z88/ccx_cantilever_nodeload/z88mat.txt diff --git a/src/Mod/Fem/femtest/failing_tests.md b/src/Mod/Fem/femtest/failing_tests.md new file mode 100644 index 0000000000..f0b58237aa --- /dev/null +++ b/src/Mod/Fem/femtest/failing_tests.md @@ -0,0 +1,6 @@ ++ the following tests fail on ci, TODO somehow fix, even if they pass on my local machine: + + +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_centrif +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_solid_solid +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_tria6 diff --git a/src/Mod/Fem/femtest/test_commands.sh b/src/Mod/Fem/femtest/test_commands.sh index c3f435e7a8..6454019ba8 100644 --- a/src/Mod/Fem/femtest/test_commands.sh +++ b/src/Mod/Fem/femtest/test_commands.sh @@ -4,6 +4,12 @@ from femtest.app.support_utils import get_fem_test_defs get_fem_test_defs() +# all FEM App tests +make -j 4 && ./bin/FreeCAD --run-test 'TestFemApp' + +make -j 4 && ./bin/FreeCADCmd --run-test 'TestFemApp' + + ''' # modules @@ -17,6 +23,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_open make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88 @@ -35,6 +42,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_open.TestObjectOpen make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88 @@ -78,15 +86,24 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_disp_ab make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_box_frequency make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_box_static make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_buckling_flexuralbuckling -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_faceload -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_hexa20 -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_nodeload -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_prescribeddisplacement +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_faceload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_hexa20 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_quad4 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_quad8 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg2 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg3 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria3 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria6 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_nodeload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_prescribeddisplacement +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_centrif make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_shell_shell make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_solid_solid make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_sectionprint make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_selfweight_cantilever make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_tie +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_transform_beam_hinged +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_transform_torque make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_frequency_beamsimple make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_material_multiple_bendingbeam_fiveboxes make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_material_multiple_bendingbeam_fivefaces @@ -102,9 +119,16 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.t make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_faceload_1_si make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_nodeload_0_mm make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_prescribeddisplacement_0_mm -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_faceload -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_hexa20 -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_nodeload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_quad4 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_seg2 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_tria3 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_faceload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_nodeload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_mystran_plate +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_hexa20 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_tria6 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_nodeload # methods in FreeCAD @@ -306,22 +330,57 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_faceload' + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_faceload' )) import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_hexa20' + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_hexa20' )) import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_nodeload' + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_quad4' )) import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_prescribeddisplacement' + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_quad8' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg2' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_seg3' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria3' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_ele_tria6' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_nodeload' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccx_cantilever_prescribeddisplacement' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_centrif' )) import unittest @@ -349,6 +408,16 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_tie' )) +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_transform_beam_hinged' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_transform_torque' +)) + import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( 'femtest.app.test_solver_calculix.TestSolverCalculix.test_frequency_beamsimple' @@ -426,15 +495,50 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_faceload' + 'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_quad4' )) import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_hexa20' + 'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_seg2' )) import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_solver_z88.TestSolverZ88.test_ccxcantilever_nodeload' + 'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_tria3' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_faceload' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_nodeload' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_mystran.TestSolverMystran.test_mystran_plate' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_hexa20' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_tria6' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_nodeload' )) diff --git a/src/Mod/Fem/femtest/test_information.md b/src/Mod/Fem/femtest/test_information.md index 90bb1852b2..429fc67c3d 100644 --- a/src/Mod/Fem/femtest/test_information.md +++ b/src/Mod/Fem/femtest/test_information.md @@ -61,6 +61,11 @@ Test.runTestsFromModule(femtest.app.test_common) import Test, femtest.app.test_common Test.runTestsFromClass(femtest.app.test_common.TestFemCommon) +``` +```python +import Test, femtest.app.test_solver_calculix +Test.runTestsFromClass(femtest.app.test_solver_calculix.TestSolverCalculix) + ``` ### method diff --git a/src/Mod/Fem/femtools/ccxtools.py b/src/Mod/Fem/femtools/ccxtools.py index 2ed2cee588..041a1bcd2e 100644 --- a/src/Mod/Fem/femtools/ccxtools.py +++ b/src/Mod/Fem/femtools/ccxtools.py @@ -226,22 +226,26 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): def update_objects(self): ## @var mesh - # mesh of the analysis. Used to generate .inp file and to show results + # mesh for the analysis self.mesh = None mesh, message = membertools.get_mesh_to_solve(self.analysis) if mesh is not None: self.mesh = mesh else: - if FreeCAD.GuiUp: - QtGui.QMessageBox.critical(None, "Missing prerequisite", message) - raise Exception(message + "\n") + # the prerequisites will run anyway and they will print a message box anyway + # thus do not print one here, but print a console warning + FreeCAD.Console.PrintWarning( + "{} The prerequisite check will fail.\n" + .format(message) + ) ## @var members - # members of the analysis. All except solvers and the mesh + # members of the analysis. All except the solver and the mesh self.member = membertools.AnalysisMember(self.analysis) def check_prerequisites(self): - FreeCAD.Console.PrintMessage("Check prerequisites.\n") + FreeCAD.Console.PrintMessage("\n") # because of time print in separate line + FreeCAD.Console.PrintMessage("Check prerequisites...\n") message = "" # analysis if not self.analysis: @@ -251,13 +255,13 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): message += "No solver object defined in the analysis\n" if not self.working_dir: message += "Working directory not set\n" - if not (os.path.isdir(self.working_dir)): + if not os.path.isdir(self.working_dir): message += ( "Working directory \'{}\' doesn't exist." .format(self.working_dir) ) - from femtools.checksanalysis import check_analysismember - message += check_analysismember( + from femtools.checksanalysis import check_member_for_solver_calculix + message += check_member_for_solver_calculix( self.analysis, self.solver, self.mesh, @@ -366,6 +370,20 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): self.set_inp_file_name() def write_inp_file(self): + + # get mesh set data + # TODO use separate method for getting the mesh set data + from femmesh import meshsetsgetter + meshdatagetter = meshsetsgetter.MeshSetsGetter( + self.analysis, + self.solver, + self.mesh, + membertools.AnalysisMember(self.analysis), + ) + # save the sets into the member objects of the instanz meshdatagetter + meshdatagetter.get_mesh_sets() + + # write input file import femsolver.calculix.writer as iw self.inp_file_name = "" try: @@ -373,10 +391,11 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): self.analysis, self.solver, self.mesh, - self.member, - self.working_dir + meshdatagetter.member, + self.working_dir, + meshdatagetter.mat_geo_sets ) - self.inp_file_name = inp_writer.write_calculix_input_file() + self.inp_file_name = inp_writer.write_solver_input() except Exception: FreeCAD.Console.PrintError( "Unexpected error when writing CalculiX input file: {}\n" @@ -562,7 +581,8 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): return (int(m.group(1)), int(m.group(2))) def ccx_run(self): - FreeCAD.Console.PrintMessage("Run CalculiX ...\n") + FreeCAD.Console.PrintMessage("\n") # because of time print in separate line + FreeCAD.Console.PrintMessage("CalculiX solver run...\n") if self.test_mode: FreeCAD.Console.PrintError("CalculiX can not be run if test_mode is True.\n") return @@ -612,16 +632,15 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): self.setup_working_dir() message = self.check_prerequisites() if message: - error_message = ( - "CalculiX was not started due to missing prerequisites:\n{}\n" - .format(message) - ) - FreeCAD.Console.PrintError(error_message) + text = "CalculiX can not be started due to missing prerequisites:\n" + error_app = "{}{}".format(text, message) + error_gui = "{}\n{}".format(text, message) + FreeCAD.Console.PrintError(error_app) if FreeCAD.GuiUp: QtGui.QMessageBox.critical( None, "Missing prerequisite", - error_message + error_gui ) return False else: @@ -637,7 +656,7 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): ) return False else: - FreeCAD.Console.PrintMessage( + FreeCAD.Console.PrintLog( "Writing CalculiX input file completed.\n" ) ret_code = self.ccx_run() @@ -655,7 +674,7 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): ) return False else: - FreeCAD.Console.PrintMessage("**** try to read result files\n") + FreeCAD.Console.PrintLog("Try to read result files\n") self.load_results() # TODO: output an error message if there where problems reading the results return True @@ -773,7 +792,8 @@ class FemToolsCcx(QtCore.QRunnable, QtCore.QObject): return False def load_results(self): - FreeCAD.Console.PrintMessage("We will load the ccx frd and dat result file.\n") + FreeCAD.Console.PrintMessage("\n") # because of time print in separate line + FreeCAD.Console.PrintMessage("CalculiX read results...\n") self.results_present = False self.load_results_ccxfrd() self.load_results_ccxdat() diff --git a/src/Mod/Fem/femtools/checksanalysis.py b/src/Mod/Fem/femtools/checksanalysis.py index 7b8a446ed3..b16412e450 100644 --- a/src/Mod/Fem/femtools/checksanalysis.py +++ b/src/Mod/Fem/femtools/checksanalysis.py @@ -31,13 +31,14 @@ __url__ = "https://www.freecadweb.org" import FreeCAD +from FreeCAD import Units + from . import femutils from femsolver.calculix.solver import ANALYSIS_TYPES -def check_analysismember(analysis, solver, mesh, member): - FreeCAD.Console.PrintMessage("Check prerequisites.\n") - from FreeCAD import Units +def check_member_for_solver_calculix(analysis, solver, mesh, member): + message = "" # solver @@ -71,7 +72,7 @@ def check_analysismember(analysis, solver, mesh, member): # mesh if not mesh: - message += "No mesh object defined in the analysis\n" + message += "No mesh object defined in the analysis.\n" if mesh: if mesh.FemMesh.VolumeCount == 0 \ and mesh.FemMesh.FaceCount > 0 \ @@ -96,12 +97,12 @@ def check_analysismember(analysis, solver, mesh, member): and mesh.FemMesh.EdgeCount == 0: message += ( "FEM mesh has neither volume nor shell or edge elements. " - "Provide a FEM mesh with elements!\n" + "Provide a FEM mesh with elements.\n" ) # material linear and nonlinear if not member.mats_linear: - message += "No material object defined in the analysis\n" + message += "No material object defined in the analysis.\n" has_no_references = False for m in member.mats_linear: if len(m["Object"].References) == 0: @@ -337,6 +338,14 @@ def check_analysismember(analysis, solver, mesh, member): message += ( "Beam sections defined but FEM mesh has no edge elements.\n" ) + if not ( + hasattr(mesh, "Shape") + or hasattr(mesh, "Part") + ): + message += ( + "Mesh without geometry link. " + "The mesh needs to know his geometry for the beam rotations.\n" + ) if len(member.geos_beamrotation) > 1: message += ( "Multiple beam rotations in one analysis are not supported at the moment.\n" diff --git a/src/Mod/Fem/femtools/femutils.py b/src/Mod/Fem/femtools/femutils.py index 105cfd79c7..435adf33d2 100644 --- a/src/Mod/Fem/femtools/femutils.py +++ b/src/Mod/Fem/femtools/femutils.py @@ -363,13 +363,15 @@ def get_refshape_type(fem_doc_object): first_ref_obj = fem_doc_object.References[0] first_ref_shape = get_element(first_ref_obj[0], first_ref_obj[1][0]) st = first_ref_shape.ShapeType - FreeCAD.Console.PrintMessage( - "References: {} in {}, {}\n". format(st, fem_doc_object.Name, fem_doc_object.Label) + FreeCAD.Console.PrintLog( + "References: {} in {}, {}\n" + . format(st, fem_doc_object.Name, fem_doc_object.Label) ) return st else: - FreeCAD.Console.PrintMessage( - "References: empty in {}, {}\n". format(fem_doc_object.Name, fem_doc_object.Label) + FreeCAD.Console.PrintLog( + "References: empty in {}, {}\n" + . format(fem_doc_object.Name, fem_doc_object.Label) ) return "" diff --git a/src/Mod/Fem/femtools/membertools.py b/src/Mod/Fem/femtools/membertools.py index 0d25d6a663..3f1f028b50 100644 --- a/src/Mod/Fem/femtools/membertools.py +++ b/src/Mod/Fem/femtools/membertools.py @@ -188,6 +188,10 @@ class AnalysisMember(): [{"Object":shell_thickness_obj, "xxxxxxxx":value}, {}, ...] constraints: + constraints_centrif : list of dictionaries + list of centrifs for the analysis. + [{"Object":centrif_obj, "xxxxxxxx":value}, {}, ...] + constraints_contact : list of dictionaries list of contact constraints from the analysis. [{"Object":contact_obj, "xxxxxxxx":value}, {}, ...] @@ -275,6 +279,9 @@ class AnalysisMember(): ) # constraints + self.cons_centrif = self.get_several_member( + "Fem::ConstraintCentrif" + ) self.cons_contact = self.get_several_member( "Fem::ConstraintContact" ) diff --git a/src/Mod/Fem/femtools/migrate_app.py b/src/Mod/Fem/femtools/migrate_app.py index 3e7466b81b..27b984d8a5 100644 --- a/src/Mod/Fem/femtools/migrate_app.py +++ b/src/Mod/Fem/femtools/migrate_app.py @@ -123,6 +123,8 @@ class FemMigrateApp(object): return self if fullname == "PyObjects._FemSolverCalculix": return self + if fullname == "PyObjects._FemSolverZ88": + return self if fullname == "PyObjects._FemBeamSection": return self @@ -310,6 +312,9 @@ class FemMigrateApp(object): if module.__name__ == "PyObjects._FemSolverCalculix": import femobjects.solver_ccxtools module._FemSolverCalculix = femobjects.solver_ccxtools.SolverCcxTools + if module.__name__ == "PyObjects._FemSolverZ88": + import femsolver.z88.solver + module._FemSolverZ88 = femsolver.z88.solver.Proxy if module.__name__ == "PyObjects._FemBeamSection": import femobjects.element_geometry1D @@ -451,6 +456,7 @@ module="PyObjects._FemMeshRegion" module="PyObjects._FemMeshResult" module="PyObjects._FemResultMechanical" module="PyObjects._FemSolverCalculix" +module="PyObjects._FemSolverZ88" renamed between the second and third big moveings module="PyObjects._FemBeamSection" diff --git a/src/Mod/Fem/femviewprovider/view_constraint_centrif.py b/src/Mod/Fem/femviewprovider/view_constraint_centrif.py new file mode 100644 index 0000000000..1b2dd1a4c0 --- /dev/null +++ b/src/Mod/Fem/femviewprovider/view_constraint_centrif.py @@ -0,0 +1,47 @@ +# *************************************************************************** +# * Copyright (c) 2021 Bernd Hahnebach * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +__title__ = "FreeCAD FEM constraint centrif ViewProvider for the document object" +__author__ = "Bernd Hahnebach" +__url__ = "https://www.freecadweb.org" + +## @package view_constraint_centrif +# \ingroup FEM +# \brief view provider for constraint centrif object + +from femtaskpanels import task_constraint_centrif +from . import view_base_femconstraint + + +class VPConstraintCentrif(view_base_femconstraint.VPBaseFemConstraint): + """ + A View Provider for the ConstraintCentrif object + """ + + def setEdit(self, vobj, mode=0): + view_base_femconstraint.VPBaseFemConstraint.setEdit( + self, + vobj, + mode, + task_constraint_centrif._TaskPanel + ) diff --git a/src/Mod/Material/FluidMaterial/Nitrogen.FCMat b/src/Mod/Material/FluidMaterial/Nitrogen.FCMat index 9362414372..03ce88fc51 100644 --- a/src/Mod/Material/FluidMaterial/Nitrogen.FCMat +++ b/src/Mod/Material/FluidMaterial/Nitrogen.FCMat @@ -14,7 +14,7 @@ PrandtlNumber = 0.7 [Thermal] SpecificHeat = 1.04 kJ/kg/K -ThermalConductivity = 25.83e−3 W/m/K +ThermalConductivity = 25.83e-3 W/m/K ; volumetric expansion coeff of ideal gas depends on temperature and pressure VolumetricThermalExpansionCoefficient = 3.43e-3 1/K diff --git a/src/Mod/Material/MaterialEditor.py b/src/Mod/Material/MaterialEditor.py index a058ac440e..c546ab199c 100644 --- a/src/Mod/Material/MaterialEditor.py +++ b/src/Mod/Material/MaterialEditor.py @@ -37,9 +37,11 @@ if sys.version_info.major >= 3: unicode = str +# ************************************************************************************************ +# ************************************************************************************************ class MaterialEditor: - def __init__(self, obj=None, prop=None, material=None, card_path=''): + def __init__(self, obj=None, prop=None, material=None, card_path=""): """Initializes, optionally with an object name and a material property name to edit, or directly with a material dictionary.""" @@ -139,7 +141,7 @@ class MaterialEditor: def implementModel(self): - '''implements the model with the material attribute structure.''' + """implements the model with the material attribute structure.""" p = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Material") widget = self.widget @@ -163,13 +165,13 @@ class MaterialEditor: for properName in group[gg]: pp = properName # property name item = QtGui.QStandardItem(pp) - item.setToolTip(group[gg][properName]['Description']) + item.setToolTip(group[gg][properName]["Description"]) self.internalprops.append(pp) it = QtGui.QStandardItem() - it.setToolTip(group[gg][properName]['Description']) + it.setToolTip(group[gg][properName]["Description"]) - tt = group[gg][properName]['Type'] + tt = group[gg][properName]["Type"] itType = QtGui.QStandardItem(tt) top.appendRow([item, it, itType]) @@ -180,9 +182,9 @@ class MaterialEditor: def updateMatParamsInTree(self, data): - '''updates the contents of the editor with the given dictionary + """updates the contents of the editor with the given dictionary the material property keys where added to the editor already - not known material property keys will be added to the user defined group''' + not known material property keys will be added to the user defined group""" # print(data) model = self.widget.treeView.model() @@ -223,8 +225,8 @@ class MaterialEditor: return self.card_path = self.widget.ComboMaterial.itemData(index) FreeCAD.Console.PrintMessage( - 'choose_material in material editor:\n' - ' {}\n'.format(self.card_path) + "choose_material in material editor:\n" + " {}\n".format(self.card_path) ) if os.path.isfile(self.card_path): from importFCMat import read @@ -234,11 +236,11 @@ class MaterialEditor: # the card could be updated the dict not self.widget.ComboMaterial.setCurrentIndex(index) # set after tree params else: - FreeCAD.Console.PrintError('material card not found: {}\n'.format(self.card_path)) + FreeCAD.Console.PrintError("material card not found: {}\n".format(self.card_path)) def updateCardsInCombo(self): - '''updates the contents of the materials combo with existing material cards''' + """updates the contents of the materials combo with existing material cards""" mat_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Material/Cards") sort_by_resources = mat_prefs.GetBool("SortByResources", False) @@ -260,13 +262,13 @@ class MaterialEditor: a_path = card_names_tmp[a_name] card_name_list.append([a_name, a_path, self.icons[a_path]]) - card_name_list.insert(0, [None, '', '']) + card_name_list.insert(0, [None, "", ""]) for mat in card_name_list: self.widget.ComboMaterial.addItem(QtGui.QIcon(mat[2]), mat[0], mat[1]) def openProductURL(self): - '''opens the contents of the ProductURL field in an external browser.''' + """opens the contents of the ProductURL field in an external browser.""" model = self.widget.treeView.model() item = model.findItems(translate("Material", "Product URL"), @@ -340,8 +342,8 @@ class MaterialEditor: def deleteCustomProperty(self, key=None): - '''Deletes a custom property from the editor, - or deletes the value of an internal property.''' + """Deletes a custom property from the editor, + or deletes the value of an internal property.""" widget = self.widget treeView = widget.treeView @@ -377,8 +379,8 @@ class MaterialEditor: def onClickTree(self, index): - '''Checks if the current item is a custom or an internal property, - and enable the delete property or delete value button.''' + """Checks if the current item is a custom or an internal property, + and enable the delete property or delete value button.""" widget = self.widget buttonDeleteProperty = widget.ButtonDeleteProperty @@ -428,18 +430,18 @@ class MaterialEditor: # since text(0) could be translated matkey = self.collapseKey(str(kk)) matvalue = unicode(ii) - if matvalue or (matkey == 'Name'): + if matvalue or (matkey == "Name"): # use only keys which are not empty and the name even if empty d[matkey] = matvalue # self.outputDict(d) return d def outputDict(self, d): - print('MaterialEditor dictionary') + print("MaterialEditor dictionary") for param in d: - print(' {} : {}'.format(param, d[param])) + print(" {} : {}".format(param, d[param])) - ''' + """ def setTexture(self, pattern): "displays a texture preview if needed" self.widget.PreviewVector.hide() @@ -453,7 +455,7 @@ class MaterialEditor: if pattern: self.widget.PreviewVector.setPixmap(QtGui.QPixmap(pattern)) self.widget.PreviewVector.show() - ''' + """ def updatePreviews(self, mat=None): "updates the preview images from the content of the editor" @@ -505,9 +507,9 @@ class MaterialEditor: "Opens a FCMat file" filetuple = QtGui.QFileDialog.getOpenFileName( QtGui.QApplication.activeWindow(), - 'Open FreeCAD Material file', + "Open FreeCAD Material file", self.directory, - '*.FCMat' + "*.FCMat" ) self.card_path = filetuple[0] index = self.widget.ComboMaterial.findData(self.card_path) @@ -518,8 +520,8 @@ class MaterialEditor: if os.path.isfile(self.card_path): if index == -1: FreeCAD.Console.PrintMessage( - 'Card path: {} not found in known cards.' - 'The material parameter only are loaded.\n' + "Card path: {} not found in known cards." + "The material parameter only are loaded.\n" .format(self.card_path) ) from importFCMat import read @@ -548,9 +550,9 @@ class MaterialEditor: name = "Material" filetuple = QtGui.QFileDialog.getSaveFileName( QtGui.QApplication.activeWindow(), - 'Save FreeCAD Material file', - self.directory + '/' + name + '.FCMat', - '*.FCMat' + "Save FreeCAD Material file", + self.directory + "/" + name + ".FCMat", + "*.FCMat" ) # a tuple of two empty strings returns True, so use the filename directly filename = filetuple[0] @@ -571,9 +573,11 @@ class MaterialEditor: return self.widget.exec_() +# ************************************************************************************************ +# ************************************************************************************************ class MaterialsDelegate(QtGui.QStyledItemDelegate): - '''provides display and editing facilities for data items from a model.''' + """provides display and editing facilities for data items from a model.""" def __init__(self): "" @@ -582,7 +586,7 @@ class MaterialsDelegate(QtGui.QStyledItemDelegate): def createEditor(self, parent, option, index): - '''returns the widget used to change data from the model.''' + """returns the widget used to change data from the model.""" model = index.model() column = index.column() @@ -628,15 +632,16 @@ class MaterialsDelegate(QtGui.QStyledItemDelegate): def setEditorData(self, editor, index): - '''provides the widget with data to manipulate.''' + """provides the widget with data to manipulate.""" - Type = editor.property('Type') + Type = editor.property("Type") model = index.model() item = model.itemFromIndex(index) + print("item1={}".format(item.text())) if Type == "Color": - color = editor.property('color') + color = editor.property("color") color = tuple([v/255.0 for v in color.getRgb()]) item.setText(str(color)) @@ -650,13 +655,31 @@ class MaterialsDelegate(QtGui.QStyledItemDelegate): super(MaterialsDelegate, self).setEditorData(editor, index) -ui = FreeCADGui.UiLoader() - +# ************************************************************************************************ +# ************************************************************************************************ def matProperWidget(parent=None, matproperty=None, Type="String", Value=None, - minimum=None, maximum=None, stepsize=None, precision=None): + minimum=None, maximum=None, stepsize=None, precision=12): - '''customs widgets for the material stuff.''' + """customs widgets for the material stuff.""" + + # FIXME + # Workaround for problem from here: + # https://forum.freecadweb.org/viewtopic.php?f=18&t=56912&start=20#p516811 + # set precision to 12 + # Better would be a similar system like used in FEM material task panel + # if the value in the InputField has not changed the data is not changed + # why does the value changes if the user clicks in + # the value and unit should exact stay as it is displayed before the user + # clicks in the field + + # the user defined properties are of Type String and thus uses a "Gui::PrefLineEdit" + + print(matproperty) + print(Type) + print(Value) + + ui = FreeCADGui.UiLoader() if Type == "String": @@ -673,23 +696,31 @@ def matProperWidget(parent=None, matproperty=None, Type="String", Value=None, lineEdit = widget.children()[1] lineEdit.setText(Value) - elif Type == "Quantity": + elif Type == "Quantity" or Type == "Float": widget = ui.createWidget("Gui::InputField") + # print(matproperty) if hasattr(FreeCAD.Units, matproperty): unit = getattr(FreeCAD.Units, matproperty) quantity = FreeCAD.Units.Quantity(1, unit) - widget.setProperty('unit', quantity.getUserPreferred()[2]) + widget.setProperty("unit", quantity.getUserPreferred()[2]) else: - FreeCAD.Console.PrintError('Not known unit for property: {}\n'.format(matproperty)) + FreeCAD.Console.PrintWarning( + "Not known unit for property: {}. Probably the Quantity does not have a unit.\n" + .format(matproperty) + ) + # the Gui::InputField is used for Floats too, because of the digits elif Type == "Integer": widget = ui.createWidget("Gui::UIntSpinBox") - elif Type == "Float": + # elif Type == "Float": - widget = ui.createWidget("Gui::PrefDoubleSpinBox") + # widget = ui.createWidget("Gui::PrefDoubleSpinBox") + # has only 2 digit precision, but for example RelativePermittivity needs much more + # see material card for Air, thus Workaround + # a "Gui::InputField" without unit is used elif Type == "Enumerator": @@ -698,7 +729,7 @@ def matProperWidget(parent=None, matproperty=None, Type="String", Value=None, elif Type == "Boolean": widget = ui.createWidget("Gui::PrefComboBox") - widget.insertItems(0, ['', 'False', 'True']) + widget.insertItems(0, ["", "False", "True"]) elif Type == "Vector": @@ -711,22 +742,22 @@ def matProperWidget(parent=None, matproperty=None, Type="String", Value=None, value = string2tuple(Value) color = QtGui.QColor() color.setRgb(value[0], value[1], value[2], value[3]) - widget.setProperty('color', color) + widget.setProperty("color", color) else: widget = QtGui.QLineEdit() if minimum is not None: - widget.setProperty('minimum', minimum) + widget.setProperty("minimum", minimum) if maximum is not None: - widget.setProperty('maximum', maximum) + widget.setProperty("maximum", maximum) if stepsize is not None: - widget.setProperty('stepsize', stepsize) + widget.setProperty("stepsize", stepsize) if precision is not None: - widget.setProperty('precision', precision) + widget.setProperty("precision", precision) - widget.setProperty('Type', Type) + widget.setProperty("Type", Type) widget.setParent(parent) @@ -736,7 +767,7 @@ def matProperWidget(parent=None, matproperty=None, Type="String", Value=None, def string2tuple(string): "provisionally" value = string[1:-1] - value = value.split(',') + value = value.split(",") value = [int(float(v)*255) for v in value] value = tuple(value) return value @@ -773,26 +804,28 @@ def editMaterial(material=None, card_path=None): return {} -''' +# ************************************************************************************************ +# ************************************************************************************************ +""" # some examples how to open the material editor in Python: import MaterialEditor MaterialEditor.openEditor() doc = FreeCAD.open( - FreeCAD.ConfigGet("AppHomePath") + 'data/examples/FemCalculixCantilever3D.FCStd' + FreeCAD.ConfigGet("AppHomePath") + "data/examples/FemCalculixCantilever3D.FCStd" ) import MaterialEditor -MaterialEditor.openEditor('SolidMaterial', 'Material') +MaterialEditor.openEditor("SolidMaterial", "Material") import MaterialEditor MaterialEditor.editMaterial({ - 'Density': '1234.0 kg/m^3', - 'Name': 'My-Material-Data', - 'PoissonRatio': '0.66', - 'YoungsModulus': '123456 MPa' + "Density": "1234.0 kg/m^3", + "Name": "My-Material-Data", + "PoissonRatio": "0.66", + "YoungsModulus": "123456 MPa" }) import MaterialEditor -MaterialEditor.editMaterial('ABS') +MaterialEditor.editMaterial("ABS") -''' +""" diff --git a/src/Mod/Material/importFCMat.py b/src/Mod/Material/importFCMat.py index 47224f4b23..b2e987995e 100644 --- a/src/Mod/Material/importFCMat.py +++ b/src/Mod/Material/importFCMat.py @@ -21,17 +21,19 @@ # *************************************************************************** -import FreeCAD -from materialtools.cardutils import get_material_template -import os -import sys -if sys.version_info.major >= 3: - unicode = str - - __title__ = "FreeCAD material card importer" __author__ = "Juergen Riegel" -__url__ = "http://www.freecadweb.org" +__url__ = "https://www.freecadweb.org" + + +import os + +import FreeCAD + +from materialtools.cardutils import get_material_template + +if FreeCAD.GuiUp: + from PySide import QtGui # to distinguish python built-in open function from the one declared below @@ -87,12 +89,18 @@ def decode(name): # http://www.docuxplorer.com/WebHelp/INI_File_Format.htm # mainly this parser here is used in FreeCAD # in the module Material.py is another implementation of reading and writing FCMat files -# this implementation uses the ConfigParser module +# the implementation in Material.py uses Pythons ConfigParser module # in ViewProviderFemMaterial in add_cards_from_a_dir() the parser from Material.py is used # since this mixture seems to have be there for ages it should not be changed for 0.18 -# TODO: get rid of this mixture in FreeCAD 0.19 +# TODO and FIXME: +# get rid of this mixture +# best might be to switch to a more robust file schema like YAML +# as we had and we might will have problems again and again +# https://github.com/berndhahnebach/FreeCAD_bhb/commits/materialdev + # Metainformation +# first two lines HAVE, REALLY HAVE to be the same (no comment) in any card file !!!!! # first five lines are the same in any card file # Line1: card name # Line2: author and licence @@ -101,27 +109,46 @@ def decode(name): # Line5: FreeCAD version info or empty def read(filename): "reads a FCMat file and returns a dictionary from it" - # the reader should return a dictionary in any case even if the file - # has problems, an empty dict should be returned in such case - if isinstance(filename, unicode): - if sys.version_info.major < 3: - filename = filename.encode(sys.getfilesystemencoding()) + + # the reader returns a dictionary in any case even if the file has problems + # an empty dict is returned in such case + # print(filename) card_name_file = os.path.splitext(os.path.basename(filename))[0] - if sys.version_info.major >= 3: - f = pythonopen(filename, encoding="utf8") - else: - f = pythonopen(filename) + f = pythonopen(filename, encoding="utf8") + try: + content = f.readlines() + # print(len(content)) + # print(type(content)) + # print(content) + except Exception: + # https://forum.freecadweb.org/viewtopic.php?f=18&t=56912#p489721 + # older FreeCAD do not write utf-8 for special character on windows + # I have seen "ISO-8859-15" or "windows-1252" + # explicit utf-8 writing, https://github.com/FreeCAD/FreeCAD/commit/9a564dd906f + FreeCAD.Console.PrintError("Error on card loading. File might not utf-8.") + error_message = "Error on loading. Material file '{}' might not utf-8.".format(filename) + FreeCAD.Console.PrintError("{}\n".format(error_message)) + if FreeCAD.GuiUp: + QtGui.QMessageBox.critical(None, "Error on card reading", error_message) + return {} d = {} d["CardName"] = card_name_file # CardName is the MatCard file name - for ln, line in enumerate(f): + for ln, line in enumerate(content): + # print(line) ln += 1 # enumerate starts with 0, but we would like to have the real line number + + # line numbers are used for CardName and AuthorAndLicense + # the use of line number is not smart for a data model + # a wrong user edit could break the file + + # comment if line.startswith('#'): # a '#' is assumed to be a comment which is ignored continue - # the use of line number is not smart for a data model - # a wrong user edit could break the file - if line.startswith(';') and ln == 0: + # CardName + if line.startswith(';') and ln == 1: + # print("Line CardName: {}".format(line)) v = line.split(";")[1].strip() # Line 1 if hasattr(v, "decode"): v = v.decode('utf-8') @@ -131,11 +158,16 @@ def read(filename): "File CardName ( {} ) is not content CardName ( {} )\n" .format(card_name_file, card_name_content) ) - elif line.startswith(';') and ln == 1: + + # AuthorAndLicense + elif line.startswith(';') and ln == 2: + # print("Line AuthorAndLicense: {}".format(line)) v = line.split(";")[1].strip() # Line 2 if hasattr(v, "decode"): v = v.decode('utf-8') d["AuthorAndLicense"] = v + + # rest else: # ; is a Comment # [ is a Section @@ -190,25 +222,28 @@ def write(filename, dictionary, write_group_section=True): FreeCAD.ConfigGet("BuildVersionMinor"), FreeCAD.ConfigGet("BuildRevision") ) - if isinstance(filename, unicode): - if sys.version_info.major < 3: - filename = filename.encode(sys.getfilesystemencoding()) # print(filename) card_name_file = os.path.splitext(os.path.basename(filename))[0] # print(card_name_file) - f = pythonopen(filename, "w") + if "CardName" not in header: + print(header) + error_message = "No card name provided. Card could not be written.".format(header) + FreeCAD.Console.PrintError("{}\n".format(error_message)) + if FreeCAD.GuiUp: + QtGui.QMessageBox.critical(None, "No card name", error_message) + return + f = pythonopen(filename, "w", encoding="utf-8") # write header # first five lines are the same in any card file, see comment above read def if header["CardName"] != card_name_file: # CardName is the MatCard file name - FreeCAD.Console.PrintMessage("File CardName is used: {}\n".format(card_name_file)) - if sys.version_info.major >= 3: - f.write("; " + card_name_file + "\n") - # f.write("; " + header["AuthorAndLicense"] + "\n") - f.write("; " + header.get("AuthorAndLicense", "no author") + "\n") - else: - f.write("; " + header["CardName"].encode("utf8") + "\n") - f.write("; " + header["AuthorAndLicense"].encode("utf8") + "\n") + FreeCAD.Console.PrintWarning( + "The file name {} is not equal to the card name {}. The file name is used." + .format(card_name_file, header["CardName"]) + ) + f.write("; " + card_name_file + "\n") + # f.write("; " + header["AuthorAndLicense"] + "\n") + f.write("; " + header.get("AuthorAndLicense", "no author") + "\n") f.write("; information about the content of such cards can be found on the wiki:\n") f.write("; https://www.freecadweb.org/wiki/Material\n") f.write("; file created by FreeCAD " + rev + "\n") @@ -226,10 +261,7 @@ def write(filename, dictionary, write_group_section=True): for k, i in s.items(): if (k != "keyname" and i != '') or k == "Name": # use only keys which are not empty and the name, even if empty - if sys.version_info.major >= 3: - f.write(k + " = " + i + "\n") - else: - f.write(k + " = " + i.encode('utf-8') + "\n") + f.write(k + " = " + i + "\n") f.close() diff --git a/src/Mod/Material/materialtools/cardutils.py b/src/Mod/Material/materialtools/cardutils.py index 29afb305f9..2518bdc4e6 100644 --- a/src/Mod/Material/materialtools/cardutils.py +++ b/src/Mod/Material/materialtools/cardutils.py @@ -729,6 +729,15 @@ checkvalueunit('FractureToughness', '25') checkvalueunit('Density', '1 kg/m^3') checkvalueunit('Density', '0 kg/m^3') +# syntax error in unit system, only the try: except in the checkvalueunit let it work +checkvalueunit('ThermalConductivity', '0.02583 W/m/K') +checkvalueunit('ThermalConductivity', '123abc456 W/m/K') +checkvalueunit('ThermalConductivity', '25.83e−3 W/m/K') +checkvalueunit('ThermalConductivity', '25.83e-3 W/m/K') +from FreeCAD import Units +Units.Quantity('25.83e−3 W/m/K') + + # test mat unit properties mat = { 'Name': 'Concrete', diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.qm b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.qm index 4e08754552..cfc9d5c01d 100644 Binary files a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.qm and b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.qm differ diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts index 454d2ad532..4099ce8008 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_pl.ts @@ -642,7 +642,7 @@ Creates a segment from a given tool mesh - Tworzy segment z siatki danego narzędzia + Tworzy segment z danej siatki narzędzia @@ -1221,7 +1221,7 @@ Najpierw uruchom polecenie do naprawy zagięć No folds on surface - Brak zagięć na płaszczyźnie + Brak zagięć na powierzchni @@ -1409,7 +1409,7 @@ Najpierw uruchom polecenie do naprawy zagięć Mesh Formats - Formaty siatek + Formaty siatki @@ -1862,7 +1862,7 @@ do gładszego wyglądu. < faces than - <powierzchnie niż + < niż ściany @@ -1895,7 +1895,7 @@ do gładszego wyglądu. > faces than - > powierzchnie niż + > niż ściany @@ -1980,12 +1980,12 @@ do gładszego wyglądu. Max. Curvature - Max. krzywizny + Maksymalna krzywizna Min. Curvature - Min. krzywizny + Minimalna krzywizna diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.qm b/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.qm index 98e8300db9..1ee41d8a42 100644 Binary files a/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.qm and b/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.qm differ diff --git a/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts b/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts index 9668bc8c6a..0f2b8c80fc 100644 --- a/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts +++ b/src/Mod/Mesh/Gui/Resources/translations/Mesh_tr.ts @@ -17,7 +17,8 @@ Add triangle manually to a mesh - bir kafese elle Üçgen Ekle + Bir kafese elle Üçgen Ekle +Bir kafese manuel üçgen ekle @@ -30,7 +31,8 @@ Boundings info... - Sınır bilgileri... + Sınır bilgileri.. +Sınırlamala Bilgisi... @@ -49,13 +51,15 @@ Regular solid... - Normal katı... + Normal katı... +Düzenli Katı... Builds a regular solid - Düzenli bir solid oluşturur + Düzenli bir solid oluşturur +Düzenli bir katı oluşturma @@ -740,7 +744,7 @@ Mesh Create - Mesh Create + Mesh oluştur diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm index c6ab9ee89d..354c74c0da 100644 Binary files a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm and b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.qm differ diff --git a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts index 09f684f35b..5e720231e5 100644 --- a/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts +++ b/src/Mod/OpenSCAD/Resources/translations/OpenSCAD_pl.ts @@ -376,7 +376,7 @@ Resize Mesh Feature... - Funkcja zmiany rozmiaru siatki... + Funkcja zmiany rozmiaru siatki ... diff --git a/src/Mod/Part/Gui/Resources/translations/Part.ts b/src/Mod/Part/Gui/Resources/translations/Part.ts index 6f107465b6..0e5288138c 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part.ts @@ -248,16 +248,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - - - - - Split objects where they intersect - - Boolean fragments @@ -366,6 +356,16 @@ This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + + + + + Split objects where they intersect + + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_af.ts b/src/Mod/Part/Gui/Resources/translations/Part_af.ts index 5bbea643fe..c312552029 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_af.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_af.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ar.qm b/src/Mod/Part/Gui/Resources/translations/Part_ar.qm index 26dfd0edef..d7422f208d 100644 Binary files a/src/Mod/Part/Gui/Resources/translations/Part_ar.qm and b/src/Mod/Part/Gui/Resources/translations/Part_ar.qm differ diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ar.ts b/src/Mod/Part/Gui/Resources/translations/Part_ar.ts index 2b93db274e..0f9839477d 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ar.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ar.ts @@ -6,7 +6,7 @@ Attachment... - Attachment... + مرفق... @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ca.ts b/src/Mod/Part/Gui/Resources/translations/Part_ca.ts index 98a18437d2..8f71cb11ca 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ca.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ca.ts @@ -258,16 +258,6 @@ Es crearà un 'Filtre de Compost' per a cada forma. Part_SplitFeatures - - - Boolean Fragments - Fragments booleans - - - - Split objects where they intersect - Divideix els objectes on s'interseccionen - Boolean fragments @@ -391,6 +381,16 @@ A 'Compound Filter' can be used to extract the remaining pieces. Això significa que els volums superposats de les formes seran eliminats. Es pot usar un 'Filtre de Compost' per extreure'n les peces restants. + + + Boolean Fragments + Fragments booleans + + + + Split objects where they intersect + Divideix els objectes on s'interseccionen + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_cs.ts b/src/Mod/Part/Gui/Resources/translations/Part_cs.ts index f9bc563fa0..3c92ee55b9 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_cs.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_cs.ts @@ -260,16 +260,6 @@ Vytvoří "Filtr složenin" pro každý tvar. Part_SplitFeatures - - - Boolean Fragments - Booleovské fragmenty - - - - Split objects where they intersect - Rozdělit objekty, kde se protínají - Boolean fragments @@ -396,6 +386,16 @@ nebo s tvary uvnitř složeniny. To znamená, že budou odstraněny překrývající se objemy tvarů. K extrakci zbývajících částí může být použitý 'Filtr složenin'. + + + Boolean Fragments + Booleovské fragmenty + + + + Split objects where they intersect + Rozdělit objekty, kde se protínají + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_de.ts b/src/Mod/Part/Gui/Resources/translations/Part_de.ts index 8d2057a302..6979b7b694 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_de.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_de.ts @@ -260,16 +260,6 @@ Es wird einen 'Compound-Filter' für jede Form erzeugen. Part_SplitFeatures - - - Boolean Fragments - Boolesche Fragmente - - - - Split objects where they intersect - Auftrennen von Objekten an deren Schnittstellen - Boolean fragments @@ -391,6 +381,16 @@ oder mit den Formen innerhalb einer Verbindung durchführen. Das bedeutet, dass die sich überschneidenden Volumen der Formen entfernt werden. Ein 'Compoundfilter' kann verwendet werden, um die restlichen Stücke zu extrahieren. + + + Boolean Fragments + Boolesche Fragmente + + + + Split objects where they intersect + Auftrennen von Objekten an deren Schnittstellen + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_el.ts b/src/Mod/Part/Gui/Resources/translations/Part_el.ts index 330e9e2642..8b6acd9a30 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_el.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_el.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts b/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts index c76ec901bf..d055ebaa2a 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_es-ES.ts @@ -260,16 +260,6 @@ Se creará un 'Filtro Compuesto' para cada forma. Part_SplitFeatures - - - Boolean Fragments - Fragmentos booleanos - - - - Split objects where they intersect - Corta objetos donde intersectan - Boolean fragments @@ -396,6 +386,16 @@ o con las formas dentro de un componente. Esto significa que los volúmenes superpuestos de las formas se eliminarán. Un 'Filtro Compuesto' se puede utilizar para extraer las piezas restantes. + + + Boolean Fragments + Fragmentos booleanos + + + + Split objects where they intersect + Corta objetos donde intersectan + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_eu.ts b/src/Mod/Part/Gui/Resources/translations/Part_eu.ts index 08afe68dc8..4fdf9629db 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_eu.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_eu.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Zati boolearrak - - - - Split objects where they intersect - Zatitu objektuak haiek ebakitzen diren gunean - Boolean fragments @@ -395,6 +385,16 @@ edo konposatu baten barruko formekin. Horrek esan nahi du gainjarrita dauden formen bolumenak kendu egingo direla. 'Konposatu-iragazki' bat erabili daiteke gainerako piezak erauzteko. + + + Boolean Fragments + Zati boolearrak + + + + Split objects where they intersect + Zatitu objektuak haiek ebakitzen diren gunean + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_fi.ts b/src/Mod/Part/Gui/Resources/translations/Part_fi.ts index e685863e53..b854cf1099 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_fi.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_fi.ts @@ -260,16 +260,6 @@ Jokaiselle muodolle luodaan myös 'Yhdistelmäobjektin suodatin'. Part_SplitFeatures - - - Boolean Fragments - Boolen operaation sirpaleet - - - - Split objects where they intersect - Jaa objektit paloihin leikkauskohdista - Boolean fragments @@ -396,6 +386,16 @@ valitulla kohteella, tai muodoilla yhdistelmämuodon sisällä. Tämä tarkoittaa, että muotojen päällekkäiset tilavuudet poistetaan. 'Yhdistelmämuodon suodatinta' voidaan käyttää jäljelle jääneiden palojen poimintaan. + + + Boolean Fragments + Boolen operaation sirpaleet + + + + Split objects where they intersect + Jaa objektit paloihin leikkauskohdista + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_fil.ts b/src/Mod/Part/Gui/Resources/translations/Part_fil.ts index 0a05e29036..8d3df70408 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_fil.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_fil.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_fr.ts b/src/Mod/Part/Gui/Resources/translations/Part_fr.ts index 8ff221848e..066484de4c 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_fr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_fr.ts @@ -259,16 +259,6 @@ Cela créera un 'filtre composé' pour chaque forme. Part_SplitFeatures - - - Boolean Fragments - Fragments Booléens - - - - Split objects where they intersect - Diviser les objets à leur intersection - Boolean fragments @@ -395,6 +385,16 @@ ou avec les formes à l'intérieur d'un composé. Cela signifie que les volumes de chevauchement des formes seront supprimés. Un 'Filtre composé' peut être utilisé pour extraire les parties restantes. + + + Boolean Fragments + Fragments Booléens + + + + Split objects where they intersect + Diviser les objets à leur intersection + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_gl.ts b/src/Mod/Part/Gui/Resources/translations/Part_gl.ts index 21da116657..2ff29ca450 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_gl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_gl.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Fragmentos booleanos - - - - Split objects where they intersect - Divide obxectos onde intersecten - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Fragmentos booleanos + + + + Split objects where they intersect + Divide obxectos onde intersecten + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_hr.ts b/src/Mod/Part/Gui/Resources/translations/Part_hr.ts index faf5781f8d..df4710c3b7 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_hr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_hr.ts @@ -268,16 +268,6 @@ Stvorit će 'Složeni filtar' za svaki oblik. Part_SplitFeatures - - - Boolean Fragments - Booleovi Fragmenti - - - - Split objects where they intersect - Razdjeli objekate gdje se sijeku - Boolean fragments @@ -406,6 +396,16 @@ ili s oblicima unutar složenog spoja. To znači da će se ukloniti preklapajući volumeni oblika. 'Složeni filtar' može se koristiti za izdvajanje preostalih dijelova. + + + Boolean Fragments + Booleovi Fragmenti + + + + Split objects where they intersect + Razdjeli objekate gdje se sijeku + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_hu.ts b/src/Mod/Part/Gui/Resources/translations/Part_hu.ts index 071e016849..bb44d830b7 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_hu.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_hu.ts @@ -259,16 +259,6 @@ Ez létrehoz egy 'Összetett szűrő'-t minden alakzathoz. Part_SplitFeatures - - - Boolean Fragments - Logikai töredékek - - - - Split objects where they intersect - Metszőpontnál szétválasztja a tárgyakat - Boolean fragments @@ -394,6 +384,16 @@ vagy az összetevőn belüli alakzatokkal. Ez azt jelenti, hogy az alakzatok egymást átfedő formái törlődnek. A fennmaradó darabok kivonására az 'összetevő szűrő' használható. + + + Boolean Fragments + Logikai töredékek + + + + Split objects where they intersect + Metszőpontnál szétválasztja a tárgyakat + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_id.ts b/src/Mod/Part/Gui/Resources/translations/Part_id.ts index 1cc2fa305a..43561e8ad6 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_id.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_id.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_it.ts b/src/Mod/Part/Gui/Resources/translations/Part_it.ts index 6738e2b045..e8e1356f7b 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_it.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_it.ts @@ -259,16 +259,6 @@ Creerà un 'filtro composto' per ogni forma. Part_SplitFeatures - - - Boolean Fragments - Frammenti booleani - - - - Split objects where they intersect - Dividi gli oggetti dove si intersecano - Boolean fragments @@ -395,6 +385,16 @@ o con le forme di un composto. Questo significa che i volumi sovrapposti delle forme saranno rimossi. Un 'filtro composto' può essere usato per estrarre i pezzi rimanenti. + + + Boolean Fragments + Frammenti booleani + + + + Split objects where they intersect + Dividi gli oggetti dove si intersecano + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ja.ts b/src/Mod/Part/Gui/Resources/translations/Part_ja.ts index 64d94bf705..7cf493f50f 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ja.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ja.ts @@ -259,16 +259,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - ブーリアン演算 フラグメント - - - - Split objects where they intersect - 交差するオブジェクトを切断 - Boolean fragments @@ -392,6 +382,16 @@ A 'Compound Filter' can be used to extract the remaining pieces. これによってシェイプの重なり合った体積が取り除かれます。 残った断片を取り出すには「コンパウンド・フィルター」を使用します。 + + + Boolean Fragments + ブーリアン演算 フラグメント + + + + Split objects where they intersect + 交差するオブジェクトを切断 + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_kab.ts b/src/Mod/Part/Gui/Resources/translations/Part_kab.ts index 4178075de7..cf5e9f78aa 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_kab.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_kab.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ko.ts b/src/Mod/Part/Gui/Resources/translations/Part_ko.ts index 6a09d73984..81965e0dc9 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ko.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ko.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_lt.ts b/src/Mod/Part/Gui/Resources/translations/Part_lt.ts index 48660def4d..52e0a30f15 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_lt.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_lt.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_nl.ts b/src/Mod/Part/Gui/Resources/translations/Part_nl.ts index c0a8ade02b..268d8278d3 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_nl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_nl.ts @@ -260,16 +260,6 @@ Het maakt een 'Samengesteld Filter' voor elke vorm. Part_SplitFeatures - - - Boolean Fragments - Booleaanse fragmenten - - - - Split objects where they intersect - Splits voorwerpen waar ze overlappen - Boolean fragments @@ -396,6 +386,16 @@ of met de vormen in een samenstelling. Dit betekent dat de overlappende volumes van de vormen worden verwijderd. Een 'Samengestelde Filter' kan worden gebruikt om de resterende stukken uit te pakken. + + + Boolean Fragments + Booleaanse fragmenten + + + + Split objects where they intersect + Splits voorwerpen waar ze overlappen + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_no.ts b/src/Mod/Part/Gui/Resources/translations/Part_no.ts index cf2f26ec41..8ab5c6c7e8 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_no.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_no.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_pl.qm b/src/Mod/Part/Gui/Resources/translations/Part_pl.qm index b44b35c0d5..b92f4ee270 100644 Binary files a/src/Mod/Part/Gui/Resources/translations/Part_pl.qm and b/src/Mod/Part/Gui/Resources/translations/Part_pl.qm differ diff --git a/src/Mod/Part/Gui/Resources/translations/Part_pl.ts b/src/Mod/Part/Gui/Resources/translations/Part_pl.ts index 96c6870144..6dbe952331 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_pl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_pl.ts @@ -6,7 +6,7 @@ Attachment... - Dołączenie ... + Mocowanie ... @@ -41,7 +41,7 @@ Attachment - Dołączenie + Mocowanie @@ -260,16 +260,6 @@ Stworzy to „Filtr kompozytowy” dla każdego kształtu. Part_SplitFeatures - - - Boolean Fragments - Fragmenty funkcji logicznej - - - - Split objects where they intersect - Podziel obiekty, które się przecinają - Boolean fragments @@ -371,7 +361,7 @@ Do wyodrębnienia poszczególnych wycinków można użyć "filtra złożeń". Slice apart - Pokrój + Pokrój część @@ -396,6 +386,16 @@ lub z kształtami wewnątrz bryły złożonej. Oznacza to, że nakładające się objętości kształtów zostaną usunięte. Do wyodrębnienia pozostałych elementów można użyć 'Filtra złożeń'. + + + Boolean Fragments + Fragmenty funkcji logicznej + + + + Split objects where they intersect + Podziel obiekty, które się przecinają + Continue @@ -1100,7 +1100,7 @@ Kliknij "Kontynuuj", aby mimo to utworzyć element, lub "Przerwij", aby anulowa Attachment is disabled. Point can be moved by editing Placement property. AttachmentPoint mode tooltip - Przyciąganie jest wyłączone. Punkt może być przeniesiony przez edycję właściwości umiejscowienia. + Mocowanie jest wyłączone. Punkt może być przeniesiony przez edycję właściwości umiejscowienia. @@ -1465,7 +1465,7 @@ Kliknij "Kontynuuj", aby mimo to utworzyć element, lub "Przerwij", aby anulowa Line perpendicular to surface at point set by vertex. AttachmentLine mode tooltip - Linia prostopadłą do powierzchni w punkcie ustawionym przez wierzchołek. + Linia prostopadła do powierzchni w punkcie wyznaczonym przez wierzchołek. @@ -2658,12 +2658,12 @@ Kliknij "Kontynuuj", aby mimo to utworzyć element, lub "Przerwij", aby anulowa Import curve network... - Importuj sieci krzywej... + Importuj sieć krzywych ... Import a curve network - Importuj sieci krzywej + Importuj sieć krzywych @@ -2784,12 +2784,12 @@ Kliknij "Kontynuuj", aby mimo to utworzyć element, lub "Przerwij", aby anulowa Pick curve network - Wybierz krzywą sieci + Wybierz sieć krzywych Pick a curve network - Wybierz krzywą sieci + Wybierz sieć krzywych @@ -2861,7 +2861,7 @@ Kliknij "Kontynuuj", aby mimo to utworzyć element, lub "Przerwij", aby anulowa Revolve a selected shape - Wyciągnij przez obrót zaznaczony obiekt + Wyciągnij przez obrót wybrany kształt @@ -3081,12 +3081,12 @@ Kliknij "Kontynuuj", aby mimo to utworzyć element, lub "Przerwij", aby anulowa Attachment mode: - Tryb dołączenia: + Tryb mocowania: AttachmentOffset property. The placement is expressed in local space of object being attached. - AttachmentOffset property. Położenie jest wyrażone w lokalnej przestrzeni dołączonego obiektu. + Właściwość przesunięcia mocowania. Położenie jest wyrażone w miejscowej przestrzeni dołączonego obiektu. @@ -3332,7 +3332,7 @@ Kliknij "Kontynuuj", aby mimo to utworzyć element, lub "Przerwij", aby anulowa Custom direction: - Spersonalizowany kierunek: + Kierunek niestandardowy: @@ -4850,7 +4850,7 @@ Zaznacz wcześniej jedną lub więcej krawędzi. All shape types can be selected - Można zaznaczyć wszystkie rodzaje obwiedni + Można wybrać wszystkie typy kształtów @@ -4926,7 +4926,7 @@ Zaznacz wcześniej jedną lub więcej krawędzi. Sweep - Wycieranie + Rozciągnięcie po ścieżce @@ -4964,12 +4964,12 @@ Zaznacz wcześniej jedną lub więcej krawędzi. Attachment mode: - Tryb dołączenia: + Tryb mocowania: AttachmentOffset property. The placement is expressed in local space of object being attached. - AttachmentOffset property. Położenie jest wyrażone w lokalnej przestrzeni dołączonego obiektu. + Właściwość przesunięcia mocowania. Położenie jest wyrażone w miejscowej przestrzeni dołączonego obiektu. @@ -5025,7 +5025,7 @@ Zaznacz wcześniej jedną lub więcej krawędzi. Attachment mode failed: %1 - Tryb dołączania nie powiódł się: %1 + Tryb mocowania nie powiódł się: %1 @@ -5220,7 +5220,7 @@ Zaznacz wcześniej jedną lub więcej krawędzi. Self-intersection - Samoistne przecięcie się + Samoprzecięcia @@ -5302,7 +5302,7 @@ Zaznacz wcześniej jedną lub więcej krawędzi. Sweep - Wycieranie + Rozciągnięcie po ścieżce diff --git a/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts b/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts index 88caa60d24..37c6bbb31e 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_pt-BR.ts @@ -260,16 +260,6 @@ Será criado um 'Filtro Composto' para cada forma. Part_SplitFeatures - - - Boolean Fragments - Fragmentos booleanos - - - - Split objects where they intersect - Separa os objetos, pelas suas intersecções - Boolean fragments @@ -396,6 +386,16 @@ ou com as formas dentro de um composto. Isso significa que os volumes sobrepostos das formas serão removidos. Um 'Filtro de Composto' pode ser usado para extrair as partes restantes. + + + Boolean Fragments + Fragmentos booleanos + + + + Split objects where they intersect + Separa os objetos, pelas suas intersecções + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts b/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts index a48a6221e7..1c2175bac1 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_pt-PT.ts @@ -260,16 +260,6 @@ Irá criar um 'Filtro Composto' para cada forma. Part_SplitFeatures - - - Boolean Fragments - Fragmentos de booleano - - - - Split objects where they intersect - Separa os objetos, onde eles se intercetam - Boolean fragments @@ -396,6 +386,16 @@ ou com as formas contidas num composto. Isso significa que os volumes sobrepostos das formas serão removidos. Um 'Filtro de Composto' pode ser usado para extrair as partes restantes. + + + Boolean Fragments + Fragmentos de booleano + + + + Split objects where they intersect + Separa os objetos, onde eles se intercetam + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ro.ts b/src/Mod/Part/Gui/Resources/translations/Part_ro.ts index 5f2bcdb43b..264884f4fb 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ro.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ro.ts @@ -260,16 +260,6 @@ Va crea un "Filtru compus" pentru fiecare formă. Part_SplitFeatures - - - Boolean Fragments - Fragmente booleene - - - - Split objects where they intersect - Separă obiectele acolo unde se intersectează - Boolean fragments @@ -396,6 +386,16 @@ sau cu formele din interiorul unui compus. Acest lucru înseamnă că volumele de forme care se suprapun vor fi șterse. Un "Filtru combinat" poate fi folosit pentru a extrage secțiunile rămase. + + + Boolean Fragments + Fragmente booleene + + + + Split objects where they intersect + Separă obiectele acolo unde se intersectează + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_ru.ts b/src/Mod/Part/Gui/Resources/translations/Part_ru.ts index d20a2021c9..9b193e472f 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_ru.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_ru.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Булевы фрагменты - - - - Split objects where they intersect - Разделение объектов там, где они пересекаются - Boolean fragments @@ -395,6 +385,16 @@ A 'Compound Filter' can be used to extract the remaining pieces. Это означает, что накладываемые объёмы фигур будут удалены. Для извлечения оставшихся элементов можно использовать 'Фильтр соединений'. + + + Boolean Fragments + Булевы фрагменты + + + + Split objects where they intersect + Разделение объектов там, где они пересекаются + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sk.ts b/src/Mod/Part/Gui/Resources/translations/Part_sk.ts index 80af9c8849..6ede7b3318 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sk.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sk.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Rozdelí objekty v mieste, kde sa pretínajú - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Rozdelí objekty v mieste, kde sa pretínajú + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sl.ts b/src/Mod/Part/Gui/Resources/translations/Part_sl.ts index 7c8f6c719e..ce6efaf4e5 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sl.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sl.ts @@ -260,16 +260,6 @@ Za vsako obliko bo ustvarjeno "Sito sestava". Part_SplitFeatures - - - Boolean Fragments - Drobci logične operacije - - - - Split objects where they intersect - Razcepi predmete, kjer se sekajo - Boolean fragments @@ -395,6 +385,16 @@ oz. z oblikami znotraj sestava. To pomeni, da bodo prekrivajoči deli oblik odstranjeni. Ostale dele lahko izvelečet s "sitom sestava". + + + Boolean Fragments + Drobci logične operacije + + + + Split objects where they intersect + Razcepi predmete, kjer se sekajo + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sr.ts b/src/Mod/Part/Gui/Resources/translations/Part_sr.ts index 3f22323e63..fe5516c630 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sr.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts b/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts index cf7c5c58e5..8bf0331185 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_sv-SE.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Booleska fragment - - - - Split objects where they intersect - Dela objekt där de skär varandra - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Booleska fragment + + + + Split objects where they intersect + Dela objekt där de skär varandra + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_tr.ts b/src/Mod/Part/Gui/Resources/translations/Part_tr.ts index bd2027ae23..d9fdc2f3a2 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_tr.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_tr.ts @@ -258,16 +258,6 @@ Bu işlem her bir şekil için 'Birleşim Süzgeci' oluşturacak. Part_SplitFeatures - - - Boolean Fragments - Mantıksal (Boolean) Parçalar - - - - Split objects where they intersect - Nesnelerin kesiştiği yerlerden ayır - Boolean fragments @@ -391,6 +381,16 @@ A 'Compound Filter' can be used to extract the remaining pieces. Bu; şekillerin örtüşen hacimleri kaldırılacak anlamına gelir. Kalan parçaları çıkarmak için 'Birleşik Filtresi' kullanılabilir. + + + Boolean Fragments + Mantıksal (Boolean) Parçalar + + + + Split objects where they intersect + Nesnelerin kesiştiği yerlerden ayır + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_uk.ts b/src/Mod/Part/Gui/Resources/translations/Part_uk.ts index 44e2f8daf8..39f9c820de 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_uk.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_uk.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts b/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts index 09c00f55c9..029f27323b 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_val-ES.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Fragments booleans - - - - Split objects where they intersect - Divideix els objectes on s'intersequen - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Fragments booleans + + + + Split objects where they intersect + Divideix els objectes on s'intersequen + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_vi.ts b/src/Mod/Part/Gui/Resources/translations/Part_vi.ts index 62fe6a65ee..22cd5d35b2 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_vi.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_vi.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.qm b/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.qm index bebd67c542..2a921c54c6 100644 Binary files a/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.qm and b/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.qm differ diff --git a/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts b/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts index 001df6b499..799001377a 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_zh-CN.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - 布尔片段 - - - - Split objects where they intersect - 从交叉处分割对象 - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + 布尔片段 + + + + Split objects where they intersect + 从交叉处分割对象 + Continue @@ -3116,7 +3116,7 @@ Click 'Continue' to create the feature anyway, or 'Abort' to cancel. Pitch: - 间距: + 节距: @@ -4206,7 +4206,7 @@ Please check one or more edge entities first. Pitch: - 间距: + 节距: @@ -4996,7 +4996,7 @@ Please check one or more edge entities first. Pitch: - 间距: + 节距: diff --git a/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts b/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts index 5302cc8fbb..c6271ab2d7 100644 --- a/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts +++ b/src/Mod/Part/Gui/Resources/translations/Part_zh-TW.ts @@ -260,16 +260,6 @@ It will create a 'Compound Filter' for each shape. Part_SplitFeatures - - - Boolean Fragments - Boolean Fragments - - - - Split objects where they intersect - Split objects where they intersect - Boolean fragments @@ -396,6 +386,16 @@ or with the shapes inside a compound. This means the overlapping volumes of the shapes will be removed. A 'Compound Filter' can be used to extract the remaining pieces. + + + Boolean Fragments + Boolean Fragments + + + + Split objects where they intersect + Split objects where they intersect + Continue diff --git a/src/Mod/PartDesign/App/FeatureSketchBased.cpp b/src/Mod/PartDesign/App/FeatureSketchBased.cpp index bee0e7242b..a0db850e05 100644 --- a/src/Mod/PartDesign/App/FeatureSketchBased.cpp +++ b/src/Mod/PartDesign/App/FeatureSketchBased.cpp @@ -759,8 +759,8 @@ bool ProfileBased::checkLineCrossesFace(const gp_Lin &line, const TopoDS_Face &f return false; #else // This is not as easy as it looks, because a distance of zero might be OK if - // the axis touches the sketchshape in in a linear edge or a vertex - // Note: This algorithm does not catch cases where the sketchshape touches the + // the axis touches the sketchshape in a linear edge or a vertex + // Note: This algorithm doesn't catch cases where the sketchshape touches the // axis in two or more points // Note: And it only works on closed outer wires TopoDS_Wire outerWire = ShapeAnalysis::OuterWire(face); diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.qm b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.qm index 2b672db032..46fc1cd113 100644 Binary files a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.qm and b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.qm differ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts index 1e47ef5e29..018c6854bd 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_cs.ts @@ -11,12 +11,12 @@ Additive helix - Additive helix + Přičíst šroubovici Sweep a selected sketch along a helix - Sweep a selected sketch along a helix + Táhnout vybranou skicu podél šroubovice @@ -552,7 +552,7 @@ Create a sub-object(s) shape binder - Create a sub-object(s) shape binder + Vytvořit tvar dílčího(ch) objektu @@ -565,12 +565,12 @@ Subtractive helix - Subtractive helix + Odečíst šroubovici Sweep a selected sketch along a helix and remove it from the body - Sweep a selected sketch along a helix and remove it from the body + Táhnout vybranou skicu podél šroubovice a odstranit je z těla @@ -755,23 +755,23 @@ Create Clone - Create Clone + Vytvořit klon Make copy - Make copy + Vytvořit kopii Create a Sketch on Face - Create a Sketch on Face + Vytvořit nový náčrt na oříznuté ploše Create a new Sketch - Create a new Sketch + Vytvořit nový náčrt @@ -786,7 +786,7 @@ Add a Body - Add a Body + Přidat tělo @@ -801,17 +801,17 @@ Duplicate a PartDesign object - Duplicate a PartDesign object + Duplikovat objekt PartDesign Move an object - Move an object + Přesunout objekt Move an object inside tree - Move an object inside tree + Přesunout objekt dovnitř stromu @@ -821,7 +821,7 @@ Make LinearPattern - Make LinearPattern + Vytvořit lineární pole @@ -905,7 +905,7 @@ Module: - Module: + Modul: @@ -1024,30 +1024,30 @@ Angle in first direction: - Angle in first direction: + Úhel v prvním směru: Angle in first direction - Angle in first direction + Úhel v prvním směru Angle in second direction: - Angle in second direction: + Úhel v druhém směru: Angle in second direction - Angle in second direction + Úhel v druhém směru Rotation angle: - Rotation angle: + Úhel otáčení: @@ -1077,12 +1077,12 @@ Radius in local z-direction - Radius in local z-direction + Poloměr v lokálním Z směru Radius in local x-direction - Radius in local x-direction + Poloměr v lokálním X směru @@ -1093,8 +1093,8 @@ Radius in local y-direction If zero, it is equal to Radius2 - Radius in local y-direction -If zero, it is equal to Radius2 + Poloměr v lokálním Y směru +Je-li nulový, rovná se Poloměr2 @@ -1105,12 +1105,12 @@ If zero, it is equal to Radius2 Radius in local xy-plane - Radius in local xy-plane + Poloměr v lokální rovině XY Radius in local xz-plane - Radius in local xz-plane + Poloměr v lokální rovině XZ @@ -1253,7 +1253,7 @@ If zero, it is equal to Radius2 You selected geometries which are not part of the active body. Please define how to handle those selections. If you do not want those references, cancel the command. - You selected geometries which are not part of the active body. Please define how to handle those selections. If you do not want those references, cancel the command. + Vybrali jste geometrie, které nejsou součástí aktivního těla. Definujte, jak s těmito výběry nakládat. Pokud nechcete tyto odkazy, zrušte příkaz. @@ -1332,34 +1332,34 @@ If zero, it is equal to Radius2 Cone radii are equal - Cone radii are equal + Poloměr kužele je roven The radii for cones must not be equal! - The radii for cones must not be equal! + Poloměry kužele se nesmí rovnat! Invalid wedge parameters - Invalid wedge parameters + Neplatné parametry klínu X min must not be equal to X max! - X min must not be equal to X max! + X min se nesmí rovnat X max! Y min must not be equal to Y max! - Y min must not be equal to Y max! + Y min se nesmí rovnat Y max! Z min must not be equal to Z max! - Z min must not be equal to Z max! + Z min se nesmí rovnat Z max! @@ -1403,22 +1403,22 @@ click again to end selection Equal distance - Equal distance + Rovná vzdálenost Two distances - Two distances + Dvě vzdálenosti Distance and angle - Distance and angle + Vzdálenost a úhel Flip direction - Flip direction + Překlopit směr @@ -1428,7 +1428,7 @@ click again to end selection Size 2 - Size 2 + Velikost 2 @@ -1446,7 +1446,7 @@ click again to end selection There must be at least one item - There must be at least one item + Musí existovat alespoň jedna položka @@ -1456,7 +1456,7 @@ click again to end selection At least one item must be kept. - At least one item must be kept. + Musí být zachována alespoň jedna položka. @@ -1573,7 +1573,7 @@ click again to end selection There must be at least one item - There must be at least one item + Musí existovat alespoň jedna položka @@ -1583,7 +1583,7 @@ click again to end selection At least one item must be kept. - At least one item must be kept. + Musí být zachována alespoň jedna položka. @@ -1597,7 +1597,7 @@ click again to end selection There must be at least one item - There must be at least one item + Musí existovat alespoň jedna položka @@ -1737,7 +1737,7 @@ click again to end selection There must be at least one item - There must be at least one item + Musí existovat alespoň jedna položka @@ -1747,7 +1747,7 @@ click again to end selection At least one item must be kept. - At least one item must be kept. + Musí být zachována alespoň jedna položka. @@ -1760,7 +1760,7 @@ click again to end selection Status: - Status: + Stav: @@ -1844,12 +1844,12 @@ click again to end selection Turns: - Turns: + Otáček: Cone angle: - Cone angle: + Úhel kužele: @@ -1859,7 +1859,7 @@ click again to end selection Left handed - Left handed + Levotočivý @@ -1879,7 +1879,7 @@ click again to end selection Helix parameters - Helix parameters + Parametry šroubovice @@ -2231,7 +2231,7 @@ the sketch plane's normal vector will be used Use custom direction - Use custom direction + Použít vlastní směr @@ -2241,7 +2241,7 @@ the sketch plane's normal vector will be used x-component of direction vector - x-component of direction vector + X složka vektoru směru @@ -2251,7 +2251,7 @@ the sketch plane's normal vector will be used y-component of direction vector - y-component of direction vector + Y složka vektoru směru @@ -2261,14 +2261,14 @@ the sketch plane's normal vector will be used z-component of direction vector - z-component of direction vector + Z složka vektoru směru If unchecked, the length will be measured along the specified direction - If unchecked, the length will be -measured along the specified direction + Pokud není zaškrtnuto, délka bude +měřena ve stanoveném směru @@ -2278,7 +2278,7 @@ measured along the specified direction Offset to face - Offset to face + Odsazení od oříznuté plochy @@ -2523,7 +2523,7 @@ measured along the specified direction No active body - No active body + Žádné aktivní tělo @@ -2968,7 +2968,7 @@ click again to end selection There must be at least one item - There must be at least one item + Musí existovat alespoň jedna položka @@ -2978,7 +2978,7 @@ click again to end selection At least one item must be kept. - At least one item must be kept. + Musí být zachována alespoň jedna položka. @@ -3287,7 +3287,7 @@ click again to end selection Cannot use selected object. Selected object must belong to the active body - Cannot use selected object. Selected object must belong to the active body + Vybraný objekt nelze použít. Vybraný objekt musí patřit k aktivnímu tělu @@ -3315,22 +3315,22 @@ click again to end selection Select an edge, face, or body. - Select an edge, face, or body. + Vyberte hranu, plochu nebo tělo. Select an edge, face, or body from a single body. - Select an edge, face, or body from a single body. + Vyberte hranu, plochu nebo tělo ze samostatného těla. Select an edge, face, or body from an active body. - Select an edge, face, or body from an active body. + Vyberte hranu, plochu nebo tělo z aktivního těla. Please create a feature first. - Please create a feature first. + Nejprve prosím vytvořte prvek. @@ -3528,7 +3528,7 @@ To může vést k neočekávaným výsledkům. Dependency violation - Dependency violation + Porušení závislosti @@ -3722,12 +3722,12 @@ Tento prvek je rozbitý a nelze upravovat. Synchronize - Synchronize + Synchronizovat Select bound object - Select bound object + Vybrat vázaný objekt @@ -3781,7 +3781,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Edit helix - Edit helix + Upravit šroubovici @@ -3789,7 +3789,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Sprocket parameter - Sprocket parameter + Parametr řetězového kola @@ -3799,77 +3799,77 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Sprocket Reference - Sprocket Reference + Reference řetězového kola ANSI 25 - ANSI 25 + ANSI 25 ANSI 35 - ANSI 35 + ANSI 35 ANSI 41 - ANSI 41 + ANSI 41 ANSI 40 - ANSI 40 + ANSI 40 ANSI 50 - ANSI 50 + ANSI 50 ANSI 60 - ANSI 60 + ANSI 60 ANSI 80 - ANSI 80 + ANSI 80 ANSI 100 - ANSI 100 + ANSI 100 ANSI 120 - ANSI 120 + ANSI 120 ANSI 140 - ANSI 140 + ANSI 140 ANSI 160 - ANSI 160 + ANSI 160 ANSI 180 - ANSI 180 + ANSI 180 ANSI 200 - ANSI 200 + ANSI 200 ANSI 240 - ANSI 240 + ANSI 240 @@ -3884,37 +3884,37 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi ISO 606 06B - ISO 606 06B + ISO 606 06B ISO 606 08B - ISO 606 08B + ISO 606 06B ISO 606 10B - ISO 606 10B + ISO 606 10B ISO 606 12B - ISO 606 12B + ISO 606 12B ISO 606 16B - ISO 606 16B + ISO 606 16B ISO 606 20B - ISO 606 20B + ISO 606 20B ISO 606 24B - ISO 606 24B + ISO 606 24B @@ -3954,7 +3954,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Chain Pitch: - Chain Pitch: + Rozteč řetězu: @@ -3964,7 +3964,7 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Roller Diameter: - Roller Diameter: + Průměr válečku: @@ -4111,17 +4111,17 @@ Although you will be able to migrate any moment later with 'Part Design -> Mi Whether the hole gets a thread - Whether the hole gets a thread + Zda díra dostane závit Whether the hole gets a modelled thread - Whether the hole gets a modelled thread + Zda díra dostane modelovaný závit Model Thread - Model Thread + Model závitu @@ -4180,7 +4180,7 @@ Only available for holes without thread Wide - Wide + Šířka @@ -4190,17 +4190,17 @@ Only available for holes without thread Hole diameter - Hole diameter + Průměr otvoru Thread Depth - Thread Depth + Hloubka závitu Hole depth - Hole depth + Hloubka otvoru @@ -4264,7 +4264,7 @@ over 90: larger hole radius at the bottom Custom values - Custom values + Vlastní hodnoty @@ -4276,7 +4276,7 @@ account for the depth of blind holes Take into account for depth - Take into account for depth + Zohlednit hloubku @@ -4393,7 +4393,7 @@ account for the depth of blind holes &Sketch - &Sketch + &Skica @@ -4413,7 +4413,7 @@ account for the depth of blind holes Apply a pattern - Apply a pattern + Použít vzor @@ -4423,7 +4423,7 @@ account for the depth of blind holes Sprocket... - Sprocket... + Řetězové kolo... @@ -4433,7 +4433,7 @@ account for the depth of blind holes Shaft design wizard - Shaft design wizard + Průvodce konstrukcí hřídele diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.qm b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.qm index c72bd9871c..5cc31d9bd3 100644 Binary files a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.qm and b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.qm differ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts index 4d0acead65..8f39b47ade 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_de.ts @@ -101,12 +101,12 @@ Create a local coordinate system - Erstelle ein lokales Koordinatensystem + Lokales Koordinatensystem erstellen Create a new local coordinate system - Erstelle ein neues lokales Koordinatensystem + Neues lokales Koordinatensystem erstellen @@ -658,7 +658,7 @@ Additive Cone - Zu addierender Kegel + Hinzuzufügender Kegel @@ -673,7 +673,7 @@ Additive Prism - Zu addierendes Prisma + Hinzuzufügendes Prisma @@ -3059,42 +3059,42 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Create an additive box by its width, height, and length - Erzeugen eines zu addierenden Quaders mit Angabe von Breite, Höhe und Länge + Erzeugen eines hinzuzufügenden Quaders mit Angabe von Breite, Höhe und Länge Create an additive cylinder by its radius, height, and angle - Erzeugen eines zu addierenden Zylinders mit Angabe von Radius, Höhe und Sektorwinkel + Erzeugen eines hinzuzufügenden Zylinders mit Angabe von Radius, Höhe und Winkel Create an additive sphere by its radius and various angles - Erzeuge eine zusätzliche Kugel durch Angabe von Radius und verschiedene Winkel + Erzeugen einer hinzuzufügenden Kugel durch Angabe des Radius und verschiedener Winkel Create an additive cone - Erzeuge einen zusätzlichen Kegel + Erzeugen eines hinzuzufügenden Kegels Create an additive ellipsoid - Erzeuge eine zusätzliches Ellipsoid + Erzeugen eines hinzuzufügenden Ellipsoids Create an additive torus - Erzeuge einen zusätzlichen Torus + Erzeugen eines hinzuzufügenden Torus Create an additive prism - Erzeuge eine zusätzliches Prisma + Erzeugen eines hinzuzufügenden Prismas Create an additive wedge - Erzeuge einen zusätzlichen Keil + Erzeugen eines hinzuzufügenden Keils @@ -3102,17 +3102,17 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Create a subtractive box by its width, height and length - Erzeuge einen abzuziehenden Quader durch Angabe von Breite, Höhe und Länge + Erzeugen eines abzuziehenden Quaders durch Angabe von Breite, Höhe und Länge Create a subtractive cylinder by its radius, height and angle - Erzeuge einen abzuziehenden Zylinder durch Angabe von Radius, Höhe und Sektorwinkel + Erzeugen eines abzuziehenden Zylinders durch Angabe von Radius, Höhe und Winkel Create a subtractive sphere by its radius and various angles - Erzeuge eine abzuziehende Kugel durch Angabe von Radius und verschiedenen Winkeln + Erzeugen einer abzuziehenden Kugel durch Angabe von Radius und verschiedenen Winkeln @@ -3122,7 +3122,7 @@ Nochmaliges Klicken beendet den Auswahl-Modus. Create a subtractive ellipsoid - Erzeuge ein abzuziehendes Ellipsoid + Erzeugen eines abzuziehenden Ellipsoids @@ -3542,7 +3542,7 @@ This may lead to unexpected results. It is not possible to create a subtractive feature without a base feature available - Es ist nicht möglich, ein subtraktives Objekt ohne ein Basis-Objekt zu erstellen + Es ist nicht möglich, ein abzuziehendes Objekt ohne ein Basisobjekt zu erstellen @@ -4398,12 +4398,12 @@ account for the depth of blind holes Create an additive feature - Erzeugen eines additives Merkmals + Hinzuzufügende Objekte Create a subtractive feature - Erzeuge ein subtraktives Merkmal + Abzuziehendes Objekte @@ -4413,7 +4413,7 @@ account for the depth of blind holes Apply a dress-up feature - Wende modifizierendes Merkmal an + Modifikationen diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.qm b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.qm index 703889932b..4ad7664f73 100644 Binary files a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.qm and b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.qm differ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts index 9c30ad4903..4c83ee61f7 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_hu.ts @@ -740,17 +740,17 @@ Edit ShapeBinder - ShapeBinder szerkesztése + Alakzatcsatoló szerkesztése Create ShapeBinder - ShapeBinder létrehozása + Alakzatcsatoló létrehozása Create SubShapeBinder - SubShapeBinder létrehozása + Alakzatcsatoló alkatrész létrehozása @@ -4417,12 +4417,12 @@ a vak lyukak mélységéhez Involute gear... - Involute gear... + Evolvent fogazott kerék... Shaft design wizard - Shaft design wizard + Tengelytervező varázsló @@ -4432,12 +4432,12 @@ a vak lyukak mélységéhez Part Design Helper - Part Design Helper + Alkatrész tervezési segéd Part Design Modeling - Part Design Modeling + Alkatrész tervezés modellezés diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.qm b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.qm index 8383a42618..ef7570467d 100644 Binary files a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.qm and b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.qm differ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts index a0ea813afc..75e7e52820 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_it.ts @@ -16,7 +16,7 @@ Sweep a selected sketch along a helix - Sweep a selected sketch along a helix + Spazza uno schizzo selezionato lungo un'elica @@ -552,7 +552,7 @@ Create a sub-object(s) shape binder - Create a sub-object(s) shape binder + Crea un legante di forma per sotto-oggetti @@ -565,12 +565,12 @@ Subtractive helix - Subtractive helix + Elica sottrattiva Sweep a selected sketch along a helix and remove it from the body - Sweep a selected sketch along a helix and remove it from the body + Spazza uno schizzo selezionato lungo un'elica e lo rimuove dal corpo @@ -740,78 +740,78 @@ Edit ShapeBinder - Edit ShapeBinder + Modifica legante di forma Create ShapeBinder - Create ShapeBinder + Crea legante di forma Create SubShapeBinder - Create SubShapeBinder + Crea legante di sotto forma Create Clone - Create Clone + Crea clone Make copy - Make copy + Fà una copia Create a Sketch on Face - Create a Sketch on Face + Crea un nuovo schizzo su una faccia Create a new Sketch - Create a new Sketch + Crea un nuovo schizzo Convert to MultiTransform feature - Convert to MultiTransform feature + Crea una funzione di trasformazione multipla Create Boolean - Create Boolean + Crea pallinatura Add a Body - Add a Body + Aggiungi corpo Migrate legacy part design features to Bodies - Migrate legacy part design features to Bodies + Migra le vecchie funzioni di Part Design ai corpi Move tip to selected feature - Move tip to selected feature + Sposta il suggerimento nella funzione selezionata Duplicate a PartDesign object - Duplicate a PartDesign object + Duplica un oggetto PartDesign Move an object - Move an object + Sposta un oggetto Move an object inside tree - Move an object inside tree + Sposta un oggetto all'interno dell'albero @@ -821,7 +821,7 @@ Make LinearPattern - Make LinearPattern + Serie rettangolare @@ -905,7 +905,7 @@ Module: - Module: + Moduli: @@ -943,10 +943,10 @@ - the active Body does not contain a base shape, so there is no material to be removed; - the selected sketch does not belong to the active Body. - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. + La funzione richiesta non può essere creata. Il motivo potrebbe essere: + - il corpo attivo non contiene una forma base, quindi non c'è + materiale da rimuovere; + - lo schizzo selezionato non appartiene al corpo attivo. @@ -957,10 +957,10 @@ - the active Body does not contain a base shape, so there is no material to be removed; - the selected sketch does not belong to the active Body. - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. + La funzione richiesta non può essere creata. Il motivo potrebbe essere: + - il corpo attivo non contiene una forma base, quindi non c'è + materiale da rimuovere; + - lo schizzo selezionato non appartiene al corpo attivo. @@ -971,10 +971,10 @@ - the active Body does not contain a base shape, so there is no material to be removed; - the selected sketch does not belong to the active Body. - The requested feature cannot be created. The reason may be that: - - the active Body does not contain a base shape, so there is no - material to be removed; - - the selected sketch does not belong to the active Body. + La funzione richiesta non può essere creata. Il motivo potrebbe essere: + - il corpo attivo non contiene una forma base, quindi non c'è + materiale da rimuovere; + - lo schizzo selezionato non appartiene al corpo attivo. @@ -1024,30 +1024,30 @@ Angle in first direction: - Angle in first direction: + Angolo nella prima direzione: Angle in first direction - Angle in first direction + Angolo nella prima direzione Angle in second direction: - Angle in second direction: + Angolo nella seconda direzione: Angle in second direction - Angle in second direction + Angolo nella seconda direzione Rotation angle: - Rotation angle: + Angolo di rotazione: @@ -1077,12 +1077,12 @@ Radius in local z-direction - Radius in local z-direction + Raggio in direzione z locale Radius in local x-direction - Radius in local x-direction + Raggio in direzione x locale @@ -1093,8 +1093,8 @@ Radius in local y-direction If zero, it is equal to Radius2 - Radius in local y-direction -If zero, it is equal to Radius2 + Raggio in direzione y locale +Se zero, è uguale a Raggio2 @@ -1105,12 +1105,12 @@ If zero, it is equal to Radius2 Radius in local xy-plane - Radius in local xy-plane + Raggio nel piano xy locale Radius in local xz-plane - Radius in local xz-plane + Raggio nel piano xz locale @@ -1253,7 +1253,7 @@ If zero, it is equal to Radius2 You selected geometries which are not part of the active body. Please define how to handle those selections. If you do not want those references, cancel the command. - You selected geometries which are not part of the active body. Please define how to handle those selections. If you do not want those references, cancel the command. + Sono state selezionate delle geometrie che non fanno parte del corpo attivo. Si prega di definire come gestire tali selezioni. Se non si vogliono questi riferimenti annullare il comando. @@ -1332,29 +1332,29 @@ If zero, it is equal to Radius2 Cone radii are equal - Cone radii are equal + I raggi del cono sono uguali The radii for cones must not be equal! - The radii for cones must not be equal! + I raggi per i coni non devono essere uguali! Invalid wedge parameters - Invalid wedge parameters + Parametri cuneo non validi X min must not be equal to X max! - X min must not be equal to X max! + X min non deve essere uguale a X max! Y min must not be equal to Y max! - Y min must not be equal to Y max! + Y min non deve essere uguale a Y max! @@ -1907,7 +1907,7 @@ fare nuovamente clic per terminare la selezione Cheesehead (deprecated) - Cheesehead (deprecated) + Lamatura (Deprecata) @@ -3171,7 +3171,7 @@ fare nuovamente clic per terminare la selezione Move tip - Move tip + Sposta la cima verso l'alto @@ -3315,27 +3315,27 @@ fare nuovamente clic per terminare la selezione Select an edge, face, or body. - Select an edge, face, or body. + Selezionare uno spigolo, una faccia o un corpo. Select an edge, face, or body from a single body. - Select an edge, face, or body from a single body. + Selezionare uno spigolo, una faccia o un corpo da un unico corpo. Select an edge, face, or body from an active body. - Select an edge, face, or body from an active body. + Selezionare uno spigolo, una faccia o un corpo da un corpo attivo. Please create a feature first. - Please create a feature first. + Si prega di creare prima una funzione. Please select only one feature in an active body. - Please select only one feature in an active body. + Si prega di selezionare solo una funzione in un corpo attivo. @@ -3346,7 +3346,7 @@ fare nuovamente clic per terminare la selezione Ensure that the body contains a feature before attempting a subtractive command. - Ensure that the body contains a feature before attempting a subtractive command. + Assicurati che il corpo contenga una forma prima di tentare un comando sottrattivo. @@ -4263,13 +4263,13 @@ over 90: larger hole radius at the bottom The size of the drill point will be taken into account for the depth of blind holes - The size of the drill point will be taken into -account for the depth of blind holes + La dimensione della punta del trapano sarà presa in considerazione +per la profondità dei fori ciechi Take into account for depth - Take into account for depth + Prendi in considerazione per la profondità @@ -4360,7 +4360,7 @@ account for the depth of blind holes Loose - Loose + Ampio @@ -4381,37 +4381,37 @@ account for the depth of blind holes &Part Design - &Part Design + &Part Design &Sketch - &Sketch + &Schizzo Create a datum - Create a datum + Crea un riferimento Create an additive feature - Create an additive feature + Crea una funzione additiva Create a subtractive feature - Create a subtractive feature + Crea una funzione sottrattiva Apply a pattern - Apply a pattern + Applica un modello Apply a dress-up feature - Apply a dress-up feature + Applica una funzione di dress-up diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.qm b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.qm index 6ee37f8d02..cca4b73c9c 100644 Binary files a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.qm and b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.qm differ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts index cd4c6e9837..4f0e3b2332 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_nl.ts @@ -11,7 +11,7 @@ Additive helix - Additive helix + Additatieve helix @@ -52,7 +52,7 @@ Sweep a selected sketch along a path or to other profiles - Veeg de geselecteerde schets langs een pad of naar andere profielen + Trek de geselecteerde schets langs een pad of naar andere profielen @@ -565,7 +565,7 @@ Subtractive helix - Subtractive helix + Subtractieve helix diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.qm b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.qm index 650656e2f5..31fdfa0072 100644 Binary files a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.qm and b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.qm differ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts index de2e771439..2602a45015 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_pl.ts @@ -335,12 +335,12 @@ Move object after other object - Przesuń obiekt po innym obiekcie + Przesuń obiekt za inny obiekt Moves the selected object and insert it after another object - Przenosi wybrany obiekt i umieszcza go za innym elementem + Przenosi wybrany obiekt i umieszcza go za innym obiektem @@ -520,7 +520,7 @@ Create a scaled feature - Utwórz funkcję skalowaną + Utwórz cechę skalowaną @@ -570,7 +570,7 @@ Sweep a selected sketch along a helix and remove it from the body - Rozciągnij wybrany szkic wzdłuż ścieżki lub do innych profili i usuń z zawartości + Rozciągnij wybrany szkic wzdłuż krętej ścieżki lub do innych profili i usuń z zawartości @@ -854,12 +854,12 @@ Sketch already used by other feature - Szkicuj już używane przez inną funkcję + Szkic jest już używany przez inną cechę Sketch belongs to another Body feature - Szkic należy do innej funkcji zawartości + Szkic należy do innej cechy zawartości @@ -869,7 +869,7 @@ Feature is located after the Tip feature - Funkcja jest umieszczona po wierzchołku funkcji + Cecha znajduje się za cechą czubka @@ -1482,7 +1482,7 @@ kliknij ponownie, aby zakończyć wybór Boolean: Accept: Input error - Wartość logiczna: Akceptuj: Błąd wprowadzania + Funkcja logiczna: Akceptuj: Błąd danych wejściowych @@ -1550,12 +1550,12 @@ kliknij ponownie, aby zakończyć wybór Draft angle - Szkicuj kąt + Kąt początkowy Neutral plane - Płaszczyzna zerowa + Płaszczyzna neutralna @@ -1660,7 +1660,7 @@ kliknij ponownie, aby zakończyć wybór Sketch already used by other feature - Szkicuj już używane przez inną funkcję + Szkic jest już używany przez inną cechę @@ -1897,12 +1897,12 @@ kliknij ponownie, aby zakończyć wybór Counterbore - Pogłębiacz walcowy + Pogłębienie walcowe Countersink - Pogłębienie walcowe + Pogłębienie stożkowe @@ -3366,7 +3366,7 @@ kliknij ponownie, aby zakończyć wybór not possible on selected faces/edges. - nie jest możliwe na wybranych ścianach/krawędziach. + nie jest możliwe na wybranych ścianach / krawędziach. @@ -3476,7 +3476,7 @@ Może to prowadzić do nieoczekiwanych rezultatów. Select exactly one PartDesign feature or a body. - Zaznacz dokładnie jedną cechę lub zawartość Projektu części. + Zaznacz dokładnie jedną cechę lub zawartość Projektu Części. @@ -4025,12 +4025,12 @@ Migracja będzie możliwa w każdej chwili za pomocą "Projekt części -> Mi Countersink - Pogłębienie walcowe + Pogłębienie stożkowe Counterbore - Pogłębiacz walcowy + Pogłębienie walcowe @@ -4040,7 +4040,7 @@ Migracja będzie możliwa w każdej chwili za pomocą "Projekt części -> Mi Custom dimensions - Spersonalizowane wymiary + Wymiary niestandardowe @@ -4093,7 +4093,7 @@ Migracja będzie możliwa w każdej chwili za pomocą "Projekt części -> Mi Countersink angle - Kąt nawiercenia + Kąt pogłębienia stożkowego @@ -4106,7 +4106,7 @@ Migracja będzie możliwa w każdej chwili za pomocą "Projekt części -> Mi Task Hole Parameters - Parametry otworu roboczego + Parametry otworu @@ -4321,7 +4321,7 @@ dla głębokości otworów nieprzelotowych Countersink angle - Kąt nawiercenia + Kąt pogłębienia stożkowego diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.qm b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.qm index 8522b93298..12436cfe06 100644 Binary files a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.qm and b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.qm differ diff --git a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts index 15cebcf572..f628b09c9f 100644 --- a/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts +++ b/src/Mod/PartDesign/Gui/Resources/translations/PartDesign_zh-CN.ts @@ -624,7 +624,7 @@ Make a thick solid - 做一个厚的实体 + 抽壳 @@ -1157,7 +1157,7 @@ If zero, it is equal to Radius2 Pitch: - 间距: + 节距: @@ -1814,12 +1814,12 @@ click again to end selection Pitch-Height-Angle - Pitch-Height-Angle + 节距-高度-角度 Pitch-Turns-Angle - Pitch-Turns-Angle + 节距-圈数-角度 @@ -1834,7 +1834,7 @@ click again to end selection Pitch: - 间距: + 节距: @@ -4219,10 +4219,10 @@ Only available for holes without thread 90 degree: straight hole under 90: smaller hole radius at the bottom over 90: larger hole radius at the bottom - Taper angle for the hole -90 degree: straight hole -under 90: smaller hole radius at the bottom -over 90: larger hole radius at the bottom + 孔的锥度: +90度:直孔 +小于90:底部的较小孔半径 +大于90:底部的较大孔半径 diff --git a/src/Mod/Path/CMakeLists.txt b/src/Mod/Path/CMakeLists.txt index 6b78b5ea38..827727befe 100644 --- a/src/Mod/Path/CMakeLists.txt +++ b/src/Mod/Path/CMakeLists.txt @@ -194,7 +194,14 @@ SET(Tools_Shape_SRCS SET(PathTests_SRCS PathTests/__init__.py + PathTests/boxtest.fcstd PathTests/PathTestUtils.py + PathTests/test_adaptive.fcstd + PathTests/test_centroid_00.ngc + PathTests/test_geomop.fcstd + PathTests/test_holes00.fcstd + PathTests/test_linuxcnc_00.ngc + PathTests/TestPathAdaptive.py PathTests/TestPathCore.py PathTests/TestPathDeburr.py PathTests/TestPathDepthParams.py @@ -220,11 +227,6 @@ SET(PathTests_SRCS PathTests/Tools/Bit/test-path-tool-bit-bit-00.fctb PathTests/Tools/Library/test-path-tool-bit-library-00.fctl PathTests/Tools/Shape/test-path-tool-bit-shape-00.fcstd - PathTests/boxtest.fcstd - PathTests/test_centroid_00.ngc - PathTests/test_geomop.fcstd - PathTests/test_holes00.fcstd - PathTests/test_linuxcnc_00.ngc ) SET(PathImages_Ops diff --git a/src/Mod/Path/Gui/Resources/translations/Path.ts b/src/Mod/Path/Gui/Resources/translations/Path.ts index f49605cc51..673c8798be 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - - - - - Should the operation be limited by the stock object or by the bounding box of the base object - - - - - Step over percentage of the drop cutter path - - - - - Z-axis offset from the surface of the object - - - - - The Sample Interval. Small values cause long wait times - - - - - Enable optimization which removes unnecessary points from G-Code output - - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - - Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - - - - - Depth used to identify waste areas to ignore. - - - - - Cut through waste to depth at model edge, releasing the model. - - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied + + + The base geometry of this toolpath + + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - - Start pocketing at center or boundary @@ -704,8 +649,63 @@ - - The base geometry of this toolpath + + The direction along which dropcutter lines are created + + + + + Should the operation be limited by the stock object or by the bounding box of the base object + + + + + Step over percentage of the drop cutter path + + + + + Z-axis offset from the surface of the object + + + + + The Sample Interval. Small values cause long wait times + + + + + Enable optimization which removes unnecessary points from G-Code output + + + + + The completion mode for the operation: single or multi-pass + + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + + Ignore areas that proceed below specified depth. + + + + + Depth used to identify waste areas to ignore. + + + + + Cut through waste to depth at model edge, releasing the model. + + + + + The library to use to generate the path @@ -987,13 +987,13 @@ - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + + Invalid Cutting Edge Angle %.2f, must be >0° and <=180° - - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° @@ -1157,31 +1157,6 @@ Increased to stock top. Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - - - - - Consider toggling the 'InverseAngle' property and recomputing. - - - - - Multiple faces in Base Geometry. - - - - - Depth settings will be applied to all faces. - - - - - EnableRotation property is 'Off'. - - Unable to create path for face(s). @@ -1247,6 +1222,31 @@ Increased to stock top. Utils + + + Face appears misaligned after initial rotation. + + + + + Consider toggling the 'InverseAngle' property and recomputing. + + + + + Multiple faces in Base Geometry. + + + + + Depth settings will be applied to all faces. + + + + + EnableRotation property is 'Off'. + + @@ -1969,16 +1969,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - - - - - Creates a Path Pocket object from a face or faces - - Normal @@ -2029,6 +2019,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. + + + Pocket Shape + + + + + Creates a Path Pocket object from a face or faces + + 3D Pocket @@ -3439,6 +3439,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + + + + + Creates a Path Dess-up object from a selected path + + Please select one path object @@ -3456,16 +3466,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object - - - Dress-up - - - - - Creates a Path Dess-up object from a selected path - - Path_DressupAxisMap @@ -3938,12 +3938,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object - - - The selected object is not a path - - - Please select one path object @@ -3959,6 +3953,12 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop + + + The selected object is not a path + + + Path_Inspect @@ -4205,11 +4205,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - - Check the path job for common errors @@ -4460,6 +4455,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date + + + The Job has no selected Base object. + + It appears the machine limits haven't been set. Not able to check path extents. @@ -4615,11 +4615,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - - Add Tool Controller to the Job @@ -4630,6 +4625,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller + + + Tool Number to Load + + Path_ToolTable @@ -4656,11 +4656,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4671,6 +4666,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + + Path_Waterline @@ -4705,56 +4705,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library - - - Tooltable JSON (*.json) - - - - - HeeksCAD tooltable (*.tooltable) - - - - - LinuxCNC tooltable (*.tbl) - - Open tooltable - - - Save tooltable - - - - - Rename Tooltable - - - - - Enter Name: - - - - - Add New Tool Table - - - - - Delete Selected Tool Table - - - - - Rename Selected Tool Table - - Tooltable editor @@ -4965,6 +4920,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + + Tooltable XML (*.xml) @@ -4980,6 +4940,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property + + + Rename Tooltable + + + + + Enter Name: + + + + + Add New Tool Table + + + + + Delete Selected Tool Table + + + + + Rename Selected Tool Table + + + + + Tooltable JSON (*.json) + + + + + HeeksCAD tooltable (*.tooltable) + + + + + LinuxCNC tooltable (*.tbl) + + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_af.ts b/src/Mod/Path/Gui/Resources/translations/Path_af.ts index 9f45ab775b..5bf25e50c3 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_af.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_af.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - The library to use to generate the path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + The library to use to generate the path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ar.ts b/src/Mod/Path/Gui/Resources/translations/Path_ar.ts index f92b84b3d4..d1bab2336e 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ar.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ar.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. إزاحة إضافية لتطبيقها على العملية. الاتجاه يعتمد على العملية. - - - The library to use to generate the path - المكتبة ليتم استخدامها لتوليد المسار - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + المكتبة ليتم استخدامها لتوليد المسار @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object المرجو اختيار عنصر مسار - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - العنصر الذي قمت باختياره ليس عبارة عن مسار - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + العنصر الذي قمت باختياره ليس عبارة عن مسار + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ca.ts b/src/Mod/Path/Gui/Resources/translations/Path_ca.ts index 9ca3e3c424..d69a5dcb95 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ca.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ca.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Mostra els objectes de construcció del camí temporal quan el mòdul estiga en mode DEPURACIÓ. - - - The direction along which dropcutter lines are created - La direcció al llarg de la qual es creen les línies dropcutter - - - - Should the operation be limited by the stock object or by the bounding box of the base object - En cas que l'operació estiga limitada per l'objecte estoc o pel la caixa contenidora de l'objecte base - - - - Step over percentage of the drop cutter path - Pas sobre el percentatge de la trajectòria del dropcutter - - - - Z-axis offset from the surface of the object - Separació de l'eix Z de la superfície de l'objecte - - - - The Sample Interval. Small values cause long wait times - L'interval de mostra. Els valors petits causen una llarga espera - - - - Enable optimization which removes unnecessary points from G-Code output - Activa l'optimització que suprimeixi els punts innecessaris del resultat G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Els valors més petits produeixen una malla més fina i precisa. Els valors més petits no augmenten massa el temps de processament. - - - The completion mode for the operation: single or multi-pass - Mode de compleció per a l'operació: únic o múltiples passos - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - La direcció que la trajectòria ha de seguir al voltant de la peça: Pujada (sentit horari) o Convencional(sentit antihorari) - Stop index(angle) for rotational scan Atura l'índex(angle) per a l'escàner rotacional - - - Ignore areas that proceed below specified depth. - Ignora les àrees que passen per davall d'una profunditat especificada. - - - - Depth used to identify waste areas to ignore. - Profunditat utilitzada per a identificar àmplies àrees a ignorar. - - - - Cut through waste to depth at model edge, releasing the model. - Retalla els residus fins al fons en la vora del model, alliberant-lo. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied El camí que es copia + + + The base geometry of this toolpath + La geometria base d'aquesta trajectòria + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Desplaçament addicional que s'aplica a l'operació. La direcció és dependent de l'operació. - - - The library to use to generate the path - La biblioteca que s'utilitza per a generar el camí - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Marqueu «cert», si s'utilitza compensació de radi de l'eina de tall - - The base geometry of this toolpath - La geometria base d'aquesta trajectòria + + The direction along which dropcutter lines are created + La direcció al llarg de la qual es creen les línies dropcutter + + + + Should the operation be limited by the stock object or by the bounding box of the base object + En cas que l'operació estiga limitada per l'objecte estoc o pel la caixa contenidora de l'objecte base + + + + Step over percentage of the drop cutter path + Pas sobre el percentatge de la trajectòria del dropcutter + + + + Z-axis offset from the surface of the object + Separació de l'eix Z de la superfície de l'objecte + + + + The Sample Interval. Small values cause long wait times + L'interval de mostra. Els valors petits causen una llarga espera + + + + Enable optimization which removes unnecessary points from G-Code output + Activa l'optimització que suprimeixi els punts innecessaris del resultat G-Code + + + + The completion mode for the operation: single or multi-pass + Mode de compleció per a l'operació: únic o múltiples passos + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + La direcció que la trajectòria ha de seguir al voltant de la peça: Pujada (sentit horari) o Convencional(sentit antihorari) + + + + Ignore areas that proceed below specified depth. + Ignora les àrees que passen per davall d'una profunditat especificada. + + + + Depth used to identify waste areas to ignore. + Profunditat utilitzada per a identificar àmplies àrees a ignorar. + + + + Cut through waste to depth at model edge, releasing the model. + Retalla els residus fins al fons en la vora del model, alliberant-lo. + + + + The library to use to generate the path + La biblioteca que s'utilitza per a generar el camí @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - L'angle de tall %.2f no és vàlid, ha de ser <90° i >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° L'angle de tall %.2f no és vàlid, ha de ser >0° i <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + L'angle de tall %.2f no és vàlid, ha de ser <90° i >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ S'ha incrementat fins al valor de dalt. Ignoring non-horizontal Face S'ignora una Cara no horitzontal - - - Face appears misaligned after initial rotation. - La cara es mostra desalineada després de la rotació inicial. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Penseu a alternar la propietat InverteixAngle i tornar a calcular l'operació. - - - - Multiple faces in Base Geometry. - Múltiples cares en la geometria de base. - - - - Depth settings will be applied to all faces. - La configuració de profunditat s'aplicarà a totes les cares. - - - - EnableRotation property is 'Off'. - La propietat ActivaRotació està «desactivada». - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ S'ha incrementat fins al valor de dalt. Utils Útils + + + Face appears misaligned after initial rotation. + La cara es mostra desalineada després de la rotació inicial. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Penseu a alternar la propietat InverteixAngle i tornar a calcular l'operació. + + + + Multiple faces in Base Geometry. + Múltiples cares en la geometria de base. + + + + Depth settings will be applied to all faces. + La configuració de profunditat s'aplicarà a totes les cares. + + + + EnableRotation property is 'Off'. + La propietat ActivaRotació està «desactivada». + @@ -1978,16 +1978,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una PathPocket - - - Pocket Shape - Forma de Buidatge - - - - Creates a Path Pocket object from a face or faces - Crea un objecte de Trajectòria de Buidatge des d'una o vàries cares - Normal @@ -2038,6 +2028,16 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Final depth set below ZMin of face(s) selected. Profunditat final establerta per davall de ZMin de la cara o cares seleccionades. + + + Pocket Shape + Forma de Buidatge + + + + Creates a Path Pocket object from a face or faces + Crea un objecte de Trajectòria de Buidatge des d'una o vàries cares + 3D Pocket @@ -3448,6 +3448,16 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Path_Dressup + + + Dress-up + Aspecte + + + + Creates a Path Dess-up object from a selected path + Crea un objecte aspecte del camí a partir d'un camí seleccionat + Please select one path object @@ -3465,16 +3475,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Please select a Path object Seleccioneu un objecte camí - - - Dress-up - Aspecte - - - - Creates a Path Dess-up object from a selected path - Crea un objecte aspecte del camí a partir d'un camí seleccionat - Path_DressupAxisMap @@ -3947,12 +3947,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Creates a Path Hop object Crea un objecte de tipus salt en el camí - - - The selected object is not a path - - L'objecte seleccionat no és un camí - Please select one path object @@ -3968,6 +3962,12 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Create Hop Crea un salt + + + The selected object is not a path + + L'objecte seleccionat no és un camí + Path_Inspect @@ -4214,11 +4214,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Path_Sanity - - - The Job has no selected Base object. - La tasca no té un objecte base seleccionat. - Check the path job for common errors @@ -4469,6 +4464,11 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Date Data + + + The Job has no selected Base object. + La tasca no té un objecte base seleccionat. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4624,11 +4624,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Path_ToolController - - - Tool Number to Load - Número d'eina per carregar - Add Tool Controller to the Job @@ -4639,6 +4634,11 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Add Tool Controller Afegeix un controlador d'eina + + + Tool Number to Load + Número d'eina per carregar + Path_ToolTable @@ -4665,12 +4665,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Creates a medial line engraving path Crea una línia central de gravat - - - VCarve requires an engraving cutter with CuttingEdgeAngle - L'eina de gravat en V necessita una -punta de tall amb «CuttingEdgeAngle» - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4681,6 +4675,12 @@ punta de tall amb «CuttingEdgeAngle» Engraver Cutting Edge Angle must be < 180 degrees. L'angle de la punta de tall del gravador ha de ser < 180 graus. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + L'eina de gravat en V necessita una +punta de tall amb «CuttingEdgeAngle» + Path_Waterline @@ -4715,56 +4715,11 @@ punta de tall amb «CuttingEdgeAngle» Save toolbit library Desa la llibreria d'eines de bits - - - Tooltable JSON (*.json) - Taula d'eines JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Taula d'eines HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Taula d'eines LinuxCNC (*.tbl) - Open tooltable Obri la taula d'eines - - - Save tooltable - Guarda la taula d'eines - - - - Rename Tooltable - Canvia el nom de la taula d'eines - - - - Enter Name: - Introduïu el nom: - - - - Add New Tool Table - Afegeix una taula d'eines nova - - - - Delete Selected Tool Table - Esborra la taula d'eines seleccionada - - - - Rename Selected Tool Table - Canvia el nom de la taula d'eines seleccionada - Tooltable editor @@ -4975,6 +4930,11 @@ punta de tall amb «CuttingEdgeAngle» Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Taula d'eines XML (*.xml);;Taula d'eines HeeksCAD (*.tooltable) + + + Save tooltable + Guarda la taula d'eines + Tooltable XML (*.xml) @@ -4990,6 +4950,46 @@ punta de tall amb «CuttingEdgeAngle» Object doesn't have a tooltable property L'objecte no té la propietat de taula d'eines + + + Rename Tooltable + Canvia el nom de la taula d'eines + + + + Enter Name: + Introduïu el nom: + + + + Add New Tool Table + Afegeix una taula d'eines nova + + + + Delete Selected Tool Table + Esborra la taula d'eines seleccionada + + + + Rename Selected Tool Table + Canvia el nom de la taula d'eines seleccionada + + + + Tooltable JSON (*.json) + Taula d'eines JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Taula d'eines HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Taula d'eines LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_cs.ts b/src/Mod/Path/Gui/Resources/translations/Path_cs.ts index 1511c979bb..b423eecc4a 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_cs.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_cs.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Zobrazit dočasnou cestu konstrukčních objektů když je modul v režimu LADĚNÍ. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Pokud je operace omezena objektem polotovaru nebo ohraničeným objektem základního objektu - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Menší hodnoty přinášejí jemnější a přesnější síť. Menší hodnoty nezvyšují čas zpracování. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Zastavit indexování (úhel) pro rotační skenování - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Cesta ke kopírování + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - Knihovna použitá k vytvoření cesty - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Pokud je operace omezena objektem polotovaru nebo ohraničeným objektem základního objektu + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + Knihovna použitá k vytvoření cesty @@ -986,16 +986,16 @@ Selected tool is not a drill Vybraný nástroj není vrták - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Zvýšeno na vrch polotovaru. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Zvýšeno na vrch polotovaru. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Tvar kapsy - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Tvar kapsy + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Číslo nástroje pro načtení - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Číslo nástroje pro načtení + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Uložit knihovnu nástrojů - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Otevřít tabulku nástrojů - - - Save tooltable - Uložit tabulku nástrojů - - - - Rename Tooltable - Přejmenovat tabulku nástrojů - - - - Enter Name: - Zadejte jméno: - - - - Add New Tool Table - Přidat novou tabulku nástrojů - - - - Delete Selected Tool Table - Odstranit vybranou tabulku nástrojů - - - - Rename Selected Tool Table - Přejmenovat vybranou tabulku nástrojů - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tabulka nástrojů XML (*.xml);;;Tabulka nástrojů HeeksCAD (*.tooltable) + + + Save tooltable + Uložit tabulku nástrojů + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Přejmenovat tabulku nástrojů + + + + Enter Name: + Zadejte jméno: + + + + Add New Tool Table + Přidat novou tabulku nástrojů + + + + Delete Selected Tool Table + Odstranit vybranou tabulku nástrojů + + + + Rename Selected Tool Table + Přejmenovat vybranou tabulku nástrojů + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_de.qm b/src/Mod/Path/Gui/Resources/translations/Path_de.qm index 90731b0d5e..824e044b6b 100644 Binary files a/src/Mod/Path/Gui/Resources/translations/Path_de.qm and b/src/Mod/Path/Gui/Resources/translations/Path_de.qm differ diff --git a/src/Mod/Path/Gui/Resources/translations/Path_de.ts b/src/Mod/Path/Gui/Resources/translations/Path_de.ts index e81753e99c..57a7b9913a 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_de.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_de.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Zeigt im DEBUG-Modus den temporären Objekte Pfad-konstruktion. - - - The direction along which dropcutter lines are created - Die Richtung, entlang der Drop-Cutter Bahnen erstellt werden - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Soll die Operation durch das Grundobjekt oder durch die Begrenzungsbox des Basisobjekts eingeschränkt werden - - - - Step over percentage of the drop cutter path - Überlappung des Drop-Cutter Pfads in Prozent - - - - Z-axis offset from the surface of the object - Z-Achsenversatz von der Oberfläche des Objekts - - - - The Sample Interval. Small values cause long wait times - Das Abtastintervall. Kleine Werte führen zu langer Wartezeit - - - - Enable optimization which removes unnecessary points from G-Code output - Aktivieren Sie die Optimierung, um unnötige Punkte aus der G-Code-Ausgabe zu entfernen - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Kleinere Werte liefern ein feineres, genaueres Netz. Geringere Werte erhöhen die Verarbeitungszeit unerheblich. - - - The completion mode for the operation: single or multi-pass - Der Vervollständigungsmodus für die Operation: einfach oder mehrfach - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Umlaufrichtung des Werkzeugs um das Werkstück: Gleichlauf (Uhrzeigersinn) oder Gegenlauf (entgegen des Uhrzeigersinns) - Stop index(angle) for rotational scan Stopp-Index(Winkel) für Rotationssuche - - - Ignore areas that proceed below specified depth. - Ignoriere Bereiche, die unterhalb der angegebenen Tiefe fortfahren. - - - - Depth used to identify waste areas to ignore. - Tiefe zum Ermitteln von überschüssigen Flächen, um diese auszulassen. - - - - Cut through waste to depth at model edge, releasing the model. - Schneide durch überschüssiges Material bis zur Werkstückkante, um dieses zu befreien. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Der zu kopierende Pfad + + + The base geometry of this toolpath + Die Basis-Geometrie dieses Werkzeugweges + The tool controller that will be used to calculate the path @@ -560,11 +510,6 @@ nur unwesentlich. Extra offset to apply to the operation. Direction is operation dependent. Zusätzlicher Versatz der auf die Operation angewendet wird. Richtung ist abhängig von der Operation. - - - The library to use to generate the path - Algorithmus zum berechnen des Werkzeugweges - Start pocketing at center or boundary @@ -603,7 +548,7 @@ nur unwesentlich. The path(s) to array - The path(s) to array + Pfad(e) zu Anordnung @@ -628,37 +573,37 @@ nur unwesentlich. Total angle in Polar pattern - Total angle in Polar pattern + Gesamtwinkel im polaren Muster The number of copies in Linear 1D and Polar pattern - The number of copies in Linear 1D and Polar pattern + Die Anzahl der Kopien für lineare 1D und polare Muster The centre of rotation in Polar pattern - The centre of rotation in Polar pattern + Der Drehpunkt im polaren Muster Make copies in X direction before Y in Linear 2D pattern - Make copies in X direction before Y in Linear 2D pattern + Erstellt Kopien in linearen 2D-Mustern erst in X- dann in Y-Richtung Percent of copies to randomly offset - Percent of copies to randomly offset + Prozentsatz der zufällig zu versetzenden Kopien Maximum random offset of copies - Maximum random offset of copies + Maximum des zufälligen Versatzes von Kopien Arrays of paths having different tool controllers are handled according to the tool controller of the first path. - Arrays of paths having different tool controllers are handled according to the tool controller of the first path. + Anordnungen von Bewegungsbahnen mit unterschiedlichen Werkzeugsteuerungen werden entsprechend der Werkzeugsteuerung der ersten Bewegungsbahn behandelt. @@ -706,9 +651,64 @@ nur unwesentlich. Auf Wahr setzen, wenn die Fräser-Radiuskompensation verwendet werden soll - - The base geometry of this toolpath - Die Basis-Geometrie dieses Werkzeugweges + + The direction along which dropcutter lines are created + Die Richtung, entlang der Drop-Cutter Bahnen erstellt werden + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Soll die Operation durch das Grundobjekt oder durch die Begrenzungsbox des Basisobjekts eingeschränkt werden + + + + Step over percentage of the drop cutter path + Überlappung des Drop-Cutter Pfads in Prozent + + + + Z-axis offset from the surface of the object + Z-Achsenversatz von der Oberfläche des Objekts + + + + The Sample Interval. Small values cause long wait times + Das Abtastintervall. Kleine Werte führen zu langer Wartezeit + + + + Enable optimization which removes unnecessary points from G-Code output + Aktivieren Sie die Optimierung, um unnötige Punkte aus der G-Code-Ausgabe zu entfernen + + + + The completion mode for the operation: single or multi-pass + Der Vervollständigungsmodus für die Operation: einfach oder mehrfach + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Umlaufrichtung des Werkzeugs um das Werkstück: Gleichlauf (Uhrzeigersinn) oder Gegenlauf (entgegen des Uhrzeigersinns) + + + + Ignore areas that proceed below specified depth. + Ignoriere Bereiche, die unterhalb der angegebenen Tiefe fortfahren. + + + + Depth used to identify waste areas to ignore. + Tiefe zum Ermitteln von überschüssigen Flächen, um diese auszulassen. + + + + Cut through waste to depth at model edge, releasing the model. + Schneide durch überschüssiges Material bis zur Werkstückkante, um dieses zu befreien. + + + + The library to use to generate the path + Algorithmus zum berechnen des Werkzeugweges @@ -988,16 +988,16 @@ nur unwesentlich. Selected tool is not a drill Ausgewähltes Werkzeug ist kein Bohrer - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Ungültiger Schneidenwinkel %.2f muß < 90° und > = 0° sein - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Ungültiger Schneidenwinkel %.2f muß >0° und <= 180° sein + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Ungültiger Schneidenwinkel %.2f muß < 90° und > = 0° sein + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1021,7 +1021,7 @@ nur unwesentlich. No coolant property found. Please recreate operation. - Keine Kühl Eiinstellung gefunden. Bitte den Vorgang wiederherstellen. + Keine Kühleinstellung gefunden. Bitte den Vorgang wiederherstellen. @@ -1160,31 +1160,6 @@ Wurde auf Grundkörperoberseite erhöht. Ignoring non-horizontal Face Benutzt nur Horizontale Flächen oder Kanten - - - Face appears misaligned after initial rotation. - Die Fläche erscheint nach der ersten Rotation falsch ausgerichtet zu sein. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Ziehen Sie in Betracht die Eigenschaft "Umgekehrter Winkel" umzuschalten und berechnen Sie die Operation neu. - - - - Multiple faces in Base Geometry. - Mehrere Oberflächen in der Basisgeometrie. - - - - Depth settings will be applied to all faces. - Tiefeneinstellungen werden auf alle Teilflächen angewendet. - - - - EnableRotation property is 'Off'. - Die Eigenschaft "Rotation zulassen" ist deaktiviert. - Unable to create path for face(s). @@ -1250,6 +1225,31 @@ Wurde auf Grundkörperoberseite erhöht. Utils Werkzeuge + + + Face appears misaligned after initial rotation. + Die Fläche erscheint nach der ersten Rotation falsch ausgerichtet zu sein. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Ziehen Sie in Betracht die Eigenschaft "Umgekehrter Winkel" umzuschalten und berechnen Sie die Operation neu. + + + + Multiple faces in Base Geometry. + Mehrere Oberflächen in der Basisgeometrie. + + + + Depth settings will be applied to all faces. + Tiefeneinstellungen werden auf alle Teilflächen angewendet. + + + + EnableRotation property is 'Off'. + Die Eigenschaft "Rotation zulassen" ist deaktiviert. + @@ -1981,16 +1981,6 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b PathPocket - - - Pocket Shape - Taschenform - - - - Creates a Path Pocket object from a face or faces - Erstellt ein Bewegungsbahn Taschen-Objekt von einer oder mehreren Flächen - Normal @@ -2041,6 +2031,16 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Final depth set below ZMin of face(s) selected. Gesamttiefe unter ZMin von Fläche(n) ausgewählt. + + + Pocket Shape + Taschenform + + + + Creates a Path Pocket object from a face or faces + Erstellt ein Bewegungsbahn Taschen-Objekt von einer oder mehreren Flächen + 3D Pocket @@ -3375,7 +3375,7 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Array - Array + Anordnung @@ -3385,12 +3385,12 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Creates an array from selected path(s) - Creates an array from selected path(s) + Erstellt eine Anordnung aus (einer) ausgewählten Bewegungsbahn(en) Arrays can be created only from Path operations. - Arrays can be created only from Path operations. + Anordnungen können nur aus Bewegungsbahnbeschreibungen erstellt werden. @@ -3454,6 +3454,16 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Path_Dressup + + + Dress-up + Erweiterung + + + + Creates a Path Dess-up object from a selected path + Erzeugt eine Erweiterung für die ausgewählte Bewegungsbahn + Please select one path object @@ -3473,16 +3483,6 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Please select a Path object Bitte wählen Sie ein Pfadobjekt - - - Dress-up - Erweiterung - - - - Creates a Path Dess-up object from a selected path - Erzeugt eine Erweiterung für die ausgewählte Bewegungsbahn - Path_DressupAxisMap @@ -3955,13 +3955,6 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Creates a Path Hop object Erzeugt ein Bewegungsbahn Sprung Objekt - - - The selected object is not a path - - Das ausgewählte Objekt ist keine Bewegungsbahn - - Please select one path object @@ -3977,6 +3970,13 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Create Hop Erzeuge Sprung + + + The selected object is not a path + + Das ausgewählte Objekt ist keine Bewegungsbahn + + Path_Inspect @@ -4226,11 +4226,6 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Path_Sanity - - - The Job has no selected Base object. - Dem Job wurde kein Basisobjekt zugeordnet. - Check the path job for common errors @@ -4481,6 +4476,11 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Date Datum + + + The Job has no selected Base object. + Dem Job wurde kein Basisobjekt zugeordnet. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4636,11 +4636,6 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Path_ToolController - - - Tool Number to Load - Lade Werkzeugnummer - Add Tool Controller to the Job @@ -4651,6 +4646,11 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Add Tool Controller Werkzeug Kontroller bearbeiten + + + Tool Number to Load + Lade Werkzeugnummer + Path_ToolTable @@ -4677,11 +4677,6 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Creates a medial line engraving path Erstellt einen medialen Liniengravurpfad - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve benötigt ein Gravurmesser mit Schneitkantenwinkel - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4692,6 +4687,11 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Engraver Cutting Edge Angle must be < 180 degrees. Gravur Schneitkantenwinkel muss < 180 Grad sein. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve benötigt ein Gravurmesser mit Schneitkantenwinkel + Path_Waterline @@ -4726,56 +4726,11 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Save toolbit library Werkzeugbibliothek speichern - - - Tooltable JSON (*.json) - Werkzeugtabelle JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD Werkzeugtabelle (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC Werkzeugtabelle (*.tbl) - Open tooltable Werkzeugtabelle öffnen - - - Save tooltable - Werkzeugtabelle speichern - - - - Rename Tooltable - Werkzeugtabelle umbenennen - - - - Enter Name: - Name eingeben: - - - - Add New Tool Table - Neue Werkzeugtabelle hinzufügen - - - - Delete Selected Tool Table - Ausgewählte Werkzeugtabelle löschen - - - - Rename Selected Tool Table - Ausgewählte Werkzeugtabelle umbenennen - Tooltable editor @@ -4986,6 +4941,11 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Werkzeugtabelle XML (XML); HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Werkzeugtabelle speichern + Tooltable XML (*.xml) @@ -5001,6 +4961,46 @@ Wenn es notwendig ist, die endgültige Tiefe manuell einzustellen, wählen Sie b Object doesn't have a tooltable property Objekt besitzt keine Eigenschaft "Werkzeugtabelle" + + + Rename Tooltable + Werkzeugtabelle umbenennen + + + + Enter Name: + Name eingeben: + + + + Add New Tool Table + Neue Werkzeugtabelle hinzufügen + + + + Delete Selected Tool Table + Ausgewählte Werkzeugtabelle löschen + + + + Rename Selected Tool Table + Ausgewählte Werkzeugtabelle umbenennen + + + + Tooltable JSON (*.json) + Werkzeugtabelle JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD Werkzeugtabelle (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC Werkzeugtabelle (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_el.ts b/src/Mod/Path/Gui/Resources/translations/Path_el.ts index 0ec30bca80..69c142e7d8 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_el.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_el.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - Το Διάστημα Δειγματοληψίας. Η χρήση μικρών τιμών επιφέρει μεγάλους χρόνους αναμονής - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Η διαδρομή προς αντιγραφή + + + The base geometry of this toolpath + Η γεωμετρία βάσης αυτής της διαδρομής εργαλείων + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Επιπλέον μετατόπιση για την υποβολή αίτησης για τη διαδικασία. Η κατεύθυνση εξαρτάται από τη λειτουργία. - - - The library to use to generate the path - Η βιβλιοθήκη προς χρήση για την δημιουργία διαδρομής - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - Η γεωμετρία βάσης αυτής της διαδρομής εργαλείων + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + Το Διάστημα Δειγματοληψίας. Η χρήση μικρών τιμών επιφέρει μεγάλους χρόνους αναμονής + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + Η βιβλιοθήκη προς χρήση για την δημιουργία διαδρομής @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Μη Έγκυρη Γωνία Περικοπής Ακμής %.2f, πρέπει να είναι <90° και >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Μη Έγκυρη Γωνία Περικοπής Ακμής %.2f, πρέπει να είναι <90° και >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Σχήμα Εσοχής - - - - Creates a Path Pocket object from a face or faces - Δημιουργεί μια Εσοχή Διαδρομής από μια όψη ή από όψεις - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Σχήμα Εσοχής + + + + Creates a Path Pocket object from a face or faces + Δημιουργεί μια Εσοχή Διαδρομής από μια όψη ή από όψεις + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Αναδιαμόρφωση + + + + Creates a Path Dess-up object from a selected path + Δημιουργεί ένα αντικείμενο Αναδιαμόρφωσης Διαδρομής από μια επιλεγμένη διαδρομή + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Παρακαλώ επιλέξτε ένα αντικείμενο Διαδρομής - - - Dress-up - Αναδιαμόρφωση - - - - Creates a Path Dess-up object from a selected path - Δημιουργεί ένα αντικείμενο Αναδιαμόρφωσης Διαδρομής από μια επιλεγμένη διαδρομή - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Δημιουργεί μια Διαδρομή Άλματος - - - The selected object is not a path - - Το επιλεγμένο αντικείμενο δεν είναι διαδρομή - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Δημιουργήστε Άλμα + + + The selected object is not a path + + Το επιλεγμένο αντικείμενο δεν είναι διαδρομή + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - Η εργασία δεν έχει κανένα επιλεγμένο αντικείμενο Βάσης. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + Η εργασία δεν έχει κανένα επιλεγμένο αντικείμενο Βάσης. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Αριθμός Εργαλείου προς Φόρτωση - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Προσθέστε Ελεγκτή Εργαλείων + + + Tool Number to Load + Αριθμός Εργαλείου προς Φόρτωση + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Πίνακας εργαλείων JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Πίνακας εργαλείων HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Πίνακας εργαλείων LinuxCNC (*.tbl) - Open tooltable Άνοιγμα πίνακα εργαλείων - - - Save tooltable - Αποθήκευση πίνακα εργαλείων - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Πίνακας εργαλείων XML (*.xml);; Πίνακας εργαλείων HeeksCAD (*.tooltable) + + + Save tooltable + Αποθήκευση πίνακα εργαλείων + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Το αντικείμενο δεν έχει κάποια ιδιότητα πίνακα εργαλείων + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Πίνακας εργαλείων JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Πίνακας εργαλείων HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Πίνακας εργαλείων LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts b/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts index 5d4426dad3..05b5214a65 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_es-ES.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Mostrar los objetos temporales de construcción de rutas cuando el módulo está en modo DEBUG. - - - The direction along which dropcutter lines are created - La dirección a lo largo de la cual se crean las líneas del dropcutter - - - - Should the operation be limited by the stock object or by the bounding box of the base object - En caso de que la operación esté limitada por el objeto de stock o por el cuadro delimitador del objeto base - - - - Step over percentage of the drop cutter path - Paso sobre el porcentaje de la trayectoria del dropcutter - - - - Z-axis offset from the surface of the object - Desplazamiento del eje Z desde la superficie del objeto - - - - The Sample Interval. Small values cause long wait times - El intervalo de muestra. Valores pequeños causan tiempos de espera largos - - - - Enable optimization which removes unnecessary points from G-Code output - Habilitar la optimización que elimina puntos innecesarios del resultado de G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Los valores más pequeños producen una malla más fina y precisa. Los valores más pequeños no aumentan mucho el tiempo de procesamiento. - - - The completion mode for the operation: single or multi-pass - El modo de finalización para la operación: single o multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - La dirección que la trayectoria de la herramienta debería recorrer por la pieza: Climb(sentido horario) o Conventional(sentido antihorario) - Stop index(angle) for rotational scan Detener índice(ángulo) para el escaneo rotativo - - - Ignore areas that proceed below specified depth. - Ignore las áreas que proceden por debajo de la profundidad especificada. - - - - Depth used to identify waste areas to ignore. - Profundidad usada para identificar las áreas residuales a ignorar. - - - - Cut through waste to depth at model edge, releasing the model. - Cortar a través de los residuos a profundidad en el borde del modelo, liberando el modelo. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied La trayectoria a ser copiada + + + The base geometry of this toolpath + La geometría base de esta trayectoria de herramienta + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Desfase extra para aplicar a la operación. La dirección es dependiente de la operación. - - - The library to use to generate the path - La biblioteca a usar para generar la trayectoria - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Hacer verdadero, sí se utiliza la compensación de cortador de radio - - The base geometry of this toolpath - La geometría base de esta trayectoria de herramienta + + The direction along which dropcutter lines are created + La dirección a lo largo de la cual se crean las líneas del dropcutter + + + + Should the operation be limited by the stock object or by the bounding box of the base object + En caso de que la operación esté limitada por el objeto de stock o por el cuadro delimitador del objeto base + + + + Step over percentage of the drop cutter path + Paso sobre el porcentaje de la trayectoria del dropcutter + + + + Z-axis offset from the surface of the object + Desplazamiento del eje Z desde la superficie del objeto + + + + The Sample Interval. Small values cause long wait times + El intervalo de muestra. Valores pequeños causan tiempos de espera largos + + + + Enable optimization which removes unnecessary points from G-Code output + Habilitar la optimización que elimina puntos innecesarios del resultado de G-Code + + + + The completion mode for the operation: single or multi-pass + El modo de finalización para la operación: single o multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + La dirección que la trayectoria de la herramienta debería recorrer por la pieza: Climb(sentido horario) o Conventional(sentido antihorario) + + + + Ignore areas that proceed below specified depth. + Ignore las áreas que proceden por debajo de la profundidad especificada. + + + + Depth used to identify waste areas to ignore. + Profundidad usada para identificar las áreas residuales a ignorar. + + + + Cut through waste to depth at model edge, releasing the model. + Cortar a través de los residuos a profundidad en el borde del modelo, liberando el modelo. + + + + The library to use to generate the path + La biblioteca a usar para generar la trayectoria @@ -986,16 +986,16 @@ Selected tool is not a drill La herramienta seleccionada no es un taladro - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Angulo de esquina de corte inválido %.2f, debe ser <90º y >=0º - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Ángulo del borde de corte no válido %.2f, Debe ser >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Angulo de esquina de corte inválido %.2f, debe ser <90º y >=0º + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Aumenta hasta el valor superior. Ignoring non-horizontal Face Ignorar cara no horizontal - - - Face appears misaligned after initial rotation. - La cara parece estar mal alineada después de la rotación inicial. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Considere alternar la propiedad 'InverseAngle' y volver a calcular. - - - - Multiple faces in Base Geometry. - Multiples caras en Geometría Base. - - - - Depth settings will be applied to all faces. - La configuración de profundidad se aplicará a todas las caras. - - - - EnableRotation property is 'Off'. - La Propiedad ActivarRotacion es 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Aumenta hasta el valor superior. Utils Utilidades + + + Face appears misaligned after initial rotation. + La cara parece estar mal alineada después de la rotación inicial. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Considere alternar la propiedad 'InverseAngle' y volver a calcular. + + + + Multiple faces in Base Geometry. + Multiples caras en Geometría Base. + + + + Depth settings will be applied to all faces. + La configuración de profundidad se aplicará a todas las caras. + + + + EnableRotation property is 'Off'. + La Propiedad ActivarRotacion es 'Off'. + @@ -1979,16 +1979,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Forma de Vaciado - - - - Creates a Path Pocket object from a face or faces - Crea la trayectoria de un objeto de vaciado desde una cara o caras - Normal @@ -2039,6 +2029,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Profundidad final por debajo de ZMin de la(s) cara(s) seleccionada(s). + + + Pocket Shape + Forma de Vaciado + + + + Creates a Path Pocket object from a face or faces + Crea la trayectoria de un objeto de vaciado desde una cara o caras + 3D Pocket @@ -3460,6 +3460,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Disfrazar + + + + Creates a Path Dess-up object from a selected path + Crea un objeto Dress-up de ruta con la trayectoria seleccionada + Please select one path object @@ -3479,16 +3489,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Por favor seleccione un objeto de trayectoria - - - Dress-up - Disfrazar - - - - Creates a Path Dess-up object from a selected path - Crea un objeto Dress-up de ruta con la trayectoria seleccionada - Path_DressupAxisMap @@ -3961,13 +3961,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Crea un objeto de salto de trayectoria - - - The selected object is not a path - - El objeto seleccionado no es una trayectoria - - Please select one path object @@ -3983,6 +3976,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Crear Salto + + + The selected object is not a path + + El objeto seleccionado no es una trayectoria + + Path_Inspect @@ -4232,11 +4232,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - El trabajo no tiene objeto base seleccionado. - Check the path job for common errors @@ -4487,6 +4482,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Fecha + + + The Job has no selected Base object. + El trabajo no tiene objeto base seleccionado. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4648,11 +4648,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Número de herramienta a carga - Add Tool Controller to the Job @@ -4663,6 +4658,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Añadir Controlador de Herramienta + + + Tool Number to Load + Número de herramienta a carga + Path_ToolTable @@ -4689,11 +4689,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Crea una ruta de grabado de línea medial - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requiere una cortadora de grabado con CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4704,6 +4699,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Angulo de borde de corte del grabador debe ser < 180 grados. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requiere una cortadora de grabado con CuttingEdgeAngle + Path_Waterline @@ -4738,56 +4738,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Guardar librería "toolbit" - - - Tooltable JSON (*.json) - Tabla de herramientas JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Tabla de herramientas HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Tabla de herramientas LinuxCNC (*.tbl) - Open tooltable Abierta mesa de herramientas - - - Save tooltable - Guardar mesa de herramienta - - - - Rename Tooltable - Renombrar Tabla de Herramientas - - - - Enter Name: - Introducir nombre: - - - - Add New Tool Table - Añadir nueva tabla de herramientas - - - - Delete Selected Tool Table - Eliminar Tabla de Herramientas Seleccionada - - - - Rename Selected Tool Table - Renombrar Tabla de Herramientas Seleccionada - Tooltable editor @@ -4998,6 +4953,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Mesa de herramientas XML (*.xml);;mesa de herramientas HeeksCAD (*.tooltable) + + + Save tooltable + Guardar mesa de herramienta + Tooltable XML (*.xml) @@ -5013,6 +4973,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property El Objeto no tiene una propiedad de mesa de herramienta + + + Rename Tooltable + Renombrar Tabla de Herramientas + + + + Enter Name: + Introducir nombre: + + + + Add New Tool Table + Añadir nueva tabla de herramientas + + + + Delete Selected Tool Table + Eliminar Tabla de Herramientas Seleccionada + + + + Rename Selected Tool Table + Renombrar Tabla de Herramientas Seleccionada + + + + Tooltable JSON (*.json) + Tabla de herramientas JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Tabla de herramientas HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Tabla de herramientas LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_eu.ts b/src/Mod/Path/Gui/Resources/translations/Path_eu.ts index 8071fae3e2..4443337f14 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_eu.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_eu.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Erakutsi aldi baterako bide-eraikuntzaren objektuak modulua ARAZKETA moduan dagoenean. - - - The direction along which dropcutter lines are created - Erortze-ebakigailuaren lerroak zein norabidetan sortuko diren - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Eragiketa objektu gordinak ala oinarri-objektuaren muga-kutxak mugatuko duen - - - - Step over percentage of the drop cutter path - Erortze-ebakigailuaren bidearen ehunekoaren gaineko urratsa - - - - Z-axis offset from the surface of the object - Z ardatzeko desplazamendua objektuaren gainazaletik - - - - The Sample Interval. Small values cause long wait times - Laginketa-tartea. Balio txikiek itxarote-denbora luzeak eragiten dituzte - - - - Enable optimization which removes unnecessary points from G-Code output - Gaitu optimizazioa, beharrezkoak ez diren puntuak G-Code irteeratik kentzeko - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Balio txikiagoek amaraun estuago eta zehatzagoa sortzen dute. Balio txikiagoek ez dute prozesatze-denbora asko handitzen. - - - The completion mode for the operation: single or multi-pass - Eragiketa osatzeko modua: pasaldi bakarrean edo anitzetan - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Tresna-bideak piezaren inguruan izan behar duen norabidea: erlojuaren noranzkoan edo aurka - Stop index(angle) for rotational scan Gelditzeko indizea (angelua) biraketa-eskaneatzerako - - - Ignore areas that proceed below specified depth. - Ezikusi adierazitako sakoneraren azpitik dauden areak. - - - - Depth used to identify waste areas to ignore. - Ezikusiko diren hondar-areak identifikatzeko erabiliko den sakonera. - - - - Cut through waste to depth at model edge, releasing the model. - Moztu gehiegizko materiala ereduaren ertzeraino, eredua garbitzeko. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Kopiatuko den bidea + + + The base geometry of this toolpath + Tresna-bide honen oinarri-geometria + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Eragiketari aplikatuko zaion desplazamendu gehigarria. Norabidea eragiketaren menpekoa da. - - - The library to use to generate the path - Bidea sortzeko erabiliko den liburutegia - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Markatu 'Egia', ebakigailuaren erradio-konpentsazioa erabili nahi bada - - The base geometry of this toolpath - Tresna-bide honen oinarri-geometria + + The direction along which dropcutter lines are created + Erortze-ebakigailuaren lerroak zein norabidetan sortuko diren + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Eragiketa objektu gordinak ala oinarri-objektuaren muga-kutxak mugatuko duen + + + + Step over percentage of the drop cutter path + Erortze-ebakigailuaren bidearen ehunekoaren gaineko urratsa + + + + Z-axis offset from the surface of the object + Z ardatzeko desplazamendua objektuaren gainazaletik + + + + The Sample Interval. Small values cause long wait times + Laginketa-tartea. Balio txikiek itxarote-denbora luzeak eragiten dituzte + + + + Enable optimization which removes unnecessary points from G-Code output + Gaitu optimizazioa, beharrezkoak ez diren puntuak G-Code irteeratik kentzeko + + + + The completion mode for the operation: single or multi-pass + Eragiketa osatzeko modua: pasaldi bakarrean edo anitzetan + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Tresna-bideak piezaren inguruan izan behar duen norabidea: erlojuaren noranzkoan edo aurka + + + + Ignore areas that proceed below specified depth. + Ezikusi adierazitako sakoneraren azpitik dauden areak. + + + + Depth used to identify waste areas to ignore. + Ezikusiko diren hondar-areak identifikatzeko erabiliko den sakonera. + + + + Cut through waste to depth at model edge, releasing the model. + Moztu gehiegizko materiala ereduaren ertzeraino, eredua garbitzeko. + + + + The library to use to generate the path + Bidea sortzeko erabiliko den liburutegia @@ -986,16 +986,16 @@ Selected tool is not a drill Hautatutako tresna ez da zulagailua - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Mozte-ertzaren angelu baliogabea %.2f, izan behar du <90° eta >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Mozte-ertzaren angelu baliogabea (%.2f), >0° and <=180° artekoa izan behar du + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Mozte-ertzaren angelu baliogabea %.2f, izan behar du <90° eta >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Pieza gordinaren goialdera handitua. Ignoring non-horizontal Face Horizontala ez den aurpegiari ez ikusiarena egiten - - - Face appears misaligned after initial rotation. - Badirudi aurpegia gaizki lerrokatuta dagoela hasierako biraketaren ondoren. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Kontuan hartu alderantzizko angeluaren propietatea txandakatu eta birkalkulatu ahal dela. - - - - Multiple faces in Base Geometry. - Aurpegi anitz oinarri-geometrian. - - - - Depth settings will be applied to all faces. - Sakonera-ezarpenak aurpegi guztiei aplikatuko zaizkie. - - - - EnableRotation property is 'Off'. - Biraketa gaitzeko propietatea desaktibatuta dago. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Pieza gordinaren goialdera handitua. Utils Utilitateak + + + Face appears misaligned after initial rotation. + Badirudi aurpegia gaizki lerrokatuta dagoela hasierako biraketaren ondoren. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Kontuan hartu alderantzizko angeluaren propietatea txandakatu eta birkalkulatu ahal dela. + + + + Multiple faces in Base Geometry. + Aurpegi anitz oinarri-geometrian. + + + + Depth settings will be applied to all faces. + Sakonera-ezarpenak aurpegi guztiei aplikatuko zaizkie. + + + + EnableRotation property is 'Off'. + Biraketa gaitzeko propietatea desaktibatuta dago. + @@ -1977,16 +1977,6 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat PathPocket - - - Pocket Shape - Poltsa-forma - - - - Creates a Path Pocket object from a face or faces - Bide-poltsa bat sortzen du aurpegi batetik edo batzuetatik - Normal @@ -2037,6 +2027,16 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Final depth set below ZMin of face(s) selected. Azken sakonera hautatutako aurpegi(ar)en ZMin azpitik ezarrita. + + + Pocket Shape + Poltsa-forma + + + + Creates a Path Pocket object from a face or faces + Bide-poltsa bat sortzen du aurpegi batetik edo batzuetatik + 3D Pocket @@ -3458,6 +3458,16 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Path_Dressup + + + Dress-up + Jantzi + + + + Creates a Path Dess-up object from a selected path + Bideak janzteko objektu bat sortzen du hautatutako bide bat erabiliz + Please select one path object @@ -3477,16 +3487,6 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Please select a Path object Hautatu bide-objektu bat - - - Dress-up - Jantzi - - - - Creates a Path Dess-up object from a selected path - Bideak janzteko objektu bat sortzen du hautatutako bide bat erabiliz - Path_DressupAxisMap @@ -3959,13 +3959,6 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Creates a Path Hop object Bide-jauziko objektu bat sortzen du - - - The selected object is not a path - - Hautatutako objektua ez da bide bat - - Please select one path object @@ -3981,6 +3974,13 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Create Hop Sortu jauzia + + + The selected object is not a path + + Hautatutako objektua ez da bide bat + + Path_Inspect @@ -4230,11 +4230,6 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Path_Sanity - - - The Job has no selected Base object. - Lanak ez du hautatutako oinarri-objekturik. - Check the path job for common errors @@ -4485,6 +4480,11 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Date Data + + + The Job has no selected Base object. + Lanak ez du hautatutako oinarri-objekturik. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4646,11 +4646,6 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Path_ToolController - - - Tool Number to Load - Kargatuko den tresnaren zenbakia - Add Tool Controller to the Job @@ -4661,6 +4656,11 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Add Tool Controller Gehitu tresna-kontrolatzailea + + + Tool Number to Load + Kargatuko den tresnaren zenbakia + Path_ToolTable @@ -4687,11 +4687,6 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Creates a medial line engraving path Erdiko lerroko grabatze-bide bat sortzen du - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve aplikazioak CuttingEdgeAngle duen grabatze-ebakigailua behar du - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4702,6 +4697,11 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Engraver Cutting Edge Angle must be < 180 degrees. Grabagailuaren mozte-ertzaren angeluak < 180 gradu izan behar du. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve aplikazioak CuttingEdgeAngle duen grabatze-ebakigailua behar du + Path_Waterline @@ -4736,56 +4736,11 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Save toolbit library Gorde tresna-atalaren liburutegia - - - Tooltable JSON (*.json) - JSON tresna-mahaia (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tresna-mahaia (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tresna-mahaia (*.tbl) - Open tooltable Ireki tresna-mahaia - - - Save tooltable - Gorde tresna-mahaia - - - - Rename Tooltable - Aldatu tresna-mahaiaren izena - - - - Enter Name: - Sartu izena: - - - - Add New Tool Table - Gehitu tresna-mahai berria - - - - Delete Selected Tool Table - Ezabatu hautatutako tresna-mahaia - - - - Rename Selected Tool Table - Aldatu izena hautatutako taula-mahaiari - Tooltable editor @@ -4996,6 +4951,11 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) XML tresna-mahaia (*.xml);;HeeksCAD tresna-mahaia (*.tooltable) + + + Save tooltable + Gorde tresna-mahaia + Tooltable XML (*.xml) @@ -5011,6 +4971,46 @@ Azken sakonera eskuz ezartzea beharrezkoa bada, hautatu beste eragiketa mota bat Object doesn't have a tooltable property Objektuak ez du tresna-mahai propietate bat + + + Rename Tooltable + Aldatu tresna-mahaiaren izena + + + + Enter Name: + Sartu izena: + + + + Add New Tool Table + Gehitu tresna-mahai berria + + + + Delete Selected Tool Table + Ezabatu hautatutako tresna-mahaia + + + + Rename Selected Tool Table + Aldatu izena hautatutako taula-mahaiari + + + + Tooltable JSON (*.json) + JSON tresna-mahaia (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tresna-mahaia (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tresna-mahaia (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_fi.ts b/src/Mod/Path/Gui/Resources/translations/Path_fi.ts index e623391464..e63d84893f 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_fi.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_fi.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Näytä väliaikaisen polun rakennuskohteet kun moduuli on DEBUG-tilassa. - - - The direction along which dropcutter lines are created - Suunta, jota pitkin pudotusleikkurin linjat luodaan - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Pitääkö toimintoa rajoittaa varaston kohteen mukaan vai peruskohteen rajaavan kehyksen mukaan - - - - Step over percentage of the drop cutter path - Pudotusleikkurin polun askeleen prosenttiosuus - - - - Z-axis offset from the surface of the object - Z akselin siirtymä kohteen pinnasta - - - - The Sample Interval. Small values cause long wait times - Näytteenoton väli. Pienet arvot aiheuttavat pitkiä odotusaikoja - - - - Enable optimization which removes unnecessary points from G-Code output - Ota käyttöön optimointi, joka poistaa tarpeettomat pisteet G-Code -ulostulosta - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Pienemmillä arvoilla saadaan hienompi ja tarkempi verkkopinta. Pienemmät eivät lisää prosessointiaikaa paljon. - - - The completion mode for the operation: single or multi-pass - Toiminnon valmistumistila: kertaalleen tai moninkertaisesti - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Suunta, mitä työkalupolun pitäisi kulkea osan ympärillä: kiipeillen (Myötäpäivään) tai tavanomaisen tapaan (Vastapäivään) - Stop index(angle) for rotational scan Pysäytä indeksi(kulma) rotaatiokuvausta varten - - - Ignore areas that proceed below specified depth. - Älä huomioi määritetyn syvyyden alapuolella kulkevia alueita. - - - - Depth used to identify waste areas to ignore. - Syvyys, jolla tunnistetaan jätealueet, joita ei huomioida. - - - - Cut through waste to depth at model edge, releasing the model. - Leikkaa jätteen läpi syvyyteen mallireunassa, jolloin malli vapautuu. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - The library to use to generate the path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + Suunta, jota pitkin pudotusleikkurin linjat luodaan + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Pitääkö toimintoa rajoittaa varaston kohteen mukaan vai peruskohteen rajaavan kehyksen mukaan + + + + Step over percentage of the drop cutter path + Pudotusleikkurin polun askeleen prosenttiosuus + + + + Z-axis offset from the surface of the object + Z akselin siirtymä kohteen pinnasta + + + + The Sample Interval. Small values cause long wait times + Näytteenoton väli. Pienet arvot aiheuttavat pitkiä odotusaikoja + + + + Enable optimization which removes unnecessary points from G-Code output + Ota käyttöön optimointi, joka poistaa tarpeettomat pisteet G-Code -ulostulosta + + + + The completion mode for the operation: single or multi-pass + Toiminnon valmistumistila: kertaalleen tai moninkertaisesti + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Suunta, mitä työkalupolun pitäisi kulkea osan ympärillä: kiipeillen (Myötäpäivään) tai tavanomaisen tapaan (Vastapäivään) + + + + Ignore areas that proceed below specified depth. + Älä huomioi määritetyn syvyyden alapuolella kulkevia alueita. + + + + Depth used to identify waste areas to ignore. + Syvyys, jolla tunnistetaan jätealueet, joita ei huomioida. + + + + Cut through waste to depth at model edge, releasing the model. + Leikkaa jätteen läpi syvyyteen mallireunassa, jolloin malli vapautuu. + + + + The library to use to generate the path + The library to use to generate the path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Ladattavan työkalun numero - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Ladattavan työkalun numero + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_fil.ts b/src/Mod/Path/Gui/Resources/translations/Path_fil.ts index 7969f1f20a..cf79d8194c 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_fil.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_fil.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Ang landas upang kopyahin + + + The base geometry of this toolpath + Ang base Heometría ng toolpath na ito + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Karagdagang offset na i-aplay sa operasyon. Ang direksyon ay nakadepende sa operasyon. - - - The library to use to generate the path - Ang library na gagamitin para makabuo ng path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - Ang base Heometría ng toolpath na ito + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + Ang library na gagamitin para makabuo ng path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Hindi valid na Cutting Edge Angle %.2f, dapat ay <90° at >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Hindi valid na Cutting Edge Angle %.2f, dapat ay <90° at >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Hugis ng Bulsa - - - - Creates a Path Pocket object from a face or faces - Lumilikha ng isang bagay na Bulsang Landas mula sa isang mukha o mga mukha - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Hugis ng Bulsa + + + + Creates a Path Pocket object from a face or faces + Lumilikha ng isang bagay na Bulsang Landas mula sa isang mukha o mga mukha + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Bihisan + + + + Creates a Path Dess-up object from a selected path + Lumilikha ng Path Dess-up object mula sa napiling path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Mangyaring pumili ng isang Path Object - - - Dress-up - Bihisan - - - - Creates a Path Dess-up object from a selected path - Lumilikha ng Path Dess-up object mula sa napiling path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Lumilikha ng Path Hop object - - - The selected object is not a path - - Ang napiling object ay hindi isang path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Lumikha ng Hop + + + The selected object is not a path + + Ang napiling object ay hindi isang path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Numero ng tool na i-load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Magdagdag ng Controller ng Tool + + + Tool Number to Load + Numero ng tool na i-load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Buksan ang tooltable - - - Save tooltable - I-save ang tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + I-save ang tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Ang object ay walang tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_fr.ts b/src/Mod/Path/Gui/Resources/translations/Path_fr.ts index dc7d78e24a..bceb7e19c4 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_fr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_fr.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Afficher les objets de construction de chemin temporaire lorsque le module est en mode DEBUG. - - - The direction along which dropcutter lines are created - La direction le long de laquelle les lignes de coupe sont créées - - - - Should the operation be limited by the stock object or by the bounding box of the base object - L'opération doit-elle être limitée par le brut ou par la boîte englobante de l'objet de base - - - - Step over percentage of the drop cutter path - Dépasser le pourcentage de la trajectoire du cutte - - - - Z-axis offset from the surface of the object - Décalage de l'axe Z par rapport à la surface de l'objet - - - - The Sample Interval. Small values cause long wait times - L’intervalle d’échantillonnage. les valeurs faibles provoquent de l'attente - - - - Enable optimization which removes unnecessary points from G-Code output - Activer l'optimisation supprimant les points inutiles du G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. De plus petites valeurs génèrent un maillage plus fin et plus précis. Les plus petites valeurs n’augmentent pas sensiblement le temps de traitement. - - - The completion mode for the operation: single or multi-pass - Mode d’achèvement de l’opération : simple ou multi-passes - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Direction que le parcours d’outils doit effectuer autour de la pièce : monter(sens des aiguille d’une montre) ou conventionnel(sens inverse des aiguille d’une montre) - Stop index(angle) for rotational scan Index(angle) d’arrêt pour le balayage en rotation - - - Ignore areas that proceed below specified depth. - Ignorer les zones qui se trouvent sous la profondeur indiquée. - - - - Depth used to identify waste areas to ignore. - Profondeur utilisée pour identifier la zone de chute à ignorer. - - - - Cut through waste to depth at model edge, releasing the model. - Couper au travers de la chute jusqu’à la profondeur en bordure du modèle, libérant le modèle. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Le chemin d'accès à copier + + + The base geometry of this toolpath + La géométrie de base du parcours de l'outil + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Décalage supplémentaire à appliquer à l’opération. Direction est opération dépendante. - - - The library to use to generate the path - La bibliothèque à utiliser pour générer la trajectoire - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Marquer « true » si vous utilisez une compensation de rayon de coupe - - The base geometry of this toolpath - La géométrie de base du parcours de l'outil + + The direction along which dropcutter lines are created + La direction le long de laquelle les lignes de coupe sont créées + + + + Should the operation be limited by the stock object or by the bounding box of the base object + L'opération doit-elle être limitée par le brut ou par la boîte englobante de l'objet de base + + + + Step over percentage of the drop cutter path + Dépasser le pourcentage de la trajectoire du cutte + + + + Z-axis offset from the surface of the object + Décalage de l'axe Z par rapport à la surface de l'objet + + + + The Sample Interval. Small values cause long wait times + L’intervalle d’échantillonnage. les valeurs faibles provoquent de l'attente + + + + Enable optimization which removes unnecessary points from G-Code output + Activer l'optimisation supprimant les points inutiles du G-Code + + + + The completion mode for the operation: single or multi-pass + Mode d’achèvement de l’opération : simple ou multi-passes + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Direction que le parcours d’outils doit effectuer autour de la pièce : monter(sens des aiguille d’une montre) ou conventionnel(sens inverse des aiguille d’une montre) + + + + Ignore areas that proceed below specified depth. + Ignorer les zones qui se trouvent sous la profondeur indiquée. + + + + Depth used to identify waste areas to ignore. + Profondeur utilisée pour identifier la zone de chute à ignorer. + + + + Cut through waste to depth at model edge, releasing the model. + Couper au travers de la chute jusqu’à la profondeur en bordure du modèle, libérant le modèle. + + + + The library to use to generate the path + La bibliothèque à utiliser pour générer la trajectoire @@ -986,16 +986,16 @@ Selected tool is not a drill L’outil sélectionné n’est pas une perceuse - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Angle d'arête de coupe invalide %.2f, doit être entre <90° et >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Angle de coupe non valable Angle %.2f, doit être >0 ° et <=180 ° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Angle d'arête de coupe invalide %.2f, doit être entre <90° et >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Augmenté au dessus du stock. Ignoring non-horizontal Face Ignorer les faces non horizontales - - - Face appears misaligned after initial rotation. - La face semble mal alignée après la rotation initiale. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Envisagez de basculer la propriété 'InverseAngle' et de recalculer. - - - - Multiple faces in Base Geometry. - Faces multiples dans la géométrie de base. - - - - Depth settings will be applied to all faces. - Les paramètres de profondeur seront appliqués à toutes les faces. - - - - EnableRotation property is 'Off'. - La propriété EnableRotation est 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Augmenté au dessus du stock. Utils Utilitaires + + + Face appears misaligned after initial rotation. + La face semble mal alignée après la rotation initiale. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Envisagez de basculer la propriété 'InverseAngle' et de recalculer. + + + + Multiple faces in Base Geometry. + Faces multiples dans la géométrie de base. + + + + Depth settings will be applied to all faces. + Les paramètres de profondeur seront appliqués à toutes les faces. + + + + EnableRotation property is 'Off'. + La propriété EnableRotation est 'Off'. + @@ -1980,16 +1980,6 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un PathPocket - - - Pocket Shape - Forme de poche - - - - Creates a Path Pocket object from a face or faces - Crée un objet poche à partir d'arêtes ou d'une surface - Normal @@ -2040,6 +2030,16 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Final depth set below ZMin of face(s) selected. Profondeur finale définie sous ZMin de face(s) sélectionnée(s). + + + Pocket Shape + Forme de poche + + + + Creates a Path Pocket object from a face or faces + Crée un objet poche à partir d'arêtes ou d'une surface + 3D Pocket @@ -3460,6 +3460,16 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Path_Dressup + + + Dress-up + Trajectoire additionnelle + + + + Creates a Path Dess-up object from a selected path + Crée un objet trajectoire additionnel à partir d'un parcours sélectionné + Please select one path object @@ -3479,16 +3489,6 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Please select a Path object Veuillez sélectionner un object parcours - - - Dress-up - Trajectoire additionnelle - - - - Creates a Path Dess-up object from a selected path - Crée un objet trajectoire additionnel à partir d'un parcours sélectionné - Path_DressupAxisMap @@ -3961,13 +3961,6 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Creates a Path Hop object Crée un object saut - - - The selected object is not a path - - L'objet sélectionné n'est pas un parcours - - Please select one path object @@ -3983,6 +3976,13 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Create Hop Crée un saut + + + The selected object is not a path + + L'objet sélectionné n'est pas un parcours + + Path_Inspect @@ -4232,11 +4232,6 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Path_Sanity - - - The Job has no selected Base object. - La tâche n'a pas d'objet de Base sélectionné. - Check the path job for common errors @@ -4487,6 +4482,11 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Date Date + + + The Job has no selected Base object. + La tâche n'a pas d'objet de Base sélectionné. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4648,11 +4648,6 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Path_ToolController - - - Tool Number to Load - Numéro d'outil à charger - Add Tool Controller to the Job @@ -4663,6 +4658,11 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Add Tool Controller Ajouter un contrôleur d'outil + + + Tool Number to Load + Numéro d'outil à charger + Path_ToolTable @@ -4689,11 +4689,6 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Creates a medial line engraving path Crée une ligne médiane de gravure - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve nécessite un outil de gravure avec angle de coupe - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4704,6 +4699,11 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Engraver Cutting Edge Angle must be < 180 degrees. L'angle de coupe du graveur doit être <180 degrés. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve nécessite un outil de gravure avec angle de coupe + Path_Waterline @@ -4738,56 +4738,11 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Save toolbit library Enregistrer la bibliothèque d'outils - - - Tooltable JSON (*.json) - Table d'outils JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Table d'outils HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Table d'outils LinuxCNC (*.tbl) - Open tooltable Ouvre la table des outils - - - Save tooltable - Enregistrer la table d'outils - - - - Rename Tooltable - Renommer la table d'outils - - - - Enter Name: - Saisir le nom : - - - - Add New Tool Table - Ajouter une nouvelle table d'outils - - - - Delete Selected Tool Table - Supprimer la table des outils sélectionnée - - - - Rename Selected Tool Table - Renommer la table des outils sélectionnée - Tooltable editor @@ -4998,6 +4953,11 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Table d'outils XML (*.xml);;Table d'outils HeeksCAD (*.tooltable) + + + Save tooltable + Enregistrer la table d'outils + Tooltable XML (*.xml) @@ -5013,6 +4973,46 @@ S'il est nécessaire de fixer FinalDepth manuellement, veuillez sélectionner un Object doesn't have a tooltable property L'objet ne possède pas de propriété d'outil pour être mis dans la table + + + Rename Tooltable + Renommer la table d'outils + + + + Enter Name: + Saisir le nom : + + + + Add New Tool Table + Ajouter une nouvelle table d'outils + + + + Delete Selected Tool Table + Supprimer la table des outils sélectionnée + + + + Rename Selected Tool Table + Renommer la table des outils sélectionnée + + + + Tooltable JSON (*.json) + Table d'outils JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Table d'outils HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Table d'outils LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_gl.ts b/src/Mod/Path/Gui/Resources/translations/Path_gl.ts index 678778fafb..036c9bea06 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_gl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_gl.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - A dirección ao longo da cal se crean as liñas de dropcutter - - - - Should the operation be limited by the stock object or by the bounding box of the base object - No caso de que a operación estea limitada por obxecto stock ou por carcasa da base do obxecto - - - - Step over percentage of the drop cutter path - Paso sobre porcentaxe da traxectoria de drop cutter - - - - Z-axis offset from the surface of the object - Z-eixo de desprazamento dende a superficie do obxecto - - - - The Sample Interval. Small values cause long wait times - Intervalo de mostra. Valores pequenos causan longas esperas - - - - Enable optimization which removes unnecessary points from G-Code output - Habilitar a optimización que elimina puntos innecesarios de saída dende G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - O modo de completado para operación: sinxelo ou pase múltiple - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - A dirección que a traxectoria da ferramenta debe ir ao redor da parte: Climb(ClockWise) ou Conventional(CounterClockWise) - Stop index(angle) for rotational scan Parar índice(ángulo) para dixitalización rotacional - - - Ignore areas that proceed below specified depth. - Ignorar áreas que se desenrolan abaixo a profundidade especificada. - - - - Depth used to identify waste areas to ignore. - Profundidade usada para identificar áreas de restos a ignorar. - - - - Cut through waste to depth at model edge, releasing the model. - Tallar os restos na profundidade no bordo do modelo, liberando o modelo. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied A traxectoria a ser copiada + + + The base geometry of this toolpath + A xeometría base desta traxectoria de ferramenta + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Desfase extra para aplicar a operación. A dirección é dependente da operación. - - - The library to use to generate the path - A libraría a usar para xerar a traxectoria - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Facer verdadeiro, se se usa a compensación de radio de ferramenta - - The base geometry of this toolpath - A xeometría base desta traxectoria de ferramenta + + The direction along which dropcutter lines are created + A dirección ao longo da cal se crean as liñas de dropcutter + + + + Should the operation be limited by the stock object or by the bounding box of the base object + No caso de que a operación estea limitada por obxecto stock ou por carcasa da base do obxecto + + + + Step over percentage of the drop cutter path + Paso sobre porcentaxe da traxectoria de drop cutter + + + + Z-axis offset from the surface of the object + Z-eixo de desprazamento dende a superficie do obxecto + + + + The Sample Interval. Small values cause long wait times + Intervalo de mostra. Valores pequenos causan longas esperas + + + + Enable optimization which removes unnecessary points from G-Code output + Habilitar a optimización que elimina puntos innecesarios de saída dende G-Code + + + + The completion mode for the operation: single or multi-pass + O modo de completado para operación: sinxelo ou pase múltiple + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + A dirección que a traxectoria da ferramenta debe ir ao redor da parte: Climb(ClockWise) ou Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignorar áreas que se desenrolan abaixo a profundidade especificada. + + + + Depth used to identify waste areas to ignore. + Profundidade usada para identificar áreas de restos a ignorar. + + + + Cut through waste to depth at model edge, releasing the model. + Tallar os restos na profundidade no bordo do modelo, liberando o modelo. + + + + The library to use to generate the path + A libraría a usar para xerar a traxectoria @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Ángulo de corte non válido %.2f, debe ser <90° e >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Ángulo do Bordo de Tallada non válido %.2f, debe ser >0° e <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Ángulo de corte non válido %.2f, debe ser <90° e >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - A face aparece desaliñada despois da rotación inicial. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Considera trocar ao ángulo inverso e volver computar. - - - - Multiple faces in Base Geometry. - Múltiples faces en Xeometría Base. - - - - Depth settings will be applied to all faces. - Os axustes de profundidade serán aplicados a tódalas faces. - - - - EnableRotation property is 'Off'. - A propiedade Activar Rotación está 'Desactivada'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + A face aparece desaliñada despois da rotación inicial. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Considera trocar ao ángulo inverso e volver computar. + + + + Multiple faces in Base Geometry. + Múltiples faces en Xeometría Base. + + + + Depth settings will be applied to all faces. + Os axustes de profundidade serán aplicados a tódalas faces. + + + + EnableRotation property is 'Off'. + A propiedade Activar Rotación está 'Desactivada'. + @@ -1980,16 +1980,6 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc PathPocket - - - Pocket Shape - Forma Baleira - - - - Creates a Path Pocket object from a face or faces - Crea un obxecto Traxectoria baleiro dende unha face ou faces - Normal @@ -2040,6 +2030,16 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Forma Baleira + + + + Creates a Path Pocket object from a face or faces + Crea un obxecto Traxectoria baleiro dende unha face ou faces + 3D Pocket @@ -3461,6 +3461,16 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Path_Dressup + + + Dress-up + Aspecto + + + + Creates a Path Dess-up object from a selected path + Crea un obxecto aspecto de traxectoria a partir dunha traxectoria escolmada + Please select one path object @@ -3480,16 +3490,6 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Please select a Path object Por favor, escolme un obxecto traxectoria - - - Dress-up - Aspecto - - - - Creates a Path Dess-up object from a selected path - Crea un obxecto aspecto de traxectoria a partir dunha traxectoria escolmada - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Creates a Path Hop object Crea un obxecto salto de traxectoria - - - The selected object is not a path - - O obxecto escollido non é unha traxectoria - - Please select one path object @@ -3984,6 +3977,13 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Create Hop Crear Salto + + + The selected object is not a path + + O obxecto escollido non é unha traxectoria + + Path_Inspect @@ -4233,11 +4233,6 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Path_Sanity - - - The Job has no selected Base object. - O traballo non ten obxecto Base escolmado. - Check the path job for common errors @@ -4488,6 +4483,11 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Date Date + + + The Job has no selected Base object. + O traballo non ten obxecto Base escolmado. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Path_ToolController - - - Tool Number to Load - Número de ferramenta a cargar - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Add Tool Controller Engadir Controlador de Ferramenta + + + Tool Number to Load + Número de ferramenta a cargar + Path_ToolTable @@ -4690,11 +4690,6 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Táboa de ferramentas JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Táboa de ferramentas HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Táboa de ferramentas LinuxCNC (*.tbl) - Open tooltable Abrir táboa de ferramentas - - - Save tooltable - Gardar táboa de ferramentas - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Táboa de ferramentas XML (*.xml);;táboa de ferramentas HeeksCAD (*.tooltable) + + + Save tooltable + Gardar táboa de ferramentas + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ Se é necesario axustar o xogo FinalDepth manualmente por favor escolma unha opc Object doesn't have a tooltable property O obxecto non ten unha propiedade de táboa de ferramentas + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Táboa de ferramentas JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Táboa de ferramentas HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Táboa de ferramentas LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_hr.ts b/src/Mod/Path/Gui/Resources/translations/Path_hr.ts index e217071280..2bf598aaf3 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_hr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_hr.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Prikažite privremene objekte za izgradnju staza kada je modul u stanju DEBUG moda. - - - The direction along which dropcutter lines are created - Smjer duž kojeg se stvaraju linije spuštajućeg glodala (drop-cutter) - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Kako operaciju treba ograničiti, kroz objekt osnove ili granični okvir osnovnog objekta - - - - Step over percentage of the drop cutter path - Preklapanje staza spuštajućeg glodala (drop-cutter) u postocima - - - - Z-axis offset from the surface of the object - Z-os pomak od površine objekta - - - - The Sample Interval. Small values cause long wait times - Interval uzorka. Male vrijednosti uzrokuju dugo čekanje - - - - Enable optimization which removes unnecessary points from G-Code output - Omogući optimizaciju koja uklanja nepotrebne točke iz izvoza G-Koda - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -49,36 +19,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Manje vrijednosti daju finiju i precizniju mrežu. Manje vrijednosti ne povećavaju vrijeme obrade. - - - The completion mode for the operation: single or multi-pass - Način dovršetka operacije: jednostruki ili višeprolazni - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Smjer kojim alatna staza treba obilaziti dio: uspon (ClockWise) ili konvencionalni (CounterClockWise) - Stop index(angle) for rotational scan Zaustavni indeks (kut) za rotacijsko skeniranje - - - Ignore areas that proceed below specified depth. - Zanemarite područja koja se odvijaju ispod određene dubine. - - - - Depth used to identify waste areas to ignore. - Dubina koja se koristi za prepoznavanje područja odpadaka koje treba zanemariti. - - - - Cut through waste to depth at model edge, releasing the model. - Prerežite otpadak do dubine na rubu modela, oslobađajući model. - Dropcutter lines are created parallel to this axis. @@ -271,6 +216,11 @@ The path to be copied Put koji treba kopirati + + + The base geometry of this toolpath + Osnovna geometrija ove obrade staze + The tool controller that will be used to calculate the path @@ -613,11 +563,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Dodatni pomak koji se primjenjuje na operaciju. Smjer ovisi o operaciji. - - - The library to use to generate the path - Biblioteka koja se koristiti za generiranje staze - Start pocketing at center or boundary @@ -763,9 +708,64 @@ Postavi na istinito, ako koristite kompenzaciju radijusa glodala - - The base geometry of this toolpath - Osnovna geometrija ove obrade staze + + The direction along which dropcutter lines are created + Smjer duž kojeg se stvaraju linije spuštajućeg glodala (drop-cutter) + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Kako operaciju treba ograničiti, kroz objekt osnove ili granični okvir osnovnog objekta + + + + Step over percentage of the drop cutter path + Preklapanje staza spuštajućeg glodala (drop-cutter) u postocima + + + + Z-axis offset from the surface of the object + Z-os pomak od površine objekta + + + + The Sample Interval. Small values cause long wait times + Interval uzorka. Male vrijednosti uzrokuju dugo čekanje + + + + Enable optimization which removes unnecessary points from G-Code output + Omogući optimizaciju koja uklanja nepotrebne točke iz izvoza G-Koda + + + + The completion mode for the operation: single or multi-pass + Način dovršetka operacije: jednostruki ili višeprolazni + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Smjer kojim alatna staza treba obilaziti dio: uspon (ClockWise) ili konvencionalni (CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Zanemarite područja koja se odvijaju ispod određene dubine. + + + + Depth used to identify waste areas to ignore. + Dubina koja se koristi za prepoznavanje područja odpadaka koje treba zanemariti. + + + + Cut through waste to depth at model edge, releasing the model. + Prerežite otpadak do dubine na rubu modela, oslobađajući model. + + + + The library to use to generate the path + Biblioteka koja se koristiti za generiranje staze @@ -1053,16 +1053,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Pogrešan rub rezanja kut %.2f, mora biti < 90 ° i > = 0 ° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Pogrešan kut rezanja ruba %.2f, mora biti > = 0 ° i <= 180 ° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Pogrešan rub rezanja kut %.2f, mora biti < 90 ° i > = 0 ° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1251,31 +1251,6 @@ Povećana na vrh osnove. - - - Face appears misaligned after initial rotation. - Lice se čini pogrešno poravnano nakon početne rotacije. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Razmislite o izmjeni svojstva 'Obrnuti Kut' i ponovnom izračunavanju operacije. - - - - Multiple faces in Base Geometry. - Višestruka lica u Osnovnoj Geometriji. - - - - Depth settings will be applied to all faces. - Postavke dubine primijenit će se na sva lica. - - - - EnableRotation property is 'Off'. - Svojstvo Omogući Rotaciju je 'isključeno'. - Unable to create path for face(s). @@ -1343,6 +1318,31 @@ Povećana na vrh osnove. Utils Utils + + + Face appears misaligned after initial rotation. + Lice se čini pogrešno poravnano nakon početne rotacije. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Razmislite o izmjeni svojstva 'Obrnuti Kut' i ponovnom izračunavanju operacije. + + + + Multiple faces in Base Geometry. + Višestruka lica u Osnovnoj Geometriji. + + + + Depth settings will be applied to all faces. + Postavke dubine primijenit će se na sva lica. + + + + EnableRotation property is 'Off'. + Svojstvo Omogući Rotaciju je 'isključeno'. + @@ -2099,16 +2099,6 @@ Ako je potrebno ručno postaviti Krajnju Dubinu (FinalDepth), molim odaberite dr PathPocket - - - Pocket Shape - Oblik Utora - - - - Creates a Path Pocket object from a face or faces - Stvara objekt staze utora iz površine ili površina lica - Normal @@ -2163,6 +2153,16 @@ Ako je potrebno ručno postaviti Krajnju Dubinu (FinalDepth), molim odaberite dr + + + Pocket Shape + Oblik Utora + + + + Creates a Path Pocket object from a face or faces + Stvara objekt staze utora iz površine ili površina lica + 3D Pocket @@ -3702,6 +3702,16 @@ zadana vrijednost = 10,0. Path_Dressup + + + Dress-up + Dress-up (Odjenuti) + + + + Creates a Path Dess-up object from a selected path + Stvara staza objekt Dress-up od odabrane staze + Please select one path object @@ -3721,16 +3731,6 @@ zadana vrijednost = 10,0. Please select a Path object Odaberite objekt staze - - - Dress-up - Dress-up (Odjenuti) - - - - Creates a Path Dess-up object from a selected path - Stvara staza objekt Dress-up od odabrane staze - Path_DressupAxisMap @@ -4209,13 +4209,6 @@ zadana vrijednost = 10,0. Creates a Path Hop object Stvori objekt prijelaza staze - - - The selected object is not a path - - Odabrani objekt nije putanja staze - - Please select one path object @@ -4231,6 +4224,13 @@ zadana vrijednost = 10,0. Create Hop Stvori prijelaz + + + The selected object is not a path + + Odabrani objekt nije putanja staze + + Path_Inspect @@ -4482,11 +4482,6 @@ zadana vrijednost = 10,0. Path_Sanity - - - The Job has no selected Base object. - Zadatak nema odabran osnovni objekt. - Check the path job for common errors @@ -4743,6 +4738,11 @@ Broj linija Date Datum + + + The Job has no selected Base object. + Zadatak nema odabran osnovni objekt. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4910,11 +4910,6 @@ Broj linija Path_ToolController - - - Tool Number to Load - Broj alata koji se koristi - Add Tool Controller to the Job @@ -4925,6 +4920,11 @@ Broj linija Add Tool Controller Dodajte kontroler alata + + + Tool Number to Load + Broj alata koji se koristi + Path_ToolTable @@ -4951,14 +4951,6 @@ Broj linija Creates a medial line engraving path Stvara put gravure po medijalnoj crti - - - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve zahtijeva gravura rezač s -Kutom rezanja ruba - @@ -4971,6 +4963,14 @@ Kutom rezanja ruba Engraver Cutting Edge Angle must be < 180 degrees. Rezni kut ruba graviranja mora biti < 180 stupnjeva. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve zahtijeva gravura rezač s +Kutom rezanja ruba + + + Path_Waterline @@ -5007,56 +5007,11 @@ Kutom rezanja ruba Save toolbit library Spremi biblioteku nastavaka alata - - - Tooltable JSON (*.json) - Tabela alata JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD Tabela alata (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC Tabela alata (*.tbl) - Open tooltable Otvori tabelu alata - - - Save tooltable - Spremi tabelu alata - - - - Rename Tooltable - Preimenuj Tabelu Alata - - - - Enter Name: - Unesite ime: - - - - Add New Tool Table - Dodajte novu tablicu alata - - - - Delete Selected Tool Table - Izbriši odabranu tablicu alata - - - - Rename Selected Tool Table - Preimenuj odabranu tablicu alata - Tooltable editor @@ -5267,6 +5222,11 @@ Kutom rezanja ruba Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tabela alata XML (*.xml);;HeeksCAD tabela alata(*.tooltable) + + + Save tooltable + Spremi tabelu alata + Tooltable XML (*.xml) @@ -5282,6 +5242,46 @@ Kutom rezanja ruba Object doesn't have a tooltable property Objekt nema svojstvo alata stola + + + Rename Tooltable + Preimenuj Tabelu Alata + + + + Enter Name: + Unesite ime: + + + + Add New Tool Table + Dodajte novu tablicu alata + + + + Delete Selected Tool Table + Izbriši odabranu tablicu alata + + + + Rename Selected Tool Table + Preimenuj odabranu tablicu alata + + + + Tooltable JSON (*.json) + Tabela alata JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD Tabela alata (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC Tabela alata (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_hu.qm b/src/Mod/Path/Gui/Resources/translations/Path_hu.qm index 2dc678e578..4f8aad7296 100644 Binary files a/src/Mod/Path/Gui/Resources/translations/Path_hu.qm and b/src/Mod/Path/Gui/Resources/translations/Path_hu.qm differ diff --git a/src/Mod/Path/Gui/Resources/translations/Path_hu.ts b/src/Mod/Path/Gui/Resources/translations/Path_hu.ts index c1158a8da0..ba0ef7ba73 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_hu.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_hu.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Az ideiglenes építőobjektumok megjelenítésének útvonala, ha a modul DEBUG módban van. - - - The direction along which dropcutter lines are created - Az stancoló egyenesei mentén az irányok létrehozva - - - - Should the operation be limited by the stock object or by the bounding box of the base object - A műveletet korlátozza az alaptest állomány objektum vagy az alap objektum határolókerete - - - - Step over percentage of the drop cutter path - Átléptetési százalék a stancoló útvonalán - - - - Z-axis offset from the surface of the object - Z-tengely eltolása a tárgy felületétől - - - - The Sample Interval. Small values cause long wait times - A Mintavételezési időköz. Kisebb értékek hosszú várakozást okoznak - - - - Enable optimization which removes unnecessary points from G-Code output - Engedélyezi az optimalizálást, amely eltávolítja a szükségtelen pontokat a G-kód kimenetéről - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. A kisebb értékek finomabb, pontosabb hálót eredményeznek. A kisebb értékek nem növelik jelentősen a feldolgozási időt. - - - The completion mode for the operation: single or multi-pass - A művelet befejezési módja: egy vagy több-áthaladású - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Szerszámmozgás irányának a tárgy körül kell lennie: Mászó(Óramutató járásával egyező(Cw)) vagy agyományos(Ellentétes(Ccw)) - Stop index(angle) for rotational scan A körforgó letapogatás végpont indexe (szöge) - - - Ignore areas that proceed below specified depth. - Hagyja figyelmen kívül azokat a területeket, amelyek a megadott mélység alatt haladnak. - - - - Depth used to identify waste areas to ignore. - Hulladékterületek figyelmen kívül hagyáshoz használt mélység. - - - - Cut through waste to depth at model edge, releasing the model. - Átvág a hulladékon a mélységgel a modell élénél, a modell kiadásához. - Dropcutter lines are created parallel to this axis. @@ -156,7 +101,7 @@ Set the geometric clearing pattern to use for the operation. - Állítsa be a művelet geometriai forgácsolóélmintázatát. + Állítsa be a művelet geometriai forgácsoló élmintázatát. @@ -243,6 +188,11 @@ The path to be copied A másolni kívánt szerszámpálya útvonal + + + The base geometry of this toolpath + Ennek a szerszámmozgásnak az alapgeometriája + The tool controller that will be used to calculate the path @@ -436,7 +386,7 @@ How far the drill depth is extended - A fúrási mélység hoszabbítása + A fúrási mélység hosszabbítása @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra eltolása a művelethez. Iránya a függ a művelettől. - - - The library to use to generate the path - Az elérési út létrehozásához használt könyvtár - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Állítsa igazra, ha sugár vágó kompenzációt alkalmaz - - The base geometry of this toolpath - Ennek a szerszámmozgásnak az alapgeometriája + + The direction along which dropcutter lines are created + Az stancoló egyenesei mentén az irányok létrehozva + + + + Should the operation be limited by the stock object or by the bounding box of the base object + A műveletet korlátozza az alaptest állomány objektum vagy az alap objektum határolókerete + + + + Step over percentage of the drop cutter path + Átléptetési százalék a stancoló útvonalán + + + + Z-axis offset from the surface of the object + Z-tengely eltolása a tárgy felületétől + + + + The Sample Interval. Small values cause long wait times + A Mintavételezési időköz. Kisebb értékek hosszú várakozást okoznak + + + + Enable optimization which removes unnecessary points from G-Code output + Engedélyezi az optimalizálást, amely eltávolítja a szükségtelen pontokat a G-kód kimenetéről + + + + The completion mode for the operation: single or multi-pass + A művelet befejezési módja: egy vagy több-áthaladású + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Szerszámmozgás irányának a tárgy körül kell lennie: Mászó(Óramutató járásával egyező(Cw)) vagy agyományos(Ellentétes(Ccw)) + + + + Ignore areas that proceed below specified depth. + Hagyja figyelmen kívül azokat a területeket, amelyek a megadott mélység alatt haladnak. + + + + Depth used to identify waste areas to ignore. + Hulladékterületek figyelmen kívül hagyáshoz használt mélység. + + + + Cut through waste to depth at model edge, releasing the model. + Átvág a hulladékon a mélységgel a modell élénél, a modell kiadásához. + + + + The library to use to generate the path + Az elérési út létrehozásához használt könyvtár @@ -986,16 +986,16 @@ Selected tool is not a drill A kijelölt eszköz nem fúró - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Érvénytelen forgácsoló él szög %.2f, <90° és >=0° közti kell - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Érvénytelen forgácsoló él szög %.2f, >0° és <=180° közt kell lennie + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Érvénytelen forgácsoló él szög %.2f, <90° és >=0° közti kell + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Az alaptest tetejére emelve. Ignoring non-horizontal Face Nem vízszintes felület figyelmen kívül hagyása - - - Face appears misaligned after initial rotation. - Az felületet a kezdeti forgatás után rosszul igazítja a program. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Fontolja meg a "InverseAngle" tulajdonság és a újraszámítás kapcsolását. - - - - Multiple faces in Base Geometry. - Többszörös felületek az alap geometriában. - - - - Depth settings will be applied to all faces. - A mélységbeállítás mindegyik felületre érvényes lesz. - - - - EnableRotation property is 'Off'. - Az Forgatásbekapcsolás tulajdonság értéke ' Ki '. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Az alaptest tetejére emelve. Utils Munkaeszközök + + + Face appears misaligned after initial rotation. + Az felületet a kezdeti forgatás után rosszul igazítja a program. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Fontolja meg a "InverseAngle" tulajdonság és a újraszámítás kapcsolását. + + + + Multiple faces in Base Geometry. + Többszörös felületek az alap geometriában. + + + + Depth settings will be applied to all faces. + A mélységbeállítás mindegyik felületre érvényes lesz. + + + + EnableRotation property is 'Off'. + Az Forgatásbekapcsolás tulajdonság értéke ' Ki '. + @@ -1980,16 +1980,6 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy PathPocket - - - Pocket Shape - Zseb alakzat - - - - Creates a Path Pocket object from a face or faces - Létrehoz egy szerszámpálya zseb útvonal objektumot egy felületből vagy felületekből - Normal @@ -2040,6 +2030,16 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Final depth set below ZMin of face(s) selected. A kiválasztott felület(ek) ZMin alatti végső mélysége. + + + Pocket Shape + Zseb alakzat + + + + Creates a Path Pocket object from a face or faces + Létrehoz egy szerszámpálya zseb útvonal objektumot egy felületből vagy felületekből + 3D Pocket @@ -3463,6 +3463,16 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Path_Dressup + + + Dress-up + Megváltoztatás + + + + Creates a Path Dess-up object from a selected path + Szerszámpálya módosító objektumot hoz létre a kiválasztott útvonalból + Please select one path object @@ -3482,16 +3492,6 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Please select a Path object Kérem válasszon egy pályaútvonal objektumot - - - Dress-up - Megváltoztatás - - - - Creates a Path Dess-up object from a selected path - Szerszámpálya módosító objektumot hoz létre a kiválasztott útvonalból - Path_DressupAxisMap @@ -3964,13 +3964,6 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Creates a Path Hop object Gyorsmenet beszúrása a visszahúzási síkra - - - The selected object is not a path - - A kijelölt objektum nem pálya útvonal - - Please select one path object @@ -3986,6 +3979,13 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Create Hop Visszahúzási útszakasz hozzáadása + + + The selected object is not a path + + A kijelölt objektum nem pálya útvonal + + Path_Inspect @@ -4235,11 +4235,6 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Path_Sanity - - - The Job has no selected Base object. - A feladatnak nincs kijelölt alap objektuma. - Check the path job for common errors @@ -4490,6 +4485,11 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Date Dátum + + + The Job has no selected Base object. + A feladatnak nincs kijelölt alap objektuma. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4651,11 +4651,6 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Path_ToolController - - - Tool Number to Load - Betöltendő szerszám száma - Add Tool Controller to the Job @@ -4666,6 +4661,11 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Add Tool Controller Eszköz vezérlő hozzáadása + + + Tool Number to Load + Betöltendő szerszám száma + Path_ToolTable @@ -4692,11 +4692,6 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Creates a medial line engraving path Középvonali gravírozási útvonal létrehozása - - - VCarve requires an engraving cutter with CuttingEdgeAngle - A V-kivágás gravírozást igényel vágás élvágási szöggel - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4707,6 +4702,11 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Engraver Cutting Edge Angle must be < 180 degrees. A véső vágóélének szöge < 180 fok. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + A V-kivágás gravírozást igényel vágás élvágási szöggel + Path_Waterline @@ -4741,56 +4741,11 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Save toolbit library Szerszámkönyvtár mentése - - - Tooltable JSON (*.json) - Szerszámlista JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD szerszámlista (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC szerszámlista (*.tbl) - Open tooltable Szerszámlista megnyitása - - - Save tooltable - Szerszámlista mentése - - - - Rename Tooltable - Szerszámlista átnevezése - - - - Enter Name: - Nevezze el: - - - - Add New Tool Table - Új szerszámlista hozzáadása - - - - Delete Selected Tool Table - Kijelölt szerszámlista törlése - - - - Rename Selected Tool Table - A kijelölt szerszámlista átnevezése - Tooltable editor @@ -5001,6 +4956,11 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Szerszámlista XML (*.xml);; HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Szerszámlista mentése + Tooltable XML (*.xml) @@ -5016,6 +4976,46 @@ Ha szükséges a Végleges-mélység kézi beállítása, kérem válasszon egy Object doesn't have a tooltable property Objektum nem rendelkezik szerszámlista tulajdonsággal + + + Rename Tooltable + Szerszámlista átnevezése + + + + Enter Name: + Nevezze el: + + + + Add New Tool Table + Új szerszámlista hozzáadása + + + + Delete Selected Tool Table + Kijelölt szerszámlista törlése + + + + Rename Selected Tool Table + A kijelölt szerszámlista átnevezése + + + + Tooltable JSON (*.json) + Szerszámlista JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD szerszámlista (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC szerszámlista (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_id.ts b/src/Mod/Path/Gui/Resources/translations/Path_id.ts index e101fdfc36..7f70966ed9 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_id.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_id.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path yang akan disalin + + + The base geometry of this toolpath + Geometri dasar dari toolpath ini + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset untuk diterapkan pada operasi. Arah adalah tergantung operasi. - - - The library to use to generate the path - The perpustakaan untuk menggunakan untuk menghasilkan jalan - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - Geometri dasar dari toolpath ini + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + The perpustakaan untuk menggunakan untuk menghasilkan jalan @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Sudut Cutting Edge tidak benar%.2f, harus <90° dan>=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Sudut Cutting Edge tidak benar%.2f, harus <90° dan>=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1977,16 +1977,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2037,6 +2027,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3457,6 +3457,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Membuat Jalur Dess-up objek dari suatu dipilih jalan + Please select one path object @@ -3474,16 +3484,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Silahkan pilih objek Path - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Membuat Jalur Dess-up objek dari suatu dipilih jalan - Path_DressupAxisMap @@ -3956,12 +3956,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Membuat Jalur Hop objek - - - The selected object is not a path - - The dipilih objek bukan jalan - Please select one path object @@ -3977,6 +3971,12 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Buat Hop + + + The selected object is not a path + + The dipilih objek bukan jalan + Path_Inspect @@ -4227,11 +4227,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4482,6 +4477,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4641,11 +4641,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4656,6 +4651,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Tambahkan Alat Pengontrol + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4682,11 +4682,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4697,6 +4692,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4731,56 +4731,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Tooltable LinuxCNC (*.tbl) - Open tooltable Buka tooltable - - - Save tooltable - Simpan tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4991,6 +4946,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (* .xml) ;, HeeksCAD tooltable (* .tooltable) + + + Save tooltable + Simpan tooltable + Tooltable XML (*.xml) @@ -5006,6 +4966,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Objek tidak memiliki properti tooltable + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Tooltable LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_it.qm b/src/Mod/Path/Gui/Resources/translations/Path_it.qm index cb68538123..7e579c853c 100644 Binary files a/src/Mod/Path/Gui/Resources/translations/Path_it.qm and b/src/Mod/Path/Gui/Resources/translations/Path_it.qm differ diff --git a/src/Mod/Path/Gui/Resources/translations/Path_it.ts b/src/Mod/Path/Gui/Resources/translations/Path_it.ts index 9a06b0f536..7788e3512c 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_it.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_it.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Mostra gli oggetti di costruzione dei percorsi temporanei quando il modulo è in modalità DEBUG. - - - The direction along which dropcutter lines are created - La direzione lungo la quale vengono create le linee di taglio - - - - Should the operation be limited by the stock object or by the bounding box of the base object - L'operazione dovrebbe essere delimitata dall'oggetto grezzo o dal riquadro di delimitazione dell'oggetto di base - - - - Step over percentage of the drop cutter path - Sovrascrivere la percentuale del percorso del cutter - - - - Z-axis offset from the surface of the object - Scostamento sull'asse Z dalla superficie dell'oggetto - - - - The Sample Interval. Small values cause long wait times - L'intervallo di campionamento. Piccoli valori causano lunghi tempi di attesa - - - - Enable optimization which removes unnecessary points from G-Code output - Abilita l'ottimizzazione che rimuove i punti non necessari dall'output G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Valori più piccoli producono una maglia più fine e precisa. Valori più piccoli non aumentano di molto il tempo di elaborazione. - - - The completion mode for the operation: single or multi-pass - La modalità di completamento per l'operazione: singolo o multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - La direzione percorsa dall'utensile intorno alla parte: CW se in senso orario o CCW se in senso antiorario - Stop index(angle) for rotational scan Indice di arresto (angolo) per la scansione rotazionale - - - Ignore areas that proceed below specified depth. - Ignora le aree che sono al di sotto della profondità specificata. - - - - Depth used to identify waste areas to ignore. - Profondità utilizzata per identificare le aree di scarto da ignorare. - - - - Cut through waste to depth at model edge, releasing the model. - Taglia lo scarto alla profondità a bordo modello, liberando il modello. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Il percorso da copiare + + + The base geometry of this toolpath + La geometria di base del percorso di questo utensile + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Scostamento extra da applicare all'operazione. La direzione è dipendente dall'operazione. - - - The library to use to generate the path - La libreria da utilizzare per generare il percorso - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Rendere vero (True), se si utilizza la compensazione raggio utensile - - The base geometry of this toolpath - La geometria di base del percorso di questo utensile + + The direction along which dropcutter lines are created + La direzione lungo la quale vengono create le linee di taglio + + + + Should the operation be limited by the stock object or by the bounding box of the base object + L'operazione dovrebbe essere delimitata dall'oggetto grezzo o dal riquadro di delimitazione dell'oggetto di base + + + + Step over percentage of the drop cutter path + Sovrascrivere la percentuale del percorso del cutter + + + + Z-axis offset from the surface of the object + Scostamento sull'asse Z dalla superficie dell'oggetto + + + + The Sample Interval. Small values cause long wait times + L'intervallo di campionamento. Piccoli valori causano lunghi tempi di attesa + + + + Enable optimization which removes unnecessary points from G-Code output + Abilita l'ottimizzazione che rimuove i punti non necessari dall'output G-Code + + + + The completion mode for the operation: single or multi-pass + La modalità di completamento per l'operazione: singolo o multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + La direzione percorsa dall'utensile intorno alla parte: CW se in senso orario o CCW se in senso antiorario + + + + Ignore areas that proceed below specified depth. + Ignora le aree che sono al di sotto della profondità specificata. + + + + Depth used to identify waste areas to ignore. + Profondità utilizzata per identificare le aree di scarto da ignorare. + + + + Cut through waste to depth at model edge, releasing the model. + Taglia lo scarto alla profondità a bordo modello, liberando il modello. + + + + The library to use to generate the path + La libreria da utilizzare per generare il percorso @@ -986,16 +986,16 @@ Selected tool is not a drill L'utensile selezionato non è una punta di foratura - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Angolo di taglio di %.2f invalido, deve essere compreso fra <90° e >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Angolo di taglio di %.2f non valido, deve essere compreso tra >0° e <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Angolo di taglio di %.2f invalido, deve essere compreso fra <90° e >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Aumentata fino all'altezza del pezzo grezzo. Ignoring non-horizontal Face Ignora faccia non orizzontale - - - Face appears misaligned after initial rotation. - La faccia appare disallineata dopo la rotazione iniziale. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Considerare di attivare/disattivare la proprietà 'InverseAngle' e ricalcolare. - - - - Multiple faces in Base Geometry. - Più facce nella Geometria di base. - - - - Depth settings will be applied to all faces. - Le impostazioni di Profondità saranno applicate a tutte le facce. - - - - EnableRotation property is 'Off'. - La proprietà EnableRotation è 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Aumentata fino all'altezza del pezzo grezzo. Utils Utilità + + + Face appears misaligned after initial rotation. + La faccia appare disallineata dopo la rotazione iniziale. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Considerare di attivare/disattivare la proprietà 'InverseAngle' e ricalcolare. + + + + Multiple faces in Base Geometry. + Più facce nella Geometria di base. + + + + Depth settings will be applied to all faces. + Le impostazioni di Profondità saranno applicate a tutte le facce. + + + + EnableRotation property is 'Off'. + La proprietà EnableRotation è 'Off'. + @@ -1361,7 +1361,7 @@ Aumentata fino all'altezza del pezzo grezzo. Extend Outline error - Extend Outline error + Errore di estensione contorno @@ -1535,27 +1535,27 @@ Aumentata fino all'altezza del pezzo grezzo. Click to enable Extensions - Click to enable Extensions + Fare clic per abilitare le estensioni Click to include Edges/Wires - Click to include Edges/Wires + Fare clic per includere bordi/linie Extensions enabled - Extensions enabled + Estensioni attivate Including Edges/Wires - Including Edges/Wires + Compresi Bordi/Linie Waterline error - Waterline error + Errore di linea @@ -1588,12 +1588,12 @@ Aumentata fino all'altezza del pezzo grezzo. %s not supported for flipping - %s not supported for flipping + %s non supportato per il ribaltamento Zero working area to process. Check your selection and settings. - Zero working area to process. Check your selection and settings. + Zero area di lavoro da elaborare. Controlla la selezione e le impostazioni. @@ -1979,16 +1979,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Tasca - - - - Creates a Path Pocket object from a face or faces - Crea un oggetto percorso Tasca da una o più facce - Normal @@ -2039,6 +2029,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Profondità finale impostata sotto ZMin delle facce selezionate. + + + Pocket Shape + Tasca + + + + Creates a Path Pocket object from a face or faces + Crea un oggetto percorso Tasca da una o più facce + 3D Pocket @@ -2102,7 +2102,7 @@ If it is necessary to set the FinalDepth manually please select a different oper Start Depth is lower than face depth. Setting to: - Start Depth is lower than face depth. Setting to: + La profondità iniziale è inferiore alla profondità della faccia. Impostazione a: @@ -2175,7 +2175,7 @@ If it is necessary to set the FinalDepth manually please select a different oper Check edge selection and Final Depth requirements for profiling open edge(s). - Check edge selection and Final Depth requirements for profiling open edge(s). + Controlla la selezione dei bordi e i requisiti di profondità finale per i profili dei bordi aperti. @@ -2922,7 +2922,7 @@ If it is necessary to set the FinalDepth manually please select a different oper Defines which standard thread was chosen - Defines which standard thread was chosen + Definisce quale standard di filettatura è stato scelto @@ -2947,7 +2947,7 @@ If it is necessary to set the FinalDepth manually please select a different oper Set thread's TPI (turns per inch) - used for imperial threads - Set thread's TPI (turns per inch) - used for imperial threads + Imposta il passo (tpi) della filettatura - usato per filettatura imperiale @@ -3460,6 +3460,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Replica + + + + Creates a Path Dess-up object from a selected path + Crea un oggetto Replica modificabile del percorso selezionato + Please select one path object @@ -3479,16 +3489,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Si prega di selezionare un oggetto Percorso - - - Dress-up - Replica - - - - Creates a Path Dess-up object from a selected path - Crea un oggetto Replica modificabile del percorso selezionato - Path_DressupAxisMap @@ -3961,13 +3961,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Crea un oggetto percorso Salto - - - The selected object is not a path - - L'oggetto selezionato non è un percorso - - Please select one path object @@ -3983,6 +3976,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Crea Salto + + + The selected object is not a path + + L'oggetto selezionato non è un percorso + + Path_Inspect @@ -4232,11 +4232,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - La lavorazione non ha un oggetto base selezionato. - Check the path job for common errors @@ -4487,6 +4482,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Data + + + The Job has no selected Base object. + La lavorazione non ha un oggetto base selezionato. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4648,11 +4648,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Carica utensile - Add Tool Controller to the Job @@ -4663,6 +4658,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Aggiungi un Controllo utensile + + + Tool Number to Load + Carica utensile + Path_ToolTable @@ -4689,11 +4689,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Crea un tracciato di incisione a linea mediale - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve richiede un cutter per incisione con Taglio Laterale Angolare - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4704,6 +4699,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. L'angolo di taglio del cutter per incisione deve essere < 180 gradi. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve richiede un cutter per incisione con Taglio Laterale Angolare + Path_Waterline @@ -4738,56 +4738,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Salva la libreria utensili - - - Tooltable JSON (*.json) - Tabella degli utensili JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Tabella degli utensili HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Tabella degli utensili LinuxCNC (*.tbl) - Open tooltable Apri la tabella utensili - - - Save tooltable - Salva la tabella utensili - - - - Rename Tooltable - Rinomina la tabella utensili - - - - Enter Name: - Inserire il nome: - - - - Add New Tool Table - Aggiungi nuova tabella utensili - - - - Delete Selected Tool Table - Elimina la tabella degli utensili selezionata - - - - Rename Selected Tool Table - Rinomina la tabella degli utensili selezionati - Tooltable editor @@ -4998,6 +4953,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tabella utensili XML (XML); Tabella utensili HeeksCAD (*.tooltable) + + + Save tooltable + Salva la tabella utensili + Tooltable XML (*.xml) @@ -5013,6 +4973,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property L'oggetto non ha le proprietà necessarie per la tabella utensili + + + Rename Tooltable + Rinomina la tabella utensili + + + + Enter Name: + Inserire il nome: + + + + Add New Tool Table + Aggiungi nuova tabella utensili + + + + Delete Selected Tool Table + Elimina la tabella degli utensili selezionata + + + + Rename Selected Tool Table + Rinomina la tabella degli utensili selezionati + + + + Tooltable JSON (*.json) + Tabella degli utensili JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Tabella degli utensili HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Tabella degli utensili LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ja.ts b/src/Mod/Path/Gui/Resources/translations/Path_ja.ts index d4adf85de5..07ffade8e1 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ja.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ja.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. モジュールがDEBUGモード時に、一時パス、構築オブジェクトを表示します。 - - - The direction along which dropcutter lines are created - ドロップカッター線を作成する方向 - - - - Should the operation be limited by the stock object or by the bounding box of the base object - この工程はストックオブジェクト、またはベースオブジェクトのバウンディングボックスによって制限を受けます - - - - Step over percentage of the drop cutter path - ドロップカッターパスのステップオーバーのパーセント - - - - Z-axis offset from the surface of the object - オブジェクトのサーフェスからのZ軸オフセット - - - - The Sample Interval. Small values cause long wait times - サンプル間隔。 値を小さくすると処理時間が長くなります。 - - - - Enable optimization which removes unnecessary points from G-Code output - 最適化を有効に設定すると、G-Code出力から不必要な点を削除します - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. 値を小さくすると、より細かく、より正確なメッシュとなります。小さい値にしても、処理時間はそれほど大幅に増加しません。 - - - The completion mode for the operation: single or multi-pass - 工程の終了モード: シングルまたはマルチパス - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - ツールパスが部品の周りを移動する時の方向: Climb(時計回り)または Conventional(反時計回り) - Stop index(angle) for rotational scan 回転スキャンの停止インデックス(角度) - - - Ignore areas that proceed below specified depth. - 指定された深さより下のエリアを無視。 - - - - Depth used to identify waste areas to ignore. - 無視される不要エリアを特定するための深さ - - - - Cut through waste to depth at model edge, releasing the model. - モデル端で最低部まで不要部を切り抜き、モデルを解放 - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied コピーするパス + + + The base geometry of this toolpath + このツールパスのベースジオメトリー + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. 工程に適用する追加オフセット。方向は工程に依存して変わります。 - - - The library to use to generate the path - パスの生成に使用するライブラリ - Start pocketing at center or boundary @@ -704,9 +649,64 @@ 工具径補正を使用する場合は True - - The base geometry of this toolpath - このツールパスのベースジオメトリー + + The direction along which dropcutter lines are created + ドロップカッター線を作成する方向 + + + + Should the operation be limited by the stock object or by the bounding box of the base object + この工程はストックオブジェクト、またはベースオブジェクトのバウンディングボックスによって制限を受けます + + + + Step over percentage of the drop cutter path + ドロップカッターパスのステップオーバーのパーセント + + + + Z-axis offset from the surface of the object + オブジェクトのサーフェスからのZ軸オフセット + + + + The Sample Interval. Small values cause long wait times + サンプル間隔。 値を小さくすると処理時間が長くなります。 + + + + Enable optimization which removes unnecessary points from G-Code output + 最適化を有効に設定すると、G-Code出力から不必要な点を削除します + + + + The completion mode for the operation: single or multi-pass + 工程の終了モード: シングルまたはマルチパス + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + ツールパスが部品の周りを移動する時の方向: Climb(時計回り)または Conventional(反時計回り) + + + + Ignore areas that proceed below specified depth. + 指定された深さより下のエリアを無視。 + + + + Depth used to identify waste areas to ignore. + 無視される不要エリアを特定するための深さ + + + + Cut through waste to depth at model edge, releasing the model. + モデル端で最低部まで不要部を切り抜き、モデルを解放 + + + + The library to use to generate the path + パスの生成に使用するライブラリ @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - %.2fは 無効な切れ刃角です。切れ刃角は <90° and >=0° でなければなりません - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° %.2f は、無効な切削角度です。 0°より大きく、かつ180°以下でなければいけません。 + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + %.2fは 無効な切れ刃角です。切れ刃角は <90° and >=0° でなければなりません + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face 非水平面を無視 - - - Face appears misaligned after initial rotation. - 初期回転後、面が不整状態になります。 - - - - Consider toggling the 'InverseAngle' property and recomputing. - 「InverseAngle」プロパティを切り替えて、再計算することを検討して下さい。 - - - - Multiple faces in Base Geometry. - ベースジオメトリーの複数面 - - - - Depth settings will be applied to all faces. - 深さの設定を全ての面に適用します - - - - EnableRotation property is 'Off'. - EnableRotation プロパティーが「オフ」になっています。 - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils ユーティリティ + + + Face appears misaligned after initial rotation. + 初期回転後、面が不整状態になります。 + + + + Consider toggling the 'InverseAngle' property and recomputing. + 「InverseAngle」プロパティを切り替えて、再計算することを検討して下さい。 + + + + Multiple faces in Base Geometry. + ベースジオメトリーの複数面 + + + + Depth settings will be applied to all faces. + 深さの設定を全ての面に適用します + + + + EnableRotation property is 'Off'. + EnableRotation プロパティーが「オフ」になっています。 + @@ -1980,16 +1980,6 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 PathPocket - - - Pocket Shape - ポケット形状 - - - - Creates a Path Pocket object from a face or faces - 1面または複数面からパス・ポケット・オブジェクトを作成 - Normal @@ -2040,6 +2030,16 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + ポケット形状 + + + + Creates a Path Pocket object from a face or faces + 1面または複数面からパス・ポケット・オブジェクトを作成 + 3D Pocket @@ -3461,6 +3461,16 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Path_Dressup + + + Dress-up + ドレスアップ + + + + Creates a Path Dess-up object from a selected path + 選択したパスからパス・ドレスアップ・オブジェクトを作成 + Please select one path object @@ -3480,16 +3490,6 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Please select a Path object パスオブジェクトを選択して下さい - - - Dress-up - ドレスアップ - - - - Creates a Path Dess-up object from a selected path - 選択したパスからパス・ドレスアップ・オブジェクトを作成 - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Creates a Path Hop object パス・ホップ・オブジェクトを作成 - - - The selected object is not a path - - 選択されたオブジェクトはパスではありません - - Please select one path object @@ -3984,6 +3977,13 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Create Hop ホップを作成 + + + The selected object is not a path + + 選択されたオブジェクトはパスではありません + + Path_Inspect @@ -4233,11 +4233,6 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Path_Sanity - - - The Job has no selected Base object. - ジョブに選択されたベース オブジェクトがありません。 - Check the path job for common errors @@ -4488,6 +4483,11 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Date 日時 + + + The Job has no selected Base object. + ジョブに選択されたベース オブジェクトがありません。 + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Path_ToolController - - - Tool Number to Load - 読み込む工具番号 - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Add Tool Controller ツールコントローラーを追加 + + + Tool Number to Load + 読み込む工具番号 + Path_ToolTable @@ -4690,11 +4690,6 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarveにはCuttingEdgeAngleを持つ彫刻加工カッターが必要です - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Engraver Cutting Edge Angle must be < 180 degrees. 彫刻加工の切削エッジ角度は180度未満でなければなりません。 + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarveにはCuttingEdgeAngleを持つ彫刻加工カッターが必要です + Path_Waterline @@ -4739,56 +4739,11 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Save toolbit library ツールビットのライブラリを保存 - - - Tooltable JSON (*.json) - ツールテーブル JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCADツールテーブル (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNCツールテーブル (*.tbl) - Open tooltable ツールテーブルを開く - - - Save tooltable - ツールテーブルを保存 - - - - Rename Tooltable - ツールテーブルの名前を変更 - - - - Enter Name: - 名前を入力: - - - - Add New Tool Table - 新しいツールテーブルを追加 - - - - Delete Selected Tool Table - 選択したツールテーブルを削除 - - - - Rename Selected Tool Table - 選択したツールテーブルの名前を変更 - Tooltable editor @@ -4999,6 +4954,11 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) ツールテーブルXML (*.xml);HeeksCADツールテーブル (*.tooltable) + + + Save tooltable + ツールテーブルを保存 + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ FinalDepthを手動で設定する必要がある場合は別の操作を選択 Object doesn't have a tooltable property オブジェクトがツールテーブルプロパティを持っていません。 + + + Rename Tooltable + ツールテーブルの名前を変更 + + + + Enter Name: + 名前を入力: + + + + Add New Tool Table + 新しいツールテーブルを追加 + + + + Delete Selected Tool Table + 選択したツールテーブルを削除 + + + + Rename Selected Tool Table + 選択したツールテーブルの名前を変更 + + + + Tooltable JSON (*.json) + ツールテーブル JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCADツールテーブル (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNCツールテーブル (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_kab.ts b/src/Mod/Path/Gui/Resources/translations/Path_kab.ts index 63c1c0e751..9c207b7ecc 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_kab.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_kab.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Le chemin d'accès à copier + + + The base geometry of this toolpath + La géométrie de base du parcours de l'outil + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - The library to use to generate the path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - La géométrie de base du parcours de l'outil + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + The library to use to generate the path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Habillage + + + + Creates a Path Dess-up object from a selected path + Crée un habillage d'une trajectoire sélectionnée + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Veuillez sélectionner une trajectoire - - - Dress-up - Habillage - - - - Creates a Path Dess-up object from a selected path - Crée un habillage d'une trajectoire sélectionnée - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Crée une trajectoire de saut - - - The selected object is not a path - - L'objet sélectionné n'est pas une trajectoire - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Crée un saut + + + The selected object is not a path + + L'objet sélectionné n'est pas une trajectoire + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4648,11 +4648,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Numéro d'outil à charger - Add Tool Controller to the Job @@ -4663,6 +4658,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Numéro d'outil à charger + Path_ToolTable @@ -4689,11 +4689,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4704,6 +4699,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4738,56 +4738,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Ouvre la table des outils - - - Save tooltable - Enregistrer la table d'outils - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4998,6 +4953,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Table d'outils XML (*.xml);;Table d'outils HeeksCAD (*.tooltable) + + + Save tooltable + Enregistrer la table d'outils + Tooltable XML (*.xml) @@ -5013,6 +4973,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property L'objet ne possède pas de propriété d'outil pour être mis dans la table + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ko.ts b/src/Mod/Path/Gui/Resources/translations/Path_ko.ts index 26e61c66f7..e073d17d62 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ko.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ko.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - The library to use to generate the path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + The library to use to generate the path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable 도구목록 열기 - - - Save tooltable - 도구목록을 저장 - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) 도구목록 XML (*.xml); HeeksCAD 도구목록 (*.tooltable) + + + Save tooltable + 도구목록을 저장 + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property 개체가 도구목록 속성을 하지 않습니다. + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_lt.ts b/src/Mod/Path/Gui/Resources/translations/Path_lt.ts index f07619aec1..14547767b5 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_lt.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_lt.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - The library to use to generate the path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + The library to use to generate the path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_nl.ts b/src/Mod/Path/Gui/Resources/translations/Path_nl.ts index 55da3e96f5..59882dbac9 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_nl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_nl.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Toon de tijdelijke padconstructie-objecten wanneer de module in DEBUG-modus staat. - - - The direction along which dropcutter lines are created - De richting langs welke dropcutter lijnen worden gemaakt - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Moet de bewerking worden beperkt door het voorraadobject of door de begrenzingsdoos van het basisobject - - - - Step over percentage of the drop cutter path - Stap over percentage van het drop cutter pad - - - - Z-axis offset from the surface of the object - Z-as verschuiving van het oppervlak van het object - - - - The Sample Interval. Small values cause long wait times - De Staalinterval. Kleine waarden veroorzaken lange wachttijden - - - - Enable optimization which removes unnecessary points from G-Code output - Optimalisatie inschakelen die onnodige punten verwijdert van de G-Code uitvoer - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Kleinere waarden leveren een fijner, nauwkeuriger mesh op. Kleinere waarden verhogen de verwerkingstijd niet aanzienlijk. - - - The completion mode for the operation: single or multi-pass - De voltooiing modus voor de bewerking: één of meerdere-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - De richting die het tool moet volge rond het werkstuk: Climb(met de klok mee) of conventioneel(tegen de klok) - Stop index(angle) for rotational scan Stop index(hoek) voor rotationele scan - - - Ignore areas that proceed below specified depth. - Negeer gebieden die onder de opgegeven diepte gaan. - - - - Depth used to identify waste areas to ignore. - Diepte die gebruikt werd om de te negeren afvalgebieden te identificeren. - - - - Cut through waste to depth at model edge, releasing the model. - Ga door afval naar diepte aan de modelrand, waardoor het model vrijkomt. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Het te kopiëren pad + + + The base geometry of this toolpath + De basisgeometrie voor dit gereedschapspad + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra verschuiving om toe te passen op de bewerking. Richting is afhankelijk van bewerking. - - - The library to use to generate the path - De te bibliotheek gebruiken voor het genereren van het pad - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Zet Waar indien u gebruik maakt van de straalcompensatie van de snijder - - The base geometry of this toolpath - De basisgeometrie voor dit gereedschapspad + + The direction along which dropcutter lines are created + De richting langs welke dropcutter lijnen worden gemaakt + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Moet de bewerking worden beperkt door het voorraadobject of door de begrenzingsdoos van het basisobject + + + + Step over percentage of the drop cutter path + Stap over percentage van het drop cutter pad + + + + Z-axis offset from the surface of the object + Z-as verschuiving van het oppervlak van het object + + + + The Sample Interval. Small values cause long wait times + De Staalinterval. Kleine waarden veroorzaken lange wachttijden + + + + Enable optimization which removes unnecessary points from G-Code output + Optimalisatie inschakelen die onnodige punten verwijdert van de G-Code uitvoer + + + + The completion mode for the operation: single or multi-pass + De voltooiing modus voor de bewerking: één of meerdere-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + De richting die het tool moet volge rond het werkstuk: Climb(met de klok mee) of conventioneel(tegen de klok) + + + + Ignore areas that proceed below specified depth. + Negeer gebieden die onder de opgegeven diepte gaan. + + + + Depth used to identify waste areas to ignore. + Diepte die gebruikt werd om de te negeren afvalgebieden te identificeren. + + + + Cut through waste to depth at model edge, releasing the model. + Ga door afval naar diepte aan de modelrand, waardoor het model vrijkomt. + + + + The library to use to generate the path + De te bibliotheek gebruiken voor het genereren van het pad @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Ongeldige hoek van de snijrand %.2f, moet >=0° en <90° zijn - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Ongeldige hoek van de snijrand %.2f, moet >=0° en <=180° zijn + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Ongeldige hoek van de snijrand %.2f, moet >=0° en <90° zijn + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Toegenomen naar de standaard top. Ignoring non-horizontal Face Negeer niet-horizontaal vlak - - - Face appears misaligned after initial rotation. - Het vlak lijkt verkeerd uitgelijnd te zijn na de eerste rotatie. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Probeer de 'InverseAngle'-eigenschap te veranderen en opnieuw te berekenen. - - - - Multiple faces in Base Geometry. - Meerdere vlakken in de basisgeometrie. - - - - Depth settings will be applied to all faces. - Diepte-instellingen zullen op alle vlakken toegepast worden. - - - - EnableRotation property is 'Off'. - EnableRotation-eigenschap is 'Uit'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Toegenomen naar de standaard top. Utils Hulpmiddelen + + + Face appears misaligned after initial rotation. + Het vlak lijkt verkeerd uitgelijnd te zijn na de eerste rotatie. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Probeer de 'InverseAngle'-eigenschap te veranderen en opnieuw te berekenen. + + + + Multiple faces in Base Geometry. + Meerdere vlakken in de basisgeometrie. + + + + Depth settings will be applied to all faces. + Diepte-instellingen zullen op alle vlakken toegepast worden. + + + + EnableRotation property is 'Off'. + EnableRotation-eigenschap is 'Uit'. + @@ -1980,16 +1980,6 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew PathPocket - - - Pocket Shape - Vorm van de uitsparing - - - - Creates a Path Pocket object from a face or faces - Maakt een object van een paduitsparing aan vanuit een of meerdere vlakken - Normal @@ -2040,6 +2030,16 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Final depth set below ZMin of face(s) selected. Definitieve diepte ingesteld onder ZMin of vlak(ken) geselecteerd. + + + Pocket Shape + Vorm van de uitsparing + + + + Creates a Path Pocket object from a face or faces + Maakt een object van een paduitsparing aan vanuit een of meerdere vlakken + 3D Pocket @@ -3461,6 +3461,16 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Path_Dressup + + + Dress-up + Verkleding + + + + Creates a Path Dess-up object from a selected path + Maakt een padverkledingsobject uit een geselecteerd pad + Please select one path object @@ -3480,16 +3490,6 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Please select a Path object Gelieve een padobject te selecteren - - - Dress-up - Verkleding - - - - Creates a Path Dess-up object from a selected path - Maakt een padverkledingsobject uit een geselecteerd pad - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Creates a Path Hop object Maakt een Padsprongobject - - - The selected object is not a path - - Het geselecteerde object is geen pad - - Please select one path object @@ -3984,6 +3977,13 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Create Hop Sprong maken + + + The selected object is not a path + + Het geselecteerde object is geen pad + + Path_Inspect @@ -4233,11 +4233,6 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Path_Sanity - - - The Job has no selected Base object. - Er is geen geselecteerd basisobject voor de taak. - Check the path job for common errors @@ -4488,6 +4483,11 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Date Datum + + + The Job has no selected Base object. + Er is geen geselecteerd basisobject voor de taak. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Path_ToolController - - - Tool Number to Load - Te laden gereedschapsnummer - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Add Tool Controller Gereedschapsregelaar toevoegen + + + Tool Number to Load + Te laden gereedschapsnummer + Path_ToolTable @@ -4690,11 +4690,6 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Creates a medial line engraving path Maakt een middelste lijn graveer pad - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve vereist een graverende snijder met CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Engraver Cutting Edge Angle must be < 180 degrees. Engraver snij-hoek moet < 180 graden zijn. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve vereist een graverende snijder met CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Save toolbit library Toolbit-bibliotheek opslaan - - - Tooltable JSON (*.json) - Gereedschapstafel JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD-gereedschapstafel (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC-gereedschapstafel (*.tbl) - Open tooltable Open gereedschapstafel - - - Save tooltable - Gereedschapstafel opslaan - - - - Rename Tooltable - Hernoem gereedschapstabel - - - - Enter Name: - Naam invoeren: - - - - Add New Tool Table - Voeg nieuwe gereedschapstabel toe - - - - Delete Selected Tool Table - Verwijder de geselecteerde gereedschapstabel - - - - Rename Selected Tool Table - Hernoem de geselecteerde gereedschapstabel - Tooltable editor @@ -4999,6 +4954,11 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Gereedschapstafel XML (*.xml);;HeeksCAD-gereedschapstafel (*.tooltable) + + + Save tooltable + Gereedschapstafel opslaan + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ Als het nodig is de FinalDepth handmatig aan te geven, doe dat in een andere bew Object doesn't have a tooltable property Object heeft geen gereedschapstafeleigenschap + + + Rename Tooltable + Hernoem gereedschapstabel + + + + Enter Name: + Naam invoeren: + + + + Add New Tool Table + Voeg nieuwe gereedschapstabel toe + + + + Delete Selected Tool Table + Verwijder de geselecteerde gereedschapstabel + + + + Rename Selected Tool Table + Hernoem de geselecteerde gereedschapstabel + + + + Tooltable JSON (*.json) + Gereedschapstafel JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD-gereedschapstafel (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC-gereedschapstafel (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_no.ts b/src/Mod/Path/Gui/Resources/translations/Path_no.ts index 0abccf10bb..8f8f30f706 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_no.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_no.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - The library to use to generate the path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + The library to use to generate the path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_pl.qm b/src/Mod/Path/Gui/Resources/translations/Path_pl.qm index 07aa5cd8b6..bd86e6c283 100644 Binary files a/src/Mod/Path/Gui/Resources/translations/Path_pl.qm and b/src/Mod/Path/Gui/Resources/translations/Path_pl.qm differ diff --git a/src/Mod/Path/Gui/Resources/translations/Path_pl.ts b/src/Mod/Path/Gui/Resources/translations/Path_pl.ts index 401384aafa..073881dd49 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_pl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_pl.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Pokaż tymczasowe obiekty konstrukcyjne ścieżki, gdy moduł jest w trybie DEBUGOWANIA. - - - The direction along which dropcutter lines are created - Kierunek tworzenia linii cięcia - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Czy operacja ma być ograniczona przez obiekt podstawowy czy przez ramkę obrysu obiektu bazowego - - - - Step over percentage of the drop cutter path - Procentowa wielkość kroku ścieżki narzędzia - - - - Z-axis offset from the surface of the object - Odsunięcie osi Z od powierzchni obiektu - - - - The Sample Interval. Small values cause long wait times - Przykładowy interwał. Niskie wartości powodują długi okres oczekiwania - - - - Enable optimization which removes unnecessary points from G-Code output - Włącz optymalizację która usuwa nie potrzebne punkty z G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Mniejsze wartości dają drobniejszą i dokładniejszą siatkę. Mniejsze wartości nie zwiększają znacznie czasu przetwarzania. - - - The completion mode for the operation: single or multi-pass - Tryb wykonania operacji: pojedyncza lub wieloprzejściowa - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Kierunek, w którym ścieżka narzędzia powinna przechodzić wokół części: współbieżnie (zgodnie z ruchem wskazówek zegara) lub przeciwbieżnie (przeciwnie do ruchu wskazówek zegara) - Stop index(angle) for rotational scan Indeks końcowy (kąt) dla skanowania obrotowego - - - Ignore areas that proceed below specified depth. - Ignoruj obszary, które sięgają poniżej określonej głębokości. - - - - Depth used to identify waste areas to ignore. - Głębokość używana do identyfikacji obszarów odpadów do zignorowania. - - - - Cut through waste to depth at model edge, releasing the model. - Odetnij odpad ne krawędzi modelu by uwolnić model. - Dropcutter lines are created parallel to this axis. @@ -244,6 +189,11 @@ Obrotowy: Skanowanie obrotowe w 4 osiach. The path to be copied Ścieżka do skopiowania + + + The base geometry of this toolpath + Podstawowa geometria tej ścieżki narzędzia + The tool controller that will be used to calculate the path @@ -559,11 +509,6 @@ Obrotowy: Skanowanie obrotowe w 4 osiach. Extra offset to apply to the operation. Direction is operation dependent. Dodatkowy offset do operacji. Kierunek jest zależny od operacji. - - - The library to use to generate the path - Biblioteka używana do generowania ścieżki - Start pocketing at center or boundary @@ -705,9 +650,64 @@ Obrotowy: Skanowanie obrotowe w 4 osiach. Ustaw wartość Prawda, jeśli używasz kompensacji promienia frezu - - The base geometry of this toolpath - Podstawowa geometria tej ścieżki narzędzia + + The direction along which dropcutter lines are created + Kierunek tworzenia linii cięcia + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Czy operacja ma być ograniczona przez obiekt podstawowy czy przez ramkę obrysu obiektu bazowego + + + + Step over percentage of the drop cutter path + Procentowa wielkość kroku ścieżki narzędzia + + + + Z-axis offset from the surface of the object + Odsunięcie osi Z od powierzchni obiektu + + + + The Sample Interval. Small values cause long wait times + Przykładowy interwał. Niskie wartości powodują długi okres oczekiwania + + + + Enable optimization which removes unnecessary points from G-Code output + Włącz optymalizację która usuwa nie potrzebne punkty z G-Code + + + + The completion mode for the operation: single or multi-pass + Tryb wykonania operacji: pojedyncza lub wieloprzejściowa + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Kierunek, w którym ścieżka narzędzia powinna przechodzić wokół części: współbieżnie (zgodnie z ruchem wskazówek zegara) lub przeciwbieżnie (przeciwnie do ruchu wskazówek zegara) + + + + Ignore areas that proceed below specified depth. + Ignoruj obszary, które sięgają poniżej określonej głębokości. + + + + Depth used to identify waste areas to ignore. + Głębokość używana do identyfikacji obszarów odpadów do zignorowania. + + + + Cut through waste to depth at model edge, releasing the model. + Odetnij odpad ne krawędzi modelu by uwolnić model. + + + + The library to use to generate the path + Biblioteka używana do generowania ścieżki @@ -857,7 +857,7 @@ Obrotowy: Skanowanie obrotowe w 4 osiach. The vertex index to start the path from - Indeks wierzchołka, od którego można rozpocząć trajektorię + Indeks wierzchołka, od którego rozpoczyna się trasa @@ -987,16 +987,16 @@ Obrotowy: Skanowanie obrotowe w 4 osiach. Selected tool is not a drill Wybrane narzędzie nie jest wiertłem - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Nieprawidłowy kąt krawędzi tnącej% .2f, musi wynosić <90 ° i> = 0 ° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Nieprawidłowy kąt krawędzi cięcia %.2f, musi być >0° i <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Nieprawidłowy kąt krawędzi tnącej% .2f, musi wynosić <90 ° i> = 0 ° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1159,31 +1159,6 @@ Zwiększona do górnej krawędzi materiału. Ignoring non-horizontal Face Ignorowanie niepoziomej ściany - - - Face appears misaligned after initial rotation. - Po wstępnym obrocie ściana wydaje się być nieprawidłowo ustawiona. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Rozważ przełączenie właściwości „Odwrotny kąt” i ponowne obliczenie. - - - - Multiple faces in Base Geometry. - Wiele ścian w geometrii bazowej. - - - - Depth settings will be applied to all faces. - Ustawienia głębokości zostaną zastosowane do wszystkich ścian. - - - - EnableRotation property is 'Off'. - Właściwość Zezwól na obrót jest wyłączona. - Unable to create path for face(s). @@ -1249,6 +1224,31 @@ Zwiększona do górnej krawędzi materiału. Utils Narzędzia + + + Face appears misaligned after initial rotation. + Po wstępnym obrocie ściana wydaje się być nieprawidłowo ustawiona. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Rozważ przełączenie właściwości „Odwrotny kąt” i ponowne obliczenie. + + + + Multiple faces in Base Geometry. + Wiele ścian w geometrii bazowej. + + + + Depth settings will be applied to all faces. + Ustawienia głębokości zostaną zastosowane do wszystkich ścian. + + + + EnableRotation property is 'Off'. + Właściwość Zezwól na obrót jest wyłączona. + @@ -1527,7 +1527,7 @@ Zwiększona do górnej krawędzi materiału. The vertex index to start the path from - Indeks wierzchołka, od którego można rozpocząć trajektorię + Indeks wierzchołka, od którego rozpoczyna się trasa @@ -1979,16 +1979,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Kształt kieszeni - - - - Creates a Path Pocket object from a face or faces - Tworzy obiekt Kierunek ścieżki z twarzy lub twarzy - Normal @@ -2039,6 +2029,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Głębokość końcowa ustawiona poniżej Z min dla wybranej(-ych) powierzchni. + + + Pocket Shape + Kształt kieszeni + + + + Creates a Path Pocket object from a face or faces + Tworzy obiekt Kierunek ścieżki z twarzy lub twarzy + 3D Pocket @@ -3464,6 +3464,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Ulepszenia + + + + Creates a Path Dess-up object from a selected path + Tworzy obiekt ścieżki Dess-up z zaznaczonej ścieżki + Please select one path object @@ -3483,16 +3493,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Proszę wybrać obiekt-ścieżkę - - - Dress-up - Ulepszenia - - - - Creates a Path Dess-up object from a selected path - Tworzy obiekt ścieżki Dess-up z zaznaczonej ścieżki - Path_DressupAxisMap @@ -3965,13 +3965,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Tworzy obiekty Path Hop - - - The selected object is not a path - - Wybrany obiekt nie jest ścieżką - - Please select one path object @@ -3987,6 +3980,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Utwórz skok + + + The selected object is not a path + + Wybrany obiekt nie jest ścieżką + + Path_Inspect @@ -4236,11 +4236,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - Zadanie nie ma wybranego obiektu bazowego. - Check the path job for common errors @@ -4491,6 +4486,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Data + + + The Job has no selected Base object. + Zadanie nie ma wybranego obiektu bazowego. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4651,11 +4651,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Numer narzędzi do wczytania - Add Tool Controller to the Job @@ -4666,6 +4661,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Dodaj kontroler narzędzi + + + Tool Number to Load + Numer narzędzi do wczytania + Path_ToolTable @@ -4692,11 +4692,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Tworzy ścieżkę grawerowania linii środkowej - - - VCarve requires an engraving cutter with CuttingEdgeAngle - Wycięcie V wymaga frezu do grawerowania z kątem cięcia krawędzi - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4707,6 +4702,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Kąt krawędzi tnącej grawera musi być <180 stopni. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + Wycięcie V wymaga frezu do grawerowania z kątem cięcia krawędzi + Path_Waterline @@ -4741,56 +4741,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Zapisz bibliotekę narzędzi - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Otwórz tabelę narzędziową - - - Save tooltable - Zapisz tabelę narzędziową - - - - Rename Tooltable - Zmień nazwę tabeli narzędzi - - - - Enter Name: - Wprowadź nazwę: - - - - Add New Tool Table - Dodaj nową tabelę narzędzi - - - - Delete Selected Tool Table - Usuń zaznaczoną tabelę narzędzi - - - - Rename Selected Tool Table - Zmień nazwę zaznaczonej tabeli narzędzi - Tooltable editor @@ -5001,6 +4956,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tabela narzędziowa XML (*.xml); tabela HeeksCAD (*.tooltable) + + + Save tooltable + Zapisz tabelę narzędziową + Tooltable XML (*.xml) @@ -5016,6 +4976,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Obiekt nie ma właściwości tooltable + + + Rename Tooltable + Zmień nazwę tabeli narzędzi + + + + Enter Name: + Wprowadź nazwę: + + + + Add New Tool Table + Dodaj nową tabelę narzędzi + + + + Delete Selected Tool Table + Usuń zaznaczoną tabelę narzędzi + + + + Rename Selected Tool Table + Zmień nazwę zaznaczonej tabeli narzędzi + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) @@ -5955,7 +5955,7 @@ If it is necessary to set the FinalDepth manually please select a different oper If the toolpath is a closed polyline this is True - Jeśli ścieżki narzędzia jest zamkniętą polilinią wtedy Prawda + Jeśli ścieżka narzędzia jest zamkniętą polilinią wtedy parametr ma wartość Prawda diff --git a/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts b/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts index 3358551799..b86a24f8da 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_pt-BR.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Mostra os objetos temporários de construção de trajetória quando o módulo está no modo DEBUG. - - - The direction along which dropcutter lines are created - A direção ao longo da qual as linhas de corte são criadas - - - - Should the operation be limited by the stock object or by the bounding box of the base object - A operação deve ser limitada pelo objeto das ações ou pela caixa delimitadora do objeto base - - - - Step over percentage of the drop cutter path - Passo a percentagem do caminho do cortador de gota - - - - Z-axis offset from the surface of the object - Deslocamento do eixo-z da superfície do objeto - - - - The Sample Interval. Small values cause long wait times - O intervalo de amostragem. Pequenos valores causam tempos de longa espera - - - - Enable optimization which removes unnecessary points from G-Code output - Habilitar otimização que remove pontos desnecessários do G-Code gerado - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Valores menores produzem uma malha melhor e mais precisa. No entanto, não aumentam muito o tempo de processamento. - - - The completion mode for the operation: single or multi-pass - O modo de conclusão da operação: único ou multipasse - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - A direção do caminho da ferramenta ao redor da peça deve ser: Sentido horário(CW) ou Sentido anti-horário(CCW) - Stop index(angle) for rotational scan Parar índice(ângulo) para a verificação rotativa - - - Ignore areas that proceed below specified depth. - Ignorar áreas que se desenrolam abaixo da profundidade especificada. - - - - Depth used to identify waste areas to ignore. - Profundidade usada para identificar áreas de resíduos para ignorar. - - - - Cut through waste to depth at model edge, releasing the model. - Corte os resíduos para profundidade na borda do modelo, libertando o modelo. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied O caminho a ser copiado + + + The base geometry of this toolpath + A geometria base deste caminho de ferramenta + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Deslocamento extra a ser aplicado à operação. A direção depende da operação. - - - The library to use to generate the path - Biblioteca a usar para gerar a trajetória - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Torne verdadeiro, se está usando a compensação do raio do cortador - - The base geometry of this toolpath - A geometria base deste caminho de ferramenta + + The direction along which dropcutter lines are created + A direção ao longo da qual as linhas de corte são criadas + + + + Should the operation be limited by the stock object or by the bounding box of the base object + A operação deve ser limitada pelo objeto das ações ou pela caixa delimitadora do objeto base + + + + Step over percentage of the drop cutter path + Passo a percentagem do caminho do cortador de gota + + + + Z-axis offset from the surface of the object + Deslocamento do eixo-z da superfície do objeto + + + + The Sample Interval. Small values cause long wait times + O intervalo de amostragem. Pequenos valores causam tempos de longa espera + + + + Enable optimization which removes unnecessary points from G-Code output + Habilitar otimização que remove pontos desnecessários do G-Code gerado + + + + The completion mode for the operation: single or multi-pass + O modo de conclusão da operação: único ou multipasse + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + A direção do caminho da ferramenta ao redor da peça deve ser: Sentido horário(CW) ou Sentido anti-horário(CCW) + + + + Ignore areas that proceed below specified depth. + Ignorar áreas que se desenrolam abaixo da profundidade especificada. + + + + Depth used to identify waste areas to ignore. + Profundidade usada para identificar áreas de resíduos para ignorar. + + + + Cut through waste to depth at model edge, releasing the model. + Corte os resíduos para profundidade na borda do modelo, libertando o modelo. + + + + The library to use to generate the path + Biblioteca a usar para gerar a trajetória @@ -986,16 +986,16 @@ Selected tool is not a drill A ferramenta selecionada não é uma broca - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Ângulo de corte de esquina %.2f inválido, deve ser <90º e >=0º - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Ângulo de corte de aresta inválido: %.2f, deve ser >0º e <=180º + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Ângulo de corte de esquina %.2f inválido, deve ser <90º e >=0º + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Aumentando para o topo do estoque. Ignoring non-horizontal Face Ignorando faces não-horizontais - - - Face appears misaligned after initial rotation. - A face parece desalinhada após a rotação inicial. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Considere alternar a propriedade 'InverseAngle' e recalcular. - - - - Multiple faces in Base Geometry. - Múltiplas faces na Geometria Base. - - - - Depth settings will be applied to all faces. - Configurações de profundidade serão aplicadas a todas as faces. - - - - EnableRotation property is 'Off'. - A propriedade HabilitarRotação está 'Desligada'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Aumentando para o topo do estoque. Utils Utilidades + + + Face appears misaligned after initial rotation. + A face parece desalinhada após a rotação inicial. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Considere alternar a propriedade 'InverseAngle' e recalcular. + + + + Multiple faces in Base Geometry. + Múltiplas faces na Geometria Base. + + + + Depth settings will be applied to all faces. + Configurações de profundidade serão aplicadas a todas as faces. + + + + EnableRotation property is 'Off'. + A propriedade HabilitarRotação está 'Desligada'. + @@ -1980,16 +1980,6 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci PathPocket - - - Pocket Shape - Forma Vazio (bolso) - - - - Creates a Path Pocket object from a face or faces - Cria uma trajetória de vazio (bolso) de uma face ou faces - Normal @@ -2040,6 +2030,16 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Final depth set below ZMin of face(s) selected. Profundidade final definida abaixo de ZMin para faces selecionadas. + + + Pocket Shape + Forma Vazio (bolso) + + + + Creates a Path Pocket object from a face or faces + Cria uma trajetória de vazio (bolso) de uma face ou faces + 3D Pocket @@ -3461,6 +3461,16 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Path_Dressup + + + Dress-up + Trajetória adicional + + + + Creates a Path Dess-up object from a selected path + Cria uma trajetória de vestimento a partir de uma trajetória selecionada + Please select one path object @@ -3480,16 +3490,6 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Please select a Path object Por favor selecione uma trajetória - - - Dress-up - Trajetória adicional - - - - Creates a Path Dess-up object from a selected path - Cria uma trajetória de vestimento a partir de uma trajetória selecionada - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Creates a Path Hop object Cria uma trajetória de salto - - - The selected object is not a path - - O objeto selecionado não é uma trajetória - - Please select one path object @@ -3984,6 +3977,13 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Create Hop Criar salto + + + The selected object is not a path + + O objeto selecionado não é uma trajetória + + Path_Inspect @@ -4233,11 +4233,6 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Path_Sanity - - - The Job has no selected Base object. - O trabalho não tem nenhum objeto Base selecionado. - Check the path job for common errors @@ -4488,6 +4483,11 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Date Data + + + The Job has no selected Base object. + O trabalho não tem nenhum objeto Base selecionado. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Path_ToolController - - - Tool Number to Load - Número da ferramenta a carregar - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Add Tool Controller Adicionar controlador de ferramenta + + + Tool Number to Load + Número da ferramenta a carregar + Path_ToolTable @@ -4690,11 +4690,6 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Creates a medial line engraving path Cria uma trajetória de gravação de linha mediana - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requer um cortador de gravura com CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Engraver Cutting Edge Angle must be < 180 degrees. Ângulo de corte da borda deve ser de < 180 graus. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requer um cortador de gravura com CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Save toolbit library Salvar biblioteca de brocas - - - Tooltable JSON (*.json) - Tabela de ferramentas JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Tabela de ferramentas HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Tabela de ferramentas LinuxCNC (*.tbl) - Open tooltable Abrir tabela de ferramentas - - - Save tooltable - Salvar tabela de ferramentas - - - - Rename Tooltable - Renomear tabela de ferramentas - - - - Enter Name: - Digite o Nome: - - - - Add New Tool Table - Adicionar nova tabela de ferramentas - - - - Delete Selected Tool Table - Excluir tabela de ferramentas selecionada - - - - Rename Selected Tool Table - Renomear a tabela de ferramentas selecionada - Tooltable editor @@ -4999,6 +4954,11 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tabela de ferramentas XML (*.xml);;tabela de ferramentas HeeksCAD (*.tooltable) + + + Save tooltable + Salvar tabela de ferramentas + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ Se for necessário definir a profundidade final (FinalDepth) manualmente, seleci Object doesn't have a tooltable property Objeto não tem uma propriedade da tabela de ferramentas + + + Rename Tooltable + Renomear tabela de ferramentas + + + + Enter Name: + Digite o Nome: + + + + Add New Tool Table + Adicionar nova tabela de ferramentas + + + + Delete Selected Tool Table + Excluir tabela de ferramentas selecionada + + + + Rename Selected Tool Table + Renomear a tabela de ferramentas selecionada + + + + Tooltable JSON (*.json) + Tabela de ferramentas JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Tabela de ferramentas HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Tabela de ferramentas LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts b/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts index 6f20ff2150..42fbe11379 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_pt-PT.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Mostra os objetos temporários de construção do caminho quando o módulo está no modo DEBUG. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Deslocamento no eixo Z desde a superfície do objeto - - - - The Sample Interval. Small values cause long wait times - Intervalo de amostragem. Valores pequenos causam longas esperas - - - - Enable optimization which removes unnecessary points from G-Code output - Habilitar otimização que remove pontos desnecessários do resultado G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Valores menores resultam numa malha mais fina e mais precisa. Valores menores não aumentam muito o tempo de processamento. - - - The completion mode for the operation: single or multi-pass - O modo de conclusão da operação: passagem única ou múltipla - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignorar áreas que continuam abaixo da profundidade especificada. - - - - Depth used to identify waste areas to ignore. - Profundidade usada para identificar áreas de desperdício a ignorar. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied O caminho a ser copiado + + + The base geometry of this toolpath + A geometria base deste caminho de ferramenta + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Deslocamento extra para aplicar à operação. Direção é dependente de operação. - - - The library to use to generate the path - Biblioteca a usar para gerar a trajetória - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - A geometria base deste caminho de ferramenta + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Deslocamento no eixo Z desde a superfície do objeto + + + + The Sample Interval. Small values cause long wait times + Intervalo de amostragem. Valores pequenos causam longas esperas + + + + Enable optimization which removes unnecessary points from G-Code output + Habilitar otimização que remove pontos desnecessários do resultado G-Code + + + + The completion mode for the operation: single or multi-pass + O modo de conclusão da operação: passagem única ou múltipla + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignorar áreas que continuam abaixo da profundidade especificada. + + + + Depth used to identify waste areas to ignore. + Profundidade usada para identificar áreas de desperdício a ignorar. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + Biblioteca a usar para gerar a trajetória @@ -986,16 +986,16 @@ Selected tool is not a drill A ferramenta selecionada não é uma broca - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Ângulo de corte de esquina inválido %.2f, deve ser <90º e >=0º - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Ângulo de corte de esquina inválido %.2f, deve ser <90º e >=0º + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignorando Face não-horizontal - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Múltiplas faces na Geometria Base. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utilidades + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Múltiplas faces na Geometria Base. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Forma Vazio (bolso) - - - - Creates a Path Pocket object from a face or faces - Cria uma trajetória de vazio (bolso) de uma face ou faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Forma Vazio (bolso) + + + + Creates a Path Pocket object from a face or faces + Cria uma trajetória de vazio (bolso) de uma face ou faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Cobrir + + + + Creates a Path Dess-up object from a selected path + Cria uma trajetória de cobertura (dress-up) a partir de uma trajetória selecionada + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Por favor selecione uma trajetória - - - Dress-up - Cobrir - - - - Creates a Path Dess-up object from a selected path - Cria uma trajetória de cobertura (dress-up) a partir de uma trajetória selecionada - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Cria objeto de ressalto da trajetória - - - The selected object is not a path - - O objeto selecionado não é uma trajetória - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Criar salto + + + The selected object is not a path + + O objeto selecionado não é uma trajetória + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - O trabalho não tem nenhum objeto Base selecionado. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Data + + + The Job has no selected Base object. + O trabalho não tem nenhum objeto Base selecionado. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Número da ferramenta a carregar - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Adicionar controlador de ferramenta + + + Tool Number to Load + Número da ferramenta a carregar + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tabela de ferramentas JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Tabela de ferramentas HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Tabela de ferramentas LinuxCNC (*.tbl) - Open tooltable Abrir tabela de ferramentas - - - Save tooltable - Salvar tabela de ferramentas - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Introduzir Nome: - - - - Add New Tool Table - Adicionar Nova Tabela de Ferramenta - - - - Delete Selected Tool Table - Excluir Tabela de Ferramenta Selecionada - - - - Rename Selected Tool Table - Renomear a Tabela de Ferramenta Selecionada - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tabela de ferramentas XML (*.xml);;tabela de ferramentas HeeksCAD (*.tooltable) + + + Save tooltable + Salvar tabela de ferramentas + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Objeto não tem uma propriedade da tabela de ferramentas + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Introduzir Nome: + + + + Add New Tool Table + Adicionar Nova Tabela de Ferramenta + + + + Delete Selected Tool Table + Excluir Tabela de Ferramenta Selecionada + + + + Rename Selected Tool Table + Renomear a Tabela de Ferramenta Selecionada + + + + Tooltable JSON (*.json) + Tabela de ferramentas JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Tabela de ferramentas HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Tabela de ferramentas LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ro.ts b/src/Mod/Path/Gui/Resources/translations/Path_ro.ts index 60bf38bc31..c03978a4d6 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ro.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ro.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - Direcția de-a lungul căreia liniile dropcutter sunt create - - - - Should the operation be limited by the stock object or by the bounding box of the base object - În cazul în care operațiunea este limitată pentru obiectul stock sau de limitele parlelipipedului obiectului de bză - - - - Step over percentage of the drop cutter path - Pas peste procentajul traiectoriei de dropcutter - - - - Z-axis offset from the surface of the object - Deplasarea axei Z de la suprafața obiectului - - - - The Sample Interval. Small values cause long wait times - Interval de eșantionare. Valorile mai mici generează timp de așteptarea mai mari - - - - Enable optimization which removes unnecessary points from G-Code output - Permite optimizarea care elimină punctele inutile din codul G-Code rezultat - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Calea de acces de copiat + + + The base geometry of this toolpath + Geometria bază a traiectoriei sculei + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Se aplică un decalaj suplimentar la operaţiunea. Direcţia este dependentă de operație. - - - The library to use to generate the path - Bibliotecă de utilizat pentru a genera traiectoria - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - Geometria bază a traiectoriei sculei + + The direction along which dropcutter lines are created + Direcția de-a lungul căreia liniile dropcutter sunt create + + + + Should the operation be limited by the stock object or by the bounding box of the base object + În cazul în care operațiunea este limitată pentru obiectul stock sau de limitele parlelipipedului obiectului de bză + + + + Step over percentage of the drop cutter path + Pas peste procentajul traiectoriei de dropcutter + + + + Z-axis offset from the surface of the object + Deplasarea axei Z de la suprafața obiectului + + + + The Sample Interval. Small values cause long wait times + Interval de eșantionare. Valorile mai mici generează timp de așteptarea mai mari + + + + Enable optimization which removes unnecessary points from G-Code output + Permite optimizarea care elimină punctele inutile din codul G-Code rezultat + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + Bibliotecă de utilizat pentru a genera traiectoria @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Unghiul muchiei tăietoare este invalid %.2f, trebuie să fie < 90 ° şi > = 0 ° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Unghiul muchiei tăietoare este invalid %.2f, trebuie să fie < 90 ° şi > = 0 ° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Forma de buzunar - - - - Creates a Path Pocket object from a face or faces - Creează un obiect tip buzunar plecând de la muchii sau o suprafață - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Forma de buzunar + + + + Creates a Path Pocket object from a face or faces + Creează un obiect tip buzunar plecând de la muchii sau o suprafață + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Traiectorie adițională + + + + Creates a Path Dess-up object from a selected path + Creează un obiect traiectorie adițională plecând de la un parcurs selecționat + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Vă rugăm să selectaţi un obiect traiecorie - - - Dress-up - Traiectorie adițională - - - - Creates a Path Dess-up object from a selected path - Creează un obiect traiectorie adițională plecând de la un parcurs selecționat - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creează un obiect salt - - - The selected object is not a path - - Obiectul selectat nu este o traiectorie - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Creați un salt + + + The selected object is not a path + + Obiectul selectat nu este o traiectorie + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - Sarcina de lucru nu are obiect în Baza selecționată. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + Sarcina de lucru nu are obiect în Baza selecționată. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Numărul uneltei de încărcat - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Adăugare dispozitiv de control a sculei + + + Tool Number to Load + Numărul uneltei de încărcat + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tabelă de scule JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Tabela de scule HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Tabelă de scule LinuxCNC (*.tbl) - Open tooltable Deschide tabela de scule - - - Save tooltable - Salvarea tabelei de scule - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tabela de scule XML (*.xml);Masă de scule HeeksCAD (*.tooltable) + + + Save tooltable + Salvarea tabelei de scule + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Obiectul nu are o proprietate în tabelul de scule + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tabelă de scule JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Tabela de scule HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Tabelă de scule LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ru.qm b/src/Mod/Path/Gui/Resources/translations/Path_ru.qm index 93f68039a5..4e87090a80 100644 Binary files a/src/Mod/Path/Gui/Resources/translations/Path_ru.qm and b/src/Mod/Path/Gui/Resources/translations/Path_ru.qm differ diff --git a/src/Mod/Path/Gui/Resources/translations/Path_ru.ts b/src/Mod/Path/Gui/Resources/translations/Path_ru.ts index 234e5006d4..dda4510795 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_ru.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_ru.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Показывать временные path при построении модуля в режиме DEBUG. - - - The direction along which dropcutter lines are created - Направление вдоль которого создаются линии резака - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Операция должна быть ограничена заготовкой или ограничительной рамкой базового объекта - - - - Step over percentage of the drop cutter path - Процент превышения пути фрезы - - - - Z-axis offset from the surface of the object - Смещение оси Z от поверхности объекта - - - - The Sample Interval. Small values cause long wait times - Интервал выборки. Малые значения вызывают долгое ожидание - - - - Enable optimization which removes unnecessary points from G-Code output - Включить оптимизацию, которая удаляет лишние точки из выходного Г-кода (G-Code) - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Меньшие значения дают бОльшую точность, но существенно увеличивают время обработки. - - - The completion mode for the operation: single or multi-pass - Режим завершения обработки: одно- или многопроходная - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Направление, по которому должен обойти деталь инструмент по часовой стрелке или против часовой стрелки - Stop index(angle) for rotational scan Конечный индекс (угол) для вращающегося сканирования - - - Ignore areas that proceed below specified depth. - Игнорировать области, которые идут ниже указанной глубины. - - - - Depth used to identify waste areas to ignore. - Глубина, используемая для выявления областей отходов, чтобы игнорировать. - - - - Cut through waste to depth at model edge, releasing the model. - Резать через отходы до глубины края модели, освобождая модель. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Траектория для копирования + + + The base geometry of this toolpath + Базовая фигура для пути инструмента + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Дополнительное смещение применяется к операции. Направление зависит от операции. - - - The library to use to generate the path - Библиотека, используемая для создания траектории - Start pocketing at center or boundary @@ -631,17 +576,17 @@ The number of copies in Linear 1D and Polar pattern - The number of copies in Linear 1D and Polar pattern + Количество копий в линейном 1D и полярном шаблоне The centre of rotation in Polar pattern - The centre of rotation in Polar pattern + Центр вращения в полярном шаблоне Make copies in X direction before Y in Linear 2D pattern - Make copies in X direction before Y in Linear 2D pattern + Сделать копии по направлению X до Y в линейном 2D шаблоне @@ -704,9 +649,64 @@ Установить в Истину, если используется компенсация радиуса инструмента - - The base geometry of this toolpath - Базовая фигура для пути инструмента + + The direction along which dropcutter lines are created + Направление вдоль которого создаются линии резака + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Операция должна быть ограничена заготовкой или ограничительной рамкой базового объекта + + + + Step over percentage of the drop cutter path + Процент превышения пути фрезы + + + + Z-axis offset from the surface of the object + Смещение оси Z от поверхности объекта + + + + The Sample Interval. Small values cause long wait times + Интервал выборки. Малые значения вызывают долгое ожидание + + + + Enable optimization which removes unnecessary points from G-Code output + Включить оптимизацию, которая удаляет лишние точки из выходного Г-кода (G-Code) + + + + The completion mode for the operation: single or multi-pass + Режим завершения обработки: одно- или многопроходная + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Направление, по которому должен обойти деталь инструмент по часовой стрелке или против часовой стрелки + + + + Ignore areas that proceed below specified depth. + Игнорировать области, которые идут ниже указанной глубины. + + + + Depth used to identify waste areas to ignore. + Глубина, используемая для выявления областей отходов, чтобы игнорировать. + + + + Cut through waste to depth at model edge, releasing the model. + Резать через отходы до глубины края модели, освобождая модель. + + + + The library to use to generate the path + Библиотека, используемая для создания траектории @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Недопустимый угол режущей кромки %.2f, должно быть <90° и >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Неверный угол режущей кромки %.2f, должен быть >0° и <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Недопустимый угол режущей кромки %.2f, должно быть <90° и >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Грань станет неправильно выравнена после первоначального вращения. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Рассмотрите переключение свойства InverseAngle (инвертировать угол) и повторный пересчет. - - - - Multiple faces in Base Geometry. - Несколько граней в Базовой геометрии. - - - - Depth settings will be applied to all faces. - Настройки глубины будут применены ко всем граням. - - - - EnableRotation property is 'Off'. - Свойство позволить Вращение (EnableRotation) выключено. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Грань станет неправильно выравнена после первоначального вращения. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Рассмотрите переключение свойства InverseAngle (инвертировать угол) и повторный пересчет. + + + + Multiple faces in Base Geometry. + Несколько граней в Базовой геометрии. + + + + Depth settings will be applied to all faces. + Настройки глубины будут применены ко всем граням. + + + + EnableRotation property is 'Off'. + Свойство позволить Вращение (EnableRotation) выключено. + @@ -1979,16 +1979,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Форма кармана - - - - Creates a Path Pocket object from a face or faces - Создаёт Путь обработки кармана используя контур состоящий из рёбер или из грани - Normal @@ -2039,6 +2029,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Конечная глубина ниже заданного ZMin. + + + Pocket Shape + Форма кармана + + + + Creates a Path Pocket object from a face or faces + Создаёт Путь обработки кармана используя контур состоящий из рёбер или из грани + 3D Pocket @@ -3460,6 +3460,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Модифицировать + + + + Creates a Path Dess-up object from a selected path + Создаёт дополнения для выбранной траектории + Please select one path object @@ -3479,16 +3489,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Пожалуйста выберите Путь объект - - - Dress-up - Модифицировать - - - - Creates a Path Dess-up object from a selected path - Создаёт дополнения для выбранной траектории - Path_DressupAxisMap @@ -3961,13 +3961,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Создает объект шага пути - - - The selected object is not a path - - Выделенный объект не является путём - - Please select one path object @@ -3983,6 +3976,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Создать Шаг + + + The selected object is not a path + + Выделенный объект не является путём + + Path_Inspect @@ -4232,11 +4232,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - Задание не имеет выбранного базового объекта. - Check the path job for common errors @@ -4487,6 +4482,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Дата + + + The Job has no selected Base object. + Задание не имеет выбранного базового объекта. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4648,11 +4648,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Номер инструмента для загрузки - Add Tool Controller to the Job @@ -4663,6 +4658,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Добавить Контроллер Инструмента + + + Tool Number to Load + Номер инструмента для загрузки + Path_ToolTable @@ -4689,11 +4689,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4704,6 +4699,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4738,56 +4738,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Сохранить библиотеку инструментов - - - Tooltable JSON (*.json) - Таблица инструментов JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Таблица инструментов HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Таблица инструментов LinuxCNC (*.tbl) - Open tooltable Открыть таблицу инструментов - - - Save tooltable - Сохранить таблицу инструментов - - - - Rename Tooltable - Переименовать таблицу инструментов - - - - Enter Name: - Введите имя: - - - - Add New Tool Table - Добавить новую таблицу инструментов - - - - Delete Selected Tool Table - Удалить выбранную таблицу инструментов - - - - Rename Selected Tool Table - Переименовать выбранную таблицу инструментов - Tooltable editor @@ -4998,6 +4953,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Таблица инструментов XML (*.xml); Таблица инструментов HeeksCAD (*.tooltable) + + + Save tooltable + Сохранить таблицу инструментов + Tooltable XML (*.xml) @@ -5013,6 +4973,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Объект не содержит таблицу инструментов + + + Rename Tooltable + Переименовать таблицу инструментов + + + + Enter Name: + Введите имя: + + + + Add New Tool Table + Добавить новую таблицу инструментов + + + + Delete Selected Tool Table + Удалить выбранную таблицу инструментов + + + + Rename Selected Tool Table + Переименовать выбранную таблицу инструментов + + + + Tooltable JSON (*.json) + Таблица инструментов JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Таблица инструментов HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Таблица инструментов LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sk.ts b/src/Mod/Path/Gui/Resources/translations/Path_sk.ts index edb07ef66d..b31bbb8fcf 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sk.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sk.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Odsadenie isi Z od povrchu objektu - - - - The Sample Interval. Small values cause long wait times - Vzorový interval. Malé hodnoty spôsobujú dlhé čakacie doby - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Index zastavenia(uhol) pre rotačné skenovanie - - - Ignore areas that proceed below specified depth. - Ignorujte oblasti, ktoré pokračujú pod určenou hĺbkou. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - Knižnica použitá pri generovaní dráhy - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Odsadenie isi Z od povrchu objektu + + + + The Sample Interval. Small values cause long wait times + Vzorový interval. Malé hodnoty spôsobujú dlhé čakacie doby + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignorujte oblasti, ktoré pokračujú pod určenou hĺbkou. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + Knižnica použitá pri generovaní dráhy @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sl.ts b/src/Mod/Path/Gui/Resources/translations/Path_sl.ts index 06aa4960c9..6efb4de248 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sl.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sl.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Ko je modul v razhroščevalnem načinu, prikaži začasni predmet za ustvarjanje poti. - - - The direction along which dropcutter lines are created - Smer vzdolž katere so ustvarjene črte spustnega razkanja - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Naj bo opravilo omejeno s predmetom iz zaloge ali z mejnim kvadrom osnovnega predmeta - - - - Step over percentage of the drop cutter path - Odstotek prekoračenja poti spustnega rezkalnika - - - - Z-axis offset from the surface of the object - Odmik osi Z od površine predmeta - - - - The Sample Interval. Small values cause long wait times - Vzorčni korak. Majhne vrednosti povzročijo dolge čakalne čase - - - - Enable optimization which removes unnecessary points from G-Code output - Omogoči optimizacijo ki odstrani odvečne točke iz izhodne G-kode - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Manjše vrednosti prinašajo drobnejše, natančnejše ploskovje, hkrati pa ne podaljšajo obdelovalnega časa preveč. - - - The completion mode for the operation: single or multi-pass - Način dokončanja opravila: eno ali večpreletno - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Smer vzdolž katere bi morala pot orodja potekati okoli dela: Vzpenjajoča (v smeri urinega kazalca) ali Običajna (v nasprotni smeri urnega kazalca) - Stop index(angle) for rotational scan Pokazatelj zaustavitve (kot) pri sukajočem pregledu - - - Ignore areas that proceed below specified depth. - Prezri področja pod določeno globino. - - - - Depth used to identify waste areas to ignore. - Globina uporabljena za prepoznavanje področji z odpadom, ki bodo prezrta. - - - - Cut through waste to depth at model edge, releasing the model. - Reži skozi odpad do globine na robu modela s sprostitvijo modela. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Pot za kopiranje + + + The base geometry of this toolpath + Osnovna geometrija te poti orodja + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Pri opravilih naj se uporabi dodaten odmik. Smer je odvisna od opravila. - - - The library to use to generate the path - Knjižnica, ki se jo uporabi pri ustvarjanju poti - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Nastavi Prav, če se uporablja Popravek polmira rezkarja - - The base geometry of this toolpath - Osnovna geometrija te poti orodja + + The direction along which dropcutter lines are created + Smer vzdolž katere so ustvarjene črte spustnega razkanja + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Naj bo opravilo omejeno s predmetom iz zaloge ali z mejnim kvadrom osnovnega predmeta + + + + Step over percentage of the drop cutter path + Odstotek prekoračenja poti spustnega rezkalnika + + + + Z-axis offset from the surface of the object + Odmik osi Z od površine predmeta + + + + The Sample Interval. Small values cause long wait times + Vzorčni korak. Majhne vrednosti povzročijo dolge čakalne čase + + + + Enable optimization which removes unnecessary points from G-Code output + Omogoči optimizacijo ki odstrani odvečne točke iz izhodne G-kode + + + + The completion mode for the operation: single or multi-pass + Način dokončanja opravila: eno ali večpreletno + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Smer vzdolž katere bi morala pot orodja potekati okoli dela: Vzpenjajoča (v smeri urinega kazalca) ali Običajna (v nasprotni smeri urnega kazalca) + + + + Ignore areas that proceed below specified depth. + Prezri področja pod določeno globino. + + + + Depth used to identify waste areas to ignore. + Globina uporabljena za prepoznavanje področji z odpadom, ki bodo prezrta. + + + + Cut through waste to depth at model edge, releasing the model. + Reži skozi odpad do globine na robu modela s sprostitvijo modela. + + + + The library to use to generate the path + Knjižnica, ki se jo uporabi pri ustvarjanju poti @@ -986,16 +986,16 @@ Selected tool is not a drill Izbrano orodje ni sveder - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Neveljaven kót rezilnega roba %.2f, biti mora <90° in >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Neveljaven kót rezilnega roba %.2f, biti mora >0° in <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Neveljaven kót rezilnega roba %.2f, biti mora <90° in >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Povišano na vrh obdelovanca. Ignoring non-horizontal Face Prezrta nevodoravna ploskev - - - Face appears misaligned after initial rotation. - Ploskev je videti po začetnem sukanju neporavnana. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Razmisli o preklapljanju značilnosti 'ObratniKot' in ponovnem izračunu. - - - - Multiple faces in Base Geometry. - Večkratne ploskve v Osnovni geometriji. - - - - Depth settings will be applied to all faces. - Nastavitev globine bo uporabljena na vseh ploskvah. - - - - EnableRotation property is 'Off'. - Lastnost OmogočiSukanje je "Izklopljena". - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Povišano na vrh obdelovanca. Utils Pripomočki + + + Face appears misaligned after initial rotation. + Ploskev je videti po začetnem sukanju neporavnana. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Razmisli o preklapljanju značilnosti 'ObratniKot' in ponovnem izračunu. + + + + Multiple faces in Base Geometry. + Večkratne ploskve v Osnovni geometriji. + + + + Depth settings will be applied to all faces. + Nastavitev globine bo uporabljena na vseh ploskvah. + + + + EnableRotation property is 'Off'. + Lastnost OmogočiSukanje je "Izklopljena". + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Oblika ugreza - - - - Creates a Path Pocket object from a face or faces - Ustvari pot ugreza iz ploskve ali ploskev - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Končna globina je nastavljena pod ZNajm izbrane(ih) ploskve(ev). + + + Pocket Shape + Oblika ugreza + + + + Creates a Path Pocket object from a face or faces + Ustvari pot ugreza iz ploskve ali ploskev + 3D Pocket @@ -3461,6 +3461,16 @@ privzeto=10,0. Path_Dressup + + + Dress-up + Dodelava + + + + Creates a Path Dess-up object from a selected path + Ustvari iz izbrane poti predmet dodelave poti + Please select one path object @@ -3480,16 +3490,6 @@ privzeto=10,0. Please select a Path object Izberite pot - - - Dress-up - Dodelava - - - - Creates a Path Dess-up object from a selected path - Ustvari iz izbrane poti predmet dodelave poti - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ privzeto=10,0. Creates a Path Hop object Ustvari predmet skoka poti - - - The selected object is not a path - - Izbrani predmet ni pot - - Please select one path object @@ -3984,6 +3977,13 @@ privzeto=10,0. Create Hop Ustvari skok + + + The selected object is not a path + + Izbrani predmet ni pot + + Path_Inspect @@ -4233,11 +4233,6 @@ privzeto=10,0. Path_Sanity - - - The Job has no selected Base object. - Opravilo nima izbranega osnovnega predmeta. - Check the path job for common errors @@ -4488,6 +4483,11 @@ privzeto=10,0. Date Datum + + + The Job has no selected Base object. + Opravilo nima izbranega osnovnega predmeta. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ privzeto=10,0. Path_ToolController - - - Tool Number to Load - Številka orodja za nalaganje - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ privzeto=10,0. Add Tool Controller Dodaj orodni krmilnik + + + Tool Number to Load + Številka orodja za nalaganje + Path_ToolTable @@ -4690,11 +4690,6 @@ privzeto=10,0. Creates a medial line engraving path Ustvari vrezovalno pot po srednjici - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve potrebuje vrezovalnik s kotom rezilnega roba - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ privzeto=10,0. Engraver Cutting Edge Angle must be < 180 degrees. Rezilni kót vrezovalnika mora biti < 180 stopnij. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve potrebuje vrezovalnik s kotom rezilnega roba + Path_Waterline @@ -4739,56 +4739,11 @@ privzeto=10,0. Save toolbit library Shrani knjižnico orodnih nastavkov - - - Tooltable JSON (*.json) - Preglednica orodij JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD-ova preglednica orodij (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC-jeva preglednica orodij (*.tbl) - Open tooltable Odpri preglednico orodij - - - Save tooltable - Shrani preglednico orodij - - - - Rename Tooltable - Preimenuj orodno mizo - - - - Enter Name: - Vnesite ime: - - - - Add New Tool Table - Dodaj novo preglednico orodij - - - - Delete Selected Tool Table - Izbriši izbrano preglednico orodij - - - - Rename Selected Tool Table - Preimenuj izbrano preglednico orodij - Tooltable editor @@ -4999,6 +4954,11 @@ privzeto=10,0. Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Preglednica orodij XML (*.xml);;preglednica orodij HeeksCAD (*.tooltable) + + + Save tooltable + Shrani preglednico orodij + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ privzeto=10,0. Object doesn't have a tooltable property Predmet nima lastnosti preglednice orodij + + + Rename Tooltable + Preimenuj orodno mizo + + + + Enter Name: + Vnesite ime: + + + + Add New Tool Table + Dodaj novo preglednico orodij + + + + Delete Selected Tool Table + Izbriši izbrano preglednico orodij + + + + Rename Selected Tool Table + Preimenuj izbrano preglednico orodij + + + + Tooltable JSON (*.json) + Preglednica orodij JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD-ova preglednica orodij (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC-jeva preglednica orodij (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sr.ts b/src/Mod/Path/Gui/Resources/translations/Path_sr.ts index a0fc40812f..572edeaab3 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sr.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - The Sample Interval. Small values cause long wait times - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Путања за умножавање + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - The library to use to generate the path - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + The Sample Interval. Small values cause long wait times + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + The library to use to generate the path @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts b/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts index a7af18cd86..bdaf877bf1 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_sv-SE.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Visa de tillfälliga bankonstruktionsobjekten när modulen är i DEBUG-läge. - - - The direction along which dropcutter lines are created - Riktningen längs vilken dropcutter linjer skapas - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Ska operationen begränsas av stamobjektet eller av grundobjektets begränsningsruta - - - - Step over percentage of the drop cutter path - Steg över procent av drop cutter-banan - - - - Z-axis offset from the surface of the object - Z-axelförskjutning från objektets yta - - - - The Sample Interval. Small values cause long wait times - Exempelintervallet. Små värden orsakar långa väntetider - - - - Enable optimization which removes unnecessary points from G-Code output - Aktivera optimering som tar bort onödiga punkter från G-Code-utdata - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Mindre värden ger ett finare, mer exakt nät. Mindre värden ökar inte bearbetningstiden mycket. - - - The completion mode for the operation: single or multi-pass - Kompletteringsläget för operationen: enkel- eller flerpasspass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Den riktning som verktygsbanan ska gå runt delen: Klättra(Medurs) eller Konventionell(Moturs) - Stop index(angle) for rotational scan Stoppa index(vinkel) för rotationsgenomsökning - - - Ignore areas that proceed below specified depth. - Ignorera områden som fortsätter under angivet djup. - - - - Depth used to identify waste areas to ignore. - Djup som används för att identifiera avfallsområden att ignorera. - - - - Cut through waste to depth at model edge, releasing the model. - Skär genom avfall till djup vid modellkanten, släppa modellen. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied The path to be copied + + + The base geometry of this toolpath + Basgeometri för den här verktygsbanan + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra förskjutning att gälla för operationen. Riktning är driftberoende. - - - The library to use to generate the path - Biblioteket som används för att generera banan - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Gör True, om du använder Cutter Radius Compensation - - The base geometry of this toolpath - Basgeometri för den här verktygsbanan + + The direction along which dropcutter lines are created + Riktningen längs vilken dropcutter linjer skapas + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Ska operationen begränsas av stamobjektet eller av grundobjektets begränsningsruta + + + + Step over percentage of the drop cutter path + Steg över procent av drop cutter-banan + + + + Z-axis offset from the surface of the object + Z-axelförskjutning från objektets yta + + + + The Sample Interval. Small values cause long wait times + Exempelintervallet. Små värden orsakar långa väntetider + + + + Enable optimization which removes unnecessary points from G-Code output + Aktivera optimering som tar bort onödiga punkter från G-Code-utdata + + + + The completion mode for the operation: single or multi-pass + Kompletteringsläget för operationen: enkel- eller flerpasspass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Den riktning som verktygsbanan ska gå runt delen: Klättra(Medurs) eller Konventionell(Moturs) + + + + Ignore areas that proceed below specified depth. + Ignorera områden som fortsätter under angivet djup. + + + + Depth used to identify waste areas to ignore. + Djup som används för att identifiera avfallsområden att ignorera. + + + + Cut through waste to depth at model edge, releasing the model. + Skär genom avfall till djup vid modellkanten, släppa modellen. + + + + The library to use to generate the path + Biblioteket som används för att generera banan @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Ogiltig Skäreggsvinkel %.2f, måste vara <90° och >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Ogiltig Skäreggsvinkel %.2f, måste vara >0° och <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Ogiltig Skäreggsvinkel %.2f, måste vara <90° och >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignorerar icke-horisontell yta - - - Face appears misaligned after initial rotation. - Ansikte visas feljusterade efter inledande rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Tänk att växla "InverseAngle" egendom och omjäntar. - - - - Multiple faces in Base Geometry. - Flera ansikten i Basgeometri. - - - - Depth settings will be applied to all faces. - Djupinställningar kommer att tillämpas på alla ansikten. - - - - EnableRotation property is 'Off'. - EnableRotation-egenskapen är 'Av'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Ansikte visas feljusterade efter inledande rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Tänk att växla "InverseAngle" egendom och omjäntar. + + + + Multiple faces in Base Geometry. + Flera ansikten i Basgeometri. + + + + Depth settings will be applied to all faces. + Djupinställningar kommer att tillämpas på alla ansikten. + + + + EnableRotation property is 'Off'. + EnableRotation-egenskapen är 'Av'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Fickform - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Fickform + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Datum + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Ange namn: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Ange namn: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_tr.ts b/src/Mod/Path/Gui/Resources/translations/Path_tr.ts index c1a77a206a..7415f96c2f 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_tr.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_tr.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Modül HATA AYIKLAMA kipinde olduğunda geçici 'takım yolu inşa nesnelerini' göster. - - - The direction along which dropcutter lines are created - NoktalıKesim çizgilerinin oluşturulduğu yön - - - - Should the operation be limited by the stock object or by the bounding box of the base object - İşlem, stok nesnesi ya da temel nesnenin sınır kutusu tarafından sınırlanmalıdır - - - - Step over percentage of the drop cutter path - Kesim noktası yolunun yüzdesini aşma - - - - Z-axis offset from the surface of the object - Nesne yüzeyinden Z-eksenine olan mesafe - - - - The Sample Interval. Small values cause long wait times - Örnekleme Aralığı. Küçük değerler uzun bekleme sürelerine neden olur - - - - Enable optimization which removes unnecessary points from G-Code output - G-Kod çıktısında gereksiz noktaları kaldıran optimizasyonu etkinleştir - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Daha küçük değerler, daha iyi ve daha hassas ağ örgüsü sağlar. Bu değerler işleme süresini çok fazla artırmaz. - - - The completion mode for the operation: single or multi-pass - Operasyon için tamamlama modu: Tekil veya çok geçişli - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Takım yolunun parça etrafında dönme yönü: Tırmanış(Saat Yönü) veya Geleneksel(Saat Yönünün Tersi) - Stop index(angle) for rotational scan Dönel tarama için bitiş açısı - - - Ignore areas that proceed below specified depth. - Belirtilen derinliğin altında ilerleyen alanları yok say. - - - - Depth used to identify waste areas to ignore. - Yok sayılacak atık alanlar için derinlik kullanıldı. - - - - Cut through waste to depth at model edge, releasing the model. - Atığı model sınırındaki derinliğe kadar kes, modeli yayınla. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Kopyalanacak yol + + + The base geometry of this toolpath + Bu takım yolunun temel geometrisi + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. İşlem için uygulanacak ekstra ofset. Yön operasyona bağlıdır. - - - The library to use to generate the path - Yolu oluşturmak için kullanılacak kitaplık - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Kesici Yarıçap dengelemesi kullanıyorsanız, Gerçekleştirin - - The base geometry of this toolpath - Bu takım yolunun temel geometrisi + + The direction along which dropcutter lines are created + NoktalıKesim çizgilerinin oluşturulduğu yön + + + + Should the operation be limited by the stock object or by the bounding box of the base object + İşlem, stok nesnesi ya da temel nesnenin sınır kutusu tarafından sınırlanmalıdır + + + + Step over percentage of the drop cutter path + Kesim noktası yolunun yüzdesini aşma + + + + Z-axis offset from the surface of the object + Nesne yüzeyinden Z-eksenine olan mesafe + + + + The Sample Interval. Small values cause long wait times + Örnekleme Aralığı. Küçük değerler uzun bekleme sürelerine neden olur + + + + Enable optimization which removes unnecessary points from G-Code output + G-Kod çıktısında gereksiz noktaları kaldıran optimizasyonu etkinleştir + + + + The completion mode for the operation: single or multi-pass + Operasyon için tamamlama modu: Tekil veya çok geçişli + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Takım yolunun parça etrafında dönme yönü: Tırmanış(Saat Yönü) veya Geleneksel(Saat Yönünün Tersi) + + + + Ignore areas that proceed below specified depth. + Belirtilen derinliğin altında ilerleyen alanları yok say. + + + + Depth used to identify waste areas to ignore. + Yok sayılacak atık alanlar için derinlik kullanıldı. + + + + Cut through waste to depth at model edge, releasing the model. + Atığı model sınırındaki derinliğe kadar kes, modeli yayınla. + + + + The library to use to generate the path + Yolu oluşturmak için kullanılacak kitaplık @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Geçersiz Kesme kenar açı %.2f,-meli var olmak < 90° ve > = 0 ° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Geçersiz kenar kesme açısı %.2f, >0 ve <=180 derece arasında olmalı. + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Geçersiz Kesme kenar açı %.2f,-meli var olmak < 90° ve > = 0 ° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Mevcut üst noktaya arttırıldı. Ignoring non-horizontal Face Yatay olmayan Yüzeyi yok say - - - Face appears misaligned after initial rotation. - İlk dönüşten sonra yüzeyler hizalanmadı. - - - - Consider toggling the 'InverseAngle' property and recomputing. - TersAçı özelliğine geçip operasyonu tekrar hesaplamayı dikkate al. - - - - Multiple faces in Base Geometry. - Ana geometrideki çoklu yüzler. - - - - Depth settings will be applied to all faces. - Derinlik ayarları tüm yüzeylere uygulanmış olacak. - - - - EnableRotation property is 'Off'. - DönüşüEtkinleştir özelliği 'Kapalı'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Mevcut üst noktaya arttırıldı. Utils Yardımcılar + + + Face appears misaligned after initial rotation. + İlk dönüşten sonra yüzeyler hizalanmadı. + + + + Consider toggling the 'InverseAngle' property and recomputing. + TersAçı özelliğine geçip operasyonu tekrar hesaplamayı dikkate al. + + + + Multiple faces in Base Geometry. + Ana geometrideki çoklu yüzler. + + + + Depth settings will be applied to all faces. + Derinlik ayarları tüm yüzeylere uygulanmış olacak. + + + + EnableRotation property is 'Off'. + DönüşüEtkinleştir özelliği 'Kapalı'. + @@ -1980,16 +1980,6 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se PathPocket - - - Pocket Shape - Cep şekli - - - - Creates a Path Pocket object from a face or faces - Yüz veya yüzlerden Path Pocket nesnesi oluşturur - Normal @@ -2040,6 +2030,16 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Final depth set below ZMin of face(s) selected. Son derinliği, seçili yüz(ler) in Zmin değeri altına ayarla. + + + Pocket Shape + Cep şekli + + + + Creates a Path Pocket object from a face or faces + Yüz veya yüzlerden Path Pocket nesnesi oluşturur + 3D Pocket @@ -3460,6 +3460,16 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Path_Dressup + + + Dress-up + Giydirme + + + + Creates a Path Dess-up object from a selected path + Seçilen bir yoldan bir Yol Giydirme nesnesi oluşturur + Please select one path object @@ -3479,16 +3489,6 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Please select a Path object Lütfen bir Yol nesnesi seçin - - - Dress-up - Giydirme - - - - Creates a Path Dess-up object from a selected path - Seçilen bir yoldan bir Yol Giydirme nesnesi oluşturur - Path_DressupAxisMap @@ -3961,13 +3961,6 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Creates a Path Hop object Bir nokta nesnesi oluşturur - - - The selected object is not a path - - Seçilen nesne bir yol değil - - Please select one path object @@ -3983,6 +3976,13 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Create Hop Kopya oluştur + + + The selected object is not a path + + Seçilen nesne bir yol değil + + Path_Inspect @@ -4232,11 +4232,6 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Path_Sanity - - - The Job has no selected Base object. - İşin Seçili temel nesnesi yok. - Check the path job for common errors @@ -4487,6 +4482,11 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Date Tarih + + + The Job has no selected Base object. + İşin Seçili temel nesnesi yok. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4648,11 +4648,6 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Path_ToolController - - - Tool Number to Load - Yüklenecek Takım Numarası - Add Tool Controller to the Job @@ -4663,6 +4658,11 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Add Tool Controller Araç Kumandasını Ekle + + + Tool Number to Load + Yüklenecek Takım Numarası + Path_ToolTable @@ -4689,11 +4689,6 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Creates a medial line engraving path Bir orta çizgi gravür yolu oluşturur - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve, KesmeKenarıAçısına sahip bir gravür kesici gerektirir - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4704,6 +4699,11 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Engraver Cutting Edge Angle must be < 180 degrees. Gravür kesici kenar açısı < 180 derece olmalıdır. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve, KesmeKenarıAçısına sahip bir gravür kesici gerektirir + Path_Waterline @@ -4738,56 +4738,11 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Save toolbit library Torna kalemi kitaplığını kaydet - - - Tooltable JSON (*.json) - Araç Tablosu JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD araç tablosu (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC araç tablosu (*.tbl) - Open tooltable Araç masasını açın - - - Save tooltable - Araç masasını kaydet - - - - Rename Tooltable - Torna kalemi yeniden adlandır - - - - Enter Name: - Ad Girin: - - - - Add New Tool Table - Yeni Alet Tablosu Ekle - - - - Delete Selected Tool Table - Seçili Alet Tablosunu Sil - - - - Rename Selected Tool Table - Seçili Araç Tablosunu Yeniden Adlandır - Tooltable editor @@ -4998,6 +4953,11 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Araç Tabanlı XML (*.xml);; HeeksCAD araç tablosu (*.tooltable) + + + Save tooltable + Araç masasını kaydet + Tooltable XML (*.xml) @@ -5013,6 +4973,46 @@ FinalDepth'i manuel olarak ayarlamak gerekiyorsa, lütfen farklı bir işlem se Object doesn't have a tooltable property Nesnenin araç özellikli bir özelliği yok + + + Rename Tooltable + Torna kalemi yeniden adlandır + + + + Enter Name: + Ad Girin: + + + + Add New Tool Table + Yeni Alet Tablosu Ekle + + + + Delete Selected Tool Table + Seçili Alet Tablosunu Sil + + + + Rename Selected Tool Table + Seçili Araç Tablosunu Yeniden Adlandır + + + + Tooltable JSON (*.json) + Araç Tablosu JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD araç tablosu (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC araç tablosu (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_uk.ts b/src/Mod/Path/Gui/Resources/translations/Path_uk.ts index 8f1334992e..793160ec06 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_uk.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_uk.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Показати тимчасовий шлях побудови об’єктів, коли модуль перебуває в режимі DEBUG. - - - The direction along which dropcutter lines are created - Напрямок, уздовж якого створюються лінії різака - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Якщо операція повинна бути обмежена наявним об'єктом або обмежувальною рамкою базового об'єкта - - - - Step over percentage of the drop cutter path - Відсотковий крок шляху врізання - - - - Z-axis offset from the surface of the object - Зсув осі Z від поверхні об’єкта - - - - The Sample Interval. Small values cause long wait times - Інтервал вибірки. Малі значення викликають тривалий час очікування - - - - Enable optimization which removes unnecessary points from G-Code output - Увімкнути оптимізацію, що видаляє непотрібні точки з виведення G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Менші значення дають більш тонку та точну сітку. Менші значення не збільшують час обробки. - - - The completion mode for the operation: single or multi-pass - Режим завершення операції: одно- або багатопрохідний - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Напрямок, яким повинен проходити шлях інструменту по деталі: Підйом (ClockWise) або Звичайний (CounterClockWise) - Stop index(angle) for rotational scan Індекс зупинки (кут) для обертального сканування - - - Ignore areas that proceed below specified depth. - Ігнорувати ділянки, які проходять нижче вказаної глибини. - - - - Depth used to identify waste areas to ignore. - Глибина використовується для виявлення ділянок відходів, які потрібно ігнорувати. - - - - Cut through waste to depth at model edge, releasing the model. - Розрізати відходи на глибину до краю моделі, щоб звільнити модель. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Траєкторія для копіювання + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - Бібліотека, що використовується для створення траєкторії - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + Напрямок, уздовж якого створюються лінії різака + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Якщо операція повинна бути обмежена наявним об'єктом або обмежувальною рамкою базового об'єкта + + + + Step over percentage of the drop cutter path + Відсотковий крок шляху врізання + + + + Z-axis offset from the surface of the object + Зсув осі Z від поверхні об’єкта + + + + The Sample Interval. Small values cause long wait times + Інтервал вибірки. Малі значення викликають тривалий час очікування + + + + Enable optimization which removes unnecessary points from G-Code output + Увімкнути оптимізацію, що видаляє непотрібні точки з виведення G-Code + + + + The completion mode for the operation: single or multi-pass + Режим завершення операції: одно- або багатопрохідний + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + Напрямок, яким повинен проходити шлях інструменту по деталі: Підйом (ClockWise) або Звичайний (CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ігнорувати ділянки, які проходять нижче вказаної глибини. + + + + Depth used to identify waste areas to ignore. + Глибина використовується для виявлення ділянок відходів, які потрібно ігнорувати. + + + + Cut through waste to depth at model edge, releasing the model. + Розрізати відходи на глибину до краю моделі, щоб звільнити модель. + + + + The library to use to generate the path + Бібліотека, що використовується для створення траєкторії @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts b/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts index a272032604..171ea215ae 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_val-ES.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Mostra els objectes de construcció del camí temporal quan el mòdul estiga en mode DEPURACIÓ. - - - The direction along which dropcutter lines are created - La direcció al llarg de la qual es creen les línies dropcutter - - - - Should the operation be limited by the stock object or by the bounding box of the base object - En cas que l'operació estiga limitada per l'objecte estoc o pel la caixa contenidora de l'objecte base - - - - Step over percentage of the drop cutter path - Pas sobre el percentatge de la trajectòria del dropcutter - - - - Z-axis offset from the surface of the object - Separació de l'eix Z de la superfície de l'objecte - - - - The Sample Interval. Small values cause long wait times - L'interval de mostra. Els valors xicotets causen una llarga espera - - - - Enable optimization which removes unnecessary points from G-Code output - Activa l'optimització que suprimisca els punts innecessaris del resultat G-Code - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Els valors més xicotets produeixen una malla més fina i precisa. Els valors més xicotets no augmenten massa el temps de processament. - - - The completion mode for the operation: single or multi-pass - Mode de compleció per a l'operació: únic o múltiples passos - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - La direcció que la trajectòria ha de seguir al voltant de la peça: Pujada (sentit horari) o Convencional(sentit antihorari) - Stop index(angle) for rotational scan Para l'índex(angle) per a l'escàner rotacional - - - Ignore areas that proceed below specified depth. - Ignora les àrees que passen per davall d'una profunditat especificada. - - - - Depth used to identify waste areas to ignore. - Profunditat utilitzada per a identificar àmplies àrees a ignorar. - - - - Cut through waste to depth at model edge, releasing the model. - Retalla els residus fins al fons en la vora del model, alliberant-lo. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied El camí que es copia + + + The base geometry of this toolpath + La geometria base d'aquesta trajectòria + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Desplaçament addicional que s'aplica a l'operació. La direcció és dependent de l'operació. - - - The library to use to generate the path - La biblioteca que s'utilitza per a generar el camí - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Marqueu «cert», si s'utilitza compensació de radi de l'eina de tall - - The base geometry of this toolpath - La geometria base d'aquesta trajectòria + + The direction along which dropcutter lines are created + La direcció al llarg de la qual es creen les línies dropcutter + + + + Should the operation be limited by the stock object or by the bounding box of the base object + En cas que l'operació estiga limitada per l'objecte estoc o pel la caixa contenidora de l'objecte base + + + + Step over percentage of the drop cutter path + Pas sobre el percentatge de la trajectòria del dropcutter + + + + Z-axis offset from the surface of the object + Separació de l'eix Z de la superfície de l'objecte + + + + The Sample Interval. Small values cause long wait times + L'interval de mostra. Els valors xicotets causen una llarga espera + + + + Enable optimization which removes unnecessary points from G-Code output + Activa l'optimització que suprimisca els punts innecessaris del resultat G-Code + + + + The completion mode for the operation: single or multi-pass + Mode de compleció per a l'operació: únic o múltiples passos + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + La direcció que la trajectòria ha de seguir al voltant de la peça: Pujada (sentit horari) o Convencional(sentit antihorari) + + + + Ignore areas that proceed below specified depth. + Ignora les àrees que passen per davall d'una profunditat especificada. + + + + Depth used to identify waste areas to ignore. + Profunditat utilitzada per a identificar àmplies àrees a ignorar. + + + + Cut through waste to depth at model edge, releasing the model. + Retalla els residus fins al fons en la vora del model, alliberant-lo. + + + + The library to use to generate the path + La biblioteca que s'utilitza per a generar el camí @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - L'angle de tall %.2f no és vàlid, ha de ser <90° i >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° L'angle de tall %.2f no és vàlid, ha de ser >0° i <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + L'angle de tall %.2f no és vàlid, ha de ser <90° i >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - La cara es mostra desalineada després de la rotació inicial. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Penseu a alternar la propietat InverteixAngle i tornar a calcular l'operació. - - - - Multiple faces in Base Geometry. - Múltiples cares en la geometria de base. - - - - Depth settings will be applied to all faces. - La configuració de profunditat s'aplicarà a totes les cares. - - - - EnableRotation property is 'Off'. - La propietat ActivaRotació està «desactivada». - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + La cara es mostra desalineada després de la rotació inicial. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Penseu a alternar la propietat InverteixAngle i tornar a calcular l'operació. + + + + Multiple faces in Base Geometry. + Múltiples cares en la geometria de base. + + + + Depth settings will be applied to all faces. + La configuració de profunditat s'aplicarà a totes les cares. + + + + EnableRotation property is 'Off'. + La propietat ActivaRotació està «desactivada». + @@ -1978,16 +1978,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una PathPocket - - - Pocket Shape - Forma del buidatge - - - - Creates a Path Pocket object from a face or faces - Crea un objecte de Trajectòria de buidatge des d'una o vàries cares - Normal @@ -2038,6 +2028,16 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Final depth set below ZMin of face(s) selected. Profunditat final establerta per davall de ZMin de la cara o cares seleccionades. + + + Pocket Shape + Forma del buidatge + + + + Creates a Path Pocket object from a face or faces + Crea un objecte de Trajectòria de buidatge des d'una o vàries cares + 3D Pocket @@ -3449,6 +3449,16 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Path_Dressup + + + Dress-up + Aspecte + + + + Creates a Path Dess-up object from a selected path + Crea un objecte aspecte del camí a partir d'un camí seleccionat + Please select one path object @@ -3466,16 +3476,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Please select a Path object Seleccioneu un objecte camí - - - Dress-up - Aspecte - - - - Creates a Path Dess-up object from a selected path - Crea un objecte aspecte del camí a partir d'un camí seleccionat - Path_DressupAxisMap @@ -3948,12 +3948,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Creates a Path Hop object Crea un objecte de tipus salt en el camí - - - The selected object is not a path - - L'objecte seleccionat no és un camí - Please select one path object @@ -3969,6 +3963,12 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Create Hop Crea un salt + + + The selected object is not a path + + L'objecte seleccionat no és un camí + Path_Inspect @@ -4215,11 +4215,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Path_Sanity - - - The Job has no selected Base object. - La tasca no té un objecte base seleccionat. - Check the path job for common errors @@ -4470,6 +4465,11 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Date Date + + + The Job has no selected Base object. + La tasca no té un objecte base seleccionat. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4625,11 +4625,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Path_ToolController - - - Tool Number to Load - Número d'eina per carregar - Add Tool Controller to the Job @@ -4640,6 +4635,11 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Add Tool Controller Afig un controlador d'eina + + + Tool Number to Load + Número d'eina per carregar + Path_ToolTable @@ -4666,11 +4666,6 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4681,6 +4676,11 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4715,56 +4715,11 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Save toolbit library Desa la llibreria d'eines de bits - - - Tooltable JSON (*.json) - Taula d'eines JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Taula d'eines HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Taula d'eines LinuxCNC (*.tbl) - Open tooltable Obri la taula d'eines - - - Save tooltable - Guarda la taula d'eines - - - - Rename Tooltable - Canvia el nom de la taula d'eines - - - - Enter Name: - Introduïu el nom: - - - - Add New Tool Table - Afig una taula d'eines nova - - - - Delete Selected Tool Table - Elimina la taula d'eines seleccionada - - - - Rename Selected Tool Table - Canvia el nom de la taula d'eines seleccionada - Tooltable editor @@ -4975,6 +4930,11 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Taula d'eines XML (*.xml);;Taula d'eines HeeksCAD (*.tooltable) + + + Save tooltable + Guarda la taula d'eines + Tooltable XML (*.xml) @@ -4990,6 +4950,46 @@ Si és necessari establir la profunditat final de forma manual, seleccioneu una Object doesn't have a tooltable property L'objecte no té la propietat de taula d'eines + + + Rename Tooltable + Canvia el nom de la taula d'eines + + + + Enter Name: + Introduïu el nom: + + + + Add New Tool Table + Afig una taula d'eines nova + + + + Delete Selected Tool Table + Elimina la taula d'eines seleccionada + + + + Rename Selected Tool Table + Canvia el nom de la taula d'eines seleccionada + + + + Tooltable JSON (*.json) + Taula d'eines JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Taula d'eines HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Taula d'eines LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_vi.ts b/src/Mod/Path/Gui/Resources/translations/Path_vi.ts index 195edc6fe4..c38198952d 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_vi.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_vi.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Hiển thị đối tượng cấu trúc đường dẫn tạm thời khi mô-đun ở chế độ GỠ LỖI. - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - Khoảng thời gian mẫu. Các giá trị nhỏ dẫn đến việc phải chờ đợi trong thời gian dài - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied Đường dẫn cần được sao chép + + + The base geometry of this toolpath + Hình dạng cơ sở của đường chạy dao này + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Offset thêm để áp dụng cho các thao tác. Hướng thao tác là phụ thuộc. - - - The library to use to generate the path - Thư viện sử dụng để tạo đường dẫn - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - Hình dạng cơ sở của đường chạy dao này + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + Khoảng thời gian mẫu. Các giá trị nhỏ dẫn đến việc phải chờ đợi trong thời gian dài + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + Thư viện sử dụng để tạo đường dẫn @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Góc cắt cạnh không hợp lệ %.2f, phải là <90° và >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Góc cắt cạnh không hợp lệ %.2f, phải là <90° và >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Hình túi - - - - Creates a Path Pocket object from a face or faces - Tạo một đối tượng Đường dẫn túi từ một hoặc nhiều mặt - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Hình túi + + + + Creates a Path Pocket object from a face or faces + Tạo một đối tượng Đường dẫn túi từ một hoặc nhiều mặt + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Chức năng xây dựng kết cấu bên ngoài + + + + Creates a Path Dess-up object from a selected path + Tạo một đối tượng xây dựng áo đường từ một đường dẫn đã chọn + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Vui lòng chọn đối tượng Đường dẫn - - - Dress-up - Chức năng xây dựng kết cấu bên ngoài - - - - Creates a Path Dess-up object from a selected path - Tạo một đối tượng xây dựng áo đường từ một đường dẫn đã chọn - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Tạo một đối tượng đường dẫn bước nhảy - - - The selected object is not a path - - Đối tượng được chọn không phải là một đường dẫn - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Tạo bước nhảy + + + The selected object is not a path + + Đối tượng được chọn không phải là một đường dẫn + + Path_Inspect @@ -4233,11 +4233,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - Công việc không có đối tượng cơ sở đã chọn. - Check the path job for common errors @@ -4488,6 +4483,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + Công việc không có đối tượng cơ sở đã chọn. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4649,11 +4649,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Số công cụ cần tải - Add Tool Controller to the Job @@ -4664,6 +4659,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Thêm bộ điều khiển công cụ + + + Tool Number to Load + Số công cụ cần tải + Path_ToolTable @@ -4690,11 +4690,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4705,6 +4700,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4739,56 +4739,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Công cụ JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - Bảng công cụ HeeksCAD (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - Bảng công cụ LinuxCNC (*.tbl) - Open tooltable Mở hộp công cụ - - - Save tooltable - Lưu hộp công cụ - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4999,6 +4954,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Hộp công cụ XML (*.xml);;Hộp công cụ HeeksCAD (*.tooltable) + + + Save tooltable + Lưu hộp công cụ + Tooltable XML (*.xml) @@ -5014,6 +4974,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Đối tượng không có thuộc tính của hộp công cụ + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Công cụ JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + Bảng công cụ HeeksCAD (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + Bảng công cụ LinuxCNC (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.qm b/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.qm index 794cfb29f8..1abd184b95 100644 Binary files a/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.qm and b/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.qm differ diff --git a/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts b/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts index 295afa7751..9bab8916ba 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_zh-CN.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. Show the temporary path construction objects when module is in DEBUG mode. - - - The direction along which dropcutter lines are created - 沿落刀线创建的方向 - - - - Should the operation be limited by the stock object or by the bounding box of the base object - 操作被工件对象或者基础对象的边界框限制 - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - 从物体表面的Z轴偏移 - - - - The Sample Interval. Small values cause long wait times - 示例间隔。小值导致等待时间长 - - - - Enable optimization which removes unnecessary points from G-Code output - 启用优化,从G-Code输出中移除不必要的点 - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan 旋转扫描的停止分度(角度) - - - Ignore areas that proceed below specified depth. - 忽略指定深度以下的区域。 - - - - Depth used to identify waste areas to ignore. - 用于确定将被忽略的废物区域的深度。 - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied 要复制的路径 + + + The base geometry of this toolpath + 此工具路径的基础几何形状 + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. 要应用于操作的额外偏移量。方向与操作相关。 - - - The library to use to generate the path - 用于生成路径的库 - Start pocketing at center or boundary @@ -704,9 +649,64 @@ 如果使用刀具半径补偿, 则为 True - - The base geometry of this toolpath - 此工具路径的基础几何形状 + + The direction along which dropcutter lines are created + 沿落刀线创建的方向 + + + + Should the operation be limited by the stock object or by the bounding box of the base object + 操作被工件对象或者基础对象的边界框限制 + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + 从物体表面的Z轴偏移 + + + + The Sample Interval. Small values cause long wait times + 示例间隔。小值导致等待时间长 + + + + Enable optimization which removes unnecessary points from G-Code output + 启用优化,从G-Code输出中移除不必要的点 + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + 忽略指定深度以下的区域。 + + + + Depth used to identify waste areas to ignore. + 用于确定将被忽略的废物区域的深度。 + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + 用于生成路径的库 @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - 无效的切削角, 此角度必须小于90°且大于或等于 0 ° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° 无效的切口边缘角度 %.2f, 必须 > 0°且 <= 180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + 无效的切削角, 此角度必须小于90°且大于或等于 0 ° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1979,16 +1979,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - 口袋形状 - - - - Creates a Path Pocket object from a face or faces - 从一个或多个面创建一个路径口袋对象 - Normal @@ -2039,6 +2029,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + 口袋形状 + + + + Creates a Path Pocket object from a face or faces + 从一个或多个面创建一个路径口袋对象 + 3D Pocket @@ -2942,7 +2942,7 @@ If it is necessary to set the FinalDepth manually please select a different oper Set thread's pitch - used for metric threads - Set thread's pitch - used for metric threads + 设置螺距-用于公制螺纹 @@ -3460,6 +3460,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + 修饰 + + + + Creates a Path Dess-up object from a selected path + 从所选路径创建路径修整对象 + Please select one path object @@ -3479,16 +3489,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object 请选择路径对象 - - - Dress-up - 修饰 - - - - Creates a Path Dess-up object from a selected path - 从所选路径创建路径修整对象 - Path_DressupAxisMap @@ -3961,13 +3961,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object 创建一个路径跃点对象 - - - The selected object is not a path - - 所选对象不是路径 - - Please select one path object @@ -3983,6 +3976,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop 创建跃点 + + + The selected object is not a path + + 所选对象不是路径 + + Path_Inspect @@ -4232,11 +4232,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - 作业没有选定的基对象。 - Check the path job for common errors @@ -4487,6 +4482,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + 作业没有选定的基对象。 + It appears the machine limits haven't been set. Not able to check path extents. @@ -4648,11 +4648,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - 要加载的工具编号 - Add Tool Controller to the Job @@ -4663,6 +4658,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller 添加工具控制器 + + + Tool Number to Load + 要加载的工具编号 + Path_ToolTable @@ -4689,11 +4689,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4704,6 +4699,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4738,56 +4738,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable json (*. json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (* tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (* tbl) - Open tooltable 打开 tooltable - - - Save tooltable - 保存 tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4998,6 +4953,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable xml (*. xml);;HeeksCAD tooltable (* tooltable) + + + Save tooltable + 保存 tooltable + Tooltable XML (*.xml) @@ -5013,6 +4973,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property 对象没有 tooltable 属性 + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable json (*. json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (* tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (* tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts b/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts index 4c8138ba91..93c0fbed4b 100644 --- a/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts +++ b/src/Mod/Path/Gui/Resources/translations/Path_zh-TW.ts @@ -8,36 +8,6 @@ Show the temporary path construction objects when module is in DEBUG mode. 當模組處於除錯模式下創建物件時顯示暫時軌跡 - - - The direction along which dropcutter lines are created - The direction along which dropcutter lines are created - - - - Should the operation be limited by the stock object or by the bounding box of the base object - Should the operation be limited by the stock object or by the bounding box of the base object - - - - Step over percentage of the drop cutter path - Step over percentage of the drop cutter path - - - - Z-axis offset from the surface of the object - Z-axis offset from the surface of the object - - - - The Sample Interval. Small values cause long wait times - 樣本間隔。較小的數值導致長時間等待 - - - - Enable optimization which removes unnecessary points from G-Code output - Enable optimization which removes unnecessary points from G-Code output - Smaller values yield a finer, more accurate mesh. Smaller values increase processing time a lot. @@ -48,36 +18,11 @@ Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. Smaller values yield a finer, more accurate mesh. Smaller values do not increase processing time much. - - - The completion mode for the operation: single or multi-pass - The completion mode for the operation: single or multi-pass - - - - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) - Stop index(angle) for rotational scan Stop index(angle) for rotational scan - - - Ignore areas that proceed below specified depth. - Ignore areas that proceed below specified depth. - - - - Depth used to identify waste areas to ignore. - Depth used to identify waste areas to ignore. - - - - Cut through waste to depth at model edge, releasing the model. - Cut through waste to depth at model edge, releasing the model. - Dropcutter lines are created parallel to this axis. @@ -243,6 +188,11 @@ The path to be copied 要複製之路徑 + + + The base geometry of this toolpath + The base geometry of this toolpath + The tool controller that will be used to calculate the path @@ -558,11 +508,6 @@ Extra offset to apply to the operation. Direction is operation dependent. Extra offset to apply to the operation. Direction is operation dependent. - - - The library to use to generate the path - 用於生成函軌跡的函式庫 - Start pocketing at center or boundary @@ -704,9 +649,64 @@ Make True, if using Cutter Radius Compensation - - The base geometry of this toolpath - The base geometry of this toolpath + + The direction along which dropcutter lines are created + The direction along which dropcutter lines are created + + + + Should the operation be limited by the stock object or by the bounding box of the base object + Should the operation be limited by the stock object or by the bounding box of the base object + + + + Step over percentage of the drop cutter path + Step over percentage of the drop cutter path + + + + Z-axis offset from the surface of the object + Z-axis offset from the surface of the object + + + + The Sample Interval. Small values cause long wait times + 樣本間隔。較小的數值導致長時間等待 + + + + Enable optimization which removes unnecessary points from G-Code output + Enable optimization which removes unnecessary points from G-Code output + + + + The completion mode for the operation: single or multi-pass + The completion mode for the operation: single or multi-pass + + + + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + The direction that the toolpath should go around the part: Climb(ClockWise) or Conventional(CounterClockWise) + + + + Ignore areas that proceed below specified depth. + Ignore areas that proceed below specified depth. + + + + Depth used to identify waste areas to ignore. + Depth used to identify waste areas to ignore. + + + + Cut through waste to depth at model edge, releasing the model. + Cut through waste to depth at model edge, releasing the model. + + + + The library to use to generate the path + 用於生成函軌跡的函式庫 @@ -986,16 +986,16 @@ Selected tool is not a drill Selected tool is not a drill - - - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be <90° and >=0° - Invalid Cutting Edge Angle %.2f, must be >0° and <=180° Invalid Cutting Edge Angle %.2f, must be >0° and <=180° + + + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Invalid Cutting Edge Angle %.2f, must be <90° and >=0° + Cutting Edge Angle (%.2f) results in negative tool tip length @@ -1158,31 +1158,6 @@ Increased to stock top. Ignoring non-horizontal Face Ignoring non-horizontal Face - - - Face appears misaligned after initial rotation. - Face appears misaligned after initial rotation. - - - - Consider toggling the 'InverseAngle' property and recomputing. - Consider toggling the 'InverseAngle' property and recomputing. - - - - Multiple faces in Base Geometry. - Multiple faces in Base Geometry. - - - - Depth settings will be applied to all faces. - Depth settings will be applied to all faces. - - - - EnableRotation property is 'Off'. - EnableRotation property is 'Off'. - Unable to create path for face(s). @@ -1248,6 +1223,31 @@ Increased to stock top. Utils Utils + + + Face appears misaligned after initial rotation. + Face appears misaligned after initial rotation. + + + + Consider toggling the 'InverseAngle' property and recomputing. + Consider toggling the 'InverseAngle' property and recomputing. + + + + Multiple faces in Base Geometry. + Multiple faces in Base Geometry. + + + + Depth settings will be applied to all faces. + Depth settings will be applied to all faces. + + + + EnableRotation property is 'Off'. + EnableRotation property is 'Off'. + @@ -1980,16 +1980,6 @@ If it is necessary to set the FinalDepth manually please select a different oper PathPocket - - - Pocket Shape - Pocket Shape - - - - Creates a Path Pocket object from a face or faces - Creates a Path Pocket object from a face or faces - Normal @@ -2040,6 +2030,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Final depth set below ZMin of face(s) selected. Final depth set below ZMin of face(s) selected. + + + Pocket Shape + Pocket Shape + + + + Creates a Path Pocket object from a face or faces + Creates a Path Pocket object from a face or faces + 3D Pocket @@ -3461,6 +3461,16 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Dressup + + + Dress-up + Dress-up + + + + Creates a Path Dess-up object from a selected path + Creates a Path Dess-up object from a selected path + Please select one path object @@ -3480,16 +3490,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Please select a Path object Please select a Path object - - - Dress-up - Dress-up - - - - Creates a Path Dess-up object from a selected path - Creates a Path Dess-up object from a selected path - Path_DressupAxisMap @@ -3962,13 +3962,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a Path Hop object Creates a Path Hop object - - - The selected object is not a path - - The selected object is not a path - - Please select one path object @@ -3984,6 +3977,13 @@ If it is necessary to set the FinalDepth manually please select a different oper Create Hop Create Hop + + + The selected object is not a path + + The selected object is not a path + + Path_Inspect @@ -4230,11 +4230,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_Sanity - - - The Job has no selected Base object. - The Job has no selected Base object. - Check the path job for common errors @@ -4485,6 +4480,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Date Date + + + The Job has no selected Base object. + The Job has no selected Base object. + It appears the machine limits haven't been set. Not able to check path extents. @@ -4645,11 +4645,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Path_ToolController - - - Tool Number to Load - Tool Number to Load - Add Tool Controller to the Job @@ -4660,6 +4655,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Add Tool Controller Add Tool Controller + + + Tool Number to Load + Tool Number to Load + Path_ToolTable @@ -4686,11 +4686,6 @@ If it is necessary to set the FinalDepth manually please select a different oper Creates a medial line engraving path Creates a medial line engraving path - - - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle - VCarve requires an engraving cutter with CuttingEdgeAngle @@ -4701,6 +4696,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Engraver Cutting Edge Angle must be < 180 degrees. Engraver Cutting Edge Angle must be < 180 degrees. + + + VCarve requires an engraving cutter with CuttingEdgeAngle + VCarve requires an engraving cutter with CuttingEdgeAngle + Path_Waterline @@ -4735,56 +4735,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Save toolbit library Save toolbit library - - - Tooltable JSON (*.json) - Tooltable JSON (*.json) - - - - HeeksCAD tooltable (*.tooltable) - HeeksCAD tooltable (*.tooltable) - - - - LinuxCNC tooltable (*.tbl) - LinuxCNC tooltable (*.tbl) - Open tooltable Open tooltable - - - Save tooltable - Save tooltable - - - - Rename Tooltable - Rename Tooltable - - - - Enter Name: - Enter Name: - - - - Add New Tool Table - Add New Tool Table - - - - Delete Selected Tool Table - Delete Selected Tool Table - - - - Rename Selected Tool Table - Rename Selected Tool Table - Tooltable editor @@ -4995,6 +4950,11 @@ If it is necessary to set the FinalDepth manually please select a different oper Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) Tooltable XML (*.xml);;HeeksCAD tooltable (*.tooltable) + + + Save tooltable + Save tooltable + Tooltable XML (*.xml) @@ -5010,6 +4970,46 @@ If it is necessary to set the FinalDepth manually please select a different oper Object doesn't have a tooltable property Object doesn't have a tooltable property + + + Rename Tooltable + Rename Tooltable + + + + Enter Name: + Enter Name: + + + + Add New Tool Table + Add New Tool Table + + + + Delete Selected Tool Table + Delete Selected Tool Table + + + + Rename Selected Tool Table + Rename Selected Tool Table + + + + Tooltable JSON (*.json) + Tooltable JSON (*.json) + + + + HeeksCAD tooltable (*.tooltable) + HeeksCAD tooltable (*.tooltable) + + + + LinuxCNC tooltable (*.tbl) + LinuxCNC tooltable (*.tbl) + Tooltable XML (*.xml);;LinuxCNC tooltable (*.tbl) diff --git a/src/Mod/Path/PathScripts/PathAdaptive.py b/src/Mod/Path/PathScripts/PathAdaptive.py index 06cc36774f..f7b96cf96e 100644 --- a/src/Mod/Path/PathScripts/PathAdaptive.py +++ b/src/Mod/Path/PathScripts/PathAdaptive.py @@ -42,6 +42,7 @@ Part = LazyLoader('Part', globals(), 'Part') FeatureExtensions = LazyLoader('PathScripts.PathFeatureExtensions', globals(), 'PathScripts.PathFeatureExtensions') +DraftGeomUtils = LazyLoader('DraftGeomUtils', globals(), 'DraftGeomUtils') if FreeCAD.GuiUp: from pivy import coin @@ -559,16 +560,16 @@ def Execute(op, obj): def _get_working_edges(op, obj): - """_get_working_edges(op, obj)... + '''_get_working_edges(op, obj)... Compile all working edges from the Base Geometry selection (obj.Base) for the current operation. Additional modifications to selected region(face), such as extensions, should be placed within this function. - """ - regions = list() + ''' all_regions = list() edge_list = list() avoidFeatures = list() + rawEdges = list() # Get extensions and identify faces to avoid extensions = FeatureExtensions.getExtensions(obj) @@ -579,20 +580,30 @@ def _get_working_edges(op, obj): # Get faces selected by user for base, subs in obj.Base: for sub in subs: - if sub not in avoidFeatures: - if obj.UseOutline: - face = base.Shape.getElement(sub) - # get outline with wire_A method used in PocketShape, but it does not play nicely later - # wire_A = TechDraw.findShapeOutline(face, 1, FreeCAD.Vector(0.0, 0.0, 1.0)) - wire_B = face.Wires[0] - shape = Part.Face(wire_B) - else: - shape = base.Shape.getElement(sub) - regions.append(shape) + if sub.startswith("Face"): + if sub not in avoidFeatures: + if obj.UseOutline: + face = base.Shape.getElement(sub) + # get outline with wire_A method used in PocketShape, but it does not play nicely later + # wire_A = TechDraw.findShapeOutline(face, 1, FreeCAD.Vector(0.0, 0.0, 1.0)) + wire_B = face.Wires[0] + shape = Part.Face(wire_B) + else: + shape = base.Shape.getElement(sub) + all_regions.append(shape) + elif sub.startswith("Edge"): + # Save edges for later processing + rawEdges.append(base.Shape.getElement(sub)) # Efor - # Return Extend Outline extension, OR regular edge extension - all_regions = regions + # Process selected edges + if rawEdges: + edgeWires = DraftGeomUtils.findWires(rawEdges) + if edgeWires: + for w in edgeWires: + for e in w.Edges: + edge_list.append([discretize(e)]) + # Apply regular Extensions op.exts = [] # pylint: disable=attribute-defined-outside-init for ext in extensions: @@ -605,10 +616,12 @@ def _get_working_edges(op, obj): # Second face-combining method attempted horizontal = PathGeom.combineHorizontalFaces(all_regions) - for f in horizontal: - for w in f.Wires: - for e in w.Edges: - edge_list.append([discretize(e)]) + if horizontal: + obj.removalshape = Part.makeCompound(horizontal) + for f in horizontal: + for w in f.Wires: + for e in w.Edges: + edge_list.append([discretize(e)]) return edge_list @@ -662,6 +675,9 @@ class PathAdaptive(PathOp.ObjectOp): obj.addProperty("App::PropertyBool", "UseOutline", "Adaptive", "Uses the outline of the base geometry.") + obj.addProperty("Part::PropertyPartShape", "removalshape", "Path", "") + obj.setEditorMode('removalshape', 2) # hide + FeatureExtensions.initialize_properties(obj) def opSetDefaultValues(self, obj, job): @@ -703,6 +719,11 @@ class PathAdaptive(PathOp.ObjectOp): "UseOutline", "Adaptive", "Uses the outline of the base geometry.") + + if not hasattr(obj, "removalshape"): + obj.addProperty("Part::PropertyPartShape", "removalshape", "Path", "") + obj.setEditorMode('removalshape', 2) # hide + FeatureExtensions.initialize_properties(obj) diff --git a/src/Mod/Path/PathScripts/PathDeburr.py b/src/Mod/Path/PathScripts/PathDeburr.py index a6c24241f4..51bbb96207 100644 --- a/src/Mod/Path/PathScripts/PathDeburr.py +++ b/src/Mod/Path/PathScripts/PathDeburr.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # *************************************************************************** # * Copyright (c) 2018 sliptonic * -# * Copyright (c) 2020 Schildkroet * +# * Copyright (c) 2020-2021 Schildkroet * # * * # * This program is free software; you can redistribute it and/or modify * # * it under the terms of the GNU Lesser General Public License (LGPL) * @@ -86,14 +86,14 @@ def toolDepthAndOffset(width, extraDepth, tool, printInfo): extraOffset = -width if angle == 180 else (extraDepth / tan) offset = toolOffset + extraOffset - return (depth, offset, suppressInfo) + return (depth, offset, extraOffset, suppressInfo) class ObjectDeburr(PathEngraveBase.ObjectOp): '''Proxy class for Deburr operation.''' def opFeatures(self, obj): - return PathOp.FeatureTool | PathOp.FeatureHeights | PathOp.FeatureStepDown | PathOp.FeatureBaseEdges | PathOp.FeatureBaseFaces | PathOp.FeatureCoolant + return PathOp.FeatureTool | PathOp.FeatureHeights | PathOp.FeatureStepDown | PathOp.FeatureBaseEdges | PathOp.FeatureBaseFaces | PathOp.FeatureCoolant | PathOp.FeatureBaseGeometry def initOperation(self, obj): PathLog.track(obj.Label) @@ -123,7 +123,7 @@ class ObjectDeburr(PathEngraveBase.ObjectOp): if not hasattr(self, 'printInfo'): self.printInfo = True try: - (depth, offset, suppressInfo) = toolDepthAndOffset(obj.Width.Value, obj.ExtraDepth.Value, self.tool, self.printInfo) + (depth, offset, extraOffset, suppressInfo) = toolDepthAndOffset(obj.Width.Value, obj.ExtraDepth.Value, self.tool, self.printInfo) self.printInfo = not suppressInfo except ValueError as e: msg = "{} \n No path will be generated".format(e) @@ -136,42 +136,129 @@ class ObjectDeburr(PathEngraveBase.ObjectOp): self.basewires = [] # pylint: disable=attribute-defined-outside-init self.adjusted_basewires = [] # pylint: disable=attribute-defined-outside-init wires = [] + for base, subs in obj.Base: edges = [] basewires = [] + max_h = -99999 + radius_top = 0 + radius_bottom = 0 + for f in subs: sub = base.Shape.getElement(f) - if type(sub) == Part.Edge: + + if type(sub) == Part.Edge: # Edge edges.append(sub) + + elif type(sub) == Part.Face and sub.normalAt(0, 0) != FreeCAD.Vector(0, 0, 1): # Angled face + # If an angled face is selected, the lower edge is projected to the height of the upper edge, + # to simulate an edge + + # Find z value of upper edge + for edge in sub.Edges: + for p0 in edge.Vertexes: + if p0.Point.z > max_h: + max_h = p0.Point.z + + # Find biggest radius for top/bottom + for edge in sub.Edges: + if Part.Circle == type(edge.Curve): + if edge.Vertexes[0].Point.z == max_h: + if edge.Curve.Radius > radius_top: + radius_top = edge.Curve.Radius + else: + if edge.Curve.Radius > radius_bottom: + radius_bottom = edge.Curve.Radius + + # Search for lower edge and raise it to height of upper edge + for edge in sub.Edges: + if Part.Circle == type(edge.Curve): # Edge is a circle + if edge.Vertexes[0].Point.z < max_h: + + if edge.Closed: # Circle + # New center + center = FreeCAD.Vector(edge.Curve.Center.x, edge.Curve.Center.y, max_h) + new_edge = Part.makeCircle(edge.Curve.Radius, center, FreeCAD.Vector(0, 0, 1)) + edges.append(new_edge) + + # Modify offset for inner angled faces + if radius_bottom < radius_top: + offset -= 2 * extraOffset + + break + + else: # Arc + if edge.Vertexes[0].Point.z == edge.Vertexes[1].Point.z: + # Arc vertexes are on same layer + l1 = math.sqrt((edge.Vertexes[0].Point.x - edge.Curve.Center.x)**2 + (edge.Vertexes[0].Point.y - edge.Curve.Center.y)**2) + l2 = math.sqrt((edge.Vertexes[1].Point.x - edge.Curve.Center.x)**2 + (edge.Vertexes[1].Point.y - edge.Curve.Center.y)**2) + + # New center + center = FreeCAD.Vector(edge.Curve.Center.x, edge.Curve.Center.y, max_h) + + # Calculate angles based on x-axis (0 - PI/2) + start_angle = math.acos((edge.Vertexes[0].Point.x - edge.Curve.Center.x) / l1) + end_angle = math.acos((edge.Vertexes[1].Point.x - edge.Curve.Center.x) / l2) + + # Angles are based on x-axis (Mirrored on x-axis) -> negative y value means negative angle + if edge.Vertexes[0].Point.y < edge.Curve.Center.y: + start_angle *= -1 + if edge.Vertexes[1].Point.y < edge.Curve.Center.y: + end_angle *= -1 + + # Create new arc + new_edge = Part.ArcOfCircle(Part.Circle(center, FreeCAD.Vector(0,0,1), edge.Curve.Radius), start_angle, end_angle).toShape() + edges.append(new_edge) + + # Modify offset for inner angled faces + if radius_bottom < radius_top: + offset -= 2 * extraOffset + + break + + else: # Line + if edge.Vertexes[0].Point.z == edge.Vertexes[1].Point.z and edge.Vertexes[0].Point.z < max_h: + new_edge = Part.Edge(Part.LineSegment(FreeCAD.Vector(edge.Vertexes[0].Point.x, edge.Vertexes[0].Point.y, max_h), FreeCAD.Vector(edge.Vertexes[1].Point.x, edge.Vertexes[1].Point.y, max_h))) + edges.append(new_edge) + + elif sub.Wires: basewires.extend(sub.Wires) - else: + + else: # Flat face basewires.append(Part.Wire(sub.Edges)) + self.edges = edges # pylint: disable=attribute-defined-outside-init for edgelist in Part.sortEdges(edges): basewires.append(Part.Wire(edgelist)) self.basewires.extend(basewires) + # Set default side + side = ["Outside"] for w in basewires: self.adjusted_basewires.append(w) - wire = PathOpTools.offsetWire(w, base.Shape, offset, True) #, obj.Side) + wire = PathOpTools.offsetWire(w, base.Shape, offset, True, side) if wire: wires.append(wire) - # # Save Outside or Inside - # obj.Side = side[0] - # Set direction of op forward = (obj.Direction == 'CW') + # Set value of side + obj.Side = side[0] + # Check side extra for angled faces + if radius_top > radius_bottom: + obj.Side = "Inside" + zValues = [] z = 0 if obj.StepDown.Value != 0: while z + obj.StepDown.Value < depth: z = z + obj.StepDown.Value zValues.append(z) + zValues.append(depth) PathLog.track(obj.Label, depth, zValues) @@ -208,5 +295,6 @@ def Create(name, obj=None): '''Create(name) ... Creates and returns a Deburr operation.''' if obj is None: obj = FreeCAD.ActiveDocument.addObject("Path::FeaturePython", name) + obj.Proxy = ObjectDeburr(obj, name) return obj diff --git a/src/Mod/Path/PathScripts/PathDeburrGui.py b/src/Mod/Path/PathScripts/PathDeburrGui.py index d98642f4dd..76e5f405e6 100644 --- a/src/Mod/Path/PathScripts/PathDeburrGui.py +++ b/src/Mod/Path/PathScripts/PathDeburrGui.py @@ -55,15 +55,6 @@ class TaskPanelBaseGeometryPage(PathOpGui.TaskPanelBaseGeometryPage): return super(TaskPanelBaseGeometryPage, self) def addBaseGeometry(self, selection): - for sel in selection: - if sel.HasSubObjects: - # selectively add some elements of the drawing to the Base - for sub in sel.SubObjects: - if isinstance(sub, Part.Face): - if sub.normalAt(0, 0) != FreeCAD.Vector(0, 0, 1): - PathLog.info(translate("Path", "Ignoring non-horizontal Face")) - return - self.super().addBaseGeometry(selection) diff --git a/src/Mod/Path/PathScripts/PathDressupLeadInOut.py b/src/Mod/Path/PathScripts/PathDressupLeadInOut.py index 64fc18e1ac..03f24a277f 100644 --- a/src/Mod/Path/PathScripts/PathDressupLeadInOut.py +++ b/src/Mod/Path/PathScripts/PathDressupLeadInOut.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # *************************************************************************** # * Copyright (c) 2017 LTS under LGPL * -# * Copyright (c) 2020 Schildkroet * +# * Copyright (c) 2020-2021 Schildkroet * # * * # * This program is free software; you can redistribute it and/or modify * # * it under the terms of the GNU Lesser General Public License (LGPL) * @@ -113,6 +113,7 @@ class ObjectDressup: def getDirectionOfPath(self, obj): op = PathDressup.baseOp(obj.Base) + if hasattr(op, 'Side') and op.Side == 'Outside': if hasattr(op, 'Direction') and op.Direction == 'CW': return 'left' @@ -131,12 +132,16 @@ class ObjectDressup: return '' def normalize(self, Vector): + vx = 0 + vy = 0 + x = Vector.x y = Vector.y length = math.sqrt(x*x + y*y) if((math.fabs(length)) > 0.0000000000001): vx = round(x / length, 3) vy = round(y / length, 3) + return FreeCAD.Vector(vx, vy, 0) def invert(self, Vector): diff --git a/src/Mod/Path/PathScripts/PathFeatureExtensionsGui.py b/src/Mod/Path/PathScripts/PathFeatureExtensionsGui.py index 4f7da3c630..078c28ee63 100644 --- a/src/Mod/Path/PathScripts/PathFeatureExtensionsGui.py +++ b/src/Mod/Path/PathScripts/PathFeatureExtensionsGui.py @@ -440,7 +440,7 @@ class TaskPanelExtensionPage(PathOpGui.TaskPanelPage): baseItem.setData(base[0].Label, QtCore.Qt.EditRole) baseItem.setSelectable(False) for sub in sorted(base[1]): - if sub.startswith('Face') or True: + if sub.startswith('Face'): show = True baseItem.appendRow(self.createItemForBaseModel(base[0], sub, edges, extensions)) if show: diff --git a/src/Mod/Path/PathScripts/PathGeom.py b/src/Mod/Path/PathScripts/PathGeom.py index 5eff971035..2d8d54ecfd 100644 --- a/src/Mod/Path/PathScripts/PathGeom.py +++ b/src/Mod/Path/PathScripts/PathGeom.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # *************************************************************************** # * Copyright (c) 2016 sliptonic * +# * Copyright (c) 2021 Schildkroet * # * * # * This program is free software; you can redistribute it and/or modify * # * it under the terms of the GNU Lesser General Public License (LGPL) * @@ -342,8 +343,11 @@ def edgeForCmd(cmd, startPoint): PathLog.debug("StartPoint:{}".format(startPoint)) PathLog.debug("MidPoint:{}".format(midPoint)) PathLog.debug("EndPoint:{}".format(endPoint)) - - return Part.Edge(Part.Arc(startPoint, midPoint, endPoint)) + + if pointsCoincide(startPoint, endPoint, 0.001): + return Part.makeCircle(R, center, FreeCAD.Vector(0, 0, 1)) + else: + return Part.Edge(Part.Arc(startPoint, midPoint, endPoint)) # It's a Helix #print('angle: A=%.2f B=%.2f' % (getAngle(A)/math.pi, getAngle(B)/math.pi)) diff --git a/src/Mod/Path/PathScripts/PathJobDlg.py b/src/Mod/Path/PathScripts/PathJobDlg.py index c7e98edda5..047c92280c 100644 --- a/src/Mod/Path/PathScripts/PathJobDlg.py +++ b/src/Mod/Path/PathScripts/PathJobDlg.py @@ -213,7 +213,8 @@ class JobCreate: def setupTemplate(self): templateFiles = [] for path in PathPreferences.searchPaths(): - templateFiles.extend(self.templateFilesIn(path)) + cleanPaths = [f.replace("\\", "/") for f in self.templateFilesIn(path)] # Standardize slashes used accross os platforms + templateFiles.extend(cleanPaths) template = {} for tFile in templateFiles: diff --git a/src/Mod/Path/PathScripts/PathOpGui.py b/src/Mod/Path/PathScripts/PathOpGui.py index 7d62d6c01b..6fcdf86e54 100644 --- a/src/Mod/Path/PathScripts/PathOpGui.py +++ b/src/Mod/Path/PathScripts/PathOpGui.py @@ -1113,7 +1113,7 @@ class TaskPanel(object): def accept(self, resetEdit=True): '''accept() ... callback invoked when user presses the task panel OK button.''' self.preCleanup() - if self.isDirty: + if self.isDirty(): self.panelGetFields() FreeCAD.ActiveDocument.commitTransaction() self.cleanup(resetEdit) diff --git a/src/Mod/Path/PathScripts/PathOpTools.py b/src/Mod/Path/PathScripts/PathOpTools.py index 5bdb3a9ba4..4f66953b02 100644 --- a/src/Mod/Path/PathScripts/PathOpTools.py +++ b/src/Mod/Path/PathScripts/PathOpTools.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # *************************************************************************** # * Copyright (c) 2018 sliptonic * +# * Copyright (c) 2021 Schildkroet * # * * # * This program is free software; you can redistribute it and/or modify * # * it under the terms of the GNU Lesser General Public License (LGPL) * @@ -143,7 +144,7 @@ def orientWire(w, forward=True): PathLog.track('orientWire - ok') return wire -def offsetWire(wire, base, offset, forward):#, Side = None): +def offsetWire(wire, base, offset, forward, Side = None): '''offsetWire(wire, base, offset, forward) ... offsets the wire away from base and orients the wire accordingly. The function tries to avoid most of the pitfalls of Part.makeOffset2D which is possible because all offsetting happens in the XY plane. @@ -158,14 +159,53 @@ def offsetWire(wire, base, offset, forward):#, Side = None): # https://www.freecadweb.org/wiki/Part%20Offset2D # it's easy to construct them manually though z = -1 if forward else 1 - edge = Part.makeCircle(curve.Radius + offset, curve.Center, FreeCAD.Vector(0, 0, z)) - if base.isInside(edge.Vertexes[0].Point, offset/2, True): + new_edge = Part.makeCircle(curve.Radius + offset, curve.Center, FreeCAD.Vector(0, 0, z)) + if base.isInside(new_edge.Vertexes[0].Point, offset/2, True): if offset > curve.Radius or PathGeom.isRoughly(offset, curve.Radius): # offsetting a hole by its own radius (or more) makes the hole vanish return None - edge = Part.makeCircle(curve.Radius - offset, curve.Center, FreeCAD.Vector(0, 0, -z)) - w = Part.Wire([edge]) - return w + if Side: + Side[0] = "Inside" + print("inside") + new_edge = Part.makeCircle(curve.Radius - offset, curve.Center, FreeCAD.Vector(0, 0, -z)) + + return Part.Wire([new_edge]) + + if Part.Circle == type(curve) and not wire.isClosed(): + # Process arc segment + z = -1 if forward else 1 + l1 = math.sqrt((edge.Vertexes[0].Point.x - curve.Center.x)**2 + (edge.Vertexes[0].Point.y - curve.Center.y)**2) + l2 = math.sqrt((edge.Vertexes[1].Point.x - curve.Center.x)**2 + (edge.Vertexes[1].Point.y - curve.Center.y)**2) + + # Calculate angles based on x-axis (0 - PI/2) + start_angle = math.acos((edge.Vertexes[0].Point.x - curve.Center.x) / l1) + end_angle = math.acos((edge.Vertexes[1].Point.x - curve.Center.x) / l2) + + # Angles are based on x-axis (Mirrored on x-axis) -> negative y value means negative angle + if edge.Vertexes[0].Point.y < curve.Center.y: + start_angle *= -1 + if edge.Vertexes[1].Point.y < curve.Center.y: + end_angle *= -1 + + if (edge.Vertexes[0].Point.x > curve.Center.x or edge.Vertexes[1].Point.x > curve.Center.x) and curve.AngleXU < 0: + tmp = start_angle + start_angle = end_angle + end_angle = tmp + + # Inside / Outside + if base.isInside(edge.Vertexes[0].Point, offset/2, True): + offset *= -1 + if Side: + Side[0] = "Inside" + + # Create new arc + if curve.AngleXU > 0: + edge = Part.ArcOfCircle(Part.Circle(curve.Center, FreeCAD.Vector(0,0,1), curve.Radius+offset), start_angle, end_angle).toShape() + else: + edge = Part.ArcOfCircle(Part.Circle(curve.Center, FreeCAD.Vector(0,0,1), curve.Radius-offset), start_angle, end_angle).toShape() + + return Part.Wire([edge]) + if Part.Line == type(curve) or Part.LineSegment == type(curve): # offsetting a single edge doesn't work because there is an infinite # possible planes into which the edge could be offset @@ -197,12 +237,12 @@ def offsetWire(wire, base, offset, forward):#, Side = None): if wire.isClosed(): if not base.isInside(owire.Edges[0].Vertexes[0].Point, offset/2, True): PathLog.track('closed - outside') - # if Side: - # Side[0] = "Outside" + if Side: + Side[0] = "Outside" return orientWire(owire, forward) PathLog.track('closed - inside') - # if Side: - # Side[0] = "Inside" + if Side: + Side[0] = "Inside" try: owire = wire.makeOffset2D(-offset) except Exception: # pylint: disable=broad-except diff --git a/src/Mod/Path/PathScripts/PathSelection.py b/src/Mod/Path/PathScripts/PathSelection.py index 055bfb1757..8f0725407b 100644 --- a/src/Mod/Path/PathScripts/PathSelection.py +++ b/src/Mod/Path/PathScripts/PathSelection.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- # *************************************************************************** # * Copyright (c) 2015 Dan Falck * +# * Copyright (c) 2021 Schildkroet * # * * # * This program is free software; you can redistribute it and/or modify * # * it under the terms of the GNU Lesser General Public License (LGPL) * @@ -115,7 +116,7 @@ class CHAMFERGate(PathBaseGate): subShape = shape.getElement(sub) if subShape.ShapeType == 'Edge': return True - elif (subShape.ShapeType == 'Face' and subShape.normalAt(0, 0) == FreeCAD.Vector(0, 0, 1)): + elif (subShape.ShapeType == 'Face'): return True return False diff --git a/src/Mod/Path/PathTests/TestPathAdaptive.py b/src/Mod/Path/PathTests/TestPathAdaptive.py new file mode 100644 index 0000000000..8e053df53d --- /dev/null +++ b/src/Mod/Path/PathTests/TestPathAdaptive.py @@ -0,0 +1,459 @@ +# -*- coding: utf-8 -*- +# *************************************************************************** +# * Copyright (c) 2021 Russell Johnson (russ4262) * +# * * +# * This file is part of the FreeCAD CAx development system. * +# * * +# * This program is free software; you can redistribute it and/or modify * +# * it under the terms of the GNU Lesser General Public License (LGPL) * +# * as published by the Free Software Foundation; either version 2 of * +# * the License, or (at your option) any later version. * +# * for detail see the LICENCE text file. * +# * * +# * This program is distributed in the hope that it will be useful, * +# * but WITHOUT ANY WARRANTY; without even the implied warranty of * +# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +# * GNU Library General Public License for more details. * +# * * +# * You should have received a copy of the GNU Library General Public * +# * License along with this program; if not, write to the Free Software * +# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * +# * USA * +# * * +# *************************************************************************** + +import FreeCAD +import Part +import PathScripts.PathJob as PathJob +import PathScripts.PathAdaptive as PathAdaptive +import PathScripts.PathGeom as PathGeom +from PathTests.PathTestUtils import PathTestBase +if FreeCAD.GuiUp: + import PathScripts.PathAdaptiveGui as PathAdaptiveGui + import PathScripts.PathJobGui as PathJobGui + + +class TestPathAdaptive(PathTestBase): + '''Unit tests for the Adaptive operation.''' + + @classmethod + def setUpClass(cls): + '''setUpClass()... + This method is called upon instantiation of this test class. Add code and objects here + that are needed for the duration of the test() methods in this class. In other words, + set up the 'global' test environment here; use the `setUp()` method to set up a 'local' + test environment. + This method does not have access to the class `self` reference, but it + is able to call static methods within this same class. + ''' + + # Open existing FreeCAD document with test geometry + doc = FreeCAD.open(FreeCAD.getHomePath() + 'Mod/Path/PathTests/test_adaptive.fcstd') + + # Create Job object, adding geometry objects from file opened above + job = PathJob.Create('Job', [doc.Fusion], None) + job.GeometryTolerance.Value = 0.001 + if FreeCAD.GuiUp: + job.ViewObject.Proxy = PathJobGui.ViewProvider(job.ViewObject) + + # Instantiate an Adaptive operation for quering available properties + prototype = PathAdaptive.Create("Adaptive") + prototype.Base = [(doc.Fusion, ["Face3"])] + prototype.Label = "Prototype" + _addViewProvider(prototype) + + doc.recompute() + + @classmethod + def tearDownClass(cls): + '''tearDownClass()... + This method is called prior to destruction of this test class. Add code and objects here + that cleanup the test environment after the test() methods in this class have been executed. + This method does not have access to the class `self` reference. This method + is able to call static methods within this same class. + ''' + # FreeCAD.Console.PrintMessage("TestPathAdaptive.tearDownClass()\n") + + # Close geometry document without saving + FreeCAD.closeDocument(FreeCAD.ActiveDocument.Name) + + # Setup and tear down methods called before and after each unit test + def setUp(self): + '''setUp()... + This method is called prior to each `test()` method. Add code and objects here + that are needed for multiple `test()` methods. + ''' + self.doc = FreeCAD.ActiveDocument + self.con = FreeCAD.Console + + def tearDown(self): + '''tearDown()... + This method is called after each test() method. Add cleanup instructions here. + Such cleanup instructions will likely undo those in the setUp() method. + ''' + pass + + # Unit tests + def test00(self): + '''test00() Empty test.''' + return + + def test01(self): + '''test01() Verify path generated on Face3.''' + + # Instantiate a Adaptive operation and set Base Geometry + adaptive = PathAdaptive.Create('Adaptive') + adaptive.Base = [(self.doc.Fusion, ["Face3"])] # (base, subs_list) + adaptive.Label = "test01+" + adaptive.Comment = "test01() Verify path generated on Face3." + + # Set additional operation properties + # setDepthsAndHeights(adaptive) + adaptive.FinishingProfile = False + adaptive.HelixAngle = 75.0 + adaptive.HelixDiameterLimit.Value = 1.0 + adaptive.LiftDistance.Value = 1.0 + adaptive.StepOver = 75 + adaptive.UseOutline = False + adaptive.setExpression('StepDown', None) + adaptive.StepDown.Value = 20.0 # Have to set expression to None before numerical value assignment + + _addViewProvider(adaptive) + self.doc.recompute() + + # moves = getGcodeMoves(adaptive.Path.Commands, includeRapids=False) + # operationMoves = "; ".join(moves) + # self.con.PrintMessage("test00_moves: " + operationMoves + "\n") + + # self.assertTrue(expected_moves_test01 == operationMoves, + # "expected_moves_test01: {}\noperationMoves: {}".format(expected_moves_test01, operationMoves)) + self.assertTrue(len(adaptive.Path.Commands) > 100, "Command count not greater than 100.") + + def test02(self): + '''test02() Verify path generated on adjacent, combined Face3 and Face10. The Z heights are different.''' + + # Instantiate a Adaptive operation and set Base Geometry + adaptive = PathAdaptive.Create('Adaptive') + adaptive.Base = [(self.doc.Fusion, ["Face3", "Face10"])] # (base, subs_list) + adaptive.Label = "test02+" + adaptive.Comment = "test02() Verify path generated on adjacent, combined Face3 and Face10. The Z heights are different." + + # Set additional operation properties + # setDepthsAndHeights(adaptive) + adaptive.FinishingProfile = False + adaptive.HelixAngle = 75.0 + adaptive.HelixDiameterLimit.Value = 1.0 + adaptive.LiftDistance.Value = 1.0 + adaptive.StepOver = 75 + adaptive.UseOutline = False + adaptive.setExpression('StepDown', None) + adaptive.StepDown.Value = 20.0 # Have to set expression to None before numerical value assignment + + _addViewProvider(adaptive) + self.doc.recompute() + + self.assertTrue(len(adaptive.Path.Commands) > 100, "Command count not greater than 100.") + + def test03(self): + '''test03() Verify path generated on adjacent, combined Face3 and Face10. The Z heights are different.''' + + # Instantiate a Adaptive operation and set Base Geometry + adaptive = PathAdaptive.Create('Adaptive') + adaptive.Base = [(self.doc.Fusion, ["Face3", "Face10"])] # (base, subs_list) + adaptive.Label = "test03+" + adaptive.Comment = "test03() Verify path generated on adjacent, combined Face3 and Face10. The Z heights are different." + + # Set additional operation properties + # setDepthsAndHeights(adaptive) + adaptive.FinishingProfile = False + adaptive.HelixAngle = 75.0 + adaptive.HelixDiameterLimit.Value = 1.0 + adaptive.LiftDistance.Value = 1.0 + adaptive.StepOver = 75 + adaptive.UseOutline = True + adaptive.setExpression('StepDown', None) + adaptive.StepDown.Value = 20.0 # Have to set expression to None before numerical value assignment + + _addViewProvider(adaptive) + self.doc.recompute() + + self.assertTrue(len(adaptive.Path.Commands) > 100, "Command count not greater than 100.") + + def test04(self): + '''test04() Verify path generated non-closed edges with differing Z-heights that are closed with Z=1 projection: "Edge9", "Edge2", "Edge8", "Edge15", "Edge30", "Edge31", "Edge29", "Edge19".''' + + # Instantiate a Adaptive operation and set Base Geometry + adaptive = PathAdaptive.Create('Adaptive') + adaptive.Base = [(self.doc.Fusion, ["Edge9", "Edge2", "Edge8", "Edge15", "Edge30", "Edge31", "Edge29", "Edge19"])] # (base, subs_list) + adaptive.Label = "test04+" + adaptive.Comment = 'test04() Verify path generated non-closed edges with differing Z-heights that are closed with Z=1 projection: "Edge9", "Edge2", "Edge8", "Edge15", "Edge30", "Edge31", "Edge29", "Edge19".' + + # Set additional operation properties + # setDepthsAndHeights(adaptive) + adaptive.FinishingProfile = False + adaptive.HelixAngle = 75.0 + adaptive.HelixDiameterLimit.Value = 1.0 + adaptive.LiftDistance.Value = 1.0 + adaptive.StepOver = 75 + adaptive.UseOutline = False + adaptive.setExpression('StepDown', None) + adaptive.StepDown.Value = 20.0 # Have to set expression to None before numerical value assignment + + _addViewProvider(adaptive) + self.doc.recompute() + + self.assertTrue(len(adaptive.Path.Commands) > 100, "Command count not greater than 100.") + + def test05(self): + '''test05() Verify path generated closed wire with differing Z-heights: "Edge13", "Edge7", "Edge9", "Edge2", "Edge8", "Edge15", "Edge30", "Edge31", "Edge29", "Edge19".''' + + # Instantiate a Adaptive operation and set Base Geometry + adaptive = PathAdaptive.Create('Adaptive') + adaptive.Base = [(self.doc.Fusion, ["Edge13", "Edge7", "Edge9", "Edge2", "Edge8", "Edge15", "Edge30", "Edge31", "Edge29", "Edge19"])] # (base, subs_list) + adaptive.Label = "test05+" + adaptive.Comment = 'test05() Verify path generated closed wire with differing Z-heights: "Edge13", "Edge7", "Edge9", "Edge2", "Edge8", "Edge15", "Edge30", "Edge31", "Edge29", "Edge19".' + + # Set additional operation properties + # setDepthsAndHeights(adaptive) + adaptive.FinishingProfile = False + adaptive.HelixAngle = 75.0 + adaptive.HelixDiameterLimit.Value = 1.0 + adaptive.LiftDistance.Value = 1.0 + adaptive.StepOver = 75 + adaptive.UseOutline = False + adaptive.setExpression('StepDown', None) + adaptive.StepDown.Value = 20.0 # Have to set expression to None before numerical value assignment + + _addViewProvider(adaptive) + self.doc.recompute() + + self.assertTrue(len(adaptive.Path.Commands) > 100, "Command count not greater than 100.") + + def test06(self): + '''test06() Verify path generated with outer and inner edge loops at same Z height: "Edge15", "Edge30", "Edge31", "Edge29", "Edge19", "Edge18", "Edge35", "Edge32", "Edge34", "Edge33".''' + + # Instantiate a Adaptive operation and set Base Geometry + adaptive = PathAdaptive.Create('Adaptive') + adaptive.Base = [(self.doc.Fusion, ["Edge15", "Edge30", "Edge31", "Edge29", "Edge19", "Edge18", "Edge35", "Edge32", "Edge34", "Edge33"])] # (base, subs_list) + adaptive.Label = "test06+" + adaptive.Comment = 'test06() Verify path generated with outer and inner edge loops at same Z height: "Edge15", "Edge30", "Edge31", "Edge29", "Edge19", "Edge18", "Edge35", "Edge32", "Edge34", "Edge33".' + + # Set additional operation properties + # setDepthsAndHeights(adaptive) + adaptive.FinishingProfile = False + adaptive.HelixAngle = 75.0 + adaptive.HelixDiameterLimit.Value = 1.0 + adaptive.LiftDistance.Value = 1.0 + adaptive.StepOver = 75 + adaptive.UseOutline = False + adaptive.setExpression('StepDown', None) + adaptive.StepDown.Value = 20.0 # Have to set expression to None before numerical value assignment + + _addViewProvider(adaptive) + self.doc.recompute() + + # Check command count + self.assertTrue(len(adaptive.Path.Commands) > 100, "Command count not greater than 100.") + + # Check if any paths originate inside inner hole of donut. They should not. + isInBox = False + edges = [self.doc.Fusion.Shape.getElement(e) for e in ["Edge35", "Edge32", "Edge33", "Edge34"]] + square = Part.Wire(edges) + sqrBB = square.BoundBox + minPoint = FreeCAD.Vector(sqrBB.XMin, sqrBB.YMin, 0.0) + maxPoint = FreeCAD.Vector(sqrBB.XMax, sqrBB.YMax, 0.0) + for c in adaptive.Path.Commands: + if pathOriginatesInBox(c, minPoint, maxPoint): + isInBox = True + break + self.assertFalse(isInBox, "Paths originating within the inner hole.") + + def test07(self): + '''test07() Verify path generated on donut-shaped Face10.''' + + # Instantiate a Adaptive operation and set Base Geometry + adaptive = PathAdaptive.Create('Adaptive') + adaptive.Base = [(self.doc.Fusion, ["Face10"])] # (base, subs_list) + adaptive.Label = "test07+" + adaptive.Comment = "test07() Verify path generated on donut-shaped Face10." + + # Set additional operation properties + # setDepthsAndHeights(adaptive) + adaptive.FinishingProfile = False + adaptive.HelixAngle = 75.0 + adaptive.HelixDiameterLimit.Value = 1.0 + adaptive.LiftDistance.Value = 1.0 + adaptive.StepOver = 75 + adaptive.UseOutline = False + adaptive.setExpression('StepDown', None) + adaptive.StepDown.Value = 20.0 # Have to set expression to None before numerical value assignment + + _addViewProvider(adaptive) + self.doc.recompute() + + self.assertTrue(len(adaptive.Path.Commands) > 100, "Command count not greater than 100.") + + # Check if any paths originate inside inner hole of donut. They should not. + isInBox = False + edges = [self.doc.Fusion.Shape.getElement(e) for e in ["Edge35", "Edge32", "Edge33", "Edge34"]] + square = Part.Wire(edges) + sqrBB = square.BoundBox + minPoint = FreeCAD.Vector(sqrBB.XMin, sqrBB.YMin, 0.0) + maxPoint = FreeCAD.Vector(sqrBB.XMax, sqrBB.YMax, 0.0) + for c in adaptive.Path.Commands: + if pathOriginatesInBox(c, minPoint, maxPoint): + isInBox = True + break + self.assertFalse(isInBox, "Paths originating within the inner hole.") + + # Set Adaptive op to only use the outline of the face. + adaptive.UseOutline = True + self.doc.recompute() + + # Check if any paths originate inside inner hole of donut. They should not. + isInBox = False + edges = [self.doc.Fusion.Shape.getElement(e) for e in ["Edge35", "Edge32", "Edge33", "Edge34"]] + square = Part.Wire(edges) + sqrBB = square.BoundBox + minPoint = FreeCAD.Vector(sqrBB.XMin, sqrBB.YMin, 0.0) + maxPoint = FreeCAD.Vector(sqrBB.XMax, sqrBB.YMax, 0.0) + for c in adaptive.Path.Commands: + if pathOriginatesInBox(c, minPoint, maxPoint): + isInBox = True + break + self.assertTrue(isInBox, "No paths originating within the inner hole.") +# Eclass + + +def setDepthsAndHeights(op, strDep=20.0, finDep=0.0): + '''setDepthsAndHeights(op, strDep=20.0, finDep=0.0)... Sets default depths and heights for `op` passed to it''' + + # Set start and final depth in order to eliminate effects of stock (and its default values) + op.setExpression('StartDepth', None) + op.StartDepth.Value = strDep + op.setExpression('FinalDepth', None) + op.FinalDepth.Value = finDep + + # Set step down so as to only produce one layer path + op.setExpression('StepDown', None) + op.StepDown.Value = 20.0 + + # Set Heights + # default values used + + +def getGcodeMoves(cmdList, includeRapids=True, includeLines=True, includeArcs=True): + '''getGcodeMoves(cmdList, includeRapids=True, includeLines=True, includeArcs=True)... + Accepts command dict and returns point string coordinate. + ''' + gcode_list = list() + last = FreeCAD.Vector(0.0, 0.0, 0.0) + for c in cmdList: + p = c.Parameters + name = c.Name + if includeRapids and name in ["G0", "G00"]: + gcode = name + x = last.x + y = last.y + z = last.z + if p.get("X"): + x = round(p["X"], 2) + gcode += " X" + str(x) + if p.get("Y"): + y = round(p["Y"], 2) + gcode += " Y" + str(y) + if p.get("Z"): + z = round(p["Z"], 2) + gcode += " Z" + str(z) + last.x = x + last.y = y + last.z = z + gcode_list.append(gcode) + elif includeLines and name in ["G1", "G01"]: + gcode = name + x = last.x + y = last.y + z = last.z + if p.get("X"): + x = round(p["X"], 2) + gcode += " X" + str(x) + if p.get("Y"): + y = round(p["Y"], 2) + gcode += " Y" + str(y) + if p.get("Z"): + z = round(p["Z"], 2) + gcode += " Z" + str(z) + last.x = x + last.y = y + last.z = z + gcode_list.append(gcode) + elif includeArcs and name in ["G2", "G3", "G02", "G03"]: + gcode = name + x = last.x + y = last.y + z = last.z + i = 0.0 + j = 0.0 + k = 0.0 + if p.get("I"): + i = round(p["I"], 2) + gcode += " I" + str(i) + if p.get("J"): + j = round(p["J"], 2) + gcode += " J" + str(j) + if p.get("K"): + k = round(p["K"], 2) + gcode += " K" + str(k) + + if p.get("X"): + x = round(p["X"], 2) + gcode += " X" + str(x) + if p.get("Y"): + y = round(p["Y"], 2) + gcode += " Y" + str(y) + if p.get("Z"): + z = round(p["Z"], 2) + gcode += " Z" + str(z) + + gcode_list.append(gcode) + last.x = x + last.y = y + last.z = z + return gcode_list + + +def pathOriginatesInBox(cmd, minPoint, maxPoint): + p = cmd.Parameters + name = cmd.Name + if name in ["G0", "G00", "G1", "G01"]: + if p.get("X") and p.get("Y"): + x = p.get("X") + y = p.get("Y") + if x > minPoint.x and y > minPoint.y and x < maxPoint.x and y < maxPoint.y: + return True + return False + + +def _addViewProvider(adaptiveOp): + if FreeCAD.GuiUp: + PathOpGui = PathAdaptiveGui.PathOpGui + cmdRes = PathAdaptiveGui.Command.res + adaptiveOp.ViewObject.Proxy = PathOpGui.ViewProvider(adaptiveOp.ViewObject, cmdRes) + + +# Example string literal of expected path moves from an operation +# Expected moves for unit test01 +expected_moves_test01 = "G1 X32.5 Y32.5 Z5.0; \ +G1 X17.5 Y32.5 Z5.0; \ +G1 X17.5 Y30.0 Z5.0; \ +G1 X32.5 Y30.0 Z5.0; \ +G1 X32.5 Y27.5 Z5.0; \ +G1 X17.5 Y27.5 Z5.0; \ +G1 X17.5 Y25.0 Z5.0; \ +G1 X32.5 Y25.0 Z5.0; \ +G1 X32.5 Y22.5 Z5.0; \ +G1 X17.5 Y22.5 Z5.0; \ +G1 X17.5 Y20.0 Z5.0; \ +G1 X32.5 Y20.0 Z5.0; \ +G1 X32.5 Y17.5 Z5.0; \ +G1 X17.5 Y17.5 Z5.0" diff --git a/src/Mod/Path/PathTests/TestPathDeburr.py b/src/Mod/Path/PathTests/TestPathDeburr.py index 901851143b..2dcf446018 100644 --- a/src/Mod/Path/PathTests/TestPathDeburr.py +++ b/src/Mod/Path/PathTests/TestPathDeburr.py @@ -38,7 +38,7 @@ class TestPathDeburr(PathTestUtils.PathTestBase): tool.FlatRadius = 0 tool.CuttingEdgeAngle = 180 - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.01, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.01, tool, True) self.assertRoughly(0.01, depth) self.assertRoughly(9, offset) self.assertFalse(info) @@ -46,7 +46,7 @@ class TestPathDeburr(PathTestUtils.PathTestBase): # legacy tools - no problem, same result tool.CuttingEdgeAngle = 0 - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.01, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.01, tool, True) self.assertRoughly(0.01, depth) self.assertRoughly(9, offset) self.assertFalse(info) @@ -57,12 +57,12 @@ class TestPathDeburr(PathTestUtils.PathTestBase): tool.FlatRadius = 0 tool.CuttingEdgeAngle = 90 - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0, tool, True) self.assertRoughly(1, depth) self.assertRoughly(0, offset) self.assertFalse(info) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.2, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.2, tool, True) self.assertRoughly(1.2, depth) self.assertRoughly(0.2, offset) self.assertFalse(info) @@ -73,12 +73,12 @@ class TestPathDeburr(PathTestUtils.PathTestBase): tool.FlatRadius = 0.3 tool.CuttingEdgeAngle = 90 - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0, tool, True) self.assertRoughly(1, depth) self.assertRoughly(0.3, offset) self.assertFalse(info) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(2, 0.2, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(2, 0.2, tool, True) self.assertRoughly(2.2, depth) self.assertRoughly(0.5, offset) self.assertFalse(info) @@ -91,12 +91,12 @@ class TestPathDeburr(PathTestUtils.PathTestBase): td = 1.73205 - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0, tool, True) self.assertRoughly(td, depth) self.assertRoughly(10, offset) self.assertFalse(info) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(3, 1, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(3, 1, tool, True) self.assertRoughly(td * 3 + 1, depth) self.assertRoughly(10 + td, offset) self.assertFalse(info) @@ -109,15 +109,15 @@ class TestPathDeburr(PathTestUtils.PathTestBase): self.Diameter = dia tool = FakeEndmill(10) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, True) self.assertRoughly(0.1, depth) self.assertRoughly(4, offset) self.assertTrue(info) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) self.assertRoughly(0.1, depth) self.assertRoughly(4, offset) self.assertTrue(info) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) self.assertRoughly(0.1, depth) self.assertRoughly(4, offset) self.assertTrue(info) @@ -131,15 +131,15 @@ class TestPathDeburr(PathTestUtils.PathTestBase): self.CuttingEdgeAngle = angle tool = FakePointyBit(10, 90) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, True) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, True) self.assertRoughly(1.1, depth) self.assertRoughly(0.1, offset) self.assertTrue(info) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) self.assertRoughly(1.1, depth) self.assertRoughly(0.1, offset) self.assertTrue(info) - (depth, offset, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) + (depth, offset, __, info) = PathDeburr.toolDepthAndOffset(1, 0.1, tool, not info) self.assertRoughly(1.1, depth) self.assertRoughly(0.1, offset) self.assertTrue(info) diff --git a/src/Mod/Path/PathTests/test_adaptive.fcstd b/src/Mod/Path/PathTests/test_adaptive.fcstd new file mode 100644 index 0000000000..7af4b06f81 Binary files /dev/null and b/src/Mod/Path/PathTests/test_adaptive.fcstd differ diff --git a/src/Mod/Path/TestPathApp.py b/src/Mod/Path/TestPathApp.py index 0be621b040..961046d948 100644 --- a/src/Mod/Path/TestPathApp.py +++ b/src/Mod/Path/TestPathApp.py @@ -22,50 +22,51 @@ import TestApp -from PathTests.TestPathLog import TestPathLog -from PathTests.TestPathPreferences import TestPathPreferences -from PathTests.TestPathPropertyBag import TestPathPropertyBag -from PathTests.TestPathCore import TestPathCore -#from PathTests.TestPathPost import PathPostTestCases -from PathTests.TestPathGeom import TestPathGeom -from PathTests.TestPathOpTools import TestPathOpTools -from PathTests.TestPathUtil import TestPathUtil +# from PathTests.TestPathPost import PathPostTestCases +from PathTests.TestPathAdaptive import TestPathAdaptive +from PathTests.TestPathCore import TestPathCore +from PathTests.TestPathDeburr import TestPathDeburr from PathTests.TestPathDepthParams import depthTestCases -from PathTests.TestPathDressupHoldingTags import TestHoldingTags from PathTests.TestPathDressupDogbone import TestDressupDogbone -from PathTests.TestPathStock import TestPathStock -from PathTests.TestPathTool import TestPathTool -from PathTests.TestPathToolBit import TestPathToolBit -from PathTests.TestPathTooltable import TestPathTooltable -from PathTests.TestPathToolController import TestPathToolController +from PathTests.TestPathDressupHoldingTags import TestHoldingTags +from PathTests.TestPathGeom import TestPathGeom +from PathTests.TestPathHelix import TestPathHelix +from PathTests.TestPathLog import TestPathLog +from PathTests.TestPathOpTools import TestPathOpTools +from PathTests.TestPathPreferences import TestPathPreferences +from PathTests.TestPathPropertyBag import TestPathPropertyBag from PathTests.TestPathSetupSheet import TestPathSetupSheet -from PathTests.TestPathDeburr import TestPathDeburr -from PathTests.TestPathHelix import TestPathHelix -from PathTests.TestPathVoronoi import TestPathVoronoi -from PathTests.TestPathThreadMilling import TestPathThreadMilling -from PathTests.TestPathVcarve import TestPathVcarve +from PathTests.TestPathStock import TestPathStock +from PathTests.TestPathThreadMilling import TestPathThreadMilling +from PathTests.TestPathTool import TestPathTool +from PathTests.TestPathToolBit import TestPathToolBit +from PathTests.TestPathToolController import TestPathToolController +from PathTests.TestPathTooltable import TestPathTooltable +from PathTests.TestPathUtil import TestPathUtil +from PathTests.TestPathVcarve import TestPathVcarve +from PathTests.TestPathVoronoi import TestPathVoronoi # dummy usage to get flake8 and lgtm quiet -False if TestApp.__name__ else True -False if TestPathLog.__name__ else True -False if TestPathCore.__name__ else True -False if TestPathGeom.__name__ else True -False if TestPathOpTools.__name__ else True -False if TestPathUtil.__name__ else True False if depthTestCases.__name__ else True -False if TestHoldingTags.__name__ else True +False if TestApp.__name__ else True False if TestDressupDogbone.__name__ else True -False if TestPathStock.__name__ else True -False if TestPathTool.__name__ else True -False if TestPathTooltable.__name__ else True -False if TestPathToolController.__name__ else True -False if TestPathSetupSheet.__name__ else True +False if TestHoldingTags.__name__ else True +False if TestPathAdaptive.__name__ else True +False if TestPathCore.__name__ else True False if TestPathDeburr.__name__ else True +False if TestPathGeom.__name__ else True False if TestPathHelix.__name__ else True +False if TestPathLog.__name__ else True +False if TestPathOpTools.__name__ else True False if TestPathPreferences.__name__ else True -False if TestPathToolBit.__name__ else True -False if TestPathVoronoi.__name__ else True -False if TestPathThreadMilling.__name__ else True -False if TestPathVcarve.__name__ else True False if TestPathPropertyBag.__name__ else True - +False if TestPathSetupSheet.__name__ else True +False if TestPathStock.__name__ else True +False if TestPathThreadMilling.__name__ else True +False if TestPathTool.__name__ else True +False if TestPathToolBit.__name__ else True +False if TestPathToolController.__name__ else True +False if TestPathTooltable.__name__ else True +False if TestPathUtil.__name__ else True +False if TestPathVcarve.__name__ else True +False if TestPathVoronoi.__name__ else True diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.qm b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.qm index 2c18228ae5..af7c1a143c 100644 Binary files a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.qm and b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.qm differ diff --git a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts index bf0c1314e7..429c21f77c 100644 --- a/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts +++ b/src/Mod/ReverseEngineering/Gui/Resources/translations/ReverseEngineering_pl.ts @@ -485,7 +485,7 @@ < faces than - <powierzchnie niż + < niż ściany diff --git a/src/Mod/Robot/App/kdl_cp/velocityprofile_dirac.hpp b/src/Mod/Robot/App/kdl_cp/velocityprofile_dirac.hpp index ce06b6d440..82a55eb99b 100644 --- a/src/Mod/Robot/App/kdl_cp/velocityprofile_dirac.hpp +++ b/src/Mod/Robot/App/kdl_cp/velocityprofile_dirac.hpp @@ -35,7 +35,7 @@ namespace KDL { /** * A Dirac VelocityProfile generates an infinite velocity - * so that the position jumps from A to B in in infinite short time. + * so that the position jumps from A to B in an infinite short time. * In practice, this means that the maximum values are ignored and * for any t : Vel(t) == 0 and Acc(t) == 0. * Further Pos( -0 ) = pos1 and Pos( +0 ) = pos2. diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_it.qm b/src/Mod/Robot/Gui/Resources/translations/Robot_it.qm index 51cfafeb30..cd9981e500 100644 Binary files a/src/Mod/Robot/Gui/Resources/translations/Robot_it.qm and b/src/Mod/Robot/Gui/Resources/translations/Robot_it.qm differ diff --git a/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts b/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts index e6ab1c1bc4..bbd78be640 100644 --- a/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts +++ b/src/Mod/Robot/Gui/Resources/translations/Robot_it.ts @@ -52,7 +52,7 @@ Create a new empty trajectory - Create a new empty trajectory + Crea una nuova traiettoria vuota diff --git a/src/Mod/Sketcher/App/Sketch.cpp b/src/Mod/Sketcher/App/Sketch.cpp index f783918c27..e1880af526 100644 --- a/src/Mod/Sketcher/App/Sketch.cpp +++ b/src/Mod/Sketcher/App/Sketch.cpp @@ -2359,7 +2359,7 @@ int Sketch::addTangentConstraint(int geoId1, int geoId2) //This function handles any type of tangent, perpendicular and angle // constraint that involves a point. // i.e. endpoint-to-curve, endpoint-to-endpoint and tangent-via-point -//geoid1, geoid2 and geoid3 as in in the constraint object. +//geoid1, geoid2 and geoid3 as in the constraint object. //For perp-ty and tangency, angle is used to lock the direction. //angle==0 - autodetect direction. +pi/2, -pi/2 - specific direction. int Sketch::addAngleAtPointConstraint( diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.qm b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.qm index 61d3045201..eedd3338c3 100644 Binary files a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.qm and b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.qm differ diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts index 4b3b610c73..e41cac53b7 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_hu.ts @@ -213,7 +213,7 @@ Constrain auto radius/diameter - Constrain auto radius/diameter + Kényszeríti az automatikus sugarat/átmérőt @@ -389,12 +389,12 @@ Create rectangles - Create rectangles + Téglalapok létrehozása Creates a rectangle in the sketch - Creates a rectangle in the sketch + Téglalap létrehozása a vázlatban @@ -404,12 +404,12 @@ Centered rectangle - Centered rectangle + Középre tett téglalap Rounded rectangle - Rounded rectangle + Lekerekített téglalap @@ -774,12 +774,12 @@ on the selected vertex Constrain auto radius/diameter - Constrain auto radius/diameter + Kényszeríti az automatikus sugarat/átmérőt Fix automatically diameter on circle and radius on arc/pole - Fix automatically diameter on circle and radius on arc/pole + Automatikus átmérő rögzítése körön és sugáron íven/póluson @@ -1190,12 +1190,12 @@ with respect to a line or a third point Create rounded rectangle - Create rounded rectangle + Lekerekített téglalap létrehozása Create a rounded rectangle in the sketch - Create a rounded rectangle in the sketch + Lekerekített téglalap létrehozása a vázlatban @@ -1334,12 +1334,12 @@ with respect to a line or a third point Create centered rectangle - Create centered rectangle + Középre tett téglalap létrehozása Create a centered rectangle in the sketch - Create a centered rectangle in the sketch + Középre tett téglalap létrehozása a vázlatban @@ -1763,12 +1763,12 @@ mint tükörreferencia hivatkozás. Remove axes alignment - Remove axes alignment + Tengelyek igazításának eltávolítása Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection - Modifies constraints to remove axes alignment while trying to preserve the constraint relationship of the selection + Módosítja a kényszerítéseket a tengelyek igazításának eltávolításához, miközben megpróbálja megőrizni a kijelölés kényszerkapcsolatát @@ -2391,7 +2391,7 @@ invalid constraints, degenerated geometry, etc. Add radiam constraint - Add radiam constraint + Sugár/átm-kényszer hozzáadása @@ -2492,12 +2492,12 @@ invalid constraints, degenerated geometry, etc. Add centered sketch box - Add centered sketch box + Központosított vázlatmező hozzáadása Add rounded rectangle - Add rounded rectangle + Lekerekített téglalap hozzáadása @@ -2650,7 +2650,7 @@ invalid constraints, degenerated geometry, etc. Remove Axes Alignment - Remove Axes Alignment + Tengelyek igazításának eltávolítása @@ -3782,7 +3782,7 @@ Elfogadott kombinációk: két görbe; egy végpont és egy görbe; két végpon Removal of axes alignment requires at least one selected non-external geometric element - Removal of axes alignment requires at least one selected non-external geometric element + A tengelyek igazításának eltávolításához legalább egy kiválasztott nem külső geometriai elemre van szükség @@ -5505,7 +5505,7 @@ A pontokat a rácsméret ötödénél közelebb kell beállítani egy rácsvonal Fix the radius/diameter of a circle or an arc - Fix the radius/diameter of a circle or an arc + Sugár/Átmérő illesztése körre vagy ívre @@ -5522,7 +5522,7 @@ A pontokat a rácsméret ötödénél közelebb kell beállítani egy rácsvonal Fix the radius/diameter of a circle or an arc - Fix the radius/diameter of a circle or an arc + Sugár/Átmérő illesztése körre vagy ívre @@ -5661,7 +5661,7 @@ A pontokat a rácsméret ötödénél közelebb kell beállítani egy rácsvonal Create a rounded rectangle - Create a rounded rectangle + Egy lekerekített téglalapot hoz létre @@ -5702,7 +5702,7 @@ A pontokat a rácsméret ötödénél közelebb kell beállítani egy rácsvonal Create a rectangle - Create a rectangle + Téglalap létrehozása @@ -5710,7 +5710,7 @@ A pontokat a rácsméret ötödénél közelebb kell beállítani egy rácsvonal Create a centered rectangle - Create a centered rectangle + Középre tett téglalap létrehozása diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.qm b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.qm index 51187de2e2..6268a721c5 100644 Binary files a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.qm and b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.qm differ diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts index 425330bdc0..b1eb0563a8 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_pl.ts @@ -409,7 +409,7 @@ Rounded rectangle - Zaokrąglenie prostokąta + Prostokąt zaokrąglony @@ -1193,7 +1193,7 @@ w odniesieniu do linii lub trzeciego punktu Create rounded rectangle - Utwórz zaokrąglenie prostokąta + Utwórz prostokąt zaokrąglony @@ -2707,17 +2707,17 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. Autoconstrain error: Unsolvable sketch while applying coincident constraints. - Błąd więzów automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania zbieżności. + Błąd wiązań automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania zbieżności. Autoconstrain error: Unsolvable sketch while applying vertical/horizontal constraints. - Błąd więzów automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania pionowego/poziomego. + Błąd więzów automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania pionowego / poziomego. Autoconstrain error: Unsolvable sketch while applying equality constraints. - Błąd więzów automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania równości. + Błąd wiązań automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania równości. @@ -2727,17 +2727,17 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. Autoconstrain error: Unsolvable sketch after applying horizontal and vertical constraints. - Błąd więzów automatycznych: Nierozwiązywalny szkic po zastosowaniu więzów poziomych i pionowych. + Błąd wiązań automatycznych: Nierozwiązywalny szkic po zastosowaniu wiązań poziomych i pionowych. Autoconstrain error: Unsolvable sketch after applying point-on-point constraints. - Błąd więzów automatycznych: Nierozwiązywalny szkic po zastosowaniu wiązania punkt do punktu. + Błąd wiązań automatycznych: Nierozwiązywalny szkic po zastosowaniu wiązania zbieżności punktów. Autoconstrain error: Unsolvable sketch after applying equality constraints. - Błąd więzów automatycznych: Nierozwiązywalny szkic po zastosowaniu wiązania równości. + Błąd wiązań automatycznych: Nierozwiązywalny szkic przy stosowaniu wiązania równości. @@ -2777,7 +2777,7 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. The multiplicity cannot be decreased beyond zero. - Wielokrotność nie może być zmniejszona poniżej zera. + Wielokrotność nie może zostać zmniejszona poniżej zera. @@ -2805,7 +2805,7 @@ nieprawidłowych wiązań, zdegenerowanej geometrii itp. There are no modes that accept the selected set of subelements - Nie ma trybów akceptujących wybrany zestaw podelementów + Nie ma trybów, które akceptują wybrany zestaw elementów podrzędnych @@ -3678,13 +3678,13 @@ Akceptowane kombinacje: dwie krzywe; punkt końcowy i krzywa; dwa punkty końcow Wrong OCE/OCC version - Zła wersja OCE/OCC + Niepoprawna wersja OCE / OCC This version of OCE/OCC does not support knot operation. You need 6.9.0 or higher - Ta wersja OCE/OCC nie obsługuje operacji węzła. Potrzebujesz wersji 6.9.0 lub bardziej aktualnej + Ta wersja OCE / OCC nie obsługuje operacji węzła. Potrzebujesz wersji 6.9.0 lub bardziej aktualnej @@ -3992,7 +3992,7 @@ Akceptowane kombinacje: dwie krzywe; punkt końcowy i krzywa; dwa punkty końcow Linking this will cause circular dependency. - Powiązanie tego spowoduje zależność cykliczną. + Powiązanie to spowoduje zależność cykliczną. diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.qm b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.qm index c9e6b631df..a94e0a27bf 100644 Binary files a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.qm and b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.qm differ diff --git a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts index e5d6ad7d19..4043e385a2 100644 --- a/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts +++ b/src/Mod/Sketcher/Gui/Resources/translations/Sketcher_zh-CN.ts @@ -1445,12 +1445,12 @@ with respect to a line or a third point Decrease B-spline degree - Decrease B-spline degree + 减少 B 样条次数 Decreases the degree of the B-spline - Decreases the degree of the B-spline + 降低B-样条的次数 @@ -1571,7 +1571,7 @@ with respect to a line or a third point Increase B-spline degree - Increase B-spline degree + 增加B 样条次数 @@ -1877,7 +1877,7 @@ This will clear the 'Support' property, if any. Select geometrical elements where the solver still detects unconstrained degrees of freedom. - Select geometrical elements where the solver still detects unconstrained degrees of freedom. + 选择求解器仍检测为无约束自由度的元素。 @@ -2603,12 +2603,12 @@ invalid constraints, degenerated geometry, etc. Increase spline degree - Increase spline degree + 增加样条次数 Decrease spline degree - Decrease spline degree + 减少样条次数 @@ -5385,12 +5385,12 @@ Points must be set closer than a fifth of the grid size to a grid line to snap.< Under-constrained sketch with <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">1 degree</span></a> of freedom. %1 - Under-constrained sketch with <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">1 degree</span></a> of freedom. %1 + 约束不足草图有 <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">1 个</span></a> 自由度. %1 Under-constrained sketch with <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">%1 degrees</span></a> of freedom. %2 - Under-constrained sketch with <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">%1 degrees</span></a> of freedom. %2 + 约束不足草图有 <a href="#dofs"><span style=" text-decoration: underline; color:#0000ff; background-color: #F8F8FF;">1 个</span></a> 自由度. %2 diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.qm b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.qm index c660e6a6c5..f2ecef24b2 100644 Binary files a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.qm and b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.qm differ diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts index b007a213b5..b4cf54c54b 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_es-ES.ts @@ -577,7 +577,7 @@ Spreadsheet.my_alias_name en lugar de Spreadsheet.B1 Insert %n row(s) below - Insertar %n fila(s) abajo + Insertar %n fila(s) debajo Insert %n row(s) below diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.qm b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.qm index 1d3e679eab..70f01eb621 100644 Binary files a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.qm and b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.qm differ diff --git a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts index dcdb4c37c4..6fc0227d53 100644 --- a/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts +++ b/src/Mod/Spreadsheet/Gui/Resources/translations/Spreadsheet_it.ts @@ -570,56 +570,56 @@ Spreadsheet.my_alias_name invece di Spreadsheet.B1 Insert %n row(s) above - Insert %n row(s) above + Inserisci %n righe sopra Insert %n row(s) above Insert %n row(s) below - Insert %n row(s) below + Inserisci %n righe sotto Insert %n row(s) below Insert %n non-contiguous rows - Insert %n non-contiguous rows + Inserisci %n righe non consecutive Insert %n non-contiguous rows Remove row(s) - Remove row(s) + Rimuovi righe Remove row(s) Insert %n column(s) left - Insert %n column(s) left + Inserisci %n colonne a sinistra Insert %n column(s) left Insert %n column(s) right - Insert %n column(s) right + Inserisci %n colonne a destra Insert %n column(s) right Insert %n non-contiguous columns - Insert %n non-contiguous columns + Inserisci %n colonne non consecutive Insert %n non-contiguous columns Remove column(s) - Remove column(s) + Rimuovi colonne Remove column(s) diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_it.qm b/src/Mod/Start/Gui/Resources/translations/StartPage_it.qm index e19fee0f72..e0dcab0c22 100644 Binary files a/src/Mod/Start/Gui/Resources/translations/StartPage_it.qm and b/src/Mod/Start/Gui/Resources/translations/StartPage_it.qm differ diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts index 92e18e7fb6..6f1eccf27a 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_it.ts @@ -291,8 +291,8 @@ An optional custom folder to be displayed at the bottom of the first page. By using ";;" to separate paths, you can add several folders here - An optional custom folder to be displayed at the bottom of the first page. -By using ";;" to separate paths, you can add several folders here + Una cartella personalizzata opzionale da visualizzare in fondo alla prima pagina. +Usando ";;" per separare i percorsi, puoi aggiungere diverse cartelle qui @@ -302,12 +302,12 @@ By using ";;" to separate paths, you can add several folders here Shows a notepad next to the file thumbnails, where you can keep notes across sessions - Shows a notepad next to the file thumbnails, where you can keep notes across sessions + Mostra un blocco note accanto alle miniature dei file, dove è possibile mantenere le note tra le sessioni di FreeCAD Show tips - Show tips + Mostra suggerimenti @@ -342,7 +342,7 @@ By using ";;" to separate paths, you can add several folders here Background color down gradient - Background color down gradient + Colore di sfondo a gradiente verso il basso @@ -362,7 +362,7 @@ By using ";;" to separate paths, you can add several folders here If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below - If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below + Se questa opzione è selezionata e un foglio di stile è specificato nelle preferenze generali, verrà usato e sovrascriverà i colori sottostanti @@ -457,7 +457,7 @@ By using ";;" to separate paths, you can add several folders here If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon - If this is selected, the 'New File' icon shows a gradient icon instead of the normal icon + Se selezionato, l'icona 'Nuovo File' mostra un'icona a gradiente invece dell'icona normale @@ -467,12 +467,12 @@ By using ";;" to separate paths, you can add several folders here Choose which workbench to switch to after the program launches - Choose which workbench to switch to after the program launches + Scegli a quale ambiente di lavoro passare dopo il lancio del programma If checked, will automatically close the Start page when FreeCAD launches - If checked, will automatically close the Start page when FreeCAD launches + Se selezionato, chiuderà automaticamente la pagina Start all'avvio di FreeCAD @@ -487,12 +487,12 @@ By using ";;" to separate paths, you can add several folders here Close and switch on opening file - Close and switch on opening file + Chiudi e passa al file in apertura If application is started by opening a file, apply the two settings above - If application is started by opening a file, apply the two settings above + Se FreeCAD viene avviato aprendo un file, applica le due impostazioni sopra diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.qm b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.qm index 6e3b765ce0..e6e16a05fd 100644 Binary files a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.qm and b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.qm differ diff --git a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts index ada312b774..37dc4ebe51 100644 --- a/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts +++ b/src/Mod/Start/Gui/Resources/translations/StartPage_pt-BR.ts @@ -291,8 +291,8 @@ An optional custom folder to be displayed at the bottom of the first page. By using ";;" to separate paths, you can add several folders here - An optional custom folder to be displayed at the bottom of the first page. -By using ";;" to separate paths, you can add several folders here + Uma pasta personalizada opcional a ser exibida na parte inferior da primeira página. +Usando ";;" para separar caminhos, você pode adicionar várias pastas aqui @@ -302,7 +302,7 @@ By using ";;" to separate paths, you can add several folders here Shows a notepad next to the file thumbnails, where you can keep notes across sessions - Shows a notepad next to the file thumbnails, where you can keep notes across sessions + Mostra um bloco de notas ao lado das miniaturas de arquivos, onde você pode manter notas entre as sessões @@ -362,7 +362,7 @@ By using ";;" to separate paths, you can add several folders here If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below - If this is checked and a style sheet is specified in General preferences, it will be used and override the colors below + Se esta opção for ativada e uma folha de estilo for especificada nas preferências gerais, ela será usada e substituirá as cores abaixo diff --git a/src/Mod/TechDraw/App/DrawDimHelper.cpp b/src/Mod/TechDraw/App/DrawDimHelper.cpp index 250c069971..ffaf75c8b6 100644 --- a/src/Mod/TechDraw/App/DrawDimHelper.cpp +++ b/src/Mod/TechDraw/App/DrawDimHelper.cpp @@ -85,7 +85,7 @@ hTrimCurve::hTrimCurve(Handle(Geom2d_Curve) hCurveIn, //just a convenient struct for now. } -//All this OCC math is being done on on edges(&vertices) that have been through the center/scale/mirror process. +//All this OCC math is being done on edges(&vertices) that have been through the center/scale/mirror process. //TODO: this needs to be exposed to Python void DrawDimHelper::makeExtentDim(DrawViewPart* dvp, diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.qm b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.qm index b34c23dc6a..4f133f515d 100644 Binary files a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.qm and b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.qm differ diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts index 2c21fca089..97546e599d 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_hu.ts @@ -1932,40 +1932,40 @@ olyan hegesztési szimbólummal rendelkezik, amely megtörne. You cannot delete this view because it has a leader line that would become broken. - You cannot delete this view because it has a leader line that would become broken. + Nem törölheti ezt a nézetet, mert van egy vezérvonala, amely megszakadna. The page is not empty, therefore the following referencing objects might be lost: - The page is not empty, therefore the -following referencing objects might be lost: + Az oldal nem üres, ezért a +a következő hivatkozási tárgyak elveszhetnek: The group cannot be deleted because its items have the following section or detail views, or leader lines that would get broken: - The group cannot be deleted because its items have the following -section or detail views, or leader lines that would get broken: + A csoport nem törölhető, mert elemei a következő +szakasz- vagy részletnézeteknek, vagy a megszakadt vezérvonalaknak: The projection group is not empty, therefore the following referencing objects might be lost: - The projection group is not empty, therefore -the following referencing objects might be lost: + A vetítési csoport nem üres, ezért +a következő hivatkozási tárgyak elveszhetnek: The following referencing object might break: - The following referencing object might break: + A következő hivatkozási tárgy megtörhet: You cannot delete this weld symbol because it has a tile weld that would become broken. - You cannot delete this weld symbol because -it has a tile weld that would become broken. + Ezt a hegesztési szimbólumot nem törölheti, mert +egy részhegesztése megtörne. @@ -1983,7 +1983,7 @@ it has a tile weld that would become broken. Width of generated view - Width of generated view + Létrehozott nézet szélessége @@ -1993,7 +1993,7 @@ it has a tile weld that would become broken. Height of generated view - Height of generated view + Létrehozott nézet magassága @@ -2004,13 +2004,13 @@ it has a tile weld that would become broken. Minimal distance of the object from the top and left view border - Minimal distance of the object from -the top and left view border + A tárgy minimális távolsága +a felső és a bal oldali nézet szegélyétől Paint background yes/no - Paint background yes/no + Háttér festése igen/nem @@ -2025,22 +2025,22 @@ the top and left view border Line Width - Line Width + Vonalvastagság Width of lines in generated view - Width of lines in generated view + Létrehozott nézet vonal vastagsága Render Mode - Render Mode + Renderelési mód Drawing style - see SoRenderManager - Drawing style - see SoRenderManager + Rajzstílus - lásd RenderKezelőKiv @@ -2060,7 +2060,7 @@ the top and left view border Wireframe overlay - Wireframe overlay + Drótváz átfedés @@ -2070,7 +2070,7 @@ the top and left view border Bounding box - Bounding box + Határolókeret @@ -2078,22 +2078,22 @@ the top and left view border Welding Symbol - Welding Symbol + Hegesztési szimbólum Text before arrow side symbol - Text before arrow side symbol + Nyíloldali szimbólum előtti szöveg Text after arrow side symbol - Text after arrow side symbol + Nyíloldali szimbólum utáni szöveg Pick arrow side symbol - Pick arrow side symbol + Nyíloldali szimbólum kiválasztása @@ -2104,22 +2104,22 @@ the top and left view border Text above arrow side symbol - Text above arrow side symbol + Nyíloldali szimbólum feletti szöveg Pick other side symbol - Pick other side symbol + Másik oldal szimbólumának kiválasztása Text below other side symbol - Text below other side symbol + Szöveg a másik oldali szimbólum alatt Text after other side symbol - Text after other side symbol + Szöveg a másik oldalszimbólum után @@ -2134,12 +2134,12 @@ the top and left view border Text before other side symbol - Text before other side symbol + Szöveg a másik oldali szimbólum előtt Remove other side symbol - Remove other side symbol + Másik oldali szimbólum eltávolítása @@ -2150,62 +2150,62 @@ the top and left view border Adds the 'Field Weld' symbol (flag) at the kink in the leader line - Adds the 'Field Weld' symbol (flag) -at the kink in the leader line + Hozzáadja a 'Mező hegesztés' szimbólumot (zászló) +a vezetővonalon lévő törésvonalnál Field Weld - Field Weld + Mező hegesztés Adds the 'All Around' symbol (circle) at the kink in the leader line - Adds the 'All Around' symbol (circle) -at the kink in the leader line + Hozzáadja a 'Körben' szimbólumot (kör) +a vezérvonalon lévő törésvonalnál All Around - All Around + Körben Offsets the lower symbol to indicate alternating welds - Offsets the lower symbol to indicate alternating welds + Eltolja az alsó szimbólumot a váltakozó hegesztések jelzésére Alternating - Alternating + Felváltva Directory to welding symbols. This directory will be used for the symbol selection. - Directory to welding symbols. -This directory will be used for the symbol selection. + Hegesztési szimbólumok könyvtára. +Ezt a könyvtárat használja a szimbólum kiválasztásához. *.svg - *.svg + *.svg Text at end of symbol - Text at end of symbol + Szöveg a szimbólum végén Symbol Directory - Symbol Directory + Szimbólum könyvtár Tail Text - Tail Text + Szövegtipp @@ -2214,24 +2214,24 @@ This directory will be used for the symbol selection. Advanced - Advanced + Haladó Edge Fuzz - Edge Fuzz + Kijelölési terület élekhez Shape of line end caps. Only change unless you know what you are doing! - Shape of line end caps. -Only change unless you know what you are doing! + Vonalvégek alakzatai. +Csak akkor változtass, ha tudod, mit csinálsz! Round - Round + Kerekített @@ -2248,9 +2248,9 @@ Only change unless you know what you are doing! Limit of 64x64 pixel SVG tiles used to hatch a single face. For large scalings you might get an error about to many SVG tiles. Then you need to increase the tile limit. - Limit of 64x64 pixel SVG tiles used to hatch a single face. -For large scalings you might get an error about to many SVG tiles. -Then you need to increase the tile limit. + Korlátozza az egyetlen sík kitöltésére felhasznált SVG csempék 64x64 képpontját. +Nagy léptéknél a túl sok SVG lapka hibát okozhat. +Ezután növelnie kell a csempe határértékét. diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.qm b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.qm index 1b44f38b08..6584e2683c 100644 Binary files a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.qm and b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.qm differ diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts index f209873c7e..f7879047e5 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_it.ts @@ -346,7 +346,7 @@ Save Dxf File - Save Dxf File + Salva File Dxf @@ -3457,7 +3457,7 @@ Do you want to continue? Save Dxf File - Save Dxf File + Salva File Dxf diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.qm b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.qm index 90e6dc5158..f60815c515 100644 Binary files a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.qm and b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.qm differ diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts index 9df0b95455..8ffa3fb1d7 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ko.ts @@ -6,7 +6,7 @@ Add Centerline between 2 Lines - Add Centerline between 2 Lines + 두 선 사이에 중심선 추가 @@ -14,7 +14,7 @@ Add Centerline between 2 Points - Add Centerline between 2 Points + 두 점 사이에 중심선 추가 @@ -22,7 +22,7 @@ Add Midpoint Vertices - Add Midpoint Vertices + 중간점 정점 추가 @@ -30,7 +30,7 @@ Add Quadrant Vertices - Add Quadrant Vertices + 사분원 정점 추가 @@ -43,7 +43,7 @@ Add Centerline between 2 Lines - Add Centerline between 2 Lines + 두 선 사이에 중심선 추가 @@ -56,7 +56,7 @@ Add Centerline between 2 Points - Add Centerline between 2 Points + 두 점 사이에 중심선 추가 @@ -546,7 +546,7 @@ Add Midpoint Vertices - Add Midpoint Vertices + 중간점 정점 추가 @@ -613,7 +613,7 @@ Add Quadrant Vertices - Add Quadrant Vertices + 사분원 정점 추가 diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.qm b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.qm index 61c2a01700..27e234c6da 100644 Binary files a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.qm and b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.qm differ diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts index 92d0df9758..c119088329 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_pl.ts @@ -1302,7 +1302,7 @@ Please select only 1 Arch Section. - Proszę wybrać tylko 1 przekrój środowiska Architektura. + Proszę wybrać tylko jeden przekrój środowiska Architektura. @@ -1678,7 +1678,7 @@ Need a TechDraw Page for this command - Potrzebne TechDraw do wykonania tego polecenia + Potrzebujesz strony Rysunku Technicznego dla tego polecenia @@ -4407,7 +4407,7 @@ Możesz wybrać kolejne punkty, aby uzyskać odcinki linii. Press OK or Cancel to continue - Naciśnij OK lub Anuluj, aby kontynuować + Naciśnij przycisk OK lub Anuluj, aby kontynuować diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.qm b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.qm index 3201a0d7b4..12ece95074 100644 Binary files a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.qm and b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.qm differ diff --git a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts index fec6f3d1e7..26c4417a78 100644 --- a/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts +++ b/src/Mod/TechDraw/Gui/Resources/translations/TechDraw_ro.ts @@ -2463,7 +2463,7 @@ Each unit is approx. 0.1 mm wide Hide - Hide + Ascunde diff --git a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp index 02cab650ef..fceb1b7ff1 100644 --- a/src/Mod/TechDraw/Gui/TaskCenterLine.cpp +++ b/src/Mod/TechDraw/Gui/TaskCenterLine.cpp @@ -106,7 +106,7 @@ TaskCenterLine::TaskCenterLine(TechDraw::DrawViewPart* partFeat, setUiEdit(); // connect the dialog objects setUiConnect(); - // save the existing centerline to restore in in case the user rejects the changes + // save the existing centerline to restore in case the user rejects the changes orig_cl = *m_cl; } diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ro.qm b/src/Mod/Web/Gui/Resources/translations/Web_ro.qm index 6c8d17ec8a..8c2c0264f0 100644 Binary files a/src/Mod/Web/Gui/Resources/translations/Web_ro.qm and b/src/Mod/Web/Gui/Resources/translations/Web_ro.qm differ diff --git a/src/Mod/Web/Gui/Resources/translations/Web_ro.ts b/src/Mod/Web/Gui/Resources/translations/Web_ro.ts index 32a229b5a0..775515f309 100644 --- a/src/Mod/Web/Gui/Resources/translations/Web_ro.ts +++ b/src/Mod/Web/Gui/Resources/translations/Web_ro.ts @@ -156,7 +156,7 @@ There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. - There were serious errors while loading the file. Some data might have been modified or not recovered at all. Saving the project will most likely result in loss of data. + Au existat erori grave în timpul încărcării fișierului. Unele date ar fi putut fi modificate sau nu au fost recuperate deloc. Salvarea proiectului va duce cel mai probabil la pierderea datelor. diff --git a/tools/build/Dockerfile.Arch b/tools/build/Dockerfile.Arch new file mode 100644 index 0000000000..2727f16fa4 --- /dev/null +++ b/tools/build/Dockerfile.Arch @@ -0,0 +1,11 @@ +FROM archlinux:base + +COPY arch.sh /tmp + +RUN pacman --sync --refresh --sysupgrade --noconfirm && \ + sh /tmp/arch.sh && \ + mkdir /builds + +WORKDIR /builds + +VOLUME [ "/builds" ] diff --git a/tools/build/Dockerfile.Debian b/tools/build/Dockerfile.Debian new file mode 100644 index 0000000000..5e67b62b7e --- /dev/null +++ b/tools/build/Dockerfile.Debian @@ -0,0 +1,17 @@ +FROM debian:bullseye + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=Etc/UTC +ENV UTC=true +ENV ARC=false + +COPY debian.sh /tmp + +RUN apt-get update && \ + apt-get upgrade --yes && \ + sh /tmp/debian.sh && \ + mkdir /builds + +WORKDIR /builds + +VOLUME [ "/builds" ] diff --git a/tools/build/Dockerfile.Fedora b/tools/build/Dockerfile.Fedora new file mode 100644 index 0000000000..46c912613b --- /dev/null +++ b/tools/build/Dockerfile.Fedora @@ -0,0 +1,11 @@ +FROM fedora:latest + +COPY fedora.sh /tmp + +RUN dnf update --assumeyes && \ + sh /tmp/fedora.sh && \ + mkdir /builds + +WORKDIR /builds + +VOLUME [ "/builds" ] diff --git a/tools/build/Dockerfile.Manjaro b/tools/build/Dockerfile.Manjaro new file mode 100644 index 0000000000..7cb3953b5f --- /dev/null +++ b/tools/build/Dockerfile.Manjaro @@ -0,0 +1,11 @@ +FROM manjarolinux/base + +COPY manjaro.sh /tmp + +RUN pacman --sync --refresh --sysupgrade --noconfirm && \ + sh /tmp/manjaro.sh && \ + mkdir /builds + +WORKDIR /builds + +VOLUME [ "/builds" ] diff --git a/tools/build/Dockerfile.Ubuntu b/tools/build/Dockerfile.Ubuntu new file mode 100644 index 0000000000..54a8499996 --- /dev/null +++ b/tools/build/Dockerfile.Ubuntu @@ -0,0 +1,17 @@ +FROM ubuntu:rolling + +ENV DEBIAN_FRONTEND=noninteractive +ENV TZ=Etc/UTC +ENV UTC=true +ENV ARC=false + +COPY ubuntu.sh /tmp + +RUN apt-get update && \ + apt-get upgrade --yes && \ + sh /tmp/ubuntu.sh && \ + mkdir /builds + +WORKDIR /builds + +VOLUME [ "/builds" ] diff --git a/tools/build/README.rst b/tools/build/README.rst new file mode 100644 index 0000000000..01032fa2bc --- /dev/null +++ b/tools/build/README.rst @@ -0,0 +1,136 @@ +========================== +FreeCAD build dependencies +========================== + +Distributions +============= + +The following commands are used to install the packages needed to build FreeCAD from source on the following distributions. + + +Arch Linux +---------- + +The following command is used to install the required packages used to compile FreeCAD on Arch Linux. + +.. code-block:: console + + sudo sh tools/build/arch.sh + + +Debian +------ + +The following command is used to install the required packages used to compile FreeCAD on Debian. + +.. code-block:: console + + sudo sh tools/build/debian.sh + + +Fedora +------ + +The following command is used to install the required packages used to compile FreeCAD on Fedora. + +.. code-block:: console + + sudo sh tools/build/fedora.sh + + +Manjaro +------- + +The following command is used to install the required packages used to compile FreeCAD on Manjaro Linux. + +.. code-block:: console + + sudo sh tools/build/manjaro.sh + + +Ubuntu +------ + + +The following command is used to install the required packages used to compile FreeCAD on Ubuntu Linux. + +.. code-block:: console + + sudo sh tools/build/ubuntu.sh + + +Containers +========== + +The following will create containers that have all the required dependencies +pre-installed that are needed to build FreeCAD from source. + + +Arch Linux +----------- + +The following commands are used to create and run a Arch Linux build environment. + +.. code-block:: console + + docker build --file tools/build/Dockerfile.Arch --tag freecad-arch + docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-arch + + +Debian +------ + +The following commands are used to create and run a Debian build environment. + +.. code-block:: console + + docker build --file tools/build/Dockerfile.Debian --tag freecad-debian + docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-debian + + +Fedora +------ + +The following commands are used to create and run a Fedora build environment. + +.. code-block:: console + + docker build --file tools/build/Dockerfile.Fedora --tag freecad-fedora + docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-fedora + + +Manjaro +------- + +The following commands are used to create and run a Manjaro build environment. + +.. code-block:: console + + docker build --file tools/build/Dockerfile.Manjaro --tag freecad-manjaro + docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-manjaro + + +Ubuntu +------ + +The following commands are used to create and run a Ubuntu build environment. + + +.. code-block:: console + + docker build --file tools/build/Dockerfile.Ubuntu --tag freecad-ubuntu + docker run --rm --interactive --tty --volume $(pwd):/builds:z freecad-ubuntu + + +Build Code +========== + +To build the FreeCAD code inside one of the running containers the following +commands should be used + +.. code-block:: console + + mkdir freecad-build + cd freecad-build + cmake ../freecad-source + make -j$(nproc --ignore=2) diff --git a/tools/build/arch.sh b/tools/build/arch.sh new file mode 100644 index 0000000000..b0bab1c06c --- /dev/null +++ b/tools/build/arch.sh @@ -0,0 +1,7 @@ +#!/bin/sh +pacman --noconfirm --sync boost boost-libs cmake coin curl desktop-file-utils doxygen \ + eigen gc gcc-fortran git glew gnu-free-fonts guile hicolor-icon-theme jsoncpp \ + libspnav libtool make med opencascade openmpi pyside2 pyside2-tools \ + python-matplotlib python-netcdf4 python-pivy qt5-svg qt5-tools qt5-webengine \ + qt5-webkit shared-mime-info shiboken2 swig texinfo xerces-c + diff --git a/tools/build/debian.sh b/tools/build/debian.sh new file mode 100755 index 0000000000..26456c72c7 --- /dev/null +++ b/tools/build/debian.sh @@ -0,0 +1,15 @@ +#!/bin/sh +apt-get install --no-install-recommends --yes build-essential cmake doxygen \ + git libboost-date-time-dev libboost-dev libboost-filesystem-dev \ + libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev \ + libboost-python-dev libboost-regex-dev libboost-serialization-dev \ + libboost-thread-dev libcoin-dev libeigen3-dev libgtkglext1-dev libgts-dev \ + libkdtree++-dev libkml-dev libmedc-dev libocct-data-exchange-dev \ + libocct-draw-dev libocct-foundation-dev libocct-modeling-algorithms-dev \ + libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev \ + libopencv-dev libproj-dev libpyside2-dev libqt5svg5-dev libqt5webkit5-dev \ + libqt5xmlpatterns5-dev libshiboken2-dev libvtk9-dev libvtk9-qt-dev \ + libvtk-dicom-dev libx11-dev libxerces-c-dev libxmu-dev libxmuu-dev \ + libzipios++-dev netgen netgen-headers pyside2-tools python3-dev \ + python3-matplotlib python3-pivy python3-ply python3-pyside2.qtsvg \ + python3-pyside2.qtuitools qtchooser qttools5-dev shiboken2 swig diff --git a/tools/build/fedora.sh b/tools/build/fedora.sh new file mode 100644 index 0000000000..7c8823c883 --- /dev/null +++ b/tools/build/fedora.sh @@ -0,0 +1,9 @@ +#!/bin/sh +dnf --assumeyes install boost-devel cmake Coin3 Coin3-devel desktop-file-utils doxygen \ + eigen3-devel freeimage-devel freetype freetype-devel gcc gettext git libspnav-devel \ + libXmu-devel med med-devel mesa-libGLU-devel ode-devel opencascade-devel \ + opencv-devel openmpi-devel pcl-devel pyside2-tools python3 python3-devel \ + python3-matplotlib python3-pivy python3-pyside2-devel qt5-qtsvg-devel \ + qt5-qttools-static qt5-qtxmlpatterns qt5-qtxmlpatterns-devel qt-devel \ + qt-webkit-devel smesh-devel SoQt-devel swig tbb-devel vtk xerces-c xerces-c-devel + diff --git a/tools/build/manjaro.sh b/tools/build/manjaro.sh new file mode 100755 index 0000000000..b9edc23695 --- /dev/null +++ b/tools/build/manjaro.sh @@ -0,0 +1,7 @@ +#!/bin/sh +pacman --noconfirm --sync boost boost-libs cmake coin curl desktop-file-utils doxygen \ + eigen gc gcc-fortran git glew gnu-free-fonts guile hicolor-icon-theme jsoncpp \ + libspnav libtool make med opencascade pyside2 pyside2-tools python-matplotlib \ + python-netcdf4 python-pivy qt5-svg qt5-tools qt5-webengine qt5-webkit \ + shared-mime-info shiboken2 swig texinfo xerces-c + diff --git a/tools/build/ubuntu.sh b/tools/build/ubuntu.sh new file mode 100644 index 0000000000..655292ee36 --- /dev/null +++ b/tools/build/ubuntu.sh @@ -0,0 +1,15 @@ +#!/bin/sh +apt-get install --no-install-recommends --yes build-essential cmake doxygen git \ + libboost-date-time-dev libboost-dev libboost-filesystem-dev \ + libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev \ + libboost-python-dev libboost-regex-dev libboost-serialization-dev \ + libboost-thread-dev libcoin-dev libeigen3-dev libgtkglext1-dev \ + libgts-dev libkdtree++-dev libkml-dev libmedc-dev libocct-data-exchange-dev \ + libocct-draw-dev libocct-foundation-dev libocct-modeling-algorithms-dev \ + libocct-modeling-data-dev libocct-ocaf-dev libocct-visualization-dev \ + libopencv-dev libproj-dev libpyside2-dev libqt5svg5-dev libqt5webkit5-dev \ + libqt5xmlpatterns5-dev libshiboken2-dev libvtk9-dev libvtk9-qt-dev \ + libvtk-dicom-dev libx11-dev libxerces-c-dev libxmu-dev libxmuu-dev \ + libzipios++-dev netgen netgen-headers pyside2-tools python3-dev \ + python3-matplotlib python3-pivy python3-ply python3-pyside2.qtsvg \ + python3-pyside2.qtuitools qtchooser qttools5-dev shiboken2 swig