# Generated by Django 4.1.10 on 2023-10-23 09:15

import django.core.validators
from django.db import migrations, models
import django.db.models.deletion
import wagtail.blocks
import wagtail.fields
import wagtail_color_panel.blocks
import wagtailiconchooser.blocks


class Migration(migrations.Migration):

    dependencies = [
        ('geomanager', '0001_squashed_0024_rastertilelayer_get_time_from_tile_json_and_more'),
    ]

    operations = [
        migrations.AlterModelOptions(
            name='areaofinterest',
            options={'verbose_name': 'Area of Interest', 'verbose_name_plural': 'Areas of Interest'},
        ),
        migrations.AlterModelOptions(
            name='category',
            options={'ordering': ['order'], 'verbose_name': 'Category', 'verbose_name_plural': 'Categories'},
        ),
        migrations.AlterModelOptions(
            name='dataset',
            options={'verbose_name': 'Dataset', 'verbose_name_plural': 'Datasets'},
        ),
        migrations.AlterModelOptions(
            name='geomanagersettings',
            options={'verbose_name': 'Geomanager Settings'},
        ),
        migrations.AlterModelOptions(
            name='geomanageruserprofile',
            options={'verbose_name': 'GeoManager User Profile', 'verbose_name_plural': 'GeoManager User Profiles'},
        ),
        migrations.AlterModelOptions(
            name='layerrasterfile',
            options={'ordering': ['time'], 'verbose_name': 'Layer Raster File', 'verbose_name_plural': 'Layer Raster Files'},
        ),
        migrations.AlterModelOptions(
            name='mbtsource',
            options={'verbose_name': 'Basemap Source', 'verbose_name_plural': 'Basemap Sources'},
        ),
        migrations.AlterModelOptions(
            name='metadata',
            options={'verbose_name': 'Metadata', 'verbose_name_plural': 'Metadata'},
        ),
        migrations.AlterModelOptions(
            name='rasterfilelayer',
            options={'verbose_name': 'Raster File Layer', 'verbose_name_plural': 'Raster File Layers'},
        ),
        migrations.AlterModelOptions(
            name='rasterstyle',
            options={'verbose_name': 'Raster Style', 'verbose_name_plural': 'Raster Styles'},
        ),
        migrations.AlterModelOptions(
            name='rastertilelayer',
            options={'verbose_name': 'Raster Tile Layer', 'verbose_name_plural': 'Raster Tile Layers'},
        ),
        migrations.AlterModelOptions(
            name='rasterupload',
            options={'verbose_name': 'Raster Upload', 'verbose_name_plural': 'Raster Uploads'},
        ),
        migrations.AlterModelOptions(
            name='subcategory',
            options={'verbose_name': 'Subcategory', 'verbose_name_plural': 'Subcategories'},
        ),
        migrations.AlterModelOptions(
            name='vectorfilelayer',
            options={'verbose_name': 'Vector File Layer', 'verbose_name_plural': 'Vector File Layers'},
        ),
        migrations.AlterModelOptions(
            name='vectorlayericon',
            options={'verbose_name': 'Vector Layer Icon', 'verbose_name_plural': 'Vector Layer Icons'},
        ),
        migrations.AlterModelOptions(
            name='vectortilelayer',
            options={'verbose_name': 'Vector Tile Layer', 'verbose_name_plural': 'Vector Tile Layers'},
        ),
        migrations.AlterModelOptions(
            name='vectorupload',
            options={'verbose_name': 'Vector Upload', 'verbose_name_plural': 'Vector Uploads'},
        ),
        migrations.AlterModelOptions(
            name='wmslayer',
            options={'verbose_name': 'WMS Layer', 'verbose_name_plural': 'WMS Layers'},
        ),
        migrations.AlterModelOptions(
            name='wmsrequestlayer',
            options={'verbose_name': 'WMS Request Layer', 'verbose_name_plural': 'WMS Request Layers'},
        ),
        migrations.AlterModelOptions(
            name='wmsrequestparam',
            options={'verbose_name': 'WMS Request Parameter', 'verbose_name_plural': 'WMS Request Parameters'},
        ),
        migrations.AlterModelOptions(
            name='wmsrequeststyle',
            options={'verbose_name': 'WMS Request Style', 'verbose_name_plural': 'WMS Request Styles'},
        ),
        migrations.AlterField(
            model_name='dataset',
            name='sub_category',
            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='geomanager.subcategory', verbose_name='Subcategory'),
        ),
        migrations.AlterField(
            model_name='vectorfilelayer',
            name='render_layers',
            field=wagtail.fields.StreamField([('fill', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('fill_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('fill_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('fill_outline_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('fill_antialias', wagtail.blocks.BooleanBlock(default=True, required=False))], label='Mapbox GL Paint Properties')), ('filter', wagtail.blocks.CharBlock(required=False)), ('maxzoom', wagtail.blocks.IntegerBlock(required=False)), ('minzoom', wagtail.blocks.IntegerBlock(required=False))], label='Polygon Layer')), ('line', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('line_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('line_dasharray', wagtail.blocks.CharBlock(required=False)), ('line_gap_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('line_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('line_width', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('line_offset', wagtail.blocks.FloatBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0)]))], label='Mapbox GL Paint Properties')), ('layout', wagtail.blocks.StructBlock([('line_cap', wagtail.blocks.ChoiceBlock(choices=[('butt', 'Butt'), ('round', 'Round'), ('square', 'Square')], required=False)), ('line_join', wagtail.blocks.ChoiceBlock(choices=[('miter', 'Miter'), ('bevel', 'Bevel'), ('round', 'Round')], required=False)), ('line_miter_limit', wagtail.blocks.FloatBlock(default=2.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('line_round_limit', wagtail.blocks.FloatBlock(default=1.05, required=False, validators=[django.core.validators.MinValueValidator(0)]))], label='Mapbox GL Layout Properties')), ('filter', wagtail.blocks.CharBlock(required=False)), ('maxzoom', wagtail.blocks.IntegerBlock(required=False)), ('minzoom', wagtail.blocks.IntegerBlock(required=False))], label='Line Layer')), ('circle', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('circle_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('circle_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('circle_radius', wagtail.blocks.FloatBlock(default=5.0, label='circle radius', required=False, validators=[django.core.validators.MinValueValidator(0)])), ('circle_stroke_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('circle_stroke_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)]))], label='Mapbox GL Paint Properties')), ('filter', wagtail.blocks.CharBlock(required=False)), ('maxzoom', wagtail.blocks.IntegerBlock(required=False)), ('minzoom', wagtail.blocks.IntegerBlock(required=False))], label='Point Layer')), ('icon', wagtail.blocks.StructBlock([('layout', wagtail.blocks.StructBlock([('icon_image', wagtailiconchooser.blocks.IconChooserBlock(label='Icon Image')), ('icon_allow_overlap', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_anchor', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('top', 'Top'), ('bottom', 'Bottom'), ('top-left', 'Top Left'), ('top-right', 'Top Right'), ('bottom-left', 'Bottom Left'), ('bottom-right', 'Bottom Right')], required=False)), ('icon_ignore_placement', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_keep_upright', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_offset', wagtail.blocks.CharBlock(required=False)), ('icon_optional', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_padding', wagtail.blocks.FloatBlock(default=2.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('icon_pitch_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('icon_rotate', wagtail.blocks.IntegerBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(360)])), ('icon_rotation_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('icon_size', wagtail.blocks.FloatBlock(default=1, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('icon_text_fit', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('width', 'Width'), ('height', 'Height'), ('both', 'Both')], required=False))], label='Mapbox GL Layout Properties')), ('paint', wagtail.blocks.StructBlock([('icon_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('icon_halo_blur', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('icon_halo_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('icon_halo_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('icon_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)]))], label='Mapbox GL Paint Properties'))], label='Icon Layer')), ('text', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('text_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('text_halo_blur', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_halo_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('text_halo_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_translate', wagtail.blocks.CharBlock(required=False)), ('text_translate_anchor', wagtail.blocks.ChoiceBlock(choices=[('map', 'Map'), ('viewport', 'Viewport')], required=False))], label='Mapbox GL Paint Properties')), ('layout', wagtail.blocks.StructBlock([('symbol_placement', wagtail.blocks.ChoiceBlock(choices=[('point', 'Point'), ('line', 'Line'), ('line-center', 'Line Center')], required=False)), ('text_allow_overlap', wagtail.blocks.BooleanBlock(default=False, required=False)), ('text_anchor', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('top', 'Top'), ('bottom', 'Bottom'), ('top-left', 'Top Left'), ('top-right', 'Top Right'), ('bottom-left', 'Bottom Left'), ('bottom-right', 'Bottom Right')], required=False)), ('text_field', wagtail.blocks.CharBlock(required=True)), ('text_size', wagtail.blocks.IntegerBlock(default=16, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_transform', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('uppercase', 'Uppercase'), ('lowercase', 'Lowercase')], required=False)), ('text_ignore_placement', wagtail.blocks.BooleanBlock(default=False, required=False)), ('text_justify', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('auto', 'Auto')], required=False)), ('text_keep_upright', wagtail.blocks.BooleanBlock(default=False, required=False)), ('text_letter_spacing', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_line_height', wagtail.blocks.FloatBlock(default=1.2, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_max_angle', wagtail.blocks.IntegerBlock(default=45, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(360)])), ('text_max_width', wagtail.blocks.IntegerBlock(default=10, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_offset', wagtail.blocks.CharBlock(required=False)), ('text_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('text_padding', wagtail.blocks.IntegerBlock(default=2, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_pitch_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('text_radial_offset', wagtail.blocks.IntegerBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_rotate', wagtail.blocks.IntegerBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(360)])), ('text_rotation_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('text_variable_anchor', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('top', 'Top'), ('bottom', 'Bottom'), ('top-left', 'Top Left'), ('top-right', 'Top Right'), ('bottom-left', 'Bottom Left'), ('bottom-right', 'Bottom Right')], required=False))], label='Mapbox GL Layout Properties'))], label='Text Label Layer'))], blank=True, null=True, use_json_field=True, verbose_name='Render Layers'),
        ),
        migrations.AlterField(
            model_name='vectortilelayer',
            name='render_layers',
            field=wagtail.fields.StreamField([('fill', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('fill_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('fill_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('fill_outline_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('fill_antialias', wagtail.blocks.BooleanBlock(default=True, required=False))], label='Mapbox GL Paint Properties')), ('filter', wagtail.blocks.CharBlock(required=False)), ('maxzoom', wagtail.blocks.IntegerBlock(required=False)), ('minzoom', wagtail.blocks.IntegerBlock(required=False)), ('source_layer', wagtail.blocks.CharBlock(label='source layer', required=True))], label='Polygon Layer')), ('line', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('line_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('line_dasharray', wagtail.blocks.CharBlock(required=False)), ('line_gap_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('line_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('line_width', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('line_offset', wagtail.blocks.FloatBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0)]))], label='Mapbox GL Paint Properties')), ('layout', wagtail.blocks.StructBlock([('line_cap', wagtail.blocks.ChoiceBlock(choices=[('butt', 'Butt'), ('round', 'Round'), ('square', 'Square')], required=False)), ('line_join', wagtail.blocks.ChoiceBlock(choices=[('miter', 'Miter'), ('bevel', 'Bevel'), ('round', 'Round')], required=False)), ('line_miter_limit', wagtail.blocks.FloatBlock(default=2.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('line_round_limit', wagtail.blocks.FloatBlock(default=1.05, required=False, validators=[django.core.validators.MinValueValidator(0)]))], label='Mapbox GL Layout Properties')), ('filter', wagtail.blocks.CharBlock(required=False)), ('maxzoom', wagtail.blocks.IntegerBlock(required=False)), ('minzoom', wagtail.blocks.IntegerBlock(required=False)), ('source_layer', wagtail.blocks.CharBlock(label='source layer', required=True))], label='Line Layer')), ('circle', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('circle_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('circle_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('circle_radius', wagtail.blocks.FloatBlock(default=5.0, label='circle radius', required=False, validators=[django.core.validators.MinValueValidator(0)])), ('circle_stroke_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('circle_stroke_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)]))], label='Mapbox GL Paint Properties')), ('filter', wagtail.blocks.CharBlock(required=False)), ('maxzoom', wagtail.blocks.IntegerBlock(required=False)), ('minzoom', wagtail.blocks.IntegerBlock(required=False)), ('source_layer', wagtail.blocks.CharBlock(label='source layer', required=True))], label='Point Layer')), ('icon', wagtail.blocks.StructBlock([('layout', wagtail.blocks.StructBlock([('icon_image', wagtailiconchooser.blocks.IconChooserBlock(label='Icon Image')), ('icon_allow_overlap', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_anchor', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('top', 'Top'), ('bottom', 'Bottom'), ('top-left', 'Top Left'), ('top-right', 'Top Right'), ('bottom-left', 'Bottom Left'), ('bottom-right', 'Bottom Right')], required=False)), ('icon_ignore_placement', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_keep_upright', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_offset', wagtail.blocks.CharBlock(required=False)), ('icon_optional', wagtail.blocks.BooleanBlock(default=False, required=False)), ('icon_padding', wagtail.blocks.FloatBlock(default=2.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('icon_pitch_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('icon_rotate', wagtail.blocks.IntegerBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(360)])), ('icon_rotation_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('icon_size', wagtail.blocks.FloatBlock(default=1, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('icon_text_fit', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('width', 'Width'), ('height', 'Height'), ('both', 'Both')], required=False))], label='Mapbox GL Layout Properties')), ('paint', wagtail.blocks.StructBlock([('icon_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('icon_halo_blur', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('icon_halo_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('icon_halo_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('icon_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)]))], label='Mapbox GL Paint Properties')), ('source_layer', wagtail.blocks.CharBlock(label='source layer', required=True))], label='Icon Layer')), ('text', wagtail.blocks.StructBlock([('paint', wagtail.blocks.StructBlock([('text_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('text_halo_blur', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_halo_color', wagtail_color_panel.blocks.NativeColorBlock(default='#000000', required=False)), ('text_halo_width', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_translate', wagtail.blocks.CharBlock(required=False)), ('text_translate_anchor', wagtail.blocks.ChoiceBlock(choices=[('map', 'Map'), ('viewport', 'Viewport')], required=False))], label='Mapbox GL Paint Properties')), ('layout', wagtail.blocks.StructBlock([('symbol_placement', wagtail.blocks.ChoiceBlock(choices=[('point', 'Point'), ('line', 'Line'), ('line-center', 'Line Center')], required=False)), ('text_allow_overlap', wagtail.blocks.BooleanBlock(default=False, required=False)), ('text_anchor', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('top', 'Top'), ('bottom', 'Bottom'), ('top-left', 'Top Left'), ('top-right', 'Top Right'), ('bottom-left', 'Bottom Left'), ('bottom-right', 'Bottom Right')], required=False)), ('text_field', wagtail.blocks.CharBlock(required=True)), ('text_size', wagtail.blocks.IntegerBlock(default=16, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_transform', wagtail.blocks.ChoiceBlock(choices=[('none', 'None'), ('uppercase', 'Uppercase'), ('lowercase', 'Lowercase')], required=False)), ('text_ignore_placement', wagtail.blocks.BooleanBlock(default=False, required=False)), ('text_justify', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('auto', 'Auto')], required=False)), ('text_keep_upright', wagtail.blocks.BooleanBlock(default=False, required=False)), ('text_letter_spacing', wagtail.blocks.FloatBlock(default=0.0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_line_height', wagtail.blocks.FloatBlock(default=1.2, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_max_angle', wagtail.blocks.IntegerBlock(default=45, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(360)])), ('text_max_width', wagtail.blocks.IntegerBlock(default=10, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_offset', wagtail.blocks.CharBlock(required=False)), ('text_opacity', wagtail.blocks.FloatBlock(default=1.0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(1)])), ('text_padding', wagtail.blocks.IntegerBlock(default=2, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_pitch_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('text_radial_offset', wagtail.blocks.IntegerBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0)])), ('text_rotate', wagtail.blocks.IntegerBlock(default=0, required=False, validators=[django.core.validators.MinValueValidator(0), django.core.validators.MaxValueValidator(360)])), ('text_rotation_alignment', wagtail.blocks.ChoiceBlock(choices=[('auto', 'Auto'), ('map', 'Map'), ('viewport', 'Viewport')], required=False)), ('text_variable_anchor', wagtail.blocks.ChoiceBlock(choices=[('center', 'Center'), ('left', 'Left'), ('right', 'Right'), ('top', 'Top'), ('bottom', 'Bottom'), ('top-left', 'Top Left'), ('top-right', 'Top Right'), ('bottom-left', 'Bottom Left'), ('bottom-right', 'Bottom Right')], required=False))], label='Mapbox GL Layout Properties')), ('source_layer', wagtail.blocks.CharBlock(label='source layer', required=True))], label='Text Label Layer'))], blank=True, null=True, use_json_field=True, verbose_name='Render Layers'),
        ),
    ]
