anchor.diff:                                  span.name
                                   span.info
                               .fa.language-drop
  -                        #language-expand
  -                            #language-details
  -                            hr
  -                            ul: each lang in form.fields.language.queryset
  -                                - var runtime_versions = lang.runtime_versions
  -                                li(data-id=lang.id, data-name=lang.name, data-info=lang.info,
  -                                   data-judge-info='{% include "runtime_version_fragment.jade" %}',
  -                                   data-ace=lang.ace)= lang.name
  +                        select#language-expand: each lang in form.fields.language.queryset
  +                            - var runtime_versions = lang.runtime_versions
  +                            option(value=lang.id, data-id=lang.id, data-name=lang.name, data-info=lang.info,
  +                               data-judge-info='{% include "runtime_version_fragment.jade" %}',
  +                               data-ace=lang.ace)= lang.name
           hr
           if no_judges
               span(style='color: red') {% trans "No judge is available for this problem." %}
  
positive.code:                 margin-top: 4px;
              }
  
              #language-select {
                  margin: 0;
                  background: #fefefe;
                  border: 1px solid #2980B9;
                  display: none;
              }
  
              #language-select li {
                  list-style: none;
                  cursor: pointer;
              }
  
              #language-select ul {
                  margin: 0;
                  padding: 0;
                  list-style-type: none;
                  -webkit-columns: 10 6em;
                     -moz-columns: 10 6em;
                          columns: 10 6em;
              }
  
              #language-select li {
                  color: #757575;
              }
  
              #language-details {
                  text-align: right;
                  color: #757575;
                  font-size: 1.2em;
              }
  
              #language-select li:hover {
                  text-decoration: underline;
                  color: #252525;
              }
  
              #language-select li.selected {
                  color:black;
                  font-weight: bold;
              }
  
              #language-current { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex }
              #language-current.expanded { border-bottom: 1px solid #2980B9 }
  
              #language-current { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
              #language-current .info:before { content: ' ('}
              #language-current .info:after { content: ')'}
              #language-current .name { font-weight: bold; }
              #language-current .data {
                  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0,#fff), color-stop(0.5,#eee));
                  background-image: -webkit-linear-gradient(center top, #fff 0, #eee 50%);
                  background-image: -moz-linear-gradient(center top, #fff 0, #eee 50%);
                  background-image: -o-linear-gradient(top, #fff 0, #eee 50%);
                  background-image: -ms-linear-gradient(bottom, #fff 0, #eee 50%);
                  background-image: linear-gradient(bottom, #fff 0, #eee 50%);
                  color: #444;
                  padding: 8px;
                  -webkit-box-flex: 1;
                  -webkit-flex: 1;
                      -ms-flex: 1;
                          flex: 1;
              }
  
              #language-current .language-drop {
                  float: right;
                  padding: 8px;
                  border-left: 1px solid #AAA;
                  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0,#ccc), color-stop(0.6,#eee));
                  background-image: -webkit-linear-gradient(center bottom, #ccc 0, #eee 60%);
                  background-image: -moz-linear-gradient(center bottom,#ccc 0,#eee 60%);
                  background-image: -o-linear-gradient(bottom, #ccc 0, #eee 60%);
                  background-image: -ms-linear-gradient(top, #ccc 0, #eee 60%);
                  background-image: linear-gradient(top, #ccc 0, #eee 60%)
              }
  
              #language-expand {
                  padding: 8px;
                  display: none;
              }
  
              #language-current .language-drop:before { content: "\f078" }
              #language-current.expanded .language-drop:before { content: "\f077" }
  
  block body
      br
  
negative.code:         | #{form.media.js}
          script(type='text/javascript').
              $(function () {
                  function format(state) {
                      if (!state.id) return state.text; // optgroup
                      return state.text;
                  }
  
                  function formatSelection(state) {
                      if (!state.id) return state.text; // optgroup
                      return state.text + " (" + $("option[data-id=" + state.id + "]").attr('data-judge-info') + ")";
                  }
  
                  $("#e2_2").select2({
                      templateResult: format,
                      templateSelection: formatSelection,
                      escapeMarkup: function (m) {
                          return m;
                      }
                  });
              });
  
  block media
  