<?xml version='1.1' encoding='utf-8'?>
<lgr xmlns="urn:ietf:params:xml:ns:lgr-1.0">
    <meta>
        <version comment="IDN Reference table for Bangla (Bengali) language">4.1</version>
        <date>2025-04-08</date>
        <language>bn</language>
        <description type="text/plain">
            <![CDATA[
    # Description:
	# ============
    # This table contains all the single and sequential code points and
	# their variants to be used for the registration of Bangla IDNs.
	# The Bangla table also supports the hyphen character and Latin digits.
	#
    # Contact Information:
	# ====================
    # Contact Name: GoDaddy Registry IDN Support
    # Contact Email: registry-help@registry.godaddy
    # Contact: +1 (480) 651-9999
    ]]>
        </description>
        <unicode-version>6.3.0</unicode-version>
    </meta>
    <data>
        <char cp="002D" tag="hyphen" not-when="hyphen-rules"/>
        <char cp="0030" tag="digit"/>
        <char cp="0031" tag="digit"/>
        <char cp="0032" tag="digit"/>
        <char cp="0033" tag="digit"/>
        <char cp="0034" tag="digit"/>
        <char cp="0035" tag="digit"/>
        <char cp="0036" tag="digit"/>
        <char cp="0037" tag="digit"/>
        <char cp="0038" tag="digit"/>
        <char cp="0039" tag="digit"/>
        <char cp="0981" tag="B" when="b-follow-only-c-n-m-v"/>
        <char cp="0982" tag="D" when="d-follow-only-c-n-m-v-b"/>
        <char cp="0983" tag="X" when="x-follow-only-c-n-m-v-b"/>
        <char cp="0985" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="0985 09CD 09AF 09BE" comment="Bengali letter A with Ya-phalaa"/>
        <char cp="0986" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="0987" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="0988" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="0989" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="098A" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="098F" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="098F 09CD 09AF 09BE" comment="Bengali letter E with Ya-phalaa"/>
        <char cp="0990" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="0993" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="0994" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="098C" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="098B" tag="V" not-when="v-cannot-be-preceded-by-h"/>
        <char cp="0995" tag="C" not-when="c-rules"/>
        <char cp="0996" tag="C" not-when="c-rules"/>
        <char cp="0997" tag="C" not-when="c-rules"/>
        <char cp="0998" tag="C" not-when="c-rules"/>
        <char cp="0999" tag="C" not-when="c-rules"/>
        <char cp="099A" tag="C" not-when="c-rules"/>
        <char cp="099B" tag="C" not-when="c-rules"/>
        <char cp="099C" tag="C" not-when="c-rules"/>
        <char cp="099D" tag="C" not-when="c-rules"/>
        <char cp="099E" tag="C" not-when="c-rules"/>
        <char cp="099F" tag="C" not-when="c-rules"/>
        <char cp="09A0" tag="C" not-when="c-rules"/>
        <char cp="09A1" tag="C" not-when="c-rules"/>
        <char cp="09A2" tag="C" not-when="c-rules"/>
        <char cp="09A3" tag="C" not-when="c-rules"/>
        <char cp="09A4" tag="C" not-when="c-rules"/>
        <char cp="09A5" tag="C" not-when="c-rules"/>
        <char cp="09A6" tag="C" not-when="c-rules"/>
        <char cp="09A7" tag="C" not-when="c-rules"/>
        <char cp="09A8" tag="C" not-when="c-rules"/>
        <char cp="09AA" tag="C" not-when="c-rules"/>
        <char cp="09AB" tag="C" not-when="c-rules"/>
        <char cp="09AC" tag="C" not-when="c-rules"/>
        <char cp="09AD" tag="C" not-when="c-rules"/>
        <char cp="09AE" tag="C" not-when="c-rules"/>
        <char cp="09AF" tag="C" not-when="c-rules"/>
        <char cp="09B0" tag="C" not-when="c-rules"/>
        <char cp="09B2" tag="C" not-when="c-rules"/>
        <char cp="09B6" tag="C" not-when="c-rules"/>
        <char cp="09B7" tag="C" not-when="c-rules"/>
        <char cp="09B8" tag="C" not-when="c-rules"/>
        <char cp="09B9" tag="C" not-when="c-rules"/>
        <char cp="09BC" tag="N" when="nukta-succeeding-consonant"/>
        <char cp="09BD" tag="Y" not-when="y-cannot-follow-digit-or-hyphen"/>
        <char cp="09BE" tag="M" when="m-can-only-follow-c-or-n"/>
        <char cp="09BF" tag="M" when="m-can-only-follow-c-or-n"/>
        <char cp="09C0" tag="M" when="m-can-only-follow-c-or-n">
            <var cp="09C0 0981" type="blocked"/>
        </char>
        <char cp="09C0 0981">
            <var cp="09C0" type="blocked"/>
        </char>
        <char cp="09C1" tag="M" when="m-can-only-follow-c-or-n"/>
        <char cp="09C2" tag="M" when="m-can-only-follow-c-or-n">
            <var cp="09C3" type="blocked"/>
        </char>
        <char cp="09C3" tag="M" when="m-can-only-follow-c-or-n">
            <var cp="09C2" type="blocked"/>
        </char>
        <char cp="09C7" tag="M" when="m-can-only-follow-c-or-n"/>
        <char cp="09C8" tag="M" when="m-can-only-follow-c-or-n"/>
        <char cp="09CB" tag="M" when="m-can-only-follow-c-or-n"/>
        <char cp="09CC" tag="M" when="m-can-only-follow-c-or-n">
            <var cp="09CC 0981" type="blocked"/>
        </char>
        <char cp="09CC 0981">
            <var cp="09CC" type="blocked"/>
        </char>
        <char cp="09E2" tag="M" when="m-can-only-follow-c-or-n"/>
        <char cp="09CD" tag="H" when="h-follow-only-c-or-n"/>
        <char cp="09CE" tag="Z" not-when="z-not-allowed"/>
        <char cp="09B0 09CD 09CE" comment="Khanda Ta can come after CH when C is  09B0"/>
        <char cp="09A8 09CD 09A5">
            <var cp="09A8 09CD 09B9" type="blocked"/>
        </char>
        <char cp="09A8 09CD 09B9">
            <var cp="09A8 09CD 09A5" type="blocked"/>
        </char>
        <char cp="09B8 09CD 09A5">
            <var cp="09B8 09CD 09B9" type="blocked"/>
        </char>
        <char cp="09B8 09CD 09B9">
            <var cp="09B8 09CD 09A5" type="blocked"/>
        </char>
    </data>
    <rules>
        <class name="consonant-subset-nukta" comment="The characters that Nukta can follow">09A1 09A2 09AF</class>
        <class name="digit" from-tag="digit"/>
        <class name="vowel" from-tag="V"/>
        <class name="consonant" from-tag="C"/>
        <class name="nukta" from-tag="N"/>
        <class name="matra" from-tag="M"/>
        <class name="chandrabindu" from-tag="B"/>
        <class name="halant" from-tag="H"/>
        <class name="letter-ra">09B0</class>

        <rule name="z-not-allowed" comment="Z is not allowed at start of label, Z allowed after CH only when C is 09B0">
            <look-behind>
                <choice>
                    <start/>
                    <class by-ref="halant"/>
                </choice>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="nukta-succeeding-consonant">
            <look-behind>
                <class by-ref="consonant-subset-nukta"/>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="b-follow-only-c-n-m-v">
            <look-behind>
                <choice>
                    <class by-ref="consonant"/>
                    <class by-ref="nukta"/>
                    <class by-ref="matra"/>
                    <class by-ref="vowel"/>
                </choice>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="d-follow-only-c-n-m-v-b">
            <look-behind>
                <choice>
                    <class by-ref="consonant"/>
                    <class by-ref="nukta"/>
                    <class by-ref="matra"/>
                    <class by-ref="vowel"/>
                    <class by-ref="chandrabindu"/>
                </choice>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="x-follow-only-c-n-m-v-b">
            <look-behind>
                <choice>
                    <class by-ref="consonant"/>
                    <class by-ref="nukta"/>
                    <class by-ref="matra"/>
                    <class by-ref="vowel"/>
                    <class by-ref="chandrabindu"/>
                </choice>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="m-can-only-follow-c-or-n">
            <look-behind>
                <choice>
                    <class by-ref="consonant"/>
                    <class by-ref="nukta"/>
                </choice>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="h-follow-only-c-or-n">
            <look-behind>
                <choice>
                    <class by-ref="consonant"/>
                    <class by-ref="nukta"/>
                </choice>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="v-cannot-be-preceded-by-h">
            <look-behind>
                <char cp="094D"/>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="y-cannot-follow-digit-or-hyphen">
            <look-behind>
                <choice>
                    <class by-ref="digit"/>
                    <char cp="002D"/>
                </choice>
            </look-behind>
            <anchor/>
        </rule>

        <rule name="c-rules">
            <choice>
                <rule comment="no-more-than-3-consecutive-ch">
                    <look-behind>
                        <class by-ref="consonant"/>
                        <class by-ref="nukta" count="0:1"/>
                        <class by-ref="halant"/>
                        <class by-ref="consonant"/>
                        <class by-ref="nukta" count="0:1"/>
                        <class by-ref="halant"/>
                        <class by-ref="consonant"/>
                        <class by-ref="nukta" count="0:1"/>
                        <class by-ref="halant"/>
                        <class by-ref="consonant"/>
                        <class by-ref="nukta" count="0:1"/>
                        <class by-ref="halant"/>
                    </look-behind>
                    <anchor/>
                </rule>
                <rule comment="0995-joined-with-halant-more-than-twice">
                    <char cp="0995"/>
                    <char cp="094D"/>
                    <char cp="0995"/>
                    <char cp="094D"/>
                    <char cp="0995"/>
                </rule>
                <rule comment="0996-joined-with-halant-more-than-twice">
                    <char cp="0996"/>
                    <char cp="094D"/>
                    <char cp="0996"/>
                    <char cp="094D"/>
                    <char cp="0996"/>
                </rule>
                <rule comment="0997-joined-with-halant-more-than-twice">
                    <char cp="0997"/>
                    <char cp="094D"/>
                    <char cp="0997"/>
                    <char cp="094D"/>
                    <char cp="0997"/>
                </rule>
                <rule comment="0998-joined-with-halant-more-than-twice">
                    <char cp="0998"/>
                    <char cp="094D"/>
                    <char cp="0998"/>
                    <char cp="094D"/>
                    <char cp="0998"/>
                </rule>
                <rule comment="0999-joined-with-halant-more-than-twice">
                    <char cp="0999"/>
                    <char cp="094D"/>
                    <char cp="0999"/>
                    <char cp="094D"/>
                    <char cp="0999"/>
                </rule>
                <rule comment="099A-joined-with-halant-more-than-twice">
                    <char cp="099A"/>
                    <char cp="094D"/>
                    <char cp="099A"/>
                    <char cp="094D"/>
                    <char cp="099A"/>
                </rule>
                <rule comment="099B-joined-with-halant-more-than-twice">
                    <char cp="099B"/>
                    <char cp="094D"/>
                    <char cp="099B"/>
                    <char cp="094D"/>
                    <char cp="099B"/>
                </rule>
                <rule comment="099C-joined-with-halant-more-than-twice">
                    <char cp="099C"/>
                    <char cp="094D"/>
                    <char cp="099C"/>
                    <char cp="094D"/>
                    <char cp="099C"/>
                </rule>
                <rule comment="099D-joined-with-halant-more-than-twice">
                    <char cp="099D"/>
                    <char cp="094D"/>
                    <char cp="099D"/>
                    <char cp="094D"/>
                    <char cp="099D"/>
                </rule>
                <rule comment="099E-joined-with-halant-more-than-twice">
                    <char cp="099E"/>
                    <char cp="094D"/>
                    <char cp="099E"/>
                    <char cp="094D"/>
                    <char cp="099E"/>
                </rule>
                <rule comment="099F-joined-with-halant-more-than-twice">
                    <char cp="099F"/>
                    <char cp="094D"/>
                    <char cp="099F"/>
                    <char cp="094D"/>
                    <char cp="099F"/>
                </rule>
                <rule comment="09A0-joined-with-halant-more-than-twice">
                    <char cp="09A0"/>
                    <char cp="094D"/>
                    <char cp="09A0"/>
                    <char cp="094D"/>
                    <char cp="09A0"/>
                </rule>
                <rule comment="09A1-joined-with-halant-more-than-twice">
                    <char cp="09A1"/>
                    <char cp="094D"/>
                    <char cp="09A1"/>
                    <char cp="094D"/>
                    <char cp="09A1"/>
                </rule>
                <rule comment="09A2-joined-with-halant-more-than-twice">
                    <char cp="09A2"/>
                    <char cp="094D"/>
                    <char cp="09A2"/>
                    <char cp="094D"/>
                    <char cp="09A2"/>
                </rule>
                <rule comment="09A3-joined-with-halant-more-than-twice">
                    <char cp="09A3"/>
                    <char cp="094D"/>
                    <char cp="09A3"/>
                    <char cp="094D"/>
                    <char cp="09A3"/>
                </rule>
                <rule comment="09A4-joined-with-halant-more-than-twice">
                    <char cp="09A4"/>
                    <char cp="094D"/>
                    <char cp="09A4"/>
                    <char cp="094D"/>
                    <char cp="09A4"/>
                </rule>
                <rule comment="09A5-joined-with-halant-more-than-twice">
                    <char cp="09A5"/>
                    <char cp="094D"/>
                    <char cp="09A5"/>
                    <char cp="094D"/>
                    <char cp="09A5"/>
                </rule>
                <rule comment="09A6-joined-with-halant-more-than-twice">
                    <char cp="09A6"/>
                    <char cp="094D"/>
                    <char cp="09A6"/>
                    <char cp="094D"/>
                    <char cp="09A6"/>
                </rule>
                <rule comment="09A7-joined-with-halant-more-than-twice">
                    <char cp="09A7"/>
                    <char cp="094D"/>
                    <char cp="09A7"/>
                    <char cp="094D"/>
                    <char cp="09A7"/>
                </rule>
                <rule comment="09A8-joined-with-halant-more-than-twice">
                    <char cp="09A8"/>
                    <char cp="094D"/>
                    <char cp="09A8"/>
                    <char cp="094D"/>
                    <char cp="09A8"/>
                </rule>
                <rule comment="09AA-joined-with-halant-more-than-twice">
                    <char cp="09AA"/>
                    <char cp="094D"/>
                    <char cp="09AA"/>
                    <char cp="094D"/>
                    <char cp="09AA"/>
                </rule>
                <rule comment="09AB-joined-with-halant-more-than-twice">
                    <char cp="09AB"/>
                    <char cp="094D"/>
                    <char cp="09AB"/>
                    <char cp="094D"/>
                    <char cp="09AB"/>
                </rule>
                <rule comment="09AC-joined-with-halant-more-than-twice">
                    <char cp="09AC"/>
                    <char cp="094D"/>
                    <char cp="09AC"/>
                    <char cp="094D"/>
                    <char cp="09AC"/>
                </rule>
                <rule comment="09AD-joined-with-halant-more-than-twice">
                    <char cp="09AD"/>
                    <char cp="094D"/>
                    <char cp="09AD"/>
                    <char cp="094D"/>
                    <char cp="09AD"/>
                </rule>
                <rule comment="09AE-joined-with-halant-more-than-twice">
                    <char cp="09AE"/>
                    <char cp="094D"/>
                    <char cp="09AE"/>
                    <char cp="094D"/>
                    <char cp="09AE"/>
                </rule>
                <rule comment="09AF-joined-with-halant-more-than-twice">
                    <char cp="09AF"/>
                    <char cp="094D"/>
                    <char cp="09AF"/>
                    <char cp="094D"/>
                    <char cp="09AF"/>
                </rule>
                <rule comment="09B0-joined-with-halant-more-than-twice">
                    <char cp="09B0"/>
                    <char cp="094D"/>
                    <char cp="09B0"/>
                    <char cp="094D"/>
                    <char cp="09B0"/>
                </rule>
                <rule comment="09B2-joined-with-halant-more-than-twice">
                    <char cp="09B2"/>
                    <char cp="094D"/>
                    <char cp="09B2"/>
                    <char cp="094D"/>
                    <char cp="09B2"/>
                </rule>
                <rule comment="09B6-joined-with-halant-more-than-twice">
                    <char cp="09B6"/>
                    <char cp="094D"/>
                    <char cp="09B6"/>
                    <char cp="094D"/>
                    <char cp="09B6"/>
                </rule>
                <rule comment="09B7-joined-with-halant-more-than-twice">
                    <char cp="09B7"/>
                    <char cp="094D"/>
                    <char cp="09B7"/>
                    <char cp="094D"/>
                    <char cp="09B7"/>
                </rule>
                <rule comment="09B8-joined-with-halant-more-than-twice">
                    <char cp="09B8"/>
                    <char cp="094D"/>
                    <char cp="09B8"/>
                    <char cp="094D"/>
                    <char cp="09B8"/>
                </rule>
                <rule comment="09B9-joined-with-halant-more-than-twice">
                    <char cp="09B9"/>
                    <char cp="094D"/>
                    <char cp="09B9"/>
                    <char cp="094D"/>
                    <char cp="09B9"/>
                </rule>
            </choice>
        </rule>

        <rule name="hyphen-rules">
            <choice>
                <rule comment="no leading hyphen">
                    <look-behind>
                        <start/>
                    </look-behind>
                    <anchor/>
                </rule>
                <rule comment="no trailing hyphen">
                    <anchor/>
                    <look-ahead>
                        <end/>
                    </look-ahead>
                </rule>
                <rule comment="no consecutive hyphens in third and fourth">
                    <look-behind>
                        <start/>
                        <any/>
                        <any/>
                        <char cp="002D" comment="hyphen-minus"/>
                    </look-behind>
                    <anchor/>
                </rule>
            </choice>
        </rule>
        <action disp="blocked" any-variant="blocked" comment="any variant label containing blocked variants is blocked"/>
        <action disp="valid" comment="catch all (default action)" />
    </rules>
</lgr>