Hochsteger, Matthias
|
d0ba2934df
|
Consistent penalty for illegal tets
|
2024-03-11 21:10:56 +01:00 |
|
Joachim Schoeberl
|
43b707bcfb
|
wrap inertia of occ-shape to Python
|
2024-03-07 12:39:56 +01:00 |
|
Hochsteger, Matthias
|
6b89d2cf62
|
Compatibility with Opencascade 7.8
|
2024-03-06 16:29:11 +01:00 |
|
Lackner, Christopher
|
a5c11df37e
|
Merge branch 'remove_search_tree_in_face_mapping' into 'master'
Remove search tree in face mapping
See merge request ngsolve/netgen!640
|
2024-03-06 15:22:28 +01:00 |
|
Christopher Lackner
|
5f0276179f
|
fix primary face computation in identification
|
2024-03-06 12:12:34 +01:00 |
|
Matthias Hochsteger
|
7e4f171b16
|
Remove search tree in face mapping
|
2024-03-06 11:20:20 +01:00 |
|
Christopher Lackner
|
bb7a3fe692
|
show properties in topology view in netgen gui
|
2024-03-05 14:38:25 +01:00 |
|
Christopher Lackner
|
1a213a1588
|
fix identifications write and load to step
|
2024-03-04 21:57:54 +01:00 |
|
Christopher Lackner
|
37df61b233
|
don't segfault on internal or external orientations in occ viewer
|
2024-03-04 19:49:40 +01:00 |
|
Matthias Hochsteger
|
4417b17d12
|
Fix order of members in MeshOptimize3d
|
2024-03-01 20:35:49 +01:00 |
|
Matthias Hochsteger
|
b8aa568626
|
Utility function to generate OCC shape triangulation -> always use same parameters
|
2024-02-29 17:19:47 +01:00 |
|
Matthias Hochsteger
|
13867ef1a0
|
Extra optimization steps for bad elements
|
2024-02-28 10:07:57 +01:00 |
|
Matthias Hochsteger
|
6be1c57999
|
Call CalcTotalBad only if testout is active
|
2024-02-23 18:26:07 +01:00 |
|
Matthias Hochsteger
|
0d481b1104
|
Use badness stored in Element
|
2024-02-23 18:20:14 +01:00 |
|
Matthias Hochsteger
|
d3ea87bd1e
|
Store mesh and goal im MeshOptimize3d
|
2024-02-23 17:42:06 +01:00 |
|
Matthias Hochsteger
|
23c6b96b47
|
Move RemoveIllegalElements to MeshVolume()
|
2024-02-23 17:39:43 +01:00 |
|
Matthias Hochsteger
|
e5b544e02b
|
Don't optimize when goal==OPT_LEGAL and all affected elements are legal
|
2024-02-23 17:01:40 +01:00 |
|
Joachim Schoeberl
|
4ff7a2261b
|
use IMeshTools in SetLocalMeshSize
|
2024-02-21 21:42:34 +01:00 |
|
Joachim Schoeberl
|
a65e61c95e
|
OCC generation of visualization mesh using IMeshTools_Parameters
|
2024-02-21 20:00:59 +01:00 |
|
Joachim Schoeberl
|
b959676534
|
check for infinite shape
|
2024-02-21 15:14:33 +01:00 |
|
Joachim Schoeberl
|
4f0b15ef55
|
use FlatArray for edges and faces in mesh interface V2
|
2024-02-21 08:41:17 +01:00 |
|
Joachim Schoeberl
|
6813c519b6
|
feature check macro for transition from INT to IVec
|
2024-02-20 08:47:20 +01:00 |
|
Matthias Hochsteger
|
4e31878f89
|
Utility function to split faces when they have more than two adjacent domains
|
2024-02-14 09:46:39 +01:00 |
|
Christopher Lackner
|
8e94de7a73
|
fix isendpoint check in boundarylayer code
|
2024-02-13 13:01:42 +01:00 |
|
Schöberl, Joachim
|
07fb5d698e
|
Merge branch 'throw_if_unbounded_domain' into 'master'
throw exception if surface triangulation cannot be built by occ
See merge request ngsolve/netgen!630
|
2024-02-13 10:07:53 +01:00 |
|
Christopher Lackner
|
803eb73d2d
|
allow internal edges on boundarylayer (for sphere, ellipsoid)
|
2024-02-13 09:35:44 +01:00 |
|
Christopher Lackner
|
ddc50aa651
|
throw exception if surface triangulation cannot be built by occ
|
2024-02-13 09:33:12 +01:00 |
|
Matthias Hochsteger
|
cee5d55b7d
|
Fix dangling reference in ZRefinement
|
2024-02-12 07:12:17 -08:00 |
|
Hochsteger, Matthias
|
dfaf270670
|
Remove windows.h include where possible.
|
2024-02-12 11:57:54 +01:00 |
|
Joachim Schoeberl
|
18262a526d
|
replace INT by IVec (cgns)
|
2024-02-12 07:44:26 +01:00 |
|
Joachim Schoeberl
|
c87aea14eb
|
rename INT to IVec (avoiding windows name conflict)
|
2024-02-12 07:36:26 +01:00 |
|
Schöberl, Joachim
|
b88535621f
|
Removewinheader
|
2024-02-11 11:02:18 +01:00 |
|
Joachim Schoeberl
|
97de13cf30
|
remove include<windows.h> from cpp-files
|
2024-02-10 20:55:45 +01:00 |
|
Joachim Schoeberl
|
e9ee45024c
|
include windows.h back to mystdlib
|
2024-02-10 20:52:45 +01:00 |
|
Joachim Schoeberl
|
3a2e3fa901
|
includes in vsocc
|
2024-02-10 10:15:11 +01:00 |
|
Joachim Schoeberl
|
e8a9131b31
|
include win first
|
2024-02-10 10:09:29 +01:00 |
|
Joachim Schoeberl
|
6622829e8f
|
windows include in visual
|
2024-02-10 10:05:00 +01:00 |
|
Joachim Schoeberl
|
61f34fc4ad
|
converting back: no win include in python-occ
|
2024-02-10 10:02:55 +01:00 |
|
Joachim Schoeberl
|
7d45d47260
|
no extra win include
|
2024-02-10 09:57:37 +01:00 |
|
Joachim Schoeberl
|
df7ea2b685
|
don't globally include ngcore
|
2024-02-10 09:55:16 +01:00 |
|
Joachim Schoeberl
|
beed254a7d
|
windows include in python_occ
|
2024-02-10 09:51:19 +01:00 |
|
Joachim Schoeberl
|
97709fca23
|
windows include in python_occ_shapes
|
2024-02-10 09:46:53 +01:00 |
|
Joachim Schoeberl
|
996d2809c9
|
no windows specfic includes globally
|
2024-02-10 09:21:09 +01:00 |
|
Christopher Lackner
|
000424f001
|
offset should always be called no a finished line
|
2024-02-08 15:08:49 +01:00 |
|
Christopher Lackner
|
0fab0ec1eb
|
dont reverse wire in offset
This works with this change:
```
MoveTo(0,0).LineTo(1,1).Finish().Offset(0.2).Face()
```
|
2024-02-08 14:57:56 +01:00 |
|
Christopher Lackner
|
282c3e5c0a
|
fix glued point in sphere (was removed by compress)
|
2024-02-07 15:05:03 +01:00 |
|
Joachim Schoeberl
|
adbdf194e0
|
fix Powell-Sabin split
|
2024-02-06 21:41:15 +01:00 |
|
Christopher Lackner
|
45362b588b
|
dont curve faces with boundarylayers
|
2024-01-31 15:13:20 +01:00 |
|
Christopher Lackner
|
e155700bc3
|
throw if surface is extruded that is not named (if map surface-> new
mat is given)
|
2024-01-31 12:27:03 +01:00 |
|
Matthias Hochsteger
|
6533663b7f
|
Fix Workplane.Offset for straight lines
|
2024-01-30 17:41:46 +01:00 |
|
Matthias Hochsteger
|
0c885db5a4
|
Consider draw_surfaces bitarray when drawing surface vectors
|
2024-01-25 16:00:45 +01:00 |
|
Matthias Hochsteger
|
2024a67c74
|
occ shapes _webgui_data - export color alpha values
Also
- don't create ShapeProperties objects for faces with default values
- use default name/color from ShapeProperties
|
2024-01-22 11:00:46 +01:00 |
|
Joachim Schoeberl
|
d7ffc68a30
|
add GetBackTrace to checksame
|
2024-01-19 08:07:57 +01:00 |
|
Joachim Schoeberl
|
eb90c6ed3b
|
use list instead of map to keep order
|
2024-01-18 19:43:08 +01:00 |
|
Joachim Schoeberl
|
5a4b89c1ed
|
merge hp face-refinement with limiting fac2
|
2024-01-16 12:54:06 +01:00 |
|
Schöberl, Joachim
|
3dc0383f3f
|
Merge branch 'uz/splits' into 'master'
Expsosing splits in Netgen and Powell-Sabin split
See merge request ngsolve/netgen!623
|
2024-01-16 12:51:18 +01:00 |
|
Joachim Schoeberl
|
cb7759cd0b
|
line number in NETGEN_CHECK_SAME macro
|
2024-01-16 12:43:23 +01:00 |
|
Joachim Schoeberl
|
6c3fcf0188
|
Alfeld split uses sub-division factor 1/3
|
2024-01-16 12:42:42 +01:00 |
|
Joachim Schoeberl
|
29f0a5d647
|
simple signal without smart pointers
|
2024-01-16 10:17:19 +01:00 |
|
Umberto Zerbinati
|
87c4e543ad
|
Introduced fac2 to fix issue with face splits
|
2024-01-15 23:54:44 +00:00 |
|
Umberto Zerbinati
|
d2bba6cb3c
|
Merging master
|
2024-01-15 22:50:49 +00:00 |
|
Umberto Zerbinati
|
00747fb947
|
Powell Sabin splits
|
2024-01-15 22:43:18 +00:00 |
|
Joachim Schoeberl
|
696620828f
|
don't restrict refinement parameter in HPRefinement (more user responsibility)
|
2024-01-15 21:42:27 +01:00 |
|
Umberto Zerbinati
|
890f59b8b4
|
Exposed Alfeld splits
|
2024-01-15 11:42:00 +00:00 |
|
Lackner, Christopher
|
ed7d1dfdaf
|
Merge branch 'tolerance_occ_edge_projection' into 'master'
add tolerance to occ-edge projection
See merge request ngsolve/netgen!622
|
2024-01-15 11:50:07 +01:00 |
|
Joachim Schoeberl
|
c0d394ebf5
|
introduce 'shallow_archive' member
|
2024-01-15 08:16:14 +01:00 |
|
Joachim Schoeberl
|
6b346926ec
|
if constexpr
|
2024-01-14 04:52:19 +01:00 |
|
Joachim Schoeberl
|
1ff8c97b1d
|
fix has_shared_from_this any_cast
|
2024-01-14 04:33:55 +01:00 |
|
Joachim Schoeberl
|
2d2503bbbb
|
auto-shallow shared_ptr with enable_shared_from_this
|
2024-01-13 21:15:55 +01:00 |
|
Christopher Lackner
|
48eb4fed07
|
add tolerance to occ-edge projection
|
2024-01-10 16:31:05 +01:00 |
|
Joachim Schoeberl
|
54287bbfbb
|
wrap static variable into function
|
2024-01-09 10:21:06 +01:00 |
|
Joachim Schoeberl
|
fda7cfa2bc
|
function-pointer instead of std::function, no unique-ptr around type_register
|
2024-01-09 10:01:11 +01:00 |
|
Joachim Schoeberl
|
8362349bb8
|
fix metis warnings
|
2024-01-06 18:19:11 +01:00 |
|
Joachim Schoeberl
|
87b65fb5ff
|
remove warnings
|
2024-01-05 20:07:04 +01:00 |
|
Christopher Lackner
|
fb211a5ee4
|
fix cake identification, allow until revolve axis
|
2023-12-28 11:11:48 +01:00 |
|
Christopher Lackner
|
e8bf5e6b4f
|
move timer and TimeFunction to netgen
|
2023-12-20 12:04:44 +01:00 |
|
Matthias Hochsteger
|
a272a8d420
|
Init debugparam write_mesh_on_error with env variable NG_WRITE_MESH_ON_ERROR
|
2023-12-18 20:22:46 +01:00 |
|
Matthias Hochsteger
|
b26d8d5fb0
|
Medit 3d fixes
|
2023-12-18 20:22:12 +01:00 |
|
Lackner, Christopher
|
239b2b5478
|
Merge branch 'show_adjacent_domain_names_on_dblclick' into 'master'
Show adjacent domain names when double clicking a mesh face in Netgen GUI
See merge request ngsolve/netgen!618
|
2023-12-14 15:19:28 +01:00 |
|
Matthias Hochsteger
|
c8f38486f1
|
Draw grey surfaces again if draw_surface=False
|
2023-12-07 11:01:55 +01:00 |
|
Lackner, Christopher
|
4648ac2768
|
Merge branch 'occ_arc_name' into 'master'
[occ] add name argument to arc in workplane
See merge request ngsolve/netgen!615
|
2023-12-07 10:23:03 +01:00 |
|
Matthias Hochsteger
|
82fb39cef9
|
Show adjacent domain names when double clicking a mesh face in Netgen GUI
|
2023-12-05 20:14:18 +01:00 |
|
Christopher Lackner
|
b4d0e5f8fc
|
don't invert on periodic boundary (only if normal vectors do not match)
|
2023-12-04 11:01:10 +01:00 |
|
Christopher Lackner
|
3afdd80333
|
export parentelements to python
|
2023-11-28 21:30:57 +01:00 |
|
Matthias Hochsteger
|
12c8cda60a
|
Export some STL utility functions
|
2023-11-22 20:36:52 +01:00 |
|
Christopher Lackner
|
5692604ab6
|
[occ] add name argument to arc in workplane
|
2023-11-21 11:38:01 +01:00 |
|
Matthias Hochsteger
|
ce8a73750e
|
Return None if no color is set in shape
|
2023-11-21 11:26:16 +01:00 |
|
Joachim Schoeberl
|
69025e5ef4
|
return some nonsense for undefined element-type
|
2023-11-17 12:00:48 +01:00 |
|
Christopher Lackner
|
1d67567c02
|
export geom info of 2d elements
|
2023-11-16 14:00:37 +01:00 |
|
Matthias Hochsteger
|
790f4784ed
|
Medit format fixes
|
2023-11-07 12:12:50 +01:00 |
|
Matthias Hochsteger
|
b8fe52edf2
|
Fix build error
|
2023-11-06 17:38:11 +01:00 |
|
Matthias Hochsteger
|
c4bece8dc8
|
Fix Medit im-/export
|
2023-11-06 17:33:36 +01:00 |
|
Matthias Hochsteger
|
fd3a5bbd34
|
Fix color of point curves if use_textures is on
|
2023-10-30 09:41:39 +01:00 |
|
Matthias Hochsteger
|
6e6c23b05e
|
Fix printed face name on double click for 2d meshes
|
2023-10-24 15:03:54 +02:00 |
|
Matthias Hochsteger
|
93a76faca6
|
Remove debug output
|
2023-10-24 15:03:34 +02:00 |
|
Matthias Hochsteger
|
5af59aba66
|
Export ReadMedit/WriteMedit
|
2023-10-24 10:41:27 +02:00 |
|
Matthias Hochsteger
|
5931376a57
|
Clip prisms/hexes/pyramids as a whole (like tets)
|
2023-10-19 21:47:00 +02:00 |
|
Christopher Lackner
|
8c4384a02f
|
fix inconsistent dll linkage (to libsrc/general/template.hpp::39)
|
2023-10-16 16:50:55 +02:00 |
|
Matthias Hochsteger
|
73c2eded15
|
Fix edge case in BoundaryLayer 2d growth vector limitation
|
2023-10-13 14:03:58 +02:00 |
|
Matthias Hochsteger
|
6f6b1fcb56
|
Medit format support
|
2023-10-12 19:04:40 +02:00 |
|
Matthias Hochsteger
|
987f0fcc07
|
Clean up user mesh format code
|
2023-10-12 19:04:40 +02:00 |
|
Matthias Hochsteger
|
20fd3af5b4
|
Fix face orientation in BuildFMap to change the original shape
|
2023-10-12 16:10:50 +02:00 |
|
Hochsteger, Matthias
|
dad62afcee
|
Call PropagateProperties in OCCGeometry::HealGeometry()
|
2023-10-11 17:13:38 +02:00 |
|
Christopher Lackner
|
e2aa646b0e
|
allow read in of "broken" step files (for manual fixing)
|
2023-10-09 11:50:18 +02:00 |
|
Christopher Lackner
|
556ec04b8e
|
add colors for iges input files
|
2023-10-09 11:30:45 +02:00 |
|
Joachim Schoeberl
|
4ed8f04e1c
|
face refinement cases
|
2023-09-30 07:11:07 +02:00 |
|
Joachim Schoeberl
|
e742dc59b3
|
move AutoDiff to netgen
|
2023-09-29 10:56:16 +02:00 |
|
Joachim Schoeberl
|
bbb91b704d
|
plotting hex7
|
2023-09-29 09:30:19 +02:00 |
|
Joachim Schoeberl
|
7d409e6ec4
|
visualization of clipping plane for HEX7
|
2023-09-27 12:20:49 +02:00 |
|
Matthias Hochsteger
|
04ad6239d2
|
Rebuild color texture when mesh changes
|
2023-09-26 15:30:57 +02:00 |
|
Joachim Schoeberl
|
8d99756045
|
mapping of HEX7
|
2023-09-26 07:24:41 +02:00 |
|
Joachim Schoeberl
|
b5260849bb
|
old style for loop :-(
|
2023-09-24 12:49:48 +02:00 |
|
Joachim Schoeberl
|
6db1c2d831
|
more (pyramid) cases
|
2023-09-24 11:26:53 +02:00 |
|
Joachim Schoeberl
|
d123c4a9f3
|
more hprefs
|
2023-09-23 21:23:33 +02:00 |
|
Joachim Schoeberl
|
b013a05dd5
|
fix unused warning
|
2023-09-22 14:25:18 +02:00 |
|
Joachim Schoeberl
|
103a9c8cb7
|
more singular-face cases implemented
|
2023-09-22 11:01:44 +02:00 |
|
Joachim Schoeberl
|
e0fa631ca9
|
hex7 elements
|
2023-09-21 00:14:37 +02:00 |
|
Joachim Schoeberl
|
b6071dd1e4
|
hp-refinement for singular tet-faces
|
2023-09-20 19:09:01 +02:00 |
|
Christopher Lackner
|
1855b2cfa7
|
fix min color width to 1 (prevent div by 0)
|
2023-09-19 15:49:27 +02:00 |
|
Hochsteger, Matthias
|
d726b22561
|
Merge branch 'opt2d_fixes' into 'master'
Reset MeshTopology before 2d optimize
See merge request ngsolve/netgen!607
|
2023-09-18 14:15:32 +02:00 |
|
Matthias Hochsteger
|
960fe8a342
|
Reset MeshTopology before 2d optimize
|
2023-09-18 13:58:43 +02:00 |
|
Matthias Hochsteger
|
9cf7db65e3
|
DLL_HEADER for MeshTopology
|
2023-09-18 13:50:33 +02:00 |
|
Matthias Hochsteger
|
d069f57422
|
Pyodide fixes
|
2023-09-16 19:25:43 +02:00 |
|
Christopher Lackner
|
15ddc4294b
|
marked elements now in BisectionInfo member of meshclass instead of global
|
2023-09-11 16:05:31 +02:00 |
|
Lackner, Christopher
|
3b04270006
|
Add array uint64 t
|
2023-09-08 17:20:27 +02:00 |
|
Joachim Schoeberl
|
7d46b22f8e
|
get mpi_wrapper out of hashtable.hpp
|
2023-09-08 16:14:10 +02:00 |
|
Matthias Hochsteger
|
d9d14ab4bf
|
fixes to build pyodite module
|
2023-09-08 10:18:19 +02:00 |
|
Joachim Schoeberl
|
a09bd78459
|
std::array<T, size_t S>
|
2023-09-07 20:22:03 +02:00 |
|
Schöberl, Joachim
|
03cd1817dd
|
Merge branch 'soldata_draw_surface_volume_regions' into 'master'
Add 0-based bitarrays to soldata structure limit drawing regions
See merge request ngsolve/netgen!590
|
2023-09-07 09:44:24 +02:00 |
|
Joachim Schoeberl
|
6272121f25
|
fix brackets
|
2023-09-06 08:42:18 +02:00 |
|
Joachim Schoeberl
|
8066fb0e9c
|
mpi_typetrait in replacement
|
2023-09-06 08:32:32 +02:00 |
|
Joachim Schoeberl
|
f756aadf32
|
replacement GetMPIType with same signature
|
2023-09-06 08:13:44 +02:00 |
|
Joachim Schoeberl
|
f4284a7e60
|
GetMPIType also for mpi replacement
|
2023-09-06 07:49:27 +02:00 |
|
Joachim Schoeberl
|
2285785af5
|
include
|
2023-09-06 07:29:16 +02:00 |
|
Joachim Schoeberl
|
63660682c2
|
MPI-type for std::array
|
2023-09-05 21:53:55 +02:00 |
|
Lackner, Christopher
|
24d79dbfdd
|
Merge branch 'cleanup_netgen' into 'master'
move namespaces in meshing.hpp into headers
See merge request ngsolve/netgen!602
|
2023-09-05 17:56:55 +02:00 |
|
Matthias Hochsteger
|
fe37f7d0b2
|
Emscripten fixes
|
2023-09-05 17:13:29 +02:00 |
|
Christopher Lackner
|
d4c8a94abb
|
dont include archive.hpp, use template function
|
2023-09-05 13:23:37 +02:00 |
|
Christopher Lackner
|
b4dee312a4
|
autodiff sqr in ngcore namespace
|
2023-09-05 13:23:20 +02:00 |
|
Christopher Lackner
|
e345b3f97f
|
remove warning abound unused captured this pointer in lambda
|
2023-09-05 12:37:03 +02:00 |
|
Christopher Lackner
|
cacd9948f4
|
general ClosedHashTable -> NgClosedHashtable to avoid conflict
|
2023-09-05 12:29:07 +02:00 |
|
Christopher Lackner
|
95ca834605
|
move namespaces in meshing.hpp into headers
|
2023-09-04 13:43:47 +02:00 |
|
Matthias Hochsteger
|
125c21b200
|
Boundarylayer limitation fixes
Squashed commit of the following:
commit a1007d6728c01343a321aa135c24bbb1d3e6f059
Author: vgeza <vg@cenos-platform.com>
Date: Fri Sep 1 13:01:01 2023 +0300
put back
commit 74b145cf7fb9bf36eae36e01c2cc6c7ab8f1504b
Author: vgeza <vgeza@users.noreply.github.com>
Date: Fri Sep 1 12:44:06 2023 +0300
Update smoothing
commit 18a2a95a61ac56db3274c669b91d2bbd8a84ec2f
Author: vgeza <vgeza@users.noreply.github.com>
Date: Fri Sep 1 12:32:35 2023 +0300
More restrictive fixes
commit cc715804ac8825909e2c0b4a86333c0c3fc29a80
Author: vgeza <vgeza@users.noreply.github.com>
Date: Fri Sep 1 12:31:50 2023 +0300
fix
commit 36a7b522c3e97745d4ff84de09df05dc766ddae7
Author: vgeza <vgeza@users.noreply.github.com>
Date: Fri Sep 1 12:31:15 2023 +0300
Update limits at the end of loop
Bounarylayer - safety parameter to limit maximum vector growth
|
2023-09-04 11:49:56 +02:00 |
|
Matthias Hochsteger
|
499c9086b0
|
Boundarylayer - check if all given faces are adjacent to selected domain
|
2023-09-04 10:42:45 +02:00 |
|
Joachim Schoeberl
|
74eff69410
|
singular edges/points to Python
|
2023-08-31 12:13:46 +02:00 |
|
Hochsteger, Matthias
|
0043eee0e0
|
Merge branch 'find_python' into 'master'
find_package(PythonInterp... deprecated, change to python with comp
See merge request ngsolve/netgen!595
|
2023-08-30 21:57:52 +02:00 |
|
Matthias Hochsteger
|
68b5490621
|
Change library type for pyngcore to MODULE
|
2023-08-30 17:31:58 +02:00 |
|
Hochsteger, Matthias
|
7fa30dbfac
|
Archive classes with non default ctor
|
2023-08-29 18:27:39 +02:00 |
|
Schöberl, Joachim
|
3ff2e46ddd
|
Merge branch 'vgeza_fix_blayer_limiting' into 'master'
Boundary layer thickness limiting fixes
See merge request ngsolve/netgen!596
|
2023-08-29 17:11:17 +02:00 |
|
Christopher Lackner
|
dd46634c83
|
gui draw segment and surfacelement numbers
|
2023-08-29 16:43:25 +02:00 |
|