{"id":174657,"date":"2013-05-31T07:00:03","date_gmt":"2013-05-31T03:00:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=174657"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=174657","title":{"rendered":"<span class=\"post_title\">Bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0432 Cach\u00e9 \u043d\u0430 \u0433\u043b\u043e\u0431\u0430\u043b\u0430\u0445<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0412 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 Cach\u00e9 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f bitmap- \u0438 bitslice-\u0438\u043d\u0434\u0435\u043a\u0441\u044b. \u0418\u0445 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 Cach\u00e9: \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0438\u0437\u043d\u0430\u043a <a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GSQL_indices#GSQL_indices_bitmap\">Bitmap<\/a> \u0438\u043b\u0438 <a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GSTD_Indices#GSTD_index_type\">Bitslice<\/a>, \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e. \u041d\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?<br \/>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c bitmap-\u0438\u043d\u0434\u0435\u043a\u0441 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u043e\u0432, \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u0438 \u043a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438 NoSQL \u0440\u0430\u0431\u043e\u0442\u0435 \u0432 Cach\u00e9.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0415\u0449\u0451 \u0441 \u0434\u043e\u043e\u0431\u044a\u0435\u043a\u0442\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0451\u043d \u043f\u0440\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u0430\u0445 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0440\u043e\u0438\u043b\u0438\u0441\u044c \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0432\u0438\u0434\u0430<\/p>\n<p>  <font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#000000\">^Index(<\/font><font color=\"#008000\">&quot;Property&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">)=<\/font><font color=\"#008000\">&quot;&quot;<\/font><\/p>\n<p>  \u0422\u0430\u043a\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043b\u0435\u0433\u043a\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:<\/p>\n<p>  <font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(^Index(<\/font><font color=\"#008000\">&quot;Property&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">,!<\/font><\/p>\n<p>  \u0432\u044b\u0434\u0430\u0441\u0442 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0443 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u00abProperty\u00bb \u0440\u0430\u0432\u043d\u043e value, \u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0434\u0430:<\/p>\n<p>  <font color=\"#0000ff\">if&nbsp;$data<\/font><font color=\"#000000\">(^Index(<\/font><font color=\"#008000\">&quot;Property&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">))&gt;1&nbsp;<\/font><font color=\"#800080\">{<br \/>  <\/font>&nbsp;&nbsp;<font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#008000\">&quot;id&nbsp;&quot;<\/font><font color=\"#000000\">_<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(^Index(<\/font><font color=\"#008000\">&quot;Property&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">))_<\/font><font color=\"#008000\">&quot;&nbsp;with&nbsp;&quot;&nbsp;<\/font><font color=\"#000000\">_<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">_<\/font><font color=\"#008000\">&quot;&nbsp;exists&quot;&nbsp;<\/font><font color=\"#800080\">}<br \/>  <\/font><font color=\"#0000ff\">else&nbsp;<\/font><font color=\"#800080\">{<br \/>  <\/font>&nbsp;&nbsp;<font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#008000\">&quot;records&nbsp;with&nbsp;&quot;<\/font><font color=\"#000000\">_<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">_<\/font><font color=\"#008000\">&quot;&nbsp;do&nbsp;not&nbsp;exist&quot;&nbsp;<\/font><font color=\"#800080\">}<\/font><\/p>\n<p>  \u041d\u0435\u0442\u0440\u0443\u0434\u043d\u043e \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0434\u043b\u044f \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u043e\u0438\u0441\u043a\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0449\u0438\u0445 \u0441\u0440\u0430\u0437\u0443 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u044b\u043c \u043b\u043e\u0433\u0438\u043a\u043e\u0439 \u00ab\u0418\u00bb. \u041d\u043e \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u043b\u0438\u0431\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c (\u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c) \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c, \u043b\u0438\u0431\u043e \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u0430 \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u0431\u0430\u0437\u0435.<\/p>\n<p>  \u0420\u0435\u0432\u043e\u043b\u044e\u0446\u0438\u043e\u043d\u043d\u044b\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435\u043c \u0441\u0442\u0430\u043b\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0432 Cach\u00e9 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0445 <a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GGBL_sqlobj#GGBL_sqlobj_bitmap\">\u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439<\/a>: <b>$bit<\/b>(), <b>$bitlogic<\/b>(), <b>$bitfind<\/b>() \u0438 <b>$bitcount<\/b>(). \u041f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0440\u043e\u0438\u0442\u044c bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u0432 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2014 \u0432\u0438\u0434\u0430<\/p>\n<p>  <font color=\"#0000ff\">set&nbsp;$bit<\/font><font color=\"#000000\">(^Index(<\/font><font color=\"#008000\">&quot;Property&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">)=1<\/font><\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0434\u043b\u0438\u043d\u0430 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0430 256K, \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 bitmap-\u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0442\u044c \u043d\u0435 \u0432 \u043e\u0434\u043d\u043e\u0439 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435, \u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435.<br \/>  \u0424\u0443\u043d\u043a\u0446\u0438\u0438 $bitlogic() \u0434\u0430\u044e\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043b\u0435\u0433\u043a\u043e \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 bitmap-\u0438\u043d\u0434\u0435\u043a\u0441, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0449\u0438\u0445 \u043b\u044e\u0431\u043e\u043c\u0443, \u0441\u043a\u043e\u043b\u044c \u0443\u0433\u043e\u0434\u043d\u043e \u0437\u0430\u043a\u043e\u0432\u044b\u0440\u0438\u0441\u0442\u043e\u043c\u0443 \u0437\u0430\u043f\u0440\u043e\u0441\u0443, $bitcount() \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439, \u0432\u043e\u0448\u0435\u0434\u0448\u0438\u0445 \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0443, \u0430 $bitfind() \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0443\u0434\u043e\u0431\u043d\u0443\u044e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e \u043f\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0432\u044b\u0431\u043e\u0440\u043a\u0435.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u201cPr1\u201d \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u201cA\u201d \u0438\u043b\u0438 \u201cB\u201d, \u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u00abPr2\u00bb \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abC\u00bb:<\/p>\n<p>  <font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#000000\">^mtemp.resbitmap=<\/font><font color=\"#0000ff\">$bitlogic<\/font><font color=\"#000000\">(^Index(<\/font><font color=\"#008000\">&quot;Pr1&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;A&quot;<\/font><font color=\"#000000\">)|^Index(<\/font><font color=\"#008000\">&quot;Pr1&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;B&quot;<\/font><font color=\"#000000\">))<br \/>  <\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#000000\">^mtemp.resbitmap=<\/font><font color=\"#0000ff\">$bitlogic<\/font><font color=\"#000000\">(^mtemp.resbitmap&amp;^Index(<\/font><font color=\"#008000\">&quot;Pr2&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;C&quot;<\/font><font color=\"#000000\">))<\/font><\/p>\n<p>  \u0438 \u0432\u044b\u0434\u0430\u0442\u044c \u0438\u0445 id:<\/p>\n<p>  <font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#000000\">&#8216;<\/font><font color=\"#0000ff\">$bitcount<\/font><font color=\"#000000\">(^mtemp.resbitmap)&nbsp;<\/font><font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#008000\">&quot;No&nbsp;records&nbsp;found&quot;<\/font><font color=\"#000000\">,!<br \/>  <\/font><font color=\"#0000ff\">else&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">=0&nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$bitfind<\/font><font color=\"#000000\">(^mtemp.resbitmap,1,<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:&#8217;<\/font><font color=\"#800000\">id&nbsp;&nbsp;<\/font><font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">,!<\/font><\/p>\n<p>  \u042d\u0442\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0451, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0436\u0430\u0442\u044c \u0438\u0437 \u0431\u0438\u0442\u043e\u0432\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 Cach\u00e9. \u0414\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 (\u0441\u0443\u043c\u043c\u044b, \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e, \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430, \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430) \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u0432 \u0446\u0438\u043a\u043b\u0435 \u043f\u0435\u0440\u0435\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438, \u0432\u043e\u0448\u0435\u0434\u0448\u0438\u0435 \u0432 \u0432\u044b\u0431\u043e\u0440\u043a\u0443, \u0447\u0442\u043e \u043f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043e\u0431\u044a\u0451\u043c\u0435 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0431\u044b\u043b\u043e \u043d\u0435 \u0431\u044b\u0441\u0442\u0440\u043e. \u041d\u043e \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u043a\u043e\u0440\u044f\u0435\u0442 \u0438 \u044d\u0442\u0443 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0443 \u2014 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u0438\u043b\u0438 \u0441 \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439.<br \/>  \u0421\u0443\u0442\u044c \u044d\u0442\u043e\u0439 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u2014 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0431\u0438\u0442\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430. \u0422\u0430\u043a\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441\u0430\u043c\u0438 (bit-slices):<\/p>\n<p>  <font color=\"#0000ff\">set&nbsp;$bit<\/font><font color=\"#000000\">(^Index(<\/font><font color=\"#008000\">&quot;Property&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">N<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">id<\/font><font color=\"#000000\">)=<\/font><font color=\"#800000\">NthBitOfValue<\/font><\/p>\n<p>  \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043e\u043f\u044f\u0442\u044c \u0436\u0435, \u0432\u043c\u0435\u0441\u0442\u043e \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0430\u0441\u0441\u0438\u0432.<br \/>  \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 bitslices \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442\u0441\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0438\u0441\u043a \u043f\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c \u00ab\u0431\u043e\u043b\u044c\u0448\u0435\u00bb \u0438\u043b\u0438 \u00ab\u043c\u0435\u043d\u044c\u0448\u0435\u00bb, \u043d\u043e \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0432\u0435\u0448\u0438\u0432\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u043e\u0435 \u043d\u0435\u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e. \u0412 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0441\u0443\u043c\u043c\u044b \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043b\u044f \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0443\u0436\u0435 \u043d\u0435 \u043d\u0443\u0436\u0435\u043d \u0446\u0438\u043a\u043b \u043f\u043e \u0437\u0430\u043f\u0438\u0441\u044f\u043c. \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0438\u0448\u044c \u043f\u0440\u043e\u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u0432\u0435\u0441\u0430\u043c\u0438 $bitcount() \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u043c bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0431\u0438\u0442\u043e\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430. \u041f\u0440\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u043e\u0431\u044a\u0451\u043c\u0435 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0432\u044b\u0438\u0433\u0440\u044b\u0448 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0431\u0435\u0437 \u043f\u0440\u0435\u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u043f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0438\u043c.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u043a\u043b\u0430\u0441\u0441\u0430<\/b><\/p>\n<div class=\"spoiler_text\"><font color=\"#000080\">\/\/\/&nbsp;\u041d\u0430\u0431\u043e\u0440&nbsp;\u043c\u0435\u0442\u043e\u0434\u043e\u0432&nbsp;\u0434\u043b\u044f&nbsp;\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f&nbsp;\u0438&nbsp;\u0440\u0430\u0431\u043e\u0442\u044b&nbsp;\u0441&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f&nbsp;\u0438&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430\u043c\u0438<br \/>  \/\/\/&nbsp;<br \/>  \/\/\/&nbsp;\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430&nbsp;bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u0430<br \/>  \/\/\/&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;\u0432\u0438\u0434\u0430&nbsp;array(value),&nbsp;\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b&nbsp;\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e&nbsp;&#8212;<br \/>  \/\/\/&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0435&nbsp;\u0441\u0442\u0440\u043e\u043a\u0438&nbsp;\u0441&nbsp;1&nbsp;\u0432&nbsp;\u043f\u043e\u0437\u0438\u0446\u0438\u044f\u0445,&nbsp;\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445&nbsp;\u043d\u043e\u043c\u0435\u0440\u0430\u043c&nbsp;\u0437\u0430\u043f\u0438\u0441\u0435\u0439,<br \/>  \/\/\/&nbsp;\u0434\u043b\u044f&nbsp;\u043a\u043e\u0442\u043e\u0440\u044b\u0445&nbsp;\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0439&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440&nbsp;\u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;value,<br \/>  \/\/\/&nbsp;\u0440\u0430\u0437\u0431\u0438\u0442\u0430\u044f&nbsp;\u043d\u0430&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;\u0438\u0437&nbsp;\u0441\u0442\u0440\u043e\u043a&nbsp;\u0441&nbsp;\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439&nbsp;\u0434\u043b\u0438\u043d\u043e\u0439&nbsp;$$$MAXBITLENGTH<br \/>  \/\/\/&nbsp;\u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u044f&nbsp;\u0437\u0430\u043f\u0438\u0441\u0435\u0439&nbsp;&#8212;&nbsp;\u0441&nbsp;1,&nbsp;\u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432\u0430&nbsp;&#8212;&nbsp;\u0441&nbsp;0,<br \/>  \/\/\/&nbsp;(\u0434\u0430\u043b\u0435\u0435,&nbsp;\u0434\u043b\u044f&nbsp;\u043a\u0440\u0430\u0442\u043a\u043e\u0441\u0442\u0438&nbsp;&#8212;&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0435&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432\u044b).<br \/>  \/\/\/&nbsp;\u043f\u0440\u0438\u043c\u0435\u0440&nbsp;\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f<br \/>  \/\/\/&nbsp;\u043f\u0443\u0441\u0442\u044c&nbsp;\u0443&nbsp;\u0437\u0430\u043f\u0438\u0441\u0438&nbsp;\u043d\u043e\u043c\u0435\u0440&nbsp;idfact&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440&nbsp;par&nbsp;\u0438\u043c\u0435\u0435\u0442&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;val<br \/>  \/\/\/&nbsp;set&nbsp;idf0=idfact-1\\$$$MAXBITLENGTH,idf1=idfact-1#$$$MAXBITLENGTH+1<br \/>  \/\/\/&nbsp;set&nbsp;$bit(^BM(&quot;I&quot;,par,val,idf0),idf1)=1<br \/>  \/\/\/&nbsp;set&nbsp;$bit(^BM(&quot;EXIST&quot;,idf0),idf1)=1<br \/>  \/\/\/&nbsp;\u0438\u043d\u0434\u0435\u043a\u0441&nbsp;\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445&nbsp;\u0437\u0430\u043f\u0438\u0441\u0435\u0439&nbsp;\u043f\u043e\u043b\u0435\u0437\u0435\u043d,&nbsp;\u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445,&nbsp;\u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443<br \/>  \/\/\/&nbsp;\u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442&nbsp;\u043b\u0435\u0433\u043a\u043e&nbsp;\u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c&nbsp;\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435&nbsp;\u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435,&nbsp;\u0430&nbsp;\u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445,<br \/>  \/\/\/&nbsp;\u0434\u0430\u0451\u0442&nbsp;\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c&nbsp;\u043d\u0430\u0439\u0442\u0438&nbsp;\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e&nbsp;\u0437\u0430\u043f\u0438\u0441\u0435\u0439&nbsp;\u0432&nbsp;\u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435&nbsp;\u0431\u0435\u0437<br \/>  \/\/\/&nbsp;\u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f&nbsp;\u043a&nbsp;\u0434\u0440\u0443\u0433\u0438\u043c&nbsp;\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c,&nbsp;\u0447\u0442\u043e&nbsp;\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e&nbsp;\u0434\u043b\u044f&nbsp;\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439<br \/>  \/\/\/&nbsp;\u0440\u0430\u0431\u043e\u0442\u044b&nbsp;\u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b&nbsp;BMNot&nbsp;(\u0441\u043c.&nbsp;\u043d\u0438\u0436\u0435)<br \/>  \/\/\/&nbsp;\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430:<br \/>  \/\/\/&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432.&nbsp;1-\u0439&nbsp;\u044d\u043b\u0435\u043c\u0435\u043d\u0442&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432\u0430&nbsp;&#8212;&nbsp;\u0438\u043d\u0434\u0435\u043a\u0441&nbsp;\u0437\u043d\u0430\u043a\u043e\u0432<br \/>  \/\/\/&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439,&nbsp;2-\u0439&nbsp;&#8212;&nbsp;\u0438\u043d\u0434\u0435\u043a\u0441&nbsp;\u043c\u043b\u0430\u0434\u0448\u0435\u0433\u043e&nbsp;\u0431\u0438\u0442\u0430&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439&nbsp;(1\/0),&nbsp;3-\u0439&nbsp;&#8212;<br \/>  \/\/\/&nbsp;\u0438\u043d\u0434\u0435\u043a\u0441&nbsp;\u043f\u0440\u0435\u0434\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e&nbsp;\u0431\u0438\u0442\u0430&nbsp;(2\/0),&nbsp;\u0438&nbsp;\u0442.\u0434.<br \/>  \/\/\/&nbsp;<br \/>  \/\/\/&nbsp;\u043f\u0440\u0438\u043c\u0435\u0440&nbsp;\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f<br \/>  \/\/\/&nbsp;\u043f\u0443\u0441\u0442\u044c&nbsp;\u0443&nbsp;\u0437\u0430\u043f\u0438\u0441\u0438&nbsp;\u043d\u043e\u043c\u0435\u0440&nbsp;idfact&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440&nbsp;par&nbsp;\u0438\u043c\u0435\u0435\u0442&nbsp;\u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435<br \/>  \/\/\/&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;val<br \/>  \/\/\/&nbsp;set&nbsp;idf0=idfact-1\\$$$MAXBITLENGTH,idf1=idfact-1#$$$MAXBITLENGTH+1<br \/>  \/\/\/&nbsp;set&nbsp;val=$$CvtToBin(val)<br \/>  \/\/\/&nbsp;for&nbsp;ix=1:1:$length(val)&nbsp;set:$extract(val,ix)&nbsp;$bit(^BM(&quot;S&quot;,par,ix,idf0),idf1)=1<br \/>  \/\/\/&nbsp;\u043f\u0440\u0438&nbsp;\u043c\u0430\u0441\u0441\u043e\u0432\u043e\u043c&nbsp;\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438,&nbsp;\u0432\u043e&nbsp;\u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435&nbsp;\u043a\u0430\u0442\u0430\u0441\u0442\u0440\u043e\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e&nbsp;\u043f\u0430\u0434\u0435\u043d\u0438\u044f<br \/>  \/\/\/&nbsp;\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438,&nbsp;\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f&nbsp;\u043e\u0431\u043b\u043e\u0436\u0438\u0442\u044c&nbsp;\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439&nbsp;\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442<br \/>  \/\/\/&nbsp;\u043a\u043e\u0434\u0430&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438&nbsp;$sortbegin(^BM)&nbsp;\u0438&nbsp;$sortend(^BM)<br \/>  \/\/\/&nbsp;\u0434\u043b\u044f&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0438&nbsp;\u0444\u0430\u043a\u0442\u043e\u0432&nbsp;\u043f\u043e&nbsp;\u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c&nbsp;\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u043c&nbsp;\u0438&nbsp;\u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f&nbsp;\u043f\u043e&nbsp;\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c<br \/>  \/\/\/&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0430\u043c&nbsp;\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0449\u0438\u0445&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u0439&nbsp;&quot;\u0441\u0443\u043c\u043c\u0430&quot;,&nbsp;&quot;\u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c&quot;&nbsp;\u0438&nbsp;&quot;\u043c\u0438\u043d\u0438\u043c\u0443\u043c&quot;<br \/>  \/\/\/&nbsp;\u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u044b&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u0438&nbsp;BSSum(),&nbsp;BSMax()&nbsp;\u0438&nbsp;BSMin()<br \/>  Class&nbsp;User.BitMapSlice&nbsp;Extends&nbsp;%RegisteredObject&nbsp;<\/font><font color=\"#000000\">[&nbsp;<\/font><font color=\"#000080\">ProcedureBlock&nbsp;<\/font><font color=\"#000000\">]<br \/>  {<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;Name&nbsp;($na)&nbsp;of&nbsp;global&nbsp;where&nbsp;to&nbsp;store&nbsp;bitmaps&nbsp;and&nbsp;bitslices<br \/>  \/\/\/&nbsp;Default&nbsp;value&nbsp;is&nbsp;&quot;^BM&quot;<br \/>  Property&nbsp;<\/font><font color=\"#000000\">BMGLOB&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">(<\/font><font color=\"#000080\">TRUNCATE&nbsp;<\/font><font color=\"#000000\">=&nbsp;<\/font><font color=\"#000080\">1<\/font><font color=\"#000000\">)&nbsp;[&nbsp;<\/font><font color=\"#000080\">InitialExpression&nbsp;<\/font><font color=\"#000000\">=&nbsp;<\/font><font color=\"#800080\">&quot;^BM&quot;&nbsp;<\/font><font color=\"#000000\">];<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;Maximal&nbsp;length&nbsp;of&nbsp;$bit&nbsp;string&nbsp;to&nbsp;use<br \/>  Parameter&nbsp;<\/font><font color=\"#000000\">MAXBITLENGTH&nbsp;=&nbsp;<\/font><font color=\"#000080\">64000<\/font><font color=\"#000000\">;<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0421\u043e\u0437\u0434\u0430\u0451\u0442&nbsp;\u0438&nbsp;\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442&nbsp;\u0438\u043c\u044f&nbsp;($na())&nbsp;\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e&nbsp;\u043f\u043e\u0434\u0443\u0437\u043b\u0430&nbsp;\u0433\u043b\u043e\u0431\u0430\u043b\u0430<br \/>  \/\/\/&nbsp;\u0434\u043b\u044f&nbsp;\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f&nbsp;\u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f\u043e\u0432<br \/>  ClassMethod&nbsp;<\/font><font color=\"#000000\">GetNewTMP()&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;$name<\/font><font color=\"#000000\">(^CacheTemp(<\/font><font color=\"#008000\">&quot;BM&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$job<\/font><font color=\"#000000\">_<\/font><font color=\"#0000ff\">$zutil<\/font><font color=\"#000000\">(110),<\/font><font color=\"#0000ff\">$increment<\/font><font color=\"#000000\">(^CacheTemp(<\/font><font color=\"#008000\">&quot;BM&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$job<\/font><font color=\"#000000\">_<\/font><font color=\"#0000ff\">$zutil<\/font><font color=\"#000000\">(110)))))<br \/>  }<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0423\u0434\u0430\u043b\u044f\u0435\u0442&nbsp;\u0432\u0441\u0435&nbsp;\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435&nbsp;\u043f\u043e\u0434\u0443\u0437\u043b\u044b,&nbsp;\u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435&nbsp;\u0434\u0430\u043d\u043d\u044b\u043c&nbsp;\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u043c<br \/>  ClassMethod&nbsp;<\/font><font color=\"#000000\">KillAllTMP()<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">^CacheTemp(<\/font><font color=\"#008000\">&quot;BM&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$job<\/font><font color=\"#000000\">_<\/font><font color=\"#0000ff\">$zutil<\/font><font color=\"#000000\">(110))&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438&nbsp;\u043d\u0430\u0434&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u043c\u0438&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438<br \/>  \/\/\/&nbsp;\u0437\u0434\u0435\u0441\u044c&nbsp;\u0438&nbsp;\u0434\u0430\u043b\u0435\u0435,&nbsp;\u0432&nbsp;\u0446\u0435\u043b\u044f\u0445&nbsp;\u0433\u0438\u0431\u043a\u043e\u0441\u0442\u0438,&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0435&nbsp;\u0438\u043d\u0434\u0435\u043a\u0441\u044b,<br \/>  \/\/\/&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432\u044b&nbsp;\u0438&nbsp;\u0441\u043b\u0430\u0439\u0441\u044b&nbsp;\u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f&nbsp;\u043f\u043e&nbsp;\u0438\u043c\u0435\u043d\u0438&nbsp;($na())<br \/>  \/\/\/&nbsp;<br \/>  \/\/\/&nbsp;\u043d\u0430\u0445\u043e\u0434\u0438\u0442&nbsp;\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e&nbsp;\u0437\u0430&nbsp;pos&nbsp;\u043f\u043e\u0437\u0438\u0446\u0438\u044e&nbsp;\u0441&nbsp;\u0435\u0434\u0438\u043d\u0438\u0447\u043d\u044b\u043c&nbsp;\u0431\u0438\u0442\u043e\u043c<br \/>  \/\/\/&nbsp;\u0432&nbsp;bm&nbsp;&#8212;&nbsp;\u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u043c&nbsp;\u043f\u043e&nbsp;\u0438\u043c\u0435\u043d\u0438&nbsp;\u0431\u0438\u0442\u043e\u0432\u043e\u043c&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432\u0435<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMOrder(<\/font><font color=\"#ff00ff\">bm&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">pos&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">pos<\/font><font color=\"#000000\">\\..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$bitfind<\/font><font color=\"#000000\">(<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">)),1,<\/font><font color=\"#800000\">pos<\/font><font color=\"#000000\">#..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">+1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix&nbsp;sub<\/font><font color=\"#000000\">*..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">+<\/font><font color=\"#800000\">ix<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:&#8217;<\/font><font color=\"#800000\">sub&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$bitfind<\/font><font color=\"#000000\">(<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">)),1)&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix&nbsp;sub<\/font><font color=\"#000000\">*..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">+<\/font><font color=\"#800000\">ix<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;<\/font><font color=\"#008000\">&quot;&quot;<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;bmdest=bmdest&nbsp;&amp;&nbsp;bmsrc<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMAnd(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">bmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">sub1<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#0000ff\">$char<\/font><font color=\"#000000\">(0)),-1),<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#0000ff\">$char<\/font><font color=\"#000000\">(0)),-1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">&lt;<\/font><font color=\"#800000\">sub1&nbsp;sub<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">sub1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=0:1:<\/font><font color=\"#800000\">sub&nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$data<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&amp;<\/font><font color=\"#0000ff\">$data<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)=<\/font><font color=\"#0000ff\">$bitlogic<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)&amp;@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">kill<\/font><font color=\"#000000\">:&#8217;<\/font><font color=\"#0000ff\">$data<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;bmdest=bmdest&nbsp;|&nbsp;bmsrc<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMOr(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">bmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">sub1<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#0000ff\">$char<\/font><font color=\"#000000\">(0)),-1),<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#0000ff\">$char<\/font><font color=\"#000000\">(0)),-1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">&lt;<\/font><font color=\"#800000\">sub1&nbsp;sub<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">sub1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=0:1:<\/font><font color=\"#800000\">sub&nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$data<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)=<\/font><font color=\"#0000ff\">$select<\/font><font color=\"#000000\">(<\/font><font color=\"#0000ff\">$data<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)):<\/font><font color=\"#0000ff\">$bitlogic<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)|@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)),1:@<\/font><font color=\"#800000\">bmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">Method&nbsp;<\/font><font color=\"#000000\">BMNot(<\/font><font color=\"#ff00ff\">bm&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">maxblk<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">),-1),<\/font><font color=\"#800000\">blklen<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$bitcount<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">maxblk<\/font><font color=\"#000000\">))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">maxblk<\/font><font color=\"#000000\">:-1:0&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">blk<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$bitcount<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">blk<\/font><font color=\"#000000\">)&lt;<\/font><font color=\"#800000\">blklen&nbsp;<\/font><font color=\"#0000ff\">$bit<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">blk<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">blklen<\/font><font color=\"#000000\">)=0&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)=<\/font><font color=\"#0000ff\">$bitlogic<\/font><font color=\"#000000\">(~<\/font><font color=\"#800000\">blk<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">blklen<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<br \/>  &nbsp;do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442&nbsp;\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e&nbsp;\u0435\u0434\u0438\u043d\u0438\u0447\u043d\u044b\u0445&nbsp;\u0431\u0438\u0442\u043e\u0432&nbsp;\u0432&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432\u0435<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMCount(<\/font><font color=\"#ff00ff\">bm&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bmcret<\/font><font color=\"#000000\">=0<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">&#8216;=+<\/font><font color=\"#800000\">ix&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">bmcret<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">bmcret<\/font><font color=\"#000000\">+<\/font><font color=\"#0000ff\">$bitcount<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">bm<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">),1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;<\/font><font color=\"#800000\">bmcret<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbmsrc,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val<br \/>  \/\/\/&nbsp;<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMEq(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbmsrc,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u043d\u0435&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMNe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMEq<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbmsrc,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;(\u0441\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f&nbsp;\u0434\u043e)&nbsp;val<br \/>  \/\/\/&nbsp;bmdest:=U(vbmsrc(v):v&lt;val)<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMLt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">val<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">),-1)&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e&nbsp;BMLt()&nbsp;\u043d\u043e&nbsp;&quot;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&quot;<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMLe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">value&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">val<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">),-1)&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e&nbsp;BMLe,&nbsp;\u043d\u043e&nbsp;&quot;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&quot;<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMGe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">val<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e,&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;min&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;max<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMGeLe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">min&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">max&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">min<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">min<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">]]<\/font><font color=\"#800000\">max&nbsp;&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e&nbsp;BMGe(),&nbsp;\u043d\u043e&nbsp;&quot;\u0441\u0442\u0440\u043e\u0433\u043e&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&quot;<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMGt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">val<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e,&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;min&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;max<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMGtLt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">min&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">max&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">min<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">max<\/font><font color=\"#000000\">&#8216;]]<\/font><font color=\"#800000\">ix&nbsp;&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e,&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;min&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;max<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMGeLt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">min&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">max&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">min<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">min<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">max<\/font><font color=\"#000000\">&#8216;]]<\/font><font color=\"#800000\">ix&nbsp;&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e,&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;min&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;max<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BMGtLe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbmsrc&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">min&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">max&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">min<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">))&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">]]<\/font><font color=\"#800000\">max&nbsp;&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbmsrc<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;&nbsp;\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u0438&nbsp;\u043d\u0430\u0434&nbsp;Bit-Sliced&nbsp;\u0434\u0430\u043d\u043d\u044b\u043c\u0438<br \/>  \/\/\/&nbsp;\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442&nbsp;\u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u0432&nbsp;\u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0443\u044e&nbsp;\u0431\u0438\u0442\u043e\u0432\u0443\u044e&nbsp;\u0441\u0442\u0440\u043e\u043a\u0443<br \/>  \/\/\/&nbsp;{sign,1,2,4,&#8230;,2**N}<br \/>  ClassMethod&nbsp;<\/font><font color=\"#000000\">CvtToBin(<\/font><font color=\"#ff00ff\">value&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$fnumber<\/font><font color=\"#000000\">(+<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">,0),<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">=(<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">&lt;0)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;&nbsp;quit<\/font><font color=\"#000000\">:&#8217;<\/font><font color=\"#800000\">value&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">_(<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">#2),<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">\\2<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;<\/font><font color=\"#800000\">res<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u0443\u0435\u0442&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u0441\u043f\u0438\u0441\u043e\u043a&nbsp;$lb(sign,1,2,4,&#8230;2**N)&nbsp;\u0432&nbsp;\u0446\u0435\u043b\u043e\u0435&nbsp;\u0447\u0438\u0441\u043b\u043e<br \/>  ClassMethod&nbsp;<\/font><font color=\"#000000\">CvtFromSlice(<\/font><font color=\"#ff00ff\">slice&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">=0<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">i<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$listlength<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">):-1:2&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">+<\/font><font color=\"#800000\">res&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">+<\/font><font color=\"#0000ff\">$listget<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">i<\/font><font color=\"#000000\">,0)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;$select<\/font><font color=\"#000000\">(<\/font><font color=\"#0000ff\">$listget<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">):-<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">,1:<\/font><font color=\"#800000\">res<\/font><font color=\"#000000\">)<br \/>  }<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0431\u0438\u0442\u044b&nbsp;\u0438\u0437&nbsp;\u043f\u043e\u0437\u0438\u0446\u0438\u0438&nbsp;pos&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441\u0430&nbsp;vbs&nbsp;\u0432&nbsp;\u0441\u043f\u0438\u0441\u043e\u043a&nbsp;($lb())<br \/>  Method&nbsp;<\/font><font color=\"#000000\">GetSlice(<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">pos&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">pos<\/font><font color=\"#000000\">\\..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">pos<\/font><font color=\"#000000\">-1#..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">+1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">i<\/font><font color=\"#000000\">=1:1:<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">),-1)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;$list<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">i<\/font><font color=\"#000000\">)=<\/font><font color=\"#0000ff\">$bit<\/font><font color=\"#000000\">(<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">i<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">sub<\/font><font color=\"#000000\">)),<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;<\/font><font color=\"#800000\">slice<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSEq(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">vbit<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">CvtToBin<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">maxbit<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">),-1)&nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">maxbit<\/font><font color=\"#000000\">&lt;<\/font><font color=\"#0000ff\">$length<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">vbit<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#800000\">maxbit<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$length<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">vbit<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=1:1:<\/font><font color=\"#800000\">maxbit&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do<\/font><font color=\"#000000\">:&#8217;<\/font><font color=\"#0000ff\">$extract<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">vbit<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)&nbsp;..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSGe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSLt<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u043d\u0435&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSNe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSEq<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;val<br \/>  \/\/\/&nbsp;<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSGt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSLe<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u043a&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0440\u0430\u0432\u0435\u043d&nbsp;sign&nbsp;(\u043d\u043e\u043b\u044c&nbsp;\u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f&nbsp;\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c)<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSSign(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">sign&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<br \/>  &nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">),@<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">sign<\/font><font color=\"#000000\">)'&lt;0&nbsp;..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSLe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">tmpLe<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSLtAbs<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSSign<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpLe<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,-1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">&#8216;&lt;0&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpLe<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSEq<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpLe<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpLe<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#000000\">1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">else&nbsp;&nbsp;do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpLe<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpLe&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;val<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSLt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">tmpLt<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSLtAbs<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSSign<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpLt<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,-1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">&#8216;&lt;0&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpLt<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#000000\">1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">ELSE&nbsp;&nbsp;do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpLt<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSNe<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpLt<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpLt<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpLt&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val1&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val2<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSGeLe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val1&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val2&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">tmpGeLe<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSGe<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val1<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSLe<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpGeLe<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val2<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpGeLe<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpGeLe&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442-\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val1&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;val2<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSGeLt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val1&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val2&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">tmpGeLt<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSGe<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val1<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSLt<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpGeLt<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val2<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpGeLt<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpGeLt&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;val1&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;\u0438\u043b\u0438&nbsp;\u0440\u0430\u0432\u043d\u043e&nbsp;val2<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSGtLe(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val1&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val2&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">tmpGtLe<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSGt<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val1<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSLe<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpGtLe<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val2<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpGtLe<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpGtLe&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442-\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u0431\u043e\u043b\u044c\u0448\u0435&nbsp;val1&nbsp;\u0438&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435&nbsp;val2<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSGtLt(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val1&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val2&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">tmpGtLt<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSGt<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val1<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BSLt<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpGtLt<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">val2<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">tmpGtLt<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpGtLt&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043f\u043e\u043c\u0435\u0449\u0430\u0435\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043e\u0432\u044b\u0439&nbsp;\u043c\u0430\u0441\u0441\u0438\u0432&nbsp;bmdest&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0443&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442-\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs,<br \/>  \/\/\/&nbsp;\u0433\u0434\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430&nbsp;\u043f\u043e&nbsp;\u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e\u0439&nbsp;\u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0435&nbsp;\u043c\u0435\u043d\u044c\u0448\u0435,&nbsp;\u0447\u0435\u043c&nbsp;val<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSLtAbs(<\/font><font color=\"#ff00ff\">bmdest&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">val&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">(),<\/font><font color=\"#800000\">test<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">vbit<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">CvtToBin<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">ixmax<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">),-1)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">test&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">test<\/font><font color=\"#000000\">=@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#800000\">ixmax<\/font><font color=\"#000000\">&lt;<\/font><font color=\"#0000ff\">$length<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">vbit<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#800080\">{<br \/>  &nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">test<br \/>  &nbsp;<\/font><font color=\"#800080\">}&nbsp;<\/font><font color=\"#0000ff\">else&nbsp;<\/font><font color=\"#800080\">{<br \/>  &nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">ixmax<\/font><font color=\"#000000\">:-1:2&nbsp;<\/font><font color=\"#800080\">{<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">test<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$extract<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">vbit<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)&nbsp;..<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bmdest<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">test<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;<\/font><font color=\"#800080\">}<br \/>  &nbsp;}<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">test<\/font><font color=\"#000000\">,@<\/font><font color=\"#800000\">bswork&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;&nbsp;\u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0449\u0438\u0435&nbsp;\u0444\u0443\u043d\u043a\u0446\u0438\u0438&nbsp;\u0434\u043b\u044f&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432<br \/>  \/\/\/&nbsp;\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442&nbsp;\u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435&nbsp;(\u043f\u0440\u0438&nbsp;\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435<br \/>  \/\/\/&nbsp;bsmin&#8217;=0&nbsp;&#8212;&nbsp;\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435)&nbsp;\u0434\u043b\u044f&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0438&nbsp;bitmap&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSMax(<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">bitmap&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">bsmin&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">bsmin<\/font><font color=\"#000000\">=&#187;<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bsmin<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">(),<\/font><font color=\"#800000\">tmpBSM<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(1)&nbsp;<\/font><font color=\"#0000ff\">do<\/font><font color=\"#000000\">:&#8217;<\/font><font color=\"#800000\">bsmin&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bitmap<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMCount<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">min<\/font><font color=\"#000000\">=0<br \/>  &nbsp;<\/font><font color=\"#0000ff\">ELSE&nbsp;&nbsp;set&nbsp;<\/font><font color=\"#800000\">min<\/font><font color=\"#000000\">=1&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSM&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(1)&nbsp;<\/font><font color=\"#0000ff\">do<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">bsmin&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bitmap<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">),-1):-1:2&nbsp;<\/font><font color=\"#800080\">{<br \/>  &nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpBSM<\/font><font color=\"#000000\">,@<\/font><font color=\"#800000\">bswork&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpBSM<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">,@<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do<\/font><font color=\"#000000\">:<\/font><font color=\"#800000\">min&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpBSM<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">if&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMCount<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpBSM<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSM&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">tmpBSM<br \/>  &nbsp;<\/font><font color=\"#800080\">}<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">pos<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">BMOrder<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">,0)&nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:&#8217;<\/font><font color=\"#800000\">pos&nbsp;<\/font><font color=\"#000000\">0<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">CvtFromSlice<\/font><font color=\"#000000\">(..<\/font><font color=\"#0000ff\">GetSlice<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">pos<\/font><font color=\"#000000\">))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">,@<\/font><font color=\"#800000\">resBSM<\/font><font color=\"#000000\">,@<\/font><font color=\"#800000\">tmpBSM&nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;<\/font><font color=\"#800000\">val<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">Method&nbsp;<\/font><font color=\"#000000\">BSMin(<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">bitmap&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BSMax<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bitmap<\/font><font color=\"#000000\">,1)<br \/>  }<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442&nbsp;\u0441\u0443\u043c\u043c\u0443&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439&nbsp;\u0434\u043b\u044f&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0438&nbsp;bitmap&nbsp;\u0438\u0437&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0430&nbsp;vbs<br \/>  Method&nbsp;<\/font><font color=\"#000000\">BSSum(<\/font><font color=\"#ff00ff\">vbs&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">bitmap&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">(),<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">(),<\/font><font color=\"#800000\">tmpBSSum<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(1)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMNot<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">),..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bitmap<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=2:1:<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">),-1)&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpBSSum&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpBSSum<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpBSSum<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;$list<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)=..<\/font><font color=\"#0000ff\">BMCount<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpBSSum<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">CvtFromSlice<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSSum&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(1)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">bitmap<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;&quot;<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=2:1:<\/font><font color=\"#0000ff\">$order<\/font><font color=\"#000000\">(@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#008000\">&quot;&quot;<\/font><font color=\"#000000\">),-1)&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpBSSum&nbsp;<\/font><font color=\"#0000ff\">merge&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">tmpBSSum<\/font><font color=\"#000000\">=@<\/font><font color=\"#800000\">vbs<\/font><font color=\"#000000\">@(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpBSSum<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;$list<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)=..<\/font><font color=\"#0000ff\">BMCount<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">tmpBSSum<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">val<\/font><font color=\"#000000\">-..<\/font><font color=\"#0000ff\">CvtFromSlice<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#000000\">@<\/font><font color=\"#800000\">bswork<\/font><font color=\"#000000\">,@<\/font><font color=\"#800000\">resBSSum<\/font><font color=\"#000000\">,@<\/font><font color=\"#800000\">tmpBSSum&nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;<\/font><font color=\"#800000\">val<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u043c\u0435\u0442\u043e\u0434\u044b&nbsp;\u0434\u043b\u044f&nbsp;\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f&nbsp;\u0438&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432<br \/>  \/\/\/&nbsp;<br \/>  \/\/\/&nbsp;\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442&nbsp;\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439&nbsp;\u0431\u0438\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441\u0435<br \/>  \/\/\/&nbsp;\u0434\u0430\u043d\u043d\u043e\u0433\u043e&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f&nbsp;\u0434\u0430\u043d\u043d\u043e\u0433\u043e&nbsp;\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430<br \/>  \/\/\/&nbsp;\u043f\u0440\u0438&nbsp;\u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0435&nbsp;setexist=1&nbsp;\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442&nbsp;\u0442\u0430\u043a\u0436\u0435&nbsp;\u0431\u0438\u0442&nbsp;\u0432<br \/>  \/\/\/&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441\u0435&nbsp;\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445&nbsp;\u0437\u0430\u043f\u0438\u0441\u0435\u0439&nbsp;(\u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e&nbsp;\u0434\u043b\u044f&nbsp;\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0439<br \/>  \/\/\/&nbsp;\u0440\u0430\u0431\u043e\u0442\u044b&nbsp;\u043c\u0435\u0442\u043e\u0434\u0430&nbsp;BMNot())<br \/>  Method&nbsp;<\/font><font color=\"#000000\">SetBitMap(<\/font><font color=\"#ff00ff\">idfact&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">property&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">value&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">setexist&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">idf0<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">-1\\..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">idf1<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">-1#..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">+1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">setexist<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">$bit<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">idf0<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">idf1<\/font><font color=\"#000000\">)=1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;$bit<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;I&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">property<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">idf0<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">idf1<\/font><font color=\"#000000\">)=1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442&nbsp;\u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439&nbsp;\u0431\u0438\u0442&nbsp;\u0432&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u0435<br \/>  \/\/\/&nbsp;\u0434\u0430\u043d\u043d\u043e\u0433\u043e&nbsp;\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f&nbsp;\u0434\u0430\u043d\u043d\u043e\u0433\u043e&nbsp;\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430.<br \/>  \/\/\/&nbsp;\u041d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439&nbsp;\u043f\u0430\u0440\u0430\u043c\u0435\u0440\u0442&nbsp;setexist&nbsp;&#8212;&nbsp;\u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e&nbsp;\u043c\u0435\u0442\u043e\u0434\u0443&nbsp;SetBitMap()<br \/>  Method&nbsp;<\/font><font color=\"#000000\">SetBitSlice(<\/font><font color=\"#ff00ff\">idfact&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">property&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">value&nbsp;<\/font><font color=\"#000080\">As&nbsp;%Integer<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">setexist&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">idf0<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">-1\\..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">idf1<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">-1#..<\/font><font color=\"#0000ff\">#MAXBITLENGTH<\/font><font color=\"#000000\">+1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">setexist<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">$bit<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">idf0<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">idf1<\/font><font color=\"#000000\">)=1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">v<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">CvtToBin<\/font><font color=\"#000000\">(+<\/font><font color=\"#800000\">value<\/font><font color=\"#000000\">)<br \/>  &nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=1:1:<\/font><font color=\"#0000ff\">$length<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">v<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$extract<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">v<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#0000ff\">$bit<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;S&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">property<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">idf0<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">idf1<\/font><font color=\"#000000\">)=1<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442&nbsp;\u0438\u043c\u044f&nbsp;\u043f\u043e\u0434\u0443\u0437\u043b\u0430&nbsp;\u0438\u043d\u0434\u0435\u043a\u0441\u043d\u043e\u0433\u043e&nbsp;\u0433\u043b\u043e\u0431\u0430\u043b\u0430,&nbsp;\u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0435\u0433\u043e<br \/>  \/\/\/&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441&nbsp;(\u0435\u0441\u043b\u0438&nbsp;slice=0&nbsp;\u0438\u043b\u0438&nbsp;\u043d\u0435&nbsp;\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d)&nbsp;\u0438\u043b\u0438&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441&nbsp;(ghb&nbsp;slice&#8217;=0)<br \/>  \/\/\/&nbsp;\u0434\u043b\u044f&nbsp;\u0434\u0430\u043d\u043d\u043e\u0433\u043e&nbsp;\u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430.&nbsp;\u0415\u0441\u043b\u0438&nbsp;property&nbsp;\u043f\u0443\u0441\u0442\u043e&nbsp;\u0438\u043b\u0438&nbsp;\u043d\u0435&nbsp;\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e&nbsp;&#8212;<br \/>  \/\/\/&nbsp;\u0442\u043e&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441&nbsp;\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445&nbsp;\u0437\u0430\u043f\u0438\u0441\u0435\u0439<br \/>  Method&nbsp;<\/font><font color=\"#000000\">GetBitMapName(<\/font><font color=\"#ff00ff\">property&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">,&nbsp;<\/font><font color=\"#ff00ff\">slice&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<\/font><font color=\"#000000\">)&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String<br \/>  <\/font><font color=\"#000000\">{<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit<\/font><font color=\"#000000\">:<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">property<\/font><font color=\"#000000\">)=<\/font><font color=\"#008000\">&quot;&quot;&nbsp;<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#008000\">&quot;EXIST&quot;<\/font><font color=\"#000000\">))<br \/>  &nbsp;<\/font><font color=\"#0000ff\">quit&nbsp;$name<\/font><font color=\"#000000\">(@(..<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">)@(<\/font><font color=\"#0000ff\">$select<\/font><font color=\"#000000\">(+<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">slice<\/font><font color=\"#000000\">):<\/font><font color=\"#008000\">&quot;S&quot;<\/font><font color=\"#000000\">,1:<\/font><font color=\"#008000\">&quot;I&quot;<\/font><font color=\"#000000\">),<\/font><font color=\"#800000\">property<\/font><font color=\"#000000\">))<br \/>  }<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;&nbsp;\u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0435&nbsp;\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435&nbsp;\u0438&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0430<br \/>  \/\/\/&nbsp;&nbsp;<br \/>  ClassMethod&nbsp;<\/font><font color=\"#000000\">Populate(<\/font><font color=\"#ff00ff\">count&nbsp;<\/font><font color=\"#000080\">As&nbsp;%String&nbsp;<\/font><font color=\"#000000\">=&nbsp;<\/font><font color=\"#000080\">10000<\/font><font color=\"#000000\">)<br \/>  {<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">%New<\/font><font color=\"#000000\">()<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(^BMI)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">count<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$get<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">count<\/font><font color=\"#000000\">,10000),<\/font><font color=\"#800000\">m<\/font><font color=\"#000000\">=0<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">names<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$listbuild<\/font><font color=\"#000000\">(<\/font><font color=\"#008000\">&quot;SantaClause&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;Crocodile&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;Simba&quot;<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">colors<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$listbuild<\/font><font color=\"#000000\">(<\/font><font color=\"#008000\">&quot;Cyan&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;Magenta&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;Yellow&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;Black&quot;<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">if&nbsp;$sortbegin<\/font><font color=\"#000000\">(^BMI)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">for&nbsp;<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">=1:1:<\/font><font color=\"#800000\">count&nbsp;<\/font><font color=\"#800080\">{<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">name<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$list<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">names<\/font><font color=\"#000000\">,1+<\/font><font color=\"#0000ff\">$random<\/font><font color=\"#000000\">(<\/font><font color=\"#0000ff\">$listlength<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">names<\/font><font color=\"#000000\">)))<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">color<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$list<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">colors<\/font><font color=\"#000000\">,1+<\/font><font color=\"#0000ff\">$random<\/font><font color=\"#000000\">(<\/font><font color=\"#0000ff\">$listlength<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">colors<\/font><font color=\"#000000\">)))<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">length<\/font><font color=\"#000000\">=10+<\/font><font color=\"#0000ff\">$random<\/font><font color=\"#000000\">(90)<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">weight<\/font><font color=\"#000000\">=(10+<\/font><font color=\"#0000ff\">$random<\/font><font color=\"#000000\">(40))*100<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#008000\">;&nbsp;\u0434\u043b\u044f&nbsp;\u0446\u0432\u0435\u0442\u0430&nbsp;\u0441\u043e\u0437\u0434\u0430\u0451\u043c&nbsp;\u0431\u0438\u0442\u043c\u0430\u043f-\u0438\u043d\u0434\u0435\u043a\u0441<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">SetBitMap<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;C&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">color<\/font><font color=\"#000000\">,1)<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#008000\">;&nbsp;\u0434\u043b\u044f&nbsp;\u0432\u0435\u0441\u0430&nbsp;\u0438&nbsp;\u0434\u043b\u0438\u043d\u044b&nbsp;\u0441\u043e\u0437\u0434\u0430\u0451\u043c&nbsp;\u0431\u0438\u0442\u0441\u043b\u0430\u0439\u0441-\u0438\u043d\u0434\u0435\u043a\u0441\u044b<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">SetBitSlice<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;L&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">length<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">SetBitSlice<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">idfact<\/font><font color=\"#000000\">,<\/font><font color=\"#008000\">&quot;W&quot;<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">weight<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#008000\">;&nbsp;\u0434\u043b\u044f&nbsp;\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438&nbsp;\u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0439&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0438&nbsp;(\u0441\u043c.&nbsp;\u043d\u0438\u0436\u0435)&nbsp;\u0441\u0447\u0438\u0442\u0430\u0435\u043c<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;\u0441\u0443\u043c\u043c\u0430\u0440\u043d\u044b\u0439&nbsp;\u0432\u0435\u0441&nbsp;\u0447\u0451\u0440\u043d\u044b\u0445&nbsp;\u0438&nbsp;\u0436\u0451\u043b\u0442\u044b\u0445&nbsp;\u043a\u0440\u043e\u043a\u043e\u0434\u0438\u043b\u043e\u0432&nbsp;\u0434\u043b\u0438\u043d\u043e\u0439&nbsp;45-70&nbsp;\u0441\u043c<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;\u0432\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e<br \/>  &nbsp;&nbsp;&nbsp;&nbsp;<\/font><font color=\"#0000ff\">set<\/font><font color=\"#000000\">:((<\/font><font color=\"#800000\">color<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;Black&quot;<\/font><font color=\"#000000\">)!(<\/font><font color=\"#800000\">color<\/font><font color=\"#000000\">=<\/font><font color=\"#008000\">&quot;Yellow&quot;<\/font><font color=\"#000000\">))&amp;(<\/font><font color=\"#800000\">length<\/font><font color=\"#000000\">&#8216;&lt;45)&amp;(<\/font><font color=\"#800000\">length<\/font><font color=\"#000000\">&#8216;&gt;70)&nbsp;<\/font><font color=\"#800000\">m<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">m<\/font><font color=\"#000000\">+<\/font><font color=\"#800000\">weight<br \/>  &nbsp;&nbsp;<\/font><font color=\"#800080\">}<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">if&nbsp;$sortend<\/font><font color=\"#000000\">(^BMI)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#800000\">m<\/font><font color=\"#000000\">_<\/font><font color=\"#008000\">&quot;&nbsp;gramms&nbsp;total&quot;<\/font><font color=\"#000000\">,!<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#800000\">ix&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  <\/font><font color=\"#000080\">\/\/\/&nbsp;\u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f&nbsp;\u0432\u044b\u0431\u043e\u0440\u043a\u0430<br \/>  ClassMethod&nbsp;<\/font><font color=\"#000000\">TestGetData()<br \/>  {<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">%New<\/font><font color=\"#000000\">()<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BMGLOB<\/font><font color=\"#000000\">=<\/font><font color=\"#0000ff\">$name<\/font><font color=\"#000000\">(^BMI)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">b<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">(),<\/font><font color=\"#800000\">b1<\/font><font color=\"#000000\">=..<\/font><font color=\"#0000ff\">GetNewTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BMEq<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">b<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">GetBitMapName<\/font><font color=\"#000000\">(<\/font><font color=\"#008000\">&quot;C&quot;<\/font><font color=\"#000000\">),<\/font><font color=\"#008000\">&quot;Black&quot;<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BMEq<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">b1<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">GetBitMapName<\/font><font color=\"#000000\">(<\/font><font color=\"#008000\">&quot;C&quot;<\/font><font color=\"#000000\">),<\/font><font color=\"#008000\">&quot;Yellow&quot;<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BMOr<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">b<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">b1<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BSGeLe<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">b1<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">GetBitMapName<\/font><font color=\"#000000\">(<\/font><font color=\"#008000\">&quot;L&quot;<\/font><font color=\"#000000\">,1),45,70)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BMAnd<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">b<\/font><font color=\"#000000\">,<\/font><font color=\"#800000\">b1<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">set&nbsp;<\/font><font color=\"#800000\">count<\/font><font color=\"#000000\">=<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BMCount<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">b<\/font><font color=\"#000000\">)<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#800000\">count<\/font><font color=\"#000000\">_<\/font><font color=\"#008000\">&quot;&nbsp;items&nbsp;selected&quot;<\/font><font color=\"#000000\">,!<br \/>  &nbsp;&nbsp;<\/font><font color=\"#008000\">;&nbsp;\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u043c&nbsp;\u0441\u0443\u043c\u043c\u0430\u0440\u043d\u044b\u0439&nbsp;\u0432\u0435\u0441&nbsp;\u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">write&nbsp;<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">BSSum<\/font><font color=\"#000000\">(<\/font><font color=\"#800000\">ix<\/font><font color=\"#000000\">.<\/font><font color=\"#0000ff\">GetBitMapName<\/font><font color=\"#000000\">(<\/font><font color=\"#008000\">&quot;W&quot;<\/font><font color=\"#000000\">,1),<\/font><font color=\"#800000\">b<\/font><font color=\"#000000\">)_<\/font><font color=\"#008000\">&quot;&nbsp;gramms&nbsp;total&quot;<\/font><font color=\"#000000\">,!<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000000\">..<\/font><font color=\"#0000ff\">KillAllTMP<\/font><font color=\"#000000\">()<br \/>  &nbsp;&nbsp;<\/font><font color=\"#0000ff\">kill&nbsp;<\/font><font color=\"#800000\">ix&nbsp;<\/font><font color=\"#0000ff\">quit<br \/>  <\/font><font color=\"#000000\">}<\/p>\n<p>  }<\/font><\/div>\n<\/div>\n<p>  \u0412 <a href=\"http:\/\/yadi.sk\/d\/LKbjrbL85LETv\">\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u043a\u043e\u0434\u0435<\/a> \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432 \u0438 bitslices \u0432 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 \u0438 \u0432 \u0440\u0443\u0442\u0438\u043d\u0430\u0445, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0439 \u0432\u0441\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0441 \u044d\u0442\u0438\u043c\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430\u043c\u0438. \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0442\u0430\u043a\u0436\u0435 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043f\u0440\u044f\u043c\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u2014 \u0441\u0443\u043c\u043c\u044b \u2014 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430:<\/p>\n<p>  <font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000080\">##class<\/font><font color=\"#000000\">(<\/font><font color=\"#008080\">User.BitMapSlice<\/font><font color=\"#000000\">).<\/font><font color=\"#0000ff\">Populate<\/font><font color=\"#000000\">(1000000)&nbsp;<\/font><font color=\"#008000\">;&nbsp;\u043c\u0438\u043b\u043b\u0438\u043e\u043d&nbsp;\u0437\u0430\u043f\u0438\u0441\u0435\u0439<\/font><\/p>\n<p>  \u0438 \u043c\u0435\u0442\u043e\u0434 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u043e\u0439 \u0436\u0435 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c bitslices:<\/p>\n<p>  <font color=\"#0000ff\">do&nbsp;<\/font><font color=\"#000080\">##class<\/font><font color=\"#000000\">(<\/font><font color=\"#008080\">User.BitMapSlice<\/font><font color=\"#000000\">).<\/font><font color=\"#0000ff\">TestGetData<\/font><font color=\"#000000\">()<\/font><\/p>\n<p>  \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u044c \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0438 \u0432\u0440\u0435\u043c\u044f, \u043f\u043e\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u043e\u0435 \u043d\u0430 \u0435\u0433\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u0432\u044b\u0447\u0435\u043d \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 COS, \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e, \u0447\u0442\u043e Cach\u00e9 Studio, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u0432\u0435\u0440\u0441\u0438\u0438 5.2, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441 <a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GSTD_Commands#GSTD_Commands_Accel\">\u043b\u0451\u0433\u043a\u043e\u0441\u0442\u044c\u044e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c<\/a> \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442 \u043a\u043e\u0434\u0430 \u0438\u0437 \u043f\u043e\u043b\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u044b \u0432 \u0441\u043e\u043a\u0440\u0430\u0449\u0451\u043d\u043d\u0443\u044e \u2014 <b>Ctrl-Shift-E<\/b> \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u2014 <b>Ctrl-E<\/b>.<br \/>  \u0412 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u043d\u0443 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u044c. \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0435 bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u044b \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u0433\u043b\u043e\u0431\u0430\u043b\u0430\u0445 \u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430\u043c\u0438 ^CacheTemp \u0438\u043b\u0438 ^mtemp. \u0422\u0430\u043a\u0438\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u044b \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u044e\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0435 CACHETEMP \u0438 \u0437\u0430 \u0441\u0447\u0451\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e <a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GCDI_journal#GCDI_journal_temps\">\u043e\u043d\u0438 \u043d\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u0443\u044e\u0442\u0441\u044f<\/a>, \u0432 \u0447\u0451\u043c \u0443 \u043d\u0430\u0441 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, <i>\u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u043d\u0438\u043c\u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0430, \u0447\u0435\u043c \u0434\u0430\u0436\u0435 \u0441 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0435\u0449\u0451 \u0438 \u043f\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0440\u0438\u0447\u0438\u043d\u0435 \u2014 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0443\u043f\u0435\u0440\u0435\u0442\u044c\u0441\u044f \u0432 16-\u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442\u043d\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430.<\/i>  <\/p>\n<blockquote><p>\u0412\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0435 <i>\u043a\u0443\u0440\u0441\u0438\u0432\u043e\u043c<\/i> \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435 \u043d\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043b\u0435\u0435 \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 \u0421\u0423\u0411\u0414 Cach\u00e9:<\/p>\n<ol>\n<li><a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GCRN_rn1002#GCRN_rn1002_large_local_arrays\">Large Local Arrays<\/a><\/li>\n<li><a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GCNV_R2012_2#GCNV_C129386\">Extended Memory<\/a><\/li>\n<li><a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GCRN_rn1202#GCRN_rn1202_unlimited_local_arrays\">Unlimited Local Arrays<\/a><\/li>\n<\/ol>\n<\/blockquote>\n<p>\u041e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u0432 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043a\u043e\u0434 \u043e\u0431\u044f\u0437\u0430\u043d \u0441\u0432\u043e\u0438\u043c \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043b\u044e\u0431\u0435\u0437\u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 InterSystems \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043f\u0440\u0435\u0437\u0435\u043d\u0442\u0430\u0446\u0438\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430 DeepSee, \u0438 \u0431\u044b\u043b \u0432\u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0451\u043d \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0435\u0439 \u041c\u0430\u043a\u043e\u0432\u0430\u0421\u043e\u0444\u0442 \u0432 \u0435\u0451 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u041e\u0440\u0442\u043e\u0444\u0430\u043a\u0442.    \t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/company\/intersystems\/blog\/174657\/\"> http:\/\/habrahabr.ru\/company\/intersystems\/blog\/174657\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0412 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e\u0439 \u0421\u0423\u0411\u0414 Cach\u00e9 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f bitmap- \u0438 bitslice-\u0438\u043d\u0434\u0435\u043a\u0441\u044b. \u0418\u0445 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0441\u0430\u0445 Cach\u00e9: \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u0438\u0437\u043d\u0430\u043a <a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GSQL_indices#GSQL_indices_bitmap\">Bitmap<\/a> \u0438\u043b\u0438 <a href=\"http:\/\/docs.intersystems.com\/cache20122\/csp\/docbook\/DocBook.UI.Page.cls?KEY=GSTD_Indices#GSTD_index_type\">Bitslice<\/a>, \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 SQL-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e. \u041d\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442?<br \/>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u044b bitmap-\u0438\u043d\u0434\u0435\u043a\u0441\u044b, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0442\u044c bitmap-\u0438\u043d\u0434\u0435\u043a\u0441 \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0433\u043b\u043e\u0431\u0430\u043b\u043e\u0432, \u043a\u0430\u043a \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0438\u0442\u043e\u0432\u043e\u0439 \u043b\u043e\u0433\u0438\u043a\u0438 \u0438 \u043a\u0430\u043a \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438 NoSQL \u0440\u0430\u0431\u043e\u0442\u0435 \u0432 Cach\u00e9.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-174657","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/174657","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=174657"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/174657\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=174657"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=174657"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=174657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}