// WARNING: This file was auto-generated by: scripts/update-merge-modes-tests.py
xkb_types "base-default" {
	virtual_modifiers NumLock, LevelThree=none, LevelFive=Mod3;
	virtual_modifiers U1, U2, U3;
	// virtual_modifiers U4, U5, U6;
	virtual_modifiers Z1=none, Z2=none, Z3=none;
	// virtual_modifiers Z4=none, Z5=none, Z6=none;
	virtual_modifiers M1=0x1000, M2=0x2000, M3=0x3000;
	// virtual_modifiers M4=0x4000, M5=0x5000, M6=0x6000;

	type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "Any";
	};

	type "TWO_LEVEL" {
		modifiers = Shift;
		map[Shift] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	type "ALPHABETIC" {
		modifiers = Shift+Lock;
		map[Shift] = Level2;
		map[Lock] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2;
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    map[Lock]       = 2;
	    map[LevelThree] = 3;
	    level_name[1] = "1";
	    level_name[2] = "2";
	    level_name[3] = "3";
	};
};
xkb_types "base-augment" {
	augment virtual_modifiers NumLock, LevelThree=none, LevelFive=Mod3;
	augment virtual_modifiers U1, U2, U3;
	// augment virtual_modifiers U4, U5, U6;
	augment virtual_modifiers Z1=none, Z2=none, Z3=none;
	// augment virtual_modifiers Z4=none, Z5=none, Z6=none;
	augment virtual_modifiers M1=0x1000, M2=0x2000, M3=0x3000;
	// augment virtual_modifiers M4=0x4000, M5=0x5000, M6=0x6000;

	augment type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "Any";
	};

	augment type "TWO_LEVEL" {
		modifiers = Shift;
		map[Shift] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	augment type "ALPHABETIC" {
		modifiers = Shift+Lock;
		map[Shift] = Level2;
		map[Lock] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	augment type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2;
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	augment type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	augment type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	augment type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	augment type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    map[Lock]       = 2;
	    map[LevelThree] = 3;
	    level_name[1] = "1";
	    level_name[2] = "2";
	    level_name[3] = "3";
	};
};
xkb_types "base-override" {
	override virtual_modifiers NumLock, LevelThree=none, LevelFive=Mod3;
	override virtual_modifiers U1, U2, U3;
	// override virtual_modifiers U4, U5, U6;
	override virtual_modifiers Z1=none, Z2=none, Z3=none;
	// override virtual_modifiers Z4=none, Z5=none, Z6=none;
	override virtual_modifiers M1=0x1000, M2=0x2000, M3=0x3000;
	// override virtual_modifiers M4=0x4000, M5=0x5000, M6=0x6000;

	override type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "Any";
	};

	override type "TWO_LEVEL" {
		modifiers = Shift;
		map[Shift] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	override type "ALPHABETIC" {
		modifiers = Shift+Lock;
		map[Shift] = Level2;
		map[Lock] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	override type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2;
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	override type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	override type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	override type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	override type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    map[Lock]       = 2;
	    map[LevelThree] = 3;
	    level_name[1] = "1";
	    level_name[2] = "2";
	    level_name[3] = "3";
	};
};
xkb_types "base-replace" {
	replace virtual_modifiers NumLock, LevelThree=none, LevelFive=Mod3;
	replace virtual_modifiers U1, U2, U3;
	// replace virtual_modifiers U4, U5, U6;
	replace virtual_modifiers Z1=none, Z2=none, Z3=none;
	// replace virtual_modifiers Z4=none, Z5=none, Z6=none;
	replace virtual_modifiers M1=0x1000, M2=0x2000, M3=0x3000;
	// replace virtual_modifiers M4=0x4000, M5=0x5000, M6=0x6000;

	replace type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "Any";
	};

	replace type "TWO_LEVEL" {
		modifiers = Shift;
		map[Shift] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	replace type "ALPHABETIC" {
		modifiers = Shift+Lock;
		map[Shift] = Level2;
		map[Lock] = Level2;
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	replace type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2;
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	replace type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	replace type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	replace type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	replace type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    map[Lock]       = 2;
	    map[LevelThree] = 3;
	    level_name[1] = "1";
	    level_name[2] = "2";
	    level_name[3] = "3";
	};
};
xkb_types "update-default" {
	virtual_modifiers NumLock=Mod2;    // Changed: now mapped
	virtual_modifiers LevelThree=Mod5; // Changed: altered mapping (from 0)
	virtual_modifiers LevelFive=Mod3;  // Unhanged: same mapping

	virtual_modifiers U7, Z7=0, M7=0x700000; // Changed: new

	virtual_modifiers U1;            // Unchanged (unmapped)
	virtual_modifiers U2 = none;     // Changed: now mapped
	virtual_modifiers U3 = 0x300000; // Changed: now mapped
	// virtual_modifiers U4;            // Unchanged (unmapped)
	// virtual_modifiers U5 = none;     // Changed: now mapped
	// virtual_modifiers U6 = 0x600000; // Changed: now mapped
	virtual_modifiers Z1;            // Unchanged (= 0)
	virtual_modifiers Z2 = none;     // Unchanged (same mapping)
	virtual_modifiers Z3 = 0x310000; // Changed: altered mapping (from 0)
	// virtual_modifiers Z4;            // Unchanged (= 0)
	// virtual_modifiers Z5 = none;     // Unchanged (same mapping)
	// virtual_modifiers Z6 = 0x610000; // Changed: altered mapping (from 0)
	virtual_modifiers M1;            // Unchanged (≠ 0)
	virtual_modifiers M2 = none;     // Changed: reset
	virtual_modifiers M3 = 0x320000; // Changed: altered mapping (from ≠ 0)
	// virtual_modifiers M4;            // Unchanged (≠ 0)
	// virtual_modifiers M5 = none;     // Changed: reset
	// virtual_modifiers M6 = 0x620000; // Changed: altered mapping (from ≠ 0)

	type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New"; // Change name
	};

	type "TWO_LEVEL" {
		modifiers = Shift+M1; // Changed
		map[Shift] = Level2;
		map[M1] = Level2; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	type "ALPHABETIC" {
		modifiers = Lock; // Changed
		map[None] = Level2; // Changed
		map[Lock] = Level1; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2; // Changed
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	// Unchanged
	type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    // map[Lock]       = 2;    // Changed
	    // map[LevelThree] = 3;
	    map[LevelThree] = 1;       // Changed
	    map[Shift+LevelThree] = 4; // Changed
	    level_name[1] = "A"; // Changed
	    level_name[2] = "2";
	    level_name[3] = "3";
	    level_name[4] = "4"; // Changed
	};

	// New
	type "YYY" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New";
	};
};
xkb_types "update-augment" {
	augment virtual_modifiers NumLock=Mod2;    // Changed: now mapped
	augment virtual_modifiers LevelThree=Mod5; // Changed: altered mapping (from 0)
	augment virtual_modifiers LevelFive=Mod3;  // Unhanged: same mapping

	augment virtual_modifiers U7, Z7=0, M7=0x700000; // Changed: new

	augment virtual_modifiers U1;            // Unchanged (unmapped)
	augment virtual_modifiers U2 = none;     // Changed: now mapped
	augment virtual_modifiers U3 = 0x300000; // Changed: now mapped
	// augment virtual_modifiers U4;            // Unchanged (unmapped)
	// augment virtual_modifiers U5 = none;     // Changed: now mapped
	// augment virtual_modifiers U6 = 0x600000; // Changed: now mapped
	augment virtual_modifiers Z1;            // Unchanged (= 0)
	augment virtual_modifiers Z2 = none;     // Unchanged (same mapping)
	augment virtual_modifiers Z3 = 0x310000; // Changed: altered mapping (from 0)
	// augment virtual_modifiers Z4;            // Unchanged (= 0)
	// augment virtual_modifiers Z5 = none;     // Unchanged (same mapping)
	// augment virtual_modifiers Z6 = 0x610000; // Changed: altered mapping (from 0)
	augment virtual_modifiers M1;            // Unchanged (≠ 0)
	augment virtual_modifiers M2 = none;     // Changed: reset
	augment virtual_modifiers M3 = 0x320000; // Changed: altered mapping (from ≠ 0)
	// augment virtual_modifiers M4;            // Unchanged (≠ 0)
	// augment virtual_modifiers M5 = none;     // Changed: reset
	// augment virtual_modifiers M6 = 0x620000; // Changed: altered mapping (from ≠ 0)

	augment type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New"; // Change name
	};

	augment type "TWO_LEVEL" {
		modifiers = Shift+M1; // Changed
		map[Shift] = Level2;
		map[M1] = Level2; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	augment type "ALPHABETIC" {
		modifiers = Lock; // Changed
		map[None] = Level2; // Changed
		map[Lock] = Level1; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	augment type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2; // Changed
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	// Unchanged
	augment type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	augment type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	augment type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	augment type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    // map[Lock]       = 2;    // Changed
	    // map[LevelThree] = 3;
	    map[LevelThree] = 1;       // Changed
	    map[Shift+LevelThree] = 4; // Changed
	    level_name[1] = "A"; // Changed
	    level_name[2] = "2";
	    level_name[3] = "3";
	    level_name[4] = "4"; // Changed
	};

	// New
	augment type "YYY" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New";
	};
};
xkb_types "update-override" {
	override virtual_modifiers NumLock=Mod2;    // Changed: now mapped
	override virtual_modifiers LevelThree=Mod5; // Changed: altered mapping (from 0)
	override virtual_modifiers LevelFive=Mod3;  // Unhanged: same mapping

	override virtual_modifiers U7, Z7=0, M7=0x700000; // Changed: new

	override virtual_modifiers U1;            // Unchanged (unmapped)
	override virtual_modifiers U2 = none;     // Changed: now mapped
	override virtual_modifiers U3 = 0x300000; // Changed: now mapped
	// override virtual_modifiers U4;            // Unchanged (unmapped)
	// override virtual_modifiers U5 = none;     // Changed: now mapped
	// override virtual_modifiers U6 = 0x600000; // Changed: now mapped
	override virtual_modifiers Z1;            // Unchanged (= 0)
	override virtual_modifiers Z2 = none;     // Unchanged (same mapping)
	override virtual_modifiers Z3 = 0x310000; // Changed: altered mapping (from 0)
	// override virtual_modifiers Z4;            // Unchanged (= 0)
	// override virtual_modifiers Z5 = none;     // Unchanged (same mapping)
	// override virtual_modifiers Z6 = 0x610000; // Changed: altered mapping (from 0)
	override virtual_modifiers M1;            // Unchanged (≠ 0)
	override virtual_modifiers M2 = none;     // Changed: reset
	override virtual_modifiers M3 = 0x320000; // Changed: altered mapping (from ≠ 0)
	// override virtual_modifiers M4;            // Unchanged (≠ 0)
	// override virtual_modifiers M5 = none;     // Changed: reset
	// override virtual_modifiers M6 = 0x620000; // Changed: altered mapping (from ≠ 0)

	override type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New"; // Change name
	};

	override type "TWO_LEVEL" {
		modifiers = Shift+M1; // Changed
		map[Shift] = Level2;
		map[M1] = Level2; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	override type "ALPHABETIC" {
		modifiers = Lock; // Changed
		map[None] = Level2; // Changed
		map[Lock] = Level1; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	override type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2; // Changed
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	// Unchanged
	override type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	override type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	override type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	override type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    // map[Lock]       = 2;    // Changed
	    // map[LevelThree] = 3;
	    map[LevelThree] = 1;       // Changed
	    map[Shift+LevelThree] = 4; // Changed
	    level_name[1] = "A"; // Changed
	    level_name[2] = "2";
	    level_name[3] = "3";
	    level_name[4] = "4"; // Changed
	};

	// New
	override type "YYY" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New";
	};
};
xkb_types "update-replace" {
	replace virtual_modifiers NumLock=Mod2;    // Changed: now mapped
	replace virtual_modifiers LevelThree=Mod5; // Changed: altered mapping (from 0)
	replace virtual_modifiers LevelFive=Mod3;  // Unhanged: same mapping

	replace virtual_modifiers U7, Z7=0, M7=0x700000; // Changed: new

	replace virtual_modifiers U1;            // Unchanged (unmapped)
	replace virtual_modifiers U2 = none;     // Changed: now mapped
	replace virtual_modifiers U3 = 0x300000; // Changed: now mapped
	// replace virtual_modifiers U4;            // Unchanged (unmapped)
	// replace virtual_modifiers U5 = none;     // Changed: now mapped
	// replace virtual_modifiers U6 = 0x600000; // Changed: now mapped
	replace virtual_modifiers Z1;            // Unchanged (= 0)
	replace virtual_modifiers Z2 = none;     // Unchanged (same mapping)
	replace virtual_modifiers Z3 = 0x310000; // Changed: altered mapping (from 0)
	// replace virtual_modifiers Z4;            // Unchanged (= 0)
	// replace virtual_modifiers Z5 = none;     // Unchanged (same mapping)
	// replace virtual_modifiers Z6 = 0x610000; // Changed: altered mapping (from 0)
	replace virtual_modifiers M1;            // Unchanged (≠ 0)
	replace virtual_modifiers M2 = none;     // Changed: reset
	replace virtual_modifiers M3 = 0x320000; // Changed: altered mapping (from ≠ 0)
	// replace virtual_modifiers M4;            // Unchanged (≠ 0)
	// replace virtual_modifiers M5 = none;     // Changed: reset
	// replace virtual_modifiers M6 = 0x620000; // Changed: altered mapping (from ≠ 0)

	replace type "ONE_LEVEL" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New"; // Change name
	};

	replace type "TWO_LEVEL" {
		modifiers = Shift+M1; // Changed
		map[Shift] = Level2;
		map[M1] = Level2; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
	};

	replace type "ALPHABETIC" {
		modifiers = Lock; // Changed
		map[None] = Level2; // Changed
		map[Lock] = Level1; // Changed
		level_name[Level1] = "Base";
		level_name[Level2] = "Caps";
	};

	replace type "KEYPAD" {
		modifiers = Shift+NumLock;
		map[None] = Level1;
		map[Shift] = Level2; // Changed
		map[NumLock] = Level2;
		map[Shift+NumLock] = Level1;
		level_name[Level1] = "Base";
		level_name[Level2] = "Number";
	};

	// Unchanged
	replace type "FOUR_LEVEL" {
		modifiers = Shift+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	replace type "FOUR_LEVEL_ALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level4;
		map[Lock+Shift+LevelThree] =  Level3;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	replace type "FOUR_LEVEL_SEMIALPHABETIC" {
		modifiers = Shift+Lock+LevelThree;
		map[None] = Level1;
		map[Shift] = Level2;
		map[Lock]  = Level2;
		map[LevelThree] = Level3;
		map[Shift+LevelThree] = Level4;
		map[Lock+LevelThree] =  Level3;
		map[Lock+Shift+LevelThree] = Level4;
		preserve[Lock+LevelThree] = Lock;
		preserve[Lock+Shift+LevelThree] = Lock;
		level_name[Level1] = "Base";
		level_name[Level2] = "Shift";
		level_name[Level3] = "Alt Base";
		level_name[Level4] = "Shift Alt";
	};

	replace type "XXX" {
		modifiers = Shift+Lock+LevelThree;
	    map[None]       = 1;
	    map[Shift]      = 2;
	    // map[Lock]       = 2;    // Changed
	    // map[LevelThree] = 3;
	    map[LevelThree] = 1;       // Changed
	    map[Shift+LevelThree] = 4; // Changed
	    level_name[1] = "A"; // Changed
	    level_name[2] = "2";
	    level_name[3] = "3";
	    level_name[4] = "4"; // Changed
	};

	// New
	replace type "YYY" {
		modifiers = None;
		map[None] = Level1;
		level_name[Level1]= "New";
	};
};
