anchor.diff:    // UI
   
     const $button = $('#settings-button');
  -  const $dialog = $('#settings-dialog');
   
     cd.showSettingsButton = () => {
       // The setting button is off by default so that is is not
  
positive.code:   //- - - - - - - - - - - - - - - - - - - - - - - - -
  
    const openSettingsDialog = () => {
      [ 'colour', 'predict', 'theme' ].forEach((name) => {
        const css = `input[type=radio][name=${name}]`;
        const cssValue = css + `[value=${cd.settings[name]()}]`;
        $(css, $dialog).change(function() { cd.settings[name](this.value); });
        $(cssValue, $dialog).prop('checked', true);
      });
  
      const xPos = $button.offset().left;
      const yPos = $button.offset().top + 90;
  
      $dialog.dialog({
                width: 250,
             position: [xPos,yPos],
             autoOpen: true,
        closeOnEscape: true,
                modal: true,
                title: cd.dialogTitle('settings'),
          beforeClose: event => {
            if (event.keyCode === $.ui.keyCode.ESCAPE) {
              cd.kata.editor.refocus();
              return true;
            }
          }
      });
    };
  
  
negative.code:              url: '/model/kata_option_get',
              data: { id: cd.kata.id(), name: name },
             async: false,
           success: (data) => cache[name] = data['kata_option_get']
        });
      }
      return cache[name];
  