<?php

declare(strict_types=1);

namespace Brick\Geo\Tests\IO;

/**
 * Base class for EWKB reader/writer tests.
 */
abstract class EwkbAbstractTestCase extends WkbAbstractTestCase
{
    final public static function providerBigEndianEwkb(): array
    {
        return [
            // Point
            ['POINT (1 2)', '00000000013ff00000000000004000000000000000', false, false],
            ['POINT Z (2 3 4)', '0080000001400000000000000040080000000000004010000000000000', true, false],
            ['POINT M (3 4 5)', '0040000001400800000000000040100000000000004014000000000000', false, true],
            ['POINT ZM (4 5 6 7)', '00c0000001401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // LineString
            ['LINESTRING (0 0, 1 2, 3 4)', '000000000200000003000000000000000000000000000000003ff0000000000000400000000000000040080000000000004010000000000000', false, false],
            ['LINESTRING Z (0 1 2, 1 2 3, 2 3 4)', '00800000020000000300000000000000003ff000000000000040000000000000003ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000', true, false],
            ['LINESTRING M (1 2 3, 2 3 4, 3 4 5)', '0040000002000000033ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000400800000000000040100000000000004014000000000000', false, true],
            ['LINESTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '00c00000020000000340000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // LineString EMPTY
            ['LINESTRING EMPTY', '000000000200000000', false, false],
            ['LINESTRING Z EMPTY', '008000000200000000', true, false],
            ['LINESTRING M EMPTY', '004000000200000000', false, true],
            ['LINESTRING ZM EMPTY', '00c000000200000000', true, true],

            // CircularString
            ['CIRCULARSTRING (0 0, 1 2, 3 4)', '000000000800000003000000000000000000000000000000003ff0000000000000400000000000000040080000000000004010000000000000', false, false],
            ['CIRCULARSTRING Z (0 1 2, 1 2 3, 2 3 4)', '00800000080000000300000000000000003ff000000000000040000000000000003ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000', true, false],
            ['CIRCULARSTRING M (1 2 3, 2 3 4, 3 4 5)', '0040000008000000033ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000400800000000000040100000000000004014000000000000', false, true],
            ['CIRCULARSTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '00c00000080000000340000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // CircularString EMPTY
            ['CIRCULARSTRING EMPTY', '000000000800000000', false, false],
            ['CIRCULARSTRING Z EMPTY', '008000000800000000', true, false],
            ['CIRCULARSTRING M EMPTY', '004000000800000000', false, true],
            ['CIRCULARSTRING ZM EMPTY', '00c000000800000000', true, true],

            // CompoundCurve
            ['COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8))', '0000000009000000020000000002000000023ff00000000000004000000000000000400800000000000040100000000000000000000008000000034008000000000000401000000000000040140000000000004018000000000000401c0000000000004020000000000000', false, false],
            ['COMPOUNDCURVE Z ((1 2 3, 4 5 6), CIRCULARSTRING Z (4 5 6, 5 6 7, 6 7 8))', '0080000009000000020080000002000000023ff00000000000004000000000000000400800000000000040100000000000004014000000000000401800000000000000800000080000000340100000000000004014000000000000401800000000000040140000000000004018000000000000401c0000000000004018000000000000401c0000000000004020000000000000', true, false],
            ['COMPOUNDCURVE M ((1 2 3, 2 3 4), CIRCULARSTRING M (2 3 4, 5 6 7, 8 9 0))', '0040000009000000020040000002000000023ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000400000080000000340000000000000004008000000000000401000000000000040140000000000004018000000000000401c000000000000402000000000000040220000000000000000000000000000', false, true],
            ['COMPOUNDCURVE ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6), (3 4 5 6, 7 8 9 0))', '00c00000090000000200c0000008000000033ff00000000000004000000000000000400800000000000040100000000000004000000000000000400800000000000040100000000000004014000000000000400800000000000040100000000000004014000000000000401800000000000000c0000002000000024008000000000000401000000000000040140000000000004018000000000000401c000000000000402000000000000040220000000000000000000000000000', true, true],

            // CompoundCurve EMPTY
            ['COMPOUNDCURVE EMPTY', '000000000900000000', false, false],
            ['COMPOUNDCURVE Z EMPTY', '008000000900000000', true, false],
            ['COMPOUNDCURVE M EMPTY', '004000000900000000', false, true],
            ['COMPOUNDCURVE ZM EMPTY', '00c000000900000000', true, true],

            // Polygon
            ['POLYGON ((0 0, 1 2, 3 4, 0 0))', '00000000030000000100000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['POLYGON Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '0080000003000000010000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['POLYGON M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '004000000300000001000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['POLYGON ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '00c0000003000000010000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],
            ['POLYGON ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '000000000300000002000000040000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000004000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff000000000000000000000000000000000000000000000', false, false],
            ['POLYGON Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '00800000030000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', true, false],
            ['POLYGON M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '00400000030000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', false, true],
            ['POLYGON ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '00c00000030000000200000004000000000000000000000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000040000000000000003ff00000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000000004000000000000000000000000000000003ff000000000000040000000000000003ff000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff00000000000003ff00000000000004000000000000000000000000000000000000000000000003ff00000000000004000000000000000', true, true],

            // Polygon EMPTY
            ['POLYGON EMPTY', '000000000300000000', false, false],
            ['POLYGON Z EMPTY', '008000000300000000', true, false],
            ['POLYGON M EMPTY', '004000000300000000', false, true],
            ['POLYGON ZM EMPTY', '00c000000300000000', true, true],

            // CurvePolygon
            ['CURVEPOLYGON ((0 0, 0 9, 9 9, 0 0), COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8, 9 0, 1 2)))', '000000000a00000002000000000200000004000000000000000000000000000000000000000000000000402200000000000040220000000000004022000000000000000000000000000000000000000000000000000009000000020000000002000000023ff00000000000004000000000000000400800000000000040100000000000000000000008000000054008000000000000401000000000000040140000000000004018000000000000401c0000000000004020000000000000402200000000000000000000000000003ff00000000000004000000000000000', false, false],
            ['CURVEPOLYGON Z ((0 0 1, 0 9 1, 9 9 1, 0 0 1), CIRCULARSTRING Z (1 1 1, 4 7 1, 6 5 1, 2 3 1, 1 1 1))', '008000000a00000002008000000200000004000000000000000000000000000000003ff0000000000000000000000000000040220000000000003ff0000000000000402200000000000040220000000000003ff0000000000000000000000000000000000000000000003ff00000000000000080000008000000053ff00000000000003ff00000000000003ff00000000000004010000000000000401c0000000000003ff0000000000000401800000000000040140000000000003ff0000000000000400000000000000040080000000000003ff00000000000003ff00000000000003ff00000000000003ff0000000000000', true, false],
            ['CURVEPOLYGON M (COMPOUNDCURVE M (CIRCULARSTRING M (0 0 1, 0 9 1, 9 9 1), (9 9 1, 0 0 1)), (1 1 1, 4 7 1, 6 5 1, 1 1 1))', '004000000a00000002004000000900000002004000000800000003000000000000000000000000000000003ff0000000000000000000000000000040220000000000003ff0000000000000402200000000000040220000000000003ff0000000000000004000000200000002402200000000000040220000000000003ff0000000000000000000000000000000000000000000003ff00000000000000040000002000000043ff00000000000003ff00000000000003ff00000000000004010000000000000401c0000000000003ff0000000000000401800000000000040140000000000003ff00000000000003ff00000000000003ff00000000000003ff0000000000000', false, true],
            ['CURVEPOLYGON ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6, 4 5 6 7, 1 2 3 4), (3 4 5 6, 4 5 6 7, 9 8 7 6, 3 4 5 6))', '00c000000a0000000200c0000008000000053ff000000000000040000000000000004008000000000000401000000000000040000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000003ff000000000000040000000000000004008000000000000401000000000000000c0000002000000044008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c00000000000040220000000000004020000000000000401c00000000000040180000000000004008000000000000401000000000000040140000000000004018000000000000', true, true],

            // CurvePolygon EMPTY
            ['CURVEPOLYGON EMPTY', '000000000a00000000', false, false],
            ['CURVEPOLYGON Z EMPTY', '008000000a00000000', true, false],
            ['CURVEPOLYGON M EMPTY', '004000000a00000000', false, true],
            ['CURVEPOLYGON ZM EMPTY', '00c000000a00000000', true, true],

            // Triangle
            ['TRIANGLE ((0 0, 1 2, 3 4, 0 0))', '00000000110000000100000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['TRIANGLE Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '0080000011000000010000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['TRIANGLE M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '004000001100000001000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['TRIANGLE ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '00c0000011000000010000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],

            // Triangle EMPTY
            ['TRIANGLE EMPTY', '000000001100000000', false, false],
            ['TRIANGLE Z EMPTY', '008000001100000000', true, false],
            ['TRIANGLE M EMPTY', '004000001100000000', false, true],
            ['TRIANGLE ZM EMPTY', '00c000001100000000', true, true],

            // MultiPoint
            ['MULTIPOINT (0 0, 1 2, 3 4)', '00000000040000000300000000010000000000000000000000000000000000000000013ff00000000000004000000000000000000000000140080000000000004010000000000000', false, false],
            ['MULTIPOINT Z (0 1 2, 1 2 3, 2 3 4)', '008000000400000003008000000100000000000000003ff0000000000000400000000000000000800000013ff0000000000000400000000000000040080000000000000080000001400000000000000040080000000000004010000000000000', true, false],
            ['MULTIPOINT M (1 2 3, 2 3 4, 3 4 5)', '00400000040000000300400000013ff00000000000004000000000000000400800000000000000400000014000000000000000400800000000000040100000000000000040000001400800000000000040100000000000004014000000000000', false, true],
            ['MULTIPOINT ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '00c00000040000000300c0000001400000000000000040080000000000004010000000000000401400000000000000c0000001400800000000000040100000000000004014000000000000401800000000000000c0000001401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // MultiPoint EMPTY
            ['MULTIPOINT EMPTY', '000000000400000000', false, false],
            ['MULTIPOINT Z EMPTY', '008000000400000000', true, false],
            ['MULTIPOINT M EMPTY', '004000000400000000', false, true],
            ['MULTIPOINT ZM EMPTY', '00c000000400000000', true, true],

            // MultiLineString
            ['MULTILINESTRING ((0 0, 1 2, 3 4, 0 0))', '000000000500000001000000000200000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['MULTILINESTRING Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '00800000050000000100800000020000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['MULTILINESTRING M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '0040000005000000010040000002000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['MULTILINESTRING ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '00c00000050000000100c00000020000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],
            ['MULTILINESTRING ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '00000000050000000200000000020000000400000000000000000000000000000000400000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000200000004000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff000000000000000000000000000000000000000000000', false, false],
            ['MULTILINESTRING Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '008000000500000002008000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff00000000000000080000002000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', true, false],
            ['MULTILINESTRING M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '004000000500000002004000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff00000000000000040000002000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', false, true],
            ['MULTILINESTRING ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '00c00000050000000200c000000200000004000000000000000000000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000040000000000000003ff00000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000c000000200000004000000000000000000000000000000003ff000000000000040000000000000003ff000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff00000000000003ff00000000000004000000000000000000000000000000000000000000000003ff00000000000004000000000000000', true, true],

            // MultiLineString EMPTY
            ['MULTILINESTRING EMPTY', '000000000500000000', false, false],
            ['MULTILINESTRING Z EMPTY', '008000000500000000', true, false],
            ['MULTILINESTRING M EMPTY', '004000000500000000', false, true],
            ['MULTILINESTRING ZM EMPTY', '00c000000500000000', true, true],

            // MultiPolygon
            ['MULTIPOLYGON (((0 0, 1 2, 3 4, 0 0)))', '00000000060000000100000000030000000100000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['MULTIPOLYGON Z (((0 1 2, 1 2 3, 2 3 4, 0 1 2)))', '0080000006000000010080000003000000010000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['MULTIPOLYGON M (((1 2 3, 2 3 4, 3 4 5, 1 2 3)))', '004000000600000001004000000300000001000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['MULTIPOLYGON ZM (((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5)))', '00c00000060000000100c0000003000000010000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],
            ['MULTIPOLYGON (((0 0, 2 0, 0 2, 0 0)), ((0 0, 1 0, 0 1, 0 0)))', '000000000600000002000000000300000001000000040000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000030000000100000004000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff000000000000000000000000000000000000000000000', false, false],
            ['MULTIPOLYGON Z (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '00800000060000000200800000030000000100000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000008000000300000001000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', true, false],
            ['MULTIPOLYGON M (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '00400000060000000200400000030000000100000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000004000000300000001000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', false, true],
            ['MULTIPOLYGON ZM (((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2)), ((0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2)))', '00c00000060000000200c00000030000000100000004000000000000000000000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000040000000000000003ff00000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000c00000030000000100000004000000000000000000000000000000003ff000000000000040000000000000003ff000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff00000000000003ff00000000000004000000000000000000000000000000000000000000000003ff00000000000004000000000000000', true, true],

            // MultiPolygon EMPTY
            ['MULTIPOLYGON EMPTY', '000000000600000000', false, false],
            ['MULTIPOLYGON Z EMPTY', '008000000600000000', true, false],
            ['MULTIPOLYGON M EMPTY', '004000000600000000', false, true],
            ['MULTIPOLYGON ZM EMPTY', '00c000000600000000', true, true],

            // GeometryCollection
            ['GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (2 3, 3 4))', '00000000070000000200000000013ff000000000000040000000000000000000000002000000024000000000000000400800000000000040080000000000004010000000000000', false, false],
            ['GEOMETRYCOLLECTION Z (POINT Z (1 2 3), LINESTRING Z (2 3 4, 3 4 5))', '00800000070000000200800000013ff000000000000040000000000000004008000000000000008000000200000002400000000000000040080000000000004010000000000000400800000000000040100000000000004014000000000000', true, false],
            ['GEOMETRYCOLLECTION M (POINT M (1 2 4), LINESTRING M (2 3 5, 3 4 6))', '00400000070000000200400000013ff000000000000040000000000000004010000000000000004000000200000002400000000000000040080000000000004014000000000000400800000000000040100000000000004018000000000000', false, true],
            ['GEOMETRYCOLLECTION ZM (POINT ZM (1 2 3 4), LINESTRING ZM (2 3 4 5, 3 4 5 6))', '00c00000070000000200c00000013ff000000000000040000000000000004008000000000000401000000000000000c00000020000000240000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000', true, true],

            // GeometryCollection EMPTY
            ['GEOMETRYCOLLECTION EMPTY', '000000000700000000', false, false],
            ['GEOMETRYCOLLECTION Z EMPTY', '008000000700000000', true, false],
            ['GEOMETRYCOLLECTION M EMPTY', '004000000700000000', false, true],
            ['GEOMETRYCOLLECTION ZM EMPTY', '00c000000700000000', true, true],

            // PolyhedralSurface
            ['POLYHEDRALSURFACE (((0 0, 0 1, 1 1, 1 0, 0 0)), ((0 1, 1 1, 2 1, 2 2, 0 1)))', '000000000f00000002000000000300000001000000050000000000000000000000000000000000000000000000003ff00000000000003ff00000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000003000000010000000500000000000000003ff00000000000003ff00000000000003ff000000000000040000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff0000000000000', false, false],
            ['POLYHEDRALSURFACE Z (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '008000000f000000020080000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff00000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000', true, false],
            ['POLYHEDRALSURFACE M (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '004000000f000000020040000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff00000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000', false, true],
            ['POLYHEDRALSURFACE ZM (((0 0 0 2, 0 1 0 2, 1 1 0 2, 1 0 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 0 1 1 3, 0 0 1 3, 0 0 0 3)))', '00c000000f0000000200c00000030000000100000005000000000000000000000000000000000000000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff00000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000c00000030000000100000005000000000000000000000000000000000000000000000000400800000000000000000000000000003ff00000000000000000000000000000400800000000000000000000000000003ff00000000000003ff00000000000004008000000000000000000000000000000000000000000003ff000000000000040080000000000000000000000000000000000000000000000000000000000004008000000000000', true, true],

            // PolyhedralSurface EMPTY
            ['POLYHEDRALSURFACE EMPTY', '000000000f00000000', false, false],
            ['POLYHEDRALSURFACE Z EMPTY', '008000000f00000000', false, false],
            ['POLYHEDRALSURFACE M EMPTY', '004000000f00000000', false, false],
            ['POLYHEDRALSURFACE ZM EMPTY', '00c000000f00000000', false, false],

            // TIN
            ['TIN (((0 0, 0 1, 1 0, 0 0)), ((0 1, 1 1, 1 0, 0 1)))', '000000001000000002000000001100000001000000040000000000000000000000000000000000000000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000011000000010000000400000000000000003ff00000000000003ff00000000000003ff00000000000003ff0000000000000000000000000000000000000000000003ff0000000000000', false, false],
            ['TIN Z (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '00800000100000000200800000110000000100000004000000000000000000000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff000000000000000000000000000000000000000000000000000000000000000000000000000000080000011000000010000000400000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000000000000', true, false],
            ['TIN M (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '00400000100000000200400000110000000100000004000000000000000000000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff000000000000000000000000000000000000000000000000000000000000000000000000000000040000011000000010000000400000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000000000000', false, true],
            ['TIN ZM (((0 0 0 2, 0 0 1 2, 0 1 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 1 1 0 3, 0 0 0 3)))', '00c00000100000000200c000001100000001000000040000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000c00000110000000100000004000000000000000000000000000000000000000000000000400800000000000000000000000000003ff0000000000000000000000000000040080000000000003ff00000000000003ff0000000000000000000000000000040080000000000000000000000000000000000000000000000000000000000004008000000000000', true, true],

            // TIN EMPTY
            ['TIN EMPTY', '000000001000000000', false, false],
            ['TIN Z EMPTY', '008000001000000000', true, false],
            ['TIN M EMPTY', '004000001000000000', false, true],
            ['TIN ZM EMPTY', '00c000001000000000', true, true],
        ];
    }

    final public static function providerBigEndianEwkbWithSrid(): array
    {
        return [
            // Point
            ['SRID=4326; POINT (1 2)', '0020000001000010e63ff00000000000004000000000000000', false, false],
            ['SRID=4326; POINT Z (2 3 4)', '00a0000001000010e6400000000000000040080000000000004010000000000000', true, false],
            ['SRID=4326; POINT M (3 4 5)', '0060000001000010e6400800000000000040100000000000004014000000000000', false, true],
            ['SRID=4326; POINT ZM (4 5 6 7)', '00e0000001000010e6401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // LineString
            ['SRID=4326; LINESTRING (0 0, 1 2, 3 4)', '0020000002000010e600000003000000000000000000000000000000003ff0000000000000400000000000000040080000000000004010000000000000', false, false],
            ['SRID=4326; LINESTRING Z (0 1 2, 1 2 3, 2 3 4)', '00a0000002000010e60000000300000000000000003ff000000000000040000000000000003ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000', true, false],
            ['SRID=4326; LINESTRING M (1 2 3, 2 3 4, 3 4 5)', '0060000002000010e6000000033ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000400800000000000040100000000000004014000000000000', false, true],
            ['SRID=4326; LINESTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '00e0000002000010e60000000340000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // LineString EMPTY
            ['SRID=4326; LINESTRING EMPTY', '0020000002000010e600000000', false, false],
            ['SRID=4326; LINESTRING Z EMPTY', '00a0000002000010e600000000', true, false],
            ['SRID=4326; LINESTRING M EMPTY', '0060000002000010e600000000', false, true],
            ['SRID=4326; LINESTRING ZM EMPTY', '00e0000002000010e600000000', true, true],

            // CircularString
            ['SRID=4326; CIRCULARSTRING (0 0, 1 2, 3 4)', '0020000008000010e600000003000000000000000000000000000000003ff0000000000000400000000000000040080000000000004010000000000000', false, false],
            ['SRID=4326; CIRCULARSTRING Z (0 1 2, 1 2 3, 2 3 4)', '00a0000008000010e60000000300000000000000003ff000000000000040000000000000003ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000', true, false],
            ['SRID=4326; CIRCULARSTRING M (1 2 3, 2 3 4, 3 4 5)', '0060000008000010e6000000033ff000000000000040000000000000004008000000000000400000000000000040080000000000004010000000000000400800000000000040100000000000004014000000000000', false, true],
            ['SRID=4326; CIRCULARSTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '00e0000008000010e60000000340000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // CircularString EMPTY
            ['SRID=4326; CIRCULARSTRING EMPTY', '0020000008000010e600000000', false, false],
            ['SRID=4326; CIRCULARSTRING Z EMPTY', '00a0000008000010e600000000', true, false],
            ['SRID=4326; CIRCULARSTRING M EMPTY', '0060000008000010e600000000', false, true],
            ['SRID=4326; CIRCULARSTRING ZM EMPTY', '00e0000008000010e600000000', true, true],

            // CompoundCurve
            ['SRID=4326; COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8))', '0020000009000010e6000000020000000002000000023ff00000000000004000000000000000400800000000000040100000000000000000000008000000034008000000000000401000000000000040140000000000004018000000000000401c0000000000004020000000000000', false, false],
            ['SRID=4326; COMPOUNDCURVE Z ((1 2 3, 4 5 6), CIRCULARSTRING Z (4 5 6, 5 6 7, 6 7 8))', '00a0000009000010e6000000020080000002000000023ff00000000000004000000000000000400800000000000040100000000000004014000000000000401800000000000000800000080000000340100000000000004014000000000000401800000000000040140000000000004018000000000000401c0000000000004018000000000000401c0000000000004020000000000000', true, false],
            ['SRID=4326; COMPOUNDCURVE M ((1 2 3, 2 3 4), CIRCULARSTRING M (2 3 4, 5 6 7, 8 9 0))', '0060000009000010e6000000020040000002000000023ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000400000080000000340000000000000004008000000000000401000000000000040140000000000004018000000000000401c000000000000402000000000000040220000000000000000000000000000', false, true],
            ['SRID=4326; COMPOUNDCURVE ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6), (3 4 5 6, 7 8 9 0))', '00e0000009000010e60000000200c0000008000000033ff00000000000004000000000000000400800000000000040100000000000004000000000000000400800000000000040100000000000004014000000000000400800000000000040100000000000004014000000000000401800000000000000c0000002000000024008000000000000401000000000000040140000000000004018000000000000401c000000000000402000000000000040220000000000000000000000000000', true, true],

            // CompoundCurve EMPTY
            ['SRID=4326; COMPOUNDCURVE EMPTY', '0020000009000010e600000000', false, false],
            ['SRID=4326; COMPOUNDCURVE Z EMPTY', '00a0000009000010e600000000', true, false],
            ['SRID=4326; COMPOUNDCURVE M EMPTY', '0060000009000010e600000000', false, true],
            ['SRID=4326; COMPOUNDCURVE ZM EMPTY', '00e0000009000010e600000000', true, true],

            // Polygon
            ['SRID=4326; POLYGON ((0 0, 1 2, 3 4, 0 0))', '0020000003000010e60000000100000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['SRID=4326; POLYGON Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '00a0000003000010e6000000010000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['SRID=4326; POLYGON M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '0060000003000010e600000001000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['SRID=4326; POLYGON ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '00e0000003000010e6000000010000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],
            ['SRID=4326; POLYGON ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '0020000003000010e600000002000000040000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000004000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff000000000000000000000000000000000000000000000', false, false],
            ['SRID=4326; POLYGON Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '00a0000003000010e60000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', true, false],
            ['SRID=4326; POLYGON M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '0060000003000010e60000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', false, true],
            ['SRID=4326; POLYGON ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '00e0000003000010e60000000200000004000000000000000000000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000040000000000000003ff00000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000000004000000000000000000000000000000003ff000000000000040000000000000003ff000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff00000000000003ff00000000000004000000000000000000000000000000000000000000000003ff00000000000004000000000000000', true, true],

            // Polygon EMPTY
            ['SRID=4326; POLYGON EMPTY', '0020000003000010e600000000', false, false],
            ['SRID=4326; POLYGON Z EMPTY', '00a0000003000010e600000000', true, false],
            ['SRID=4326; POLYGON M EMPTY', '0060000003000010e600000000', false, true],
            ['SRID=4326; POLYGON ZM EMPTY', '00e0000003000010e600000000', true, true],

            // CurvePolygon
            ['SRID=4326; CURVEPOLYGON ((0 0, 0 9, 9 9, 0 0), COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8, 9 0, 1 2)))', '002000000a000010e600000002000000000200000004000000000000000000000000000000000000000000000000402200000000000040220000000000004022000000000000000000000000000000000000000000000000000009000000020000000002000000023ff00000000000004000000000000000400800000000000040100000000000000000000008000000054008000000000000401000000000000040140000000000004018000000000000401c0000000000004020000000000000402200000000000000000000000000003ff00000000000004000000000000000', false, false],
            ['SRID=4326; CURVEPOLYGON Z ((0 0 1, 0 9 1, 9 9 1, 0 0 1), CIRCULARSTRING Z (1 1 1, 4 7 1, 6 5 1, 2 3 1, 1 1 1))', '00a000000a000010e600000002008000000200000004000000000000000000000000000000003ff0000000000000000000000000000040220000000000003ff0000000000000402200000000000040220000000000003ff0000000000000000000000000000000000000000000003ff00000000000000080000008000000053ff00000000000003ff00000000000003ff00000000000004010000000000000401c0000000000003ff0000000000000401800000000000040140000000000003ff0000000000000400000000000000040080000000000003ff00000000000003ff00000000000003ff00000000000003ff0000000000000', true, false],
            ['SRID=4326; CURVEPOLYGON M (COMPOUNDCURVE M (CIRCULARSTRING M (0 0 1, 0 9 1, 9 9 1), (9 9 1, 0 0 1)), (1 1 1, 4 7 1, 6 5 1, 1 1 1))', '006000000a000010e600000002004000000900000002004000000800000003000000000000000000000000000000003ff0000000000000000000000000000040220000000000003ff0000000000000402200000000000040220000000000003ff0000000000000004000000200000002402200000000000040220000000000003ff0000000000000000000000000000000000000000000003ff00000000000000040000002000000043ff00000000000003ff00000000000003ff00000000000004010000000000000401c0000000000003ff0000000000000401800000000000040140000000000003ff00000000000003ff00000000000003ff00000000000003ff0000000000000', false, true],
            ['SRID=4326; CURVEPOLYGON ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6, 4 5 6 7, 1 2 3 4), (3 4 5 6, 4 5 6 7, 9 8 7 6, 3 4 5 6))', '00e000000a000010e60000000200c0000008000000053ff000000000000040000000000000004008000000000000401000000000000040000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000003ff000000000000040000000000000004008000000000000401000000000000000c0000002000000044008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c00000000000040220000000000004020000000000000401c00000000000040180000000000004008000000000000401000000000000040140000000000004018000000000000', true, true],

            // CurvePolygon EMPTY
            ['SRID=4326; CURVEPOLYGON EMPTY', '002000000a000010e600000000', false, false],
            ['SRID=4326; CURVEPOLYGON Z EMPTY', '00a000000a000010e600000000', true, false],
            ['SRID=4326; CURVEPOLYGON M EMPTY', '006000000a000010e600000000', false, true],
            ['SRID=4326; CURVEPOLYGON ZM EMPTY', '00e000000a000010e600000000', true, true],

            // Triangle
            ['SRID=4326; TRIANGLE ((0 0, 1 2, 3 4, 0 0))', '0020000011000010e60000000100000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['SRID=4326; TRIANGLE Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '00a0000011000010e6000000010000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['SRID=4326; TRIANGLE M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '0060000011000010e600000001000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['SRID=4326; TRIANGLE ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '00e0000011000010e6000000010000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],

            // Triangle EMPTY
            ['SRID=4326; TRIANGLE EMPTY', '0020000011000010e600000000', false, false],
            ['SRID=4326; TRIANGLE Z EMPTY', '00a0000011000010e600000000', true, false],
            ['SRID=4326; TRIANGLE M EMPTY', '0060000011000010e600000000', false, true],
            ['SRID=4326; TRIANGLE ZM EMPTY', '00e0000011000010e600000000', true, true],

            // MultiPoint
            ['SRID=4326; MULTIPOINT (0 0, 1 2, 3 4)', '0020000004000010e60000000300000000010000000000000000000000000000000000000000013ff00000000000004000000000000000000000000140080000000000004010000000000000', false, false],
            ['SRID=4326; MULTIPOINT Z (0 1 2, 1 2 3, 2 3 4)', '00a0000004000010e600000003008000000100000000000000003ff0000000000000400000000000000000800000013ff0000000000000400000000000000040080000000000000080000001400000000000000040080000000000004010000000000000', true, false],
            ['SRID=4326; MULTIPOINT M (1 2 3, 2 3 4, 3 4 5)', '0060000004000010e60000000300400000013ff00000000000004000000000000000400800000000000000400000014000000000000000400800000000000040100000000000000040000001400800000000000040100000000000004014000000000000', false, true],
            ['SRID=4326; MULTIPOINT ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '00e0000004000010e60000000300c0000001400000000000000040080000000000004010000000000000401400000000000000c0000001400800000000000040100000000000004014000000000000401800000000000000c0000001401000000000000040140000000000004018000000000000401c000000000000', true, true],

            // MultiPoint EMPTY
            ['SRID=4326; MULTIPOINT EMPTY', '0020000004000010e600000000', false, false],
            ['SRID=4326; MULTIPOINT Z EMPTY', '00a0000004000010e600000000', true, false],
            ['SRID=4326; MULTIPOINT M EMPTY', '0060000004000010e600000000', false, true],
            ['SRID=4326; MULTIPOINT ZM EMPTY', '00e0000004000010e600000000', true, true],

            // MultiLineString
            ['SRID=4326; MULTILINESTRING ((0 0, 1 2, 3 4, 0 0))', '0020000005000010e600000001000000000200000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['SRID=4326; MULTILINESTRING Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '00a0000005000010e60000000100800000020000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['SRID=4326; MULTILINESTRING M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '0060000005000010e6000000010040000002000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['SRID=4326; MULTILINESTRING ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '00e0000005000010e60000000100c00000020000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],
            ['SRID=4326; MULTILINESTRING ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '0020000005000010e60000000200000000020000000400000000000000000000000000000000400000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000200000004000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff000000000000000000000000000000000000000000000', false, false],
            ['SRID=4326; MULTILINESTRING Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '00a0000005000010e600000002008000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff00000000000000080000002000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', true, false],
            ['SRID=4326; MULTILINESTRING M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '0060000005000010e600000002004000000200000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff00000000000000040000002000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', false, true],
            ['SRID=4326; MULTILINESTRING ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '00e0000005000010e60000000200c000000200000004000000000000000000000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000040000000000000003ff00000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000c000000200000004000000000000000000000000000000003ff000000000000040000000000000003ff000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff00000000000003ff00000000000004000000000000000000000000000000000000000000000003ff00000000000004000000000000000', true, true],

            // MultiLineString EMPTY
            ['SRID=4326; MULTILINESTRING EMPTY', '0020000005000010e600000000', false, false],
            ['SRID=4326; MULTILINESTRING Z EMPTY', '00a0000005000010e600000000', true, false],
            ['SRID=4326; MULTILINESTRING M EMPTY', '0060000005000010e600000000', false, true],
            ['SRID=4326; MULTILINESTRING ZM EMPTY', '00e0000005000010e600000000', true, true],

            // MultiPolygon
            ['SRID=4326; MULTIPOLYGON (((0 0, 1 2, 3 4, 0 0)))', '0020000006000010e60000000100000000030000000100000004000000000000000000000000000000003ff000000000000040000000000000004008000000000000401000000000000000000000000000000000000000000000', false, false],
            ['SRID=4326; MULTIPOLYGON Z (((0 1 2, 1 2 3, 2 3 4, 0 1 2)))', '00a0000006000010e6000000010080000003000000010000000400000000000000003ff000000000000040000000000000003ff00000000000004000000000000000400800000000000040000000000000004008000000000000401000000000000000000000000000003ff00000000000004000000000000000', true, false],
            ['SRID=4326; MULTIPOLYGON M (((1 2 3, 2 3 4, 3 4 5, 1 2 3)))', '0060000006000010e600000001004000000300000001000000043ff0000000000000400000000000000040080000000000004000000000000000400800000000000040100000000000004008000000000000401000000000000040140000000000003ff000000000000040000000000000004008000000000000', false, true],
            ['SRID=4326; MULTIPOLYGON ZM (((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5)))', '00e0000006000010e60000000100c0000003000000010000000440000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000401000000000000040140000000000004018000000000000401c0000000000004000000000000000400800000000000040100000000000004014000000000000', true, true],
            ['SRID=4326; MULTIPOLYGON (((0 0, 2 0, 0 2, 0 0)), ((0 0, 1 0, 0 1, 0 0)))', '0020000006000010e600000002000000000300000001000000040000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000030000000100000004000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff000000000000000000000000000000000000000000000', false, false],
            ['SRID=4326; MULTIPOLYGON Z (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '00a0000006000010e60000000200800000030000000100000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000008000000300000001000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', true, false],
            ['SRID=4326; MULTIPOLYGON M (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '0060000006000010e60000000200400000030000000100000004000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000003ff0000000000000004000000300000001000000040000000000000000000000000000000040000000000000003ff00000000000000000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000000000000000000004000000000000000', false, true],
            ['SRID=4326; MULTIPOLYGON ZM (((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2)), ((0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2)))', '00e0000006000010e60000000200c00000030000000100000004000000000000000000000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff00000000000004000000000000000000000000000000040000000000000003ff00000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000c00000030000000100000004000000000000000000000000000000003ff000000000000040000000000000003ff000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff00000000000003ff00000000000004000000000000000000000000000000000000000000000003ff00000000000004000000000000000', true, true],

            // MultiPolygon EMPTY
            ['SRID=4326; MULTIPOLYGON EMPTY', '0020000006000010e600000000', false, false],
            ['SRID=4326; MULTIPOLYGON Z EMPTY', '00a0000006000010e600000000', true, false],
            ['SRID=4326; MULTIPOLYGON M EMPTY', '0060000006000010e600000000', false, true],
            ['SRID=4326; MULTIPOLYGON ZM EMPTY', '00e0000006000010e600000000', true, true],

            // GeometryCollection
            ['SRID=4326; GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (2 3, 3 4))', '0020000007000010e60000000200000000013ff000000000000040000000000000000000000002000000024000000000000000400800000000000040080000000000004010000000000000', false, false],
            ['SRID=4326; GEOMETRYCOLLECTION Z (POINT Z (1 2 3), LINESTRING Z (2 3 4, 3 4 5))', '00a0000007000010e60000000200800000013ff000000000000040000000000000004008000000000000008000000200000002400000000000000040080000000000004010000000000000400800000000000040100000000000004014000000000000', true, false],
            ['SRID=4326; GEOMETRYCOLLECTION M (POINT M (1 2 4), LINESTRING M (2 3 5, 3 4 6))', '0060000007000010e60000000200400000013ff000000000000040000000000000004010000000000000004000000200000002400000000000000040080000000000004014000000000000400800000000000040100000000000004018000000000000', false, true],
            ['SRID=4326; GEOMETRYCOLLECTION ZM (POINT ZM (1 2 3 4), LINESTRING ZM (2 3 4 5, 3 4 5 6))', '00e0000007000010e60000000200c00000013ff000000000000040000000000000004008000000000000401000000000000000c00000020000000240000000000000004008000000000000401000000000000040140000000000004008000000000000401000000000000040140000000000004018000000000000', true, true],

            // GeometryCollection EMPTY
            ['SRID=4326; GEOMETRYCOLLECTION EMPTY', '0020000007000010e600000000', false, false],
            ['SRID=4326; GEOMETRYCOLLECTION Z EMPTY', '00a0000007000010e600000000', true, false],
            ['SRID=4326; GEOMETRYCOLLECTION M EMPTY', '0060000007000010e600000000', false, true],
            ['SRID=4326; GEOMETRYCOLLECTION ZM EMPTY', '00e0000007000010e600000000', true, true],

            // PolyhedralSurface
            ['SRID=4326; POLYHEDRALSURFACE (((0 0, 0 1, 1 1, 1 0, 0 0)), ((0 1, 1 1, 2 1, 2 2, 0 1)))', '002000000f000010e600000002000000000300000001000000050000000000000000000000000000000000000000000000003ff00000000000003ff00000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000003000000010000000500000000000000003ff00000000000003ff00000000000003ff000000000000040000000000000003ff00000000000004000000000000000400000000000000000000000000000003ff0000000000000', false, false],
            ['SRID=4326; POLYHEDRALSURFACE Z (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '00a000000f000010e6000000020080000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff00000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000', true, false],
            ['SRID=4326; POLYHEDRALSURFACE M (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '006000000f000010e6000000020040000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000003000000010000000500000000000000000000000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000003ff00000000000003ff0000000000000000000000000000000000000000000003ff0000000000000000000000000000000000000000000000000000000000000', false, true],
            ['SRID=4326; POLYHEDRALSURFACE ZM (((0 0 0 2, 0 1 0 2, 1 1 0 2, 1 0 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 0 1 1 3, 0 0 1 3, 0 0 0 3)))', '00e000000f000010e60000000200c00000030000000100000005000000000000000000000000000000000000000000000000400000000000000000000000000000003ff0000000000000000000000000000040000000000000003ff00000000000003ff0000000000000000000000000000040000000000000003ff0000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000c00000030000000100000005000000000000000000000000000000000000000000000000400800000000000000000000000000003ff00000000000000000000000000000400800000000000000000000000000003ff00000000000003ff00000000000004008000000000000000000000000000000000000000000003ff000000000000040080000000000000000000000000000000000000000000000000000000000004008000000000000', true, true],

            // PolyhedralSurface EMPTY
            ['SRID=4326; POLYHEDRALSURFACE EMPTY', '002000000f000010e600000000', false, false],
            ['SRID=4326; POLYHEDRALSURFACE Z EMPTY', '00a000000f000010e600000000', false, false],
            ['SRID=4326; POLYHEDRALSURFACE M EMPTY', '006000000f000010e600000000', false, false],
            ['SRID=4326; POLYHEDRALSURFACE ZM EMPTY', '00e000000f000010e600000000', false, false],

            // TIN
            ['SRID=4326; TIN (((0 0, 0 1, 1 0, 0 0)), ((0 1, 1 1, 1 0, 0 1)))', '0020000010000010e600000002000000001100000001000000040000000000000000000000000000000000000000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000011000000010000000400000000000000003ff00000000000003ff00000000000003ff00000000000003ff0000000000000000000000000000000000000000000003ff0000000000000', false, false],
            ['SRID=4326; TIN Z (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '00a0000010000010e60000000200800000110000000100000004000000000000000000000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff000000000000000000000000000000000000000000000000000000000000000000000000000000080000011000000010000000400000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000000000000', true, false],
            ['SRID=4326; TIN M (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '0060000010000010e60000000200400000110000000100000004000000000000000000000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff000000000000000000000000000000000000000000000000000000000000000000000000000000040000011000000010000000400000000000000000000000000000000000000000000000000000000000000003ff000000000000000000000000000003ff00000000000003ff00000000000000000000000000000000000000000000000000000000000000000000000000000', false, true],
            ['SRID=4326; TIN ZM (((0 0 0 2, 0 0 1 2, 0 1 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 1 1 0 3, 0 0 0 3)))', '00e0000010000010e60000000200c000001100000001000000040000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000003ff0000000000000400000000000000000000000000000003ff000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000400000000000000000c00000110000000100000004000000000000000000000000000000000000000000000000400800000000000000000000000000003ff0000000000000000000000000000040080000000000003ff00000000000003ff0000000000000000000000000000040080000000000000000000000000000000000000000000000000000000000004008000000000000', true, true],

            // TIN EMPTY
            ['SRID=4326; TIN EMPTY', '0020000010000010e600000000', false, false],
            ['SRID=4326; TIN Z EMPTY', '00a0000010000010e600000000', true, false],
            ['SRID=4326; TIN M EMPTY', '0060000010000010e600000000', false, true],
            ['SRID=4326; TIN ZM EMPTY', '00e0000010000010e600000000', true, true],
        ];
    }

    final public static function providerLittleEndianEwkb(): array
    {
        return [
            // Point
            ['POINT (1 2)', '0101000000000000000000f03f0000000000000040', false, false],
            ['POINT Z (2 3 4)', '0101000080000000000000004000000000000008400000000000001040', true, false],
            ['POINT M (3 4 5)', '0101000040000000000000084000000000000010400000000000001440', false, true],
            ['POINT ZM (4 5 6 7)', '01010000c00000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // LineString
            ['LINESTRING (0 0, 1 2, 3 4)', '01020000000300000000000000000000000000000000000000000000000000f03f000000000000004000000000000008400000000000001040', false, false],
            ['LINESTRING Z (0 1 2, 1 2 3, 2 3 4)', '0102000080030000000000000000000000000000000000f03f0000000000000040000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040', true, false],
            ['LINESTRING M (1 2 3, 2 3 4, 3 4 5)', '010200004003000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440', false, true],
            ['LINESTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '01020000c003000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // LineString EMPTY
            ['LINESTRING EMPTY', '010200000000000000', false, false],
            ['LINESTRING Z EMPTY', '010200008000000000', true, false],
            ['LINESTRING M EMPTY', '010200004000000000', false, true],
            ['LINESTRING ZM EMPTY', '01020000c000000000', true, true],

            // CircularString
            ['CIRCULARSTRING (0 0, 1 2, 3 4)', '01080000000300000000000000000000000000000000000000000000000000f03f000000000000004000000000000008400000000000001040', false, false],
            ['CIRCULARSTRING Z (0 1 2, 1 2 3, 2 3 4)', '0108000080030000000000000000000000000000000000f03f0000000000000040000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040', true, false],
            ['CIRCULARSTRING M (1 2 3, 2 3 4, 3 4 5)', '010800004003000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440', false, true],
            ['CIRCULARSTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '01080000c003000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // CircularString EMPTY
            ['CIRCULARSTRING EMPTY', '010800000000000000', false, false],
            ['CIRCULARSTRING Z EMPTY', '010800008000000000', true, false],
            ['CIRCULARSTRING M EMPTY', '010800004000000000', false, true],
            ['CIRCULARSTRING ZM EMPTY', '01080000c000000000', true, true],

            // CompoundCurve
            ['COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8))', '010900000002000000010200000002000000000000000000f03f00000000000000400000000000000840000000000000104001080000000300000000000000000008400000000000001040000000000000144000000000000018400000000000001c400000000000002040', false, false],
            ['COMPOUNDCURVE Z ((1 2 3, 4 5 6), CIRCULARSTRING Z (4 5 6, 5 6 7, 6 7 8))', '010900008002000000010200008002000000000000000000f03f00000000000000400000000000000840000000000000104000000000000014400000000000001840010800008003000000000000000000104000000000000014400000000000001840000000000000144000000000000018400000000000001c4000000000000018400000000000001c400000000000002040', true, false],
            ['COMPOUNDCURVE M ((1 2 3, 2 3 4), CIRCULARSTRING M (2 3 4, 5 6 7, 8 9 0))', '010900004002000000010200004002000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040010800004003000000000000000000004000000000000008400000000000001040000000000000144000000000000018400000000000001c40000000000000204000000000000022400000000000000000', false, true],
            ['COMPOUNDCURVE ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6), (3 4 5 6, 7 8 9 0))', '01090000c00200000001080000c003000000000000000000f03f0000000000000040000000000000084000000000000010400000000000000040000000000000084000000000000010400000000000001440000000000000084000000000000010400000000000001440000000000000184001020000c00200000000000000000008400000000000001040000000000000144000000000000018400000000000001c40000000000000204000000000000022400000000000000000', true, true],

            // CompoundCurve EMPTY
            ['COMPOUNDCURVE EMPTY', '010900000000000000', false, false],
            ['COMPOUNDCURVE Z EMPTY', '010900008000000000', true, false],
            ['COMPOUNDCURVE M EMPTY', '010900004000000000', false, true],
            ['COMPOUNDCURVE ZM EMPTY', '01090000c000000000', true, true],

            // Polygon
            ['POLYGON ((0 0, 1 2, 3 4, 0 0))', '0103000000010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['POLYGON Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '010300008001000000040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['POLYGON M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '01030000400100000004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['POLYGON ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '01030000c00100000004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],
            ['POLYGON ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '01030000000200000004000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f00000000000000000000000000000000', false, false],
            ['POLYGON Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '0103000080020000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f04000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', true, false],
            ['POLYGON M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '0103000040020000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f04000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', false, true],
            ['POLYGON ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '01030000c0020000000400000000000000000000000000000000000000000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f000000000000004000000000000000000000000000000040000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f00000000000000400400000000000000000000000000000000000000000000000000f03f0000000000000040000000000000f03f0000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f0000000000000040', true, true],

            // Polygon EMPTY
            ['POLYGON EMPTY', '010300000000000000', false, false],
            ['POLYGON Z EMPTY', '010300008000000000', true, false],
            ['POLYGON M EMPTY', '010300004000000000', false, true],
            ['POLYGON ZM EMPTY', '01030000c000000000', true, true],

            // CurvePolygon
            ['CURVEPOLYGON ((0 0, 0 9, 9 9, 0 0), COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8, 9 0, 1 2)))', '010a0000000200000001020000000400000000000000000000000000000000000000000000000000000000000000000022400000000000002240000000000000224000000000000000000000000000000000010900000002000000010200000002000000000000000000f03f00000000000000400000000000000840000000000000104001080000000500000000000000000008400000000000001040000000000000144000000000000018400000000000001c40000000000000204000000000000022400000000000000000000000000000f03f0000000000000040', false, false],
            ['CURVEPOLYGON Z ((0 0 1, 0 9 1, 9 9 1, 0 0 1), CIRCULARSTRING Z (1 1 1, 4 7 1, 6 5 1, 2 3 1, 1 1 1))', '010a0000800200000001020000800400000000000000000000000000000000000000000000000000f03f00000000000000000000000000002240000000000000f03f00000000000022400000000000002240000000000000f03f00000000000000000000000000000000000000000000f03f010800008005000000000000000000f03f000000000000f03f000000000000f03f00000000000010400000000000001c40000000000000f03f00000000000018400000000000001440000000000000f03f00000000000000400000000000000840000000000000f03f000000000000f03f000000000000f03f000000000000f03f', true, false],
            ['CURVEPOLYGON M (COMPOUNDCURVE M (CIRCULARSTRING M (0 0 1, 0 9 1, 9 9 1), (9 9 1, 0 0 1)), (1 1 1, 4 7 1, 6 5 1, 1 1 1))', '010a0000400200000001090000400200000001080000400300000000000000000000000000000000000000000000000000f03f00000000000000000000000000002240000000000000f03f00000000000022400000000000002240000000000000f03f01020000400200000000000000000022400000000000002240000000000000f03f00000000000000000000000000000000000000000000f03f010200004004000000000000000000f03f000000000000f03f000000000000f03f00000000000010400000000000001c40000000000000f03f00000000000018400000000000001440000000000000f03f000000000000f03f000000000000f03f000000000000f03f', false, true],
            ['CURVEPOLYGON ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6, 4 5 6 7, 1 2 3 4), (3 4 5 6, 4 5 6 7, 9 8 7 6, 3 4 5 6))', '010a0000c00200000001080000c005000000000000000000f03f000000000000004000000000000008400000000000001040000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40000000000000f03f00000000000000400000000000000840000000000000104001020000c00400000000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40000000000000224000000000000020400000000000001c4000000000000018400000000000000840000000000000104000000000000014400000000000001840', true, true],

            // CurvePolygon EMPTY
            ['CURVEPOLYGON EMPTY', '010a00000000000000', false, false],
            ['CURVEPOLYGON Z EMPTY', '010a00008000000000', true, false],
            ['CURVEPOLYGON M EMPTY', '010a00004000000000', false, true],
            ['CURVEPOLYGON ZM EMPTY', '010a0000c000000000', true, true],

            // Triangle
            ['TRIANGLE ((0 0, 1 2, 3 4, 0 0))', '0111000000010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['TRIANGLE Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '011100008001000000040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['TRIANGLE M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '01110000400100000004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['TRIANGLE ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '01110000c00100000004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],

            // Triangle EMPTY
            ['TRIANGLE EMPTY', '011100000000000000', false, false],
            ['TRIANGLE Z EMPTY', '011100008000000000', true, false],
            ['TRIANGLE M EMPTY', '011100004000000000', false, true],
            ['TRIANGLE ZM EMPTY', '01110000c000000000', true, true],

            // MultiPoint
            ['MULTIPOINT (0 0, 1 2, 3 4)', '0104000000030000000101000000000000000000000000000000000000000101000000000000000000f03f0000000000000040010100000000000000000008400000000000001040', false, false],
            ['MULTIPOINT Z (0 1 2, 1 2 3, 2 3 4)', '01040000800300000001010000800000000000000000000000000000f03f00000000000000400101000080000000000000f03f000000000000004000000000000008400101000080000000000000004000000000000008400000000000001040', true, false],
            ['MULTIPOINT M (1 2 3, 2 3 4, 3 4 5)', '0104000040030000000101000040000000000000f03f0000000000000040000000000000084001010000400000000000000040000000000000084000000000000010400101000040000000000000084000000000000010400000000000001440', false, true],
            ['MULTIPOINT ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '01040000c00300000001010000c0000000000000004000000000000008400000000000001040000000000000144001010000c0000000000000084000000000000010400000000000001440000000000000184001010000c00000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // MultiPoint EMPTY
            ['MULTIPOINT EMPTY', '010400000000000000', false, false],
            ['MULTIPOINT Z EMPTY', '010400008000000000', true, false],
            ['MULTIPOINT M EMPTY', '010400004000000000', false, true],
            ['MULTIPOINT ZM EMPTY', '01040000c000000000', true, true],

            // MultiLineString
            ['MULTILINESTRING ((0 0, 1 2, 3 4, 0 0))', '01050000000100000001020000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['MULTILINESTRING Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '0105000080010000000102000080040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['MULTILINESTRING M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '010500004001000000010200004004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['MULTILINESTRING ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '01050000c00100000001020000c004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],
            ['MULTILINESTRING ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '0105000000020000000102000000040000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000400000000000000000000000000000000001020000000400000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f00000000000000000000000000000000', false, false],
            ['MULTILINESTRING Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '01050000800200000001020000800400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f010200008004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', true, false],
            ['MULTILINESTRING M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '01050000400200000001020000400400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f010200004004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', false, true],
            ['MULTILINESTRING ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '01050000c00200000001020000c00400000000000000000000000000000000000000000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f000000000000004000000000000000000000000000000040000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f000000000000004001020000c00400000000000000000000000000000000000000000000000000f03f0000000000000040000000000000f03f0000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f0000000000000040', true, true],

            // MultiLineString EMPTY
            ['MULTILINESTRING EMPTY', '010500000000000000', false, false],
            ['MULTILINESTRING Z EMPTY', '010500008000000000', true, false],
            ['MULTILINESTRING M EMPTY', '010500004000000000', false, true],
            ['MULTILINESTRING ZM EMPTY', '01050000c000000000', true, true],

            // MultiPolygon
            ['MULTIPOLYGON (((0 0, 1 2, 3 4, 0 0)))', '0106000000010000000103000000010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['MULTIPOLYGON Z (((0 1 2, 1 2 3, 2 3 4, 0 1 2)))', '010600008001000000010300008001000000040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['MULTIPOLYGON M (((1 2 3, 2 3 4, 3 4 5, 1 2 3)))', '01060000400100000001030000400100000004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['MULTIPOLYGON ZM (((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5)))', '01060000c00100000001030000c00100000004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],
            ['MULTIPOLYGON (((0 0, 2 0, 0 2, 0 0)), ((0 0, 1 0, 0 1, 0 0)))', '01060000000200000001030000000100000004000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000103000000010000000400000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f00000000000000000000000000000000', false, false],
            ['MULTIPOLYGON Z (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '0106000080020000000103000080010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f01030000800100000004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', true, false],
            ['MULTIPOLYGON M (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '0106000040020000000103000040010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f01030000400100000004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', false, true],
            ['MULTIPOLYGON ZM (((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2)), ((0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2)))', '01060000c00200000001030000c0010000000400000000000000000000000000000000000000000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f000000000000004000000000000000000000000000000040000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f000000000000004001030000c0010000000400000000000000000000000000000000000000000000000000f03f0000000000000040000000000000f03f0000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f0000000000000040', true, true],

            // MultiPolygon EMPTY
            ['MULTIPOLYGON EMPTY', '010600000000000000', false, false],
            ['MULTIPOLYGON Z EMPTY', '010600008000000000', true, false],
            ['MULTIPOLYGON M EMPTY', '010600004000000000', false, true],
            ['MULTIPOLYGON ZM EMPTY', '01060000c000000000', true, true],

            // GeometryCollection
            ['GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (2 3, 3 4))', '0107000000020000000101000000000000000000f03f00000000000000400102000000020000000000000000000040000000000000084000000000000008400000000000001040', false, false],
            ['GEOMETRYCOLLECTION Z (POINT Z (1 2 3), LINESTRING Z (2 3 4, 3 4 5))', '0107000080020000000101000080000000000000f03f00000000000000400000000000000840010200008002000000000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440', true, false],
            ['GEOMETRYCOLLECTION M (POINT M (1 2 4), LINESTRING M (2 3 5, 3 4 6))', '0107000040020000000101000040000000000000f03f00000000000000400000000000001040010200004002000000000000000000004000000000000008400000000000001440000000000000084000000000000010400000000000001840', false, true],
            ['GEOMETRYCOLLECTION ZM (POINT ZM (1 2 3 4), LINESTRING ZM (2 3 4 5, 3 4 5 6))', '01070000c00200000001010000c0000000000000f03f00000000000000400000000000000840000000000000104001020000c00200000000000000000000400000000000000840000000000000104000000000000014400000000000000840000000000000104000000000000014400000000000001840', true, true],

            // GeometryCollection EMPTY
            ['GEOMETRYCOLLECTION EMPTY', '010700000000000000', false, false],
            ['GEOMETRYCOLLECTION Z EMPTY', '010700008000000000', true, false],
            ['GEOMETRYCOLLECTION M EMPTY', '010700004000000000', false, true],
            ['GEOMETRYCOLLECTION ZM EMPTY', '01070000c000000000', true, true],

            // PolyhedralSurface
            ['POLYHEDRALSURFACE (((0 0, 0 1, 1 1, 1 0, 0 0)), ((0 1, 1 1, 2 1, 2 2, 0 1)))', '010f0000000200000001030000000100000005000000000000000000000000000000000000000000000000000000000000000000f03f000000000000f03f000000000000f03f000000000000f03f000000000000000000000000000000000000000000000000010300000001000000050000000000000000000000000000000000f03f000000000000f03f000000000000f03f0000000000000040000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f', false, false],
            ['POLYHEDRALSURFACE Z (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '010f00008002000000010300008001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000f03f00000000000000000000000000000000000000000000000000000000000000000000000000000000010300008001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000000000000000000000000000000000000000', true, false],
            ['POLYHEDRALSURFACE M (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '010f00004002000000010300004001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000f03f00000000000000000000000000000000000000000000000000000000000000000000000000000000010300004001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000000000000000000000000000000000000000', false, true],
            ['POLYHEDRALSURFACE ZM (((0 0 0 2, 0 1 0 2, 1 1 0 2, 1 0 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 0 1 1 3, 0 0 1 3, 0 0 0 3)))', '010f0000c00200000001030000c0010000000500000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f000000000000f03f00000000000000000000000000000040000000000000f03f000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004001030000c0010000000500000000000000000000000000000000000000000000000000000000000000000008400000000000000000000000000000f03f000000000000000000000000000008400000000000000000000000000000f03f000000000000f03f000000000000084000000000000000000000000000000000000000000000f03f00000000000008400000000000000000000000000000000000000000000000000000000000000840', true, true],

            // PolyhedralSurface EMPTY
            ['POLYHEDRALSURFACE EMPTY', '010f00000000000000', false, false],
            ['POLYHEDRALSURFACE Z EMPTY', '010f00008000000000', false, false],
            ['POLYHEDRALSURFACE M EMPTY', '010f00004000000000', false, false],
            ['POLYHEDRALSURFACE ZM EMPTY', '010f0000c000000000', false, false],

            // TIN
            ['TIN (((0 0, 0 1, 1 0, 0 0)), ((0 1, 1 1, 1 0, 0 1)))', '01100000000200000001110000000100000004000000000000000000000000000000000000000000000000000000000000000000f03f000000000000f03f000000000000000000000000000000000000000000000000011100000001000000040000000000000000000000000000000000f03f000000000000f03f000000000000f03f000000000000f03f00000000000000000000000000000000000000000000f03f', false, false],
            ['TIN Z (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '0110000080020000000111000080010000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f0000000000000000000000000000000000000000000000000000000000000000011100008001000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000000000000000000000000000000000000000', true, false],
            ['TIN M (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '0110000040020000000111000040010000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f0000000000000000000000000000000000000000000000000000000000000000011100004001000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000000000000000000000000000000000000000', false, true],
            ['TIN ZM (((0 0 0 2, 0 0 1 2, 0 1 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 1 1 0 3, 0 0 0 3)))', '01100000c00200000001110000c00100000004000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004001110000c0010000000400000000000000000000000000000000000000000000000000000000000000000008400000000000000000000000000000f03f00000000000000000000000000000840000000000000f03f000000000000f03f000000000000000000000000000008400000000000000000000000000000000000000000000000000000000000000840', true, true],

            // TIN EMPTY
            ['TIN EMPTY', '011000000000000000', false, false],
            ['TIN Z EMPTY', '011000008000000000', true, false],
            ['TIN M EMPTY', '011000004000000000', false, true],
            ['TIN ZM EMPTY', '01100000c000000000', true, true],
        ];
    }

    final public static function providerLittleEndianEwkbWithSrid(): array
    {
        return [
            // Point
            ['SRID=4326; POINT (1 2)', '0101000020e6100000000000000000f03f0000000000000040', false, false],
            ['SRID=4326; POINT Z (2 3 4)', '01010000a0e6100000000000000000004000000000000008400000000000001040', true, false],
            ['SRID=4326; POINT M (3 4 5)', '0101000060e6100000000000000000084000000000000010400000000000001440', false, true],
            ['SRID=4326; POINT ZM (4 5 6 7)', '01010000e0e61000000000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // LineString
            ['SRID=4326; LINESTRING (0 0, 1 2, 3 4)', '0102000020e61000000300000000000000000000000000000000000000000000000000f03f000000000000004000000000000008400000000000001040', false, false],
            ['SRID=4326; LINESTRING Z (0 1 2, 1 2 3, 2 3 4)', '01020000a0e6100000030000000000000000000000000000000000f03f0000000000000040000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040', true, false],
            ['SRID=4326; LINESTRING M (1 2 3, 2 3 4, 3 4 5)', '0102000060e610000003000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440', false, true],
            ['SRID=4326; LINESTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '01020000e0e610000003000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // LineString EMPTY
            ['SRID=4326; LINESTRING EMPTY', '0102000020e610000000000000', false, false],
            ['SRID=4326; LINESTRING Z EMPTY', '01020000a0e610000000000000', true, false],
            ['SRID=4326; LINESTRING M EMPTY', '0102000060e610000000000000', false, true],
            ['SRID=4326; LINESTRING ZM EMPTY', '01020000e0e610000000000000', true, true],

            // CircularString
            ['SRID=4326; CIRCULARSTRING (0 0, 1 2, 3 4)', '0108000020e61000000300000000000000000000000000000000000000000000000000f03f000000000000004000000000000008400000000000001040', false, false],
            ['SRID=4326; CIRCULARSTRING Z (0 1 2, 1 2 3, 2 3 4)', '01080000a0e6100000030000000000000000000000000000000000f03f0000000000000040000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040', true, false],
            ['SRID=4326; CIRCULARSTRING M (1 2 3, 2 3 4, 3 4 5)', '0108000060e610000003000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440', false, true],
            ['SRID=4326; CIRCULARSTRING ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '01080000e0e610000003000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // CircularString EMPTY
            ['SRID=4326; CIRCULARSTRING EMPTY', '0108000020e610000000000000', false, false],
            ['SRID=4326; CIRCULARSTRING Z EMPTY', '01080000a0e610000000000000', true, false],
            ['SRID=4326; CIRCULARSTRING M EMPTY', '0108000060e610000000000000', false, true],
            ['SRID=4326; CIRCULARSTRING ZM EMPTY', '01080000e0e610000000000000', true, true],

            // CompoundCurve
            ['SRID=4326; COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8))', '0109000020e610000002000000010200000002000000000000000000f03f00000000000000400000000000000840000000000000104001080000000300000000000000000008400000000000001040000000000000144000000000000018400000000000001c400000000000002040', false, false],
            ['SRID=4326; COMPOUNDCURVE Z ((1 2 3, 4 5 6), CIRCULARSTRING Z (4 5 6, 5 6 7, 6 7 8))', '01090000a0e610000002000000010200008002000000000000000000f03f00000000000000400000000000000840000000000000104000000000000014400000000000001840010800008003000000000000000000104000000000000014400000000000001840000000000000144000000000000018400000000000001c4000000000000018400000000000001c400000000000002040', true, false],
            ['SRID=4326; COMPOUNDCURVE M ((1 2 3, 2 3 4), CIRCULARSTRING M (2 3 4, 5 6 7, 8 9 0))', '0109000060e610000002000000010200004002000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040010800004003000000000000000000004000000000000008400000000000001040000000000000144000000000000018400000000000001c40000000000000204000000000000022400000000000000000', false, true],
            ['SRID=4326; COMPOUNDCURVE ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6), (3 4 5 6, 7 8 9 0))', '01090000e0e61000000200000001080000c003000000000000000000f03f0000000000000040000000000000084000000000000010400000000000000040000000000000084000000000000010400000000000001440000000000000084000000000000010400000000000001440000000000000184001020000c00200000000000000000008400000000000001040000000000000144000000000000018400000000000001c40000000000000204000000000000022400000000000000000', true, true],

            // CompoundCurve EMPTY
            ['SRID=4326; COMPOUNDCURVE EMPTY', '0109000020e610000000000000', false, false],
            ['SRID=4326; COMPOUNDCURVE Z EMPTY', '01090000a0e610000000000000', true, false],
            ['SRID=4326; COMPOUNDCURVE M EMPTY', '0109000060e610000000000000', false, true],
            ['SRID=4326; COMPOUNDCURVE ZM EMPTY', '01090000e0e610000000000000', true, true],

            // Polygon
            ['SRID=4326; POLYGON ((0 0, 1 2, 3 4, 0 0))', '0103000020e6100000010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['SRID=4326; POLYGON Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '01030000a0e610000001000000040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['SRID=4326; POLYGON M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '0103000060e61000000100000004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['SRID=4326; POLYGON ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '01030000e0e61000000100000004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],
            ['SRID=4326; POLYGON ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '0103000020e61000000200000004000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000400000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f00000000000000000000000000000000', false, false],
            ['SRID=4326; POLYGON Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '01030000a0e6100000020000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f04000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', true, false],
            ['SRID=4326; POLYGON M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '0103000060e6100000020000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f04000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', false, true],
            ['SRID=4326; POLYGON ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '01030000e0e6100000020000000400000000000000000000000000000000000000000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f000000000000004000000000000000000000000000000040000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f00000000000000400400000000000000000000000000000000000000000000000000f03f0000000000000040000000000000f03f0000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f0000000000000040', true, true],

            // Polygon EMPTY
            ['SRID=4326; POLYGON EMPTY', '0103000020e610000000000000', false, false],
            ['SRID=4326; POLYGON Z EMPTY', '01030000a0e610000000000000', true, false],
            ['SRID=4326; POLYGON M EMPTY', '0103000060e610000000000000', false, true],
            ['SRID=4326; POLYGON ZM EMPTY', '01030000e0e610000000000000', true, true],

            // CurvePolygon
            ['SRID=4326; CURVEPOLYGON ((0 0, 0 9, 9 9, 0 0), COMPOUNDCURVE ((1 2, 3 4), CIRCULARSTRING (3 4, 5 6, 7 8, 9 0, 1 2)))', '010a000020e61000000200000001020000000400000000000000000000000000000000000000000000000000000000000000000022400000000000002240000000000000224000000000000000000000000000000000010900000002000000010200000002000000000000000000f03f00000000000000400000000000000840000000000000104001080000000500000000000000000008400000000000001040000000000000144000000000000018400000000000001c40000000000000204000000000000022400000000000000000000000000000f03f0000000000000040', false, false],
            ['SRID=4326; CURVEPOLYGON Z ((0 0 1, 0 9 1, 9 9 1, 0 0 1), CIRCULARSTRING Z (1 1 1, 4 7 1, 6 5 1, 2 3 1, 1 1 1))', '010a0000a0e61000000200000001020000800400000000000000000000000000000000000000000000000000f03f00000000000000000000000000002240000000000000f03f00000000000022400000000000002240000000000000f03f00000000000000000000000000000000000000000000f03f010800008005000000000000000000f03f000000000000f03f000000000000f03f00000000000010400000000000001c40000000000000f03f00000000000018400000000000001440000000000000f03f00000000000000400000000000000840000000000000f03f000000000000f03f000000000000f03f000000000000f03f', true, false],
            ['SRID=4326; CURVEPOLYGON M (COMPOUNDCURVE M (CIRCULARSTRING M (0 0 1, 0 9 1, 9 9 1), (9 9 1, 0 0 1)), (1 1 1, 4 7 1, 6 5 1, 1 1 1))', '010a000060e61000000200000001090000400200000001080000400300000000000000000000000000000000000000000000000000f03f00000000000000000000000000002240000000000000f03f00000000000022400000000000002240000000000000f03f01020000400200000000000000000022400000000000002240000000000000f03f00000000000000000000000000000000000000000000f03f010200004004000000000000000000f03f000000000000f03f000000000000f03f00000000000010400000000000001c40000000000000f03f00000000000018400000000000001440000000000000f03f000000000000f03f000000000000f03f000000000000f03f', false, true],
            ['SRID=4326; CURVEPOLYGON ZM (CIRCULARSTRING ZM (1 2 3 4, 2 3 4 5, 3 4 5 6, 4 5 6 7, 1 2 3 4), (3 4 5 6, 4 5 6 7, 9 8 7 6, 3 4 5 6))', '010a0000e0e61000000200000001080000c005000000000000000000f03f000000000000004000000000000008400000000000001040000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40000000000000f03f00000000000000400000000000000840000000000000104001020000c00400000000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c40000000000000224000000000000020400000000000001c4000000000000018400000000000000840000000000000104000000000000014400000000000001840', true, true],

            // CurvePolygon EMPTY
            ['SRID=4326; CURVEPOLYGON EMPTY', '010a000020e610000000000000', false, false],
            ['SRID=4326; CURVEPOLYGON Z EMPTY', '010a0000a0e610000000000000', true, false],
            ['SRID=4326; CURVEPOLYGON M EMPTY', '010a000060e610000000000000', false, true],
            ['SRID=4326; CURVEPOLYGON ZM EMPTY', '010a0000e0e610000000000000', true, true],

            // Triangle
            ['SRID=4326; TRIANGLE ((0 0, 1 2, 3 4, 0 0))', '0111000020e6100000010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['SRID=4326; TRIANGLE Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '01110000a0e610000001000000040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['SRID=4326; TRIANGLE M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '0111000060e61000000100000004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['SRID=4326; TRIANGLE ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '01110000e0e61000000100000004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],

            // Triangle EMPTY
            ['SRID=4326; TRIANGLE EMPTY', '0111000020e610000000000000', false, false],
            ['SRID=4326; TRIANGLE Z EMPTY', '01110000a0e610000000000000', true, false],
            ['SRID=4326; TRIANGLE M EMPTY', '0111000060e610000000000000', false, true],
            ['SRID=4326; TRIANGLE ZM EMPTY', '01110000e0e610000000000000', true, true],

            // MultiPoint
            ['SRID=4326; MULTIPOINT (0 0, 1 2, 3 4)', '0104000020e6100000030000000101000000000000000000000000000000000000000101000000000000000000f03f0000000000000040010100000000000000000008400000000000001040', false, false],
            ['SRID=4326; MULTIPOINT Z (0 1 2, 1 2 3, 2 3 4)', '01040000a0e61000000300000001010000800000000000000000000000000000f03f00000000000000400101000080000000000000f03f000000000000004000000000000008400101000080000000000000004000000000000008400000000000001040', true, false],
            ['SRID=4326; MULTIPOINT M (1 2 3, 2 3 4, 3 4 5)', '0104000060e6100000030000000101000040000000000000f03f0000000000000040000000000000084001010000400000000000000040000000000000084000000000000010400101000040000000000000084000000000000010400000000000001440', false, true],
            ['SRID=4326; MULTIPOINT ZM (2 3 4 5, 3 4 5 6, 4 5 6 7)', '01040000e0e61000000300000001010000c0000000000000004000000000000008400000000000001040000000000000144001010000c0000000000000084000000000000010400000000000001440000000000000184001010000c00000000000001040000000000000144000000000000018400000000000001c40', true, true],

            // MultiPoint EMPTY
            ['SRID=4326; MULTIPOINT EMPTY', '0104000020e610000000000000', false, false],
            ['SRID=4326; MULTIPOINT Z EMPTY', '01040000a0e610000000000000', true, false],
            ['SRID=4326; MULTIPOINT M EMPTY', '0104000060e610000000000000', false, true],
            ['SRID=4326; MULTIPOINT ZM EMPTY', '01040000e0e610000000000000', true, true],

            // MultiLineString
            ['SRID=4326; MULTILINESTRING ((0 0, 1 2, 3 4, 0 0))', '0105000020e61000000100000001020000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['SRID=4326; MULTILINESTRING Z ((0 1 2, 1 2 3, 2 3 4, 0 1 2))', '01050000a0e6100000010000000102000080040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['SRID=4326; MULTILINESTRING M ((1 2 3, 2 3 4, 3 4 5, 1 2 3))', '0105000060e610000001000000010200004004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['SRID=4326; MULTILINESTRING ZM ((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5))', '01050000e0e61000000100000001020000c004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],
            ['SRID=4326; MULTILINESTRING ((0 0, 2 0, 0 2, 0 0), (0 0, 1 0, 0 1, 0 0))', '0105000020e6100000020000000102000000040000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000400000000000000000000000000000000001020000000400000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f00000000000000000000000000000000', false, false],
            ['SRID=4326; MULTILINESTRING Z ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '01050000a0e61000000200000001020000800400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f010200008004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', true, false],
            ['SRID=4326; MULTILINESTRING M ((0 0 1, 2 0 1, 0 2 1, 0 0 1), (0 0 2, 1 0 2, 0 1 2, 0 0 2))', '0105000060e61000000200000001020000400400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f010200004004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', false, true],
            ['SRID=4326; MULTILINESTRING ZM ((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2), (0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2))', '01050000e0e61000000200000001020000c00400000000000000000000000000000000000000000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f000000000000004000000000000000000000000000000040000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f000000000000004001020000c00400000000000000000000000000000000000000000000000000f03f0000000000000040000000000000f03f0000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f0000000000000040', true, true],

            // MultiLineString EMPTY
            ['SRID=4326; MULTILINESTRING EMPTY', '0105000020e610000000000000', false, false],
            ['SRID=4326; MULTILINESTRING Z EMPTY', '01050000a0e610000000000000', true, false],
            ['SRID=4326; MULTILINESTRING M EMPTY', '0105000060e610000000000000', false, true],
            ['SRID=4326; MULTILINESTRING ZM EMPTY', '01050000e0e610000000000000', true, true],

            // MultiPolygon
            ['SRID=4326; MULTIPOLYGON (((0 0, 1 2, 3 4, 0 0)))', '0106000020e6100000010000000103000000010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000840000000000000104000000000000000000000000000000000', false, false],
            ['SRID=4326; MULTIPOLYGON Z (((0 1 2, 1 2 3, 2 3 4, 0 1 2)))', '01060000a0e610000001000000010300008001000000040000000000000000000000000000000000f03f0000000000000040000000000000f03f000000000000004000000000000008400000000000000040000000000000084000000000000010400000000000000000000000000000f03f0000000000000040', true, false],
            ['SRID=4326; MULTIPOLYGON M (((1 2 3, 2 3 4, 3 4 5, 1 2 3)))', '0106000060e61000000100000001030000400100000004000000000000000000f03f00000000000000400000000000000840000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440000000000000f03f00000000000000400000000000000840', false, true],
            ['SRID=4326; MULTIPOLYGON ZM (((2 3 4 5, 3 4 5 6, 4 5 6 7, 2 3 4 5)))', '01060000e0e61000000100000001030000c00100000004000000000000000000004000000000000008400000000000001040000000000000144000000000000008400000000000001040000000000000144000000000000018400000000000001040000000000000144000000000000018400000000000001c400000000000000040000000000000084000000000000010400000000000001440', true, true],
            ['SRID=4326; MULTIPOLYGON (((0 0, 2 0, 0 2, 0 0)), ((0 0, 1 0, 0 1, 0 0)))', '0106000020e61000000200000001030000000100000004000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000040000000000000000000000000000000000103000000010000000400000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f00000000000000000000000000000000', false, false],
            ['SRID=4326; MULTIPOLYGON Z (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '01060000a0e6100000020000000103000080010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f01030000800100000004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', true, false],
            ['SRID=4326; MULTIPOLYGON M (((0 0 1, 2 0 1, 0 2 1, 0 0 1)), ((0 0 2, 1 0 2, 0 1 2, 0 0 2)))', '0106000060e6100000020000000103000040010000000400000000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f00000000000000000000000000000000000000000000f03f01030000400100000004000000000000000000000000000000000000000000000000000040000000000000f03f000000000000000000000000000000400000000000000000000000000000f03f0000000000000040000000000000000000000000000000000000000000000040', false, true],
            ['SRID=4326; MULTIPOLYGON ZM (((0 0 1 2, 2 0 1 2, 0 2 1 2, 0 0 1 2)), ((0 0 1 2, 1 0 1 2, 0 1 1 2, 0 0 1 2)))', '01060000e0e61000000200000001030000c0010000000400000000000000000000000000000000000000000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f000000000000004000000000000000000000000000000040000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f000000000000004001030000c0010000000400000000000000000000000000000000000000000000000000f03f0000000000000040000000000000f03f0000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f000000000000f03f000000000000004000000000000000000000000000000000000000000000f03f0000000000000040', true, true],

            // MultiPolygon EMPTY
            ['SRID=4326; MULTIPOLYGON EMPTY', '0106000020e610000000000000', false, false],
            ['SRID=4326; MULTIPOLYGON Z EMPTY', '01060000a0e610000000000000', true, false],
            ['SRID=4326; MULTIPOLYGON M EMPTY', '0106000060e610000000000000', false, true],
            ['SRID=4326; MULTIPOLYGON ZM EMPTY', '01060000e0e610000000000000', true, true],

            // GeometryCollection
            ['SRID=4326; GEOMETRYCOLLECTION (POINT (1 2), LINESTRING (2 3, 3 4))', '0107000020e6100000020000000101000000000000000000f03f00000000000000400102000000020000000000000000000040000000000000084000000000000008400000000000001040', false, false],
            ['SRID=4326; GEOMETRYCOLLECTION Z (POINT Z (1 2 3), LINESTRING Z (2 3 4, 3 4 5))', '01070000a0e6100000020000000101000080000000000000f03f00000000000000400000000000000840010200008002000000000000000000004000000000000008400000000000001040000000000000084000000000000010400000000000001440', true, false],
            ['SRID=4326; GEOMETRYCOLLECTION M (POINT M (1 2 4), LINESTRING M (2 3 5, 3 4 6))', '0107000060e6100000020000000101000040000000000000f03f00000000000000400000000000001040010200004002000000000000000000004000000000000008400000000000001440000000000000084000000000000010400000000000001840', false, true],
            ['SRID=4326; GEOMETRYCOLLECTION ZM (POINT ZM (1 2 3 4), LINESTRING ZM (2 3 4 5, 3 4 5 6))', '01070000e0e61000000200000001010000c0000000000000f03f00000000000000400000000000000840000000000000104001020000c00200000000000000000000400000000000000840000000000000104000000000000014400000000000000840000000000000104000000000000014400000000000001840', true, true],

            // GeometryCollection EMPTY
            ['SRID=4326; GEOMETRYCOLLECTION EMPTY', '0107000020e610000000000000', false, false],
            ['SRID=4326; GEOMETRYCOLLECTION Z EMPTY', '01070000a0e610000000000000', true, false],
            ['SRID=4326; GEOMETRYCOLLECTION M EMPTY', '0107000060e610000000000000', false, true],
            ['SRID=4326; GEOMETRYCOLLECTION ZM EMPTY', '01070000e0e610000000000000', true, true],

            // PolyhedralSurface
            ['SRID=4326; POLYHEDRALSURFACE (((0 0, 0 1, 1 1, 1 0, 0 0)), ((0 1, 1 1, 2 1, 2 2, 0 1)))', '010f000020e61000000200000001030000000100000005000000000000000000000000000000000000000000000000000000000000000000f03f000000000000f03f000000000000f03f000000000000f03f000000000000000000000000000000000000000000000000010300000001000000050000000000000000000000000000000000f03f000000000000f03f000000000000f03f0000000000000040000000000000f03f000000000000004000000000000000400000000000000000000000000000f03f', false, false],
            ['SRID=4326; POLYHEDRALSURFACE Z (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '010f0000a0e610000002000000010300008001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000f03f00000000000000000000000000000000000000000000000000000000000000000000000000000000010300008001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000000000000000000000000000000000000000', true, false],
            ['SRID=4326; POLYHEDRALSURFACE M (((0 0 0, 0 1 0, 1 1 0, 1 0 0, 0 0 0)), ((0 0 0, 0 1 0, 0 1 1, 0 0 1, 0 0 0)))', '010f000060e610000002000000010300004001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000f03f00000000000000000000000000000000000000000000000000000000000000000000000000000000010300004001000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f00000000000000000000000000000000000000000000f03f000000000000f03f00000000000000000000000000000000000000000000f03f000000000000000000000000000000000000000000000000', false, true],
            ['SRID=4326; POLYHEDRALSURFACE ZM (((0 0 0 2, 0 1 0 2, 1 1 0 2, 1 0 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 0 1 1 3, 0 0 1 3, 0 0 0 3)))', '010f0000e0e61000000200000001030000c0010000000500000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000f03f000000000000f03f00000000000000000000000000000040000000000000f03f000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004001030000c0010000000500000000000000000000000000000000000000000000000000000000000000000008400000000000000000000000000000f03f000000000000000000000000000008400000000000000000000000000000f03f000000000000f03f000000000000084000000000000000000000000000000000000000000000f03f00000000000008400000000000000000000000000000000000000000000000000000000000000840', true, true],

            // PolyhedralSurface EMPTY
            ['SRID=4326; POLYHEDRALSURFACE EMPTY', '010f000020e610000000000000', false, false],
            ['SRID=4326; POLYHEDRALSURFACE Z EMPTY', '010f0000a0e610000000000000', false, false],
            ['SRID=4326; POLYHEDRALSURFACE M EMPTY', '010f000060e610000000000000', false, false],
            ['SRID=4326; POLYHEDRALSURFACE ZM EMPTY', '010f0000e0e610000000000000', false, false],

            // TIN
            ['SRID=4326; TIN (((0 0, 0 1, 1 0, 0 0)), ((0 1, 1 1, 1 0, 0 1)))', '0110000020e61000000200000001110000000100000004000000000000000000000000000000000000000000000000000000000000000000f03f000000000000f03f000000000000000000000000000000000000000000000000011100000001000000040000000000000000000000000000000000f03f000000000000f03f000000000000f03f000000000000f03f00000000000000000000000000000000000000000000f03f', false, false],
            ['SRID=4326; TIN Z (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '01100000a0e6100000020000000111000080010000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f0000000000000000000000000000000000000000000000000000000000000000011100008001000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000000000000000000000000000000000000000', true, false],
            ['SRID=4326; TIN M (((0 0 0, 0 0 1, 0 1 0, 0 0 0)), ((0 0 0, 0 1 0, 1 1 0, 0 0 0)))', '0110000060e6100000020000000111000040010000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f0000000000000000000000000000000000000000000000000000000000000000011100004001000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000f03f0000000000000000000000000000f03f000000000000f03f0000000000000000000000000000000000000000000000000000000000000000', false, true],
            ['SRID=4326; TIN ZM (((0 0 0 2, 0 0 1 2, 0 1 0 2, 0 0 0 2)), ((0 0 0 3, 0 1 0 3, 1 1 0 3, 0 0 0 3)))', '01100000e0e61000000200000001110000c00100000004000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000f03f00000000000000400000000000000000000000000000f03f00000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000004001110000c0010000000400000000000000000000000000000000000000000000000000000000000000000008400000000000000000000000000000f03f00000000000000000000000000000840000000000000f03f000000000000f03f000000000000000000000000000008400000000000000000000000000000000000000000000000000000000000000840', true, true],

            // TIN EMPTY
            ['SRID=4326; TIN EMPTY', '0110000020e610000000000000', false, false],
            ['SRID=4326; TIN Z EMPTY', '01100000a0e610000000000000', true, false],
            ['SRID=4326; TIN M EMPTY', '0110000060e610000000000000', false, true],
            ['SRID=4326; TIN ZM EMPTY', '01100000e0e610000000000000', true, true],
        ];
    }
}
