</set>
       <cond>
         <list>
-          <or>
+          <logior>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E31</integer>
             </eq>
-            <and>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0E34</integer>
                 <varref vname="arg2"/>
                 <integer>0x0E3A</integer>
               </le>
-            </and>
+            </logand>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E4E</integer>
             </eq>
-          </or>
+          </logior>
           <cond>
             <list>
-              <or>
-                <and>
+              <logior>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E01</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E23</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E25</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E27</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E2E</integer>
                   </le>
-                </and>
-              </or>
+                </logand>
+              </logior>
               <set vname="ret">
                 <integer>1</integer>
               </set>
           </cond>
         </list>
         <list>
-          <and>
+          <logand>
             <ge>
               <varref vname="arg2"/>
               <integer>0x0E48</integer>
               <varref vname="arg2"/>
               <integer>0x0E4B</integer>
             </le>
-          </and>
+          </logand>
           <cond>
             <list>
-              <or>
-                <and>
+              <logior>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E01</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E23</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E25</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E27</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E2E</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E31</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E34</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E39</integer>
                   </le>
-                </and>
-              </or>
+                </logand>
+              </logior>
               <set vname="ret">
                 <integer>1</integer>
               </set>
           </cond>
         </list>
         <list>
-          <and>
+          <logand>
             <ge>
               <varref vname="arg2"/>
               <integer>0x0E4C</integer>
               <varref vname="arg2"/>
               <integer>0x0E4D</integer>
             </le>
-          </and>
+          </logand>
           <cond>
             <list>
-              <or>
-                <and>
+              <logior>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E01</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E23</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E25</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E27</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E2E</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E38</integer>
                   <varref vname="arg1"/>
                   <integer>0x0E34</integer>
                 </eq>
-              </or>
+              </logior>
               <set vname="ret">
                 <integer>1</integer>
               </set>
           </eq>
           <cond>
             <list>
-              <or>
-                <and>
+              <logior>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E01</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E23</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E25</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E27</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E2E</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E35</integer>
                   <varref vname="arg1"/>
                   <integer>0x0E37</integer>
                 </eq>
-              </or>
+              </logior>
               <set vname="ret">
                 <integer>1</integer>
               </set>
       </set>
       <cond>
         <list>
-          <or>
+          <logior>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E31</integer>
             </eq>
-            <and>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0E34</integer>
                 <varref vname="arg2"/>
                 <integer>0x0E3A</integer>
               </le>
-            </and>
-            <and>
+            </logand>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0E47</integer>
                 <varref vname="arg2"/>
                 <integer>0x0E4E</integer>
               </le>
-            </and>
-          </or>
+            </logand>
+          </logior>
           <set vname="ret">
             <integer>0</integer>
           </set>
       </set>
       <cond>
         <list>
-          <or>
+          <logior>
             <le>
               <varref vname="arg2"/>
               <integer>0x001F</integer>
             </le>
-            <and>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0080</integer>
                 <varref vname="arg2"/>
                 <integer>0x009F</integer>
               </le>
-            </and>
-            <and>
+            </logand>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0E01</integer>
                 <varref vname="arg2"/>
                 <integer>0x0E23</integer>
               </le>
-            </and>
+            </logand>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E25</integer>
             </eq>
-            <and>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0E27</integer>
                 <varref vname="arg2"/>
                 <integer>0x0E2E</integer>
               </le>
-            </and>
-          </or>
+            </logand>
+          </logior>
           <set vname="ret">
             <integer>1</integer>
           </set>
         </list>
         <list>
-          <or>
-            <and>
+          <logior>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0020</integer>
                 <varref vname="arg2"/>
                 <integer>0x007E</integer>
               </le>
-            </and>
-            <and>
+            </logand>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x00A0</integer>
                 <varref vname="arg2"/>
                 <integer>0x0E00</integer>
               </le>
-            </and>
+            </logand>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E2F</integer>
             </eq>
-            <and>
+            <logand>
               <ge>
                 <varref vname="arg2"/>
                 <integer>0x0E3F</integer>
                 <varref vname="arg2"/>
                 <integer>0x0E44</integer>
               </le>
-            </and>
+            </logand>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E46</integer>
               <varref vname="arg2"/>
               <integer>0x0E4E</integer>
             </gt>
-          </or>
+          </logior>
           <cond>
             <list>
-              <or>
+              <logior>
                 <lt>
                   <varref vname="arg1"/>
                   <integer>0x0E40</integer>
                   <varref vname="arg1"/>
                   <integer>0x0E44</integer>
                 </gt>
-              </or>
+              </logior>
               <set vname="ret">
                 <integer>1</integer>
               </set>
           </cond>
         </list>
         <list>
-          <or>
+          <logior>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E30</integer>
               <varref vname="arg2"/>
               <integer>0x0E33</integer>
             </eq>
-          </or>
+          </logior>
           <cond>
             <list>
-              <or>
-                <and>
+              <logior>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E01</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E23</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E25</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E27</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E2E</integer>
                   </le>
-                </and>
+                </logand>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E30</integer>
                   <varref vname="arg1"/>
                   <integer>0x0E38</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E48</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E4B</integer>
                   </le>
-                </and>
-              </or>
+                </logand>
+              </logior>
               <set vname="ret">
                 <integer>1</integer>
               </set>
           </eq>
           <cond>
             <list>
-              <or>
+              <logior>
                 <eq>
                   <varref vname="arg1"/>
                   <integer>0x0E24</integer>
                   <varref vname="arg1"/>
                   <integer>0x0E26</integer>
                 </eq>
-                <and>
+                <logand>
                   <ge>
                     <varref vname="arg1"/>
                     <integer>0x0E48</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E4B</integer>
                   </le>
-                </and>
-              </or>
+                </logand>
+              </logior>
               <set vname="ret">
                 <integer>1</integer>
               </set>
           </cond>
         </list>
         <list>
-          <or>
+          <logior>
             <eq>
               <varref vname="arg2"/>
               <integer>0x0E24</integer>
               <varref vname="arg2"/>
               <integer>0x0E26</integer>
             </eq>
-          </or>
+          </logior>
           <cond>
             <list>
-              <and>
-                <or>
+              <logand>
+                <logior>
                   <lt>
                     <varref vname="arg1"/>
                     <integer>0x0E40</integer>
                     <varref vname="arg1"/>
                     <integer>0x0E44</integer>
                   </gt>
-                </or>
+                </logior>
                 <not>
                   <eq>
                     <varref vname="arg1"/>
                     <integer>0x0E26</integer>
                   </eq>
                 </not>
-              </and>
+              </logand>
               <set vname="ret">
                 <integer>1</integer>
               </set>
     <state sname="state-init">
       <branch mname="map-map">
         <delete>
-          <marker>@first</marker>
+          <marker>@<</marker>
         </delete>
         <pushback>
           <integer>1</integer>
                             </insert>
                           </list>
                           <list>
-                            <and>
-                              <or>
+                            <logand>
+                              <logior>
                                 <eq>
                                   <varref vname="y"/>
                                   <integer>0x0E30</integer>
                                   <varref vname="y"/>
                                   <integer>0x0E33</integer>
                                 </eq>
-                              </or>
+                              </logior>
                               <ge>
                                 <varref vname="z"/>
                                 <integer>0x0E48</integer>
                                 <varref vname="z"/>
                                 <integer>0x0E4B</integer>
                               </le>
-                            </and>
+                            </logand>
                             <delete>
                               <marker>@-2</marker>
                             </delete>
                     <funcall fname="macro-ac"/>
                     <cond>
                       <list>
-                        <and>
+                        <logand>
                           <eq>
                             <varref vname="ret"/>
                             <integer>1</integer>
                           </eq>
-                          <and>
+                          <logand>
                             <ge>
                               <varref vname="y"/>
                               <integer>0x0E01</integer>
                               <varref vname="y"/>
                               <integer>0x0E5B</integer>
                             </le>
-                          </and>
-                          <and>
+                          </logand>
+                          <logand>
                             <ge>
                               <varref vname="z"/>
                               <integer>0x0E01</integer>
                               <varref vname="z"/>
                               <integer>0x0E5B</integer>
                             </le>
-                          </and>
-                        </and>
+                          </logand>
+                        </logand>
                         <delete>
                           <marker>@-2</marker>
                         </delete>
             <commit/>
           </list>
           <list>
-            <or>
-              <and>
+            <logior>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0000</integer>
                   <varref vname="w"/>
                   <integer>0x0E00</integer>
                 </le>
-              </and>
+              </logand>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E2F</integer>
                 <varref vname="w"/>
                 <integer>0x0E4F</integer>
               </ge>
-            </or>
+            </logior>
             <commit/>
           </list>
           <list>
-            <or>
-              <and>
+            <logior>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0E01</integer>
                   <varref vname="w"/>
                   <integer>0x0E23</integer>
                 </le>
-              </and>
+              </logand>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E25</integer>
               </eq>
-              <and>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0E27</integer>
                   <varref vname="w"/>
                   <integer>0x0E2E</integer>
                 </le>
-              </and>
-            </or>
+              </logand>
+            </logior>
             <cond>
               <list>
-                <or>
+                <logior>
                   <eq>
                     <char-at>
                       <marker>@-2</marker>
                     </char-at>
                     <integer>0x0E26</integer>
                   </eq>
-                </or>
+                </logior>
               </list>
               <list>
                 <integer>1</integer>
             </cond>
           </list>
           <list>
-            <or>
-              <and>
+            <logior>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0E40</integer>
                   <varref vname="w"/>
                   <integer>0x0E45</integer>
                 </le>
-              </and>
+              </logand>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E24</integer>
                 <varref vname="w"/>
                 <integer>0x0E26</integer>
               </eq>
-            </or>
+            </logior>
             <delete>
               <marker>@-1</marker>
             </delete>
             </insert>
           </list>
           <list>
-            <or>
+            <logior>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E30</integer>
                 <varref vname="w"/>
                 <integer>0x0E32</integer>
               </eq>
-            </or>
+            </logior>
             <delete>
               <marker>@-1</marker>
             </delete>
             </set>
             <cond>
               <list>
-                <or>
-                  <and>
+                <logior>
+                  <logand>
                     <ge>
                       <varref vname="v"/>
                       <integer>0x0E01</integer>
                       <varref vname="v"/>
                       <integer>0x0E23</integer>
                     </le>
-                  </and>
+                  </logand>
                   <eq>
                     <varref vname="v"/>
                     <integer>0x0E25</integer>
                   </eq>
-                  <and>
+                  <logand>
                     <ge>
                       <varref vname="v"/>
                       <integer>0x0E27</integer>
                       <varref vname="v"/>
                       <integer>0x0E2E</integer>
                     </le>
-                  </and>
-                </or>
+                  </logand>
+                </logior>
                 <delete>
                   <marker>@-1</marker>
                 </delete>
       </branch>
     </state>
   </state-list>
-</input-method>
\ No newline at end of file
+</input-method>
 
         <language>th</language>
         <name>kesmanee</name>
       </tags>
-      <part>macro</part>
+      <section>macro</section>
     </xi:include>
   </macro-list>
   <map-list>
     <state sname="state-init">
       <branch mname="map-map">
         <delete>
-          <marker>@first</marker>
+          <marker>@<</marker>
         </delete>
         <pushback>
           <integer>1</integer>
                             </insert>
                           </list>
                           <list>
-                            <and>
-                              <or>
+                            <logand>
+                              <logior>
                                 <eq>
                                   <varref vname="y"/>
                                   <integer>0x0E30</integer>
                                   <varref vname="y"/>
                                   <integer>0x0E33</integer>
                                 </eq>
-                              </or>
+                              </logior>
                               <ge>
                                 <varref vname="z"/>
                                 <integer>0x0E48</integer>
                                 <varref vname="z"/>
                                 <integer>0x0E4B</integer>
                               </le>
-                            </and>
+                            </logand>
                             <delete>
                               <marker>@-2</marker>
                             </delete>
                     <funcall fname="macro-ac"/>
                     <cond>
                       <list>
-                        <and>
+                        <logand>
                           <eq>
                             <varref vname="ret"/>
                             <integer>1</integer>
                           </eq>
-                          <and>
+                          <logand>
                             <ge>
                               <varref vname="y"/>
                               <integer>0x0E01</integer>
                               <varref vname="y"/>
                               <integer>0x0E5B</integer>
                             </le>
-                          </and>
-                          <and>
+                          </logand>
+                          <logand>
                             <ge>
                               <varref vname="z"/>
                               <integer>0x0E01</integer>
                               <varref vname="z"/>
                               <integer>0x0E5B</integer>
                             </le>
-                          </and>
-                        </and>
+                          </logand>
+                        </logand>
                         <delete>
                           <marker>@-2</marker>
                         </delete>
             <commit/>
           </list>
           <list>
-            <or>
-              <and>
+            <logior>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0000</integer>
                   <varref vname="w"/>
                   <integer>0x0E00</integer>
                 </le>
-              </and>
+              </logand>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E2F</integer>
                 <varref vname="w"/>
                 <integer>0x0E4F</integer>
               </ge>
-            </or>
+            </logior>
             <commit/>
           </list>
           <list>
-            <or>
-              <and>
+            <logior>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0E01</integer>
                   <varref vname="w"/>
                   <integer>0x0E23</integer>
                 </le>
-              </and>
+              </logand>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E25</integer>
               </eq>
-              <and>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0E27</integer>
                   <varref vname="w"/>
                   <integer>0x0E2E</integer>
                 </le>
-              </and>
-            </or>
+              </logand>
+            </logior>
             <cond>
               <list>
-                <or>
+                <logior>
                   <eq>
                     <char-at>
                       <marker>@-2</marker>
                     </char-at>
                     <integer>0x0E26</integer>
                   </eq>
-                </or>
+                </logior>
               </list>
               <list>
                 <integer>1</integer>
             </cond>
           </list>
           <list>
-            <or>
-              <and>
+            <logior>
+              <logand>
                 <ge>
                   <varref vname="w"/>
                   <integer>0x0E40</integer>
                   <varref vname="w"/>
                   <integer>0x0E45</integer>
                 </le>
-              </and>
+              </logand>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E24</integer>
                 <varref vname="w"/>
                 <integer>0x0E26</integer>
               </eq>
-            </or>
+            </logior>
             <delete>
               <marker>@-1</marker>
             </delete>
             </insert>
           </list>
           <list>
-            <or>
+            <logior>
               <eq>
                 <varref vname="w"/>
                 <integer>0x0E30</integer>
                 <varref vname="w"/>
                 <integer>0x0E32</integer>
               </eq>
-            </or>
+            </logior>
             <delete>
               <marker>@-1</marker>
             </delete>
             </set>
             <cond>
               <list>
-                <or>
-                  <and>
+                <logior>
+                  <logand>
                     <ge>
                       <varref vname="v"/>
                       <integer>0x0E01</integer>
                       <varref vname="v"/>
                       <integer>0x0E23</integer>
                     </le>
-                  </and>
+                  </logand>
                   <eq>
                     <varref vname="v"/>
                     <integer>0x0E25</integer>
                   </eq>
-                  <and>
+                  <logand>
                     <ge>
                       <varref vname="v"/>
                       <integer>0x0E27</integer>
                       <varref vname="v"/>
                       <integer>0x0E2E</integer>
                     </le>
-                  </and>
-                </or>
+                  </logand>
+                </logior>
                 <delete>
                   <marker>@-1</marker>
                 </delete>
       </branch>
     </state>
   </state-list>
-</input-method>
\ No newline at end of file
+</input-method>