<commit_before><!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="<NAME> <http://christopherbaker.ent>">
    <link rel="shortcut icon" href="./img/favicon.ico">
    <!-- Bootstrap core CSS -->
    <link href="./css/bootstrap.css" rel="stylesheet">
    <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
    <link rel="stylesheet" href="css/jquery.fileupload-ui.css">

    <title>ofSketch</title>

    <!-- Custom styles for this template -->
    <link href="./css/style.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="../../assets/js/html5shiv.js"></script>
      <script src="../../assets/js/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>

    <!-- Wrap all page content here -->
    <div id="wrap">

      <!-- Fixed navbar -->
      <div class="navbar navbar-default navbar-fixed-top" >
        <div class="container">
          <div class="navbar-header">
            <a class="navbar-brand" href="http://openframeworks.cc" title="openFrameworks Website" target="_blank" >
              <img src="./img/openFrameworks_header.png"/>
            </a>
          </div>
            <div class="btn-toolbar" role="toolbar" style="margin-top: 8px;">
              <div class="btn-group">
                <button id="toolbar-run" type="button" class="btn btn-default" title="Run Program">
                  <span class="glyphicon glyphicon-play"></span> 
                </button>
                <!-- <button id="toolbar-stop" type="button" class="btn btn-default disabled" title="Stop Program">
                  <span class="glyphicon glyphicon-stop"></span> 
                </button> -->
              </div>
              <div class="btn-group">
                <button id="toolbar-save" type="button" class="btn btn-default" title="Save Project">
                  <span class="glyphicon glyphicon-floppy-save"></span> 
                </button>
                <button id="toolbar-open-project" type="button" class="btn btn-default open-project" title="Open Project">
                  <span class="glyphicon glyphicon-folder-open"></span> 
                </button>
                <button id="toolbar-create-project" type="button" class="btn btn-default new-project" title="New Project">
                  <span class="glyphicon glyphicon-folder-close"></span> 
                </button>
              </div>
              <div class="btn-group">
                <!-- <button id="toolbar-upload-media" type="button" class="btn btn-default" title="Upload File" data-toggle="modal" data-target="#upload-media-modal">
                  <span class="glyphicon glyphicon-paperclip"></span> 
                </button>
                <button id="toolbar-task-queue" type="button" class="btn btn-default" title="Task Queue" data-toggle="modal" data-target="#task-queue-modal"> 
                  <span class="glyphicon glyphicon-tasks"></span> 
                </button> -->
                <button id="toolbar-logger" type="button" class="btn btn-default" title="Server Log" data-toggle="modal" data-target="#logger-modal">
                  <span class="glyphicon glyphicon-th"></span> 
                </button>
              </div>
              <div class="btn-group" style="float: right;">
                <button type="button" class="btn btn-default" title="openFrameworks Reference">
                    <a href="http://openframeworks.cc/documentation" target="_blank">Reference</a>
                </button>
                <button type="button" class="btn btn-default" title="openFrameworks Forum">
                    <a href="http://forum.openframeworks.cc/" target="_blank">Forum</a>
                </button>
                <button type="button" class="btn btn-default" title="ofxAddons Website">
                    <a href="http://ofxaddons.com/" target="_blank">ofxAddons</a>
                </button>
                <!-- <button id="toolbar-settings" type="button" class="btn btn-default" title="Settings" data-toggle="modal" data-target="#settings-modal">
                    <span class="glyphicon glyphicon-cog"></span> 
                </button> -->
              </div>
            </div> <!-- btn-toolbar -->
        </div> <!-- container -->
      </div> <!-- navbar -->

      <!-- Upload Modal -->
      <div class="modal fade" id="upload-media-modal" tabindex="-1" role="dialog" aria-labelledby="uploadMediaModal" aria-hidden="true" target="toolbar-upload-media">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title">Upload Media</h4>
            </div>
            <div class="modal-body">
              <!-- The fileinput-button span is used to style the file input field as button -->
              <span class="btn btn-success fileinput-button">
                  <i class="glyphicon glyphicon-plus"></i>
                  <span>Add files...</span>
                  <!-- The file input field used as target for the file upload widget -->
                  <input id="fileupload" type="file" name="files[]" multiple>
              </span>
              <br>
              <br>
              <!-- The global progress bar -->
              <div id="progress" class="progress">
                  <div class="progress-bar progress-bar-success"></div>
              </div>
              <!-- The container for the uploaded files -->
              <div id="files" class="files"></div>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-primary">Save changes</button>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Settings Modal -->
      <div class="modal fade" id="settings-modal" tabindex="-1" role="dialog" aria-labelledby="settingsModalLabel" aria-hidden="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title">Settings</h4>
            </div>
            <div class="modal-body">
              To be implemented.
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-primary">Save changes</button>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->


      <!-- New Class Modal -->   
      <div class="modal fade" id="new-class-modal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">New Class</h4>
              </div>
              <div class="modal-body">
                <div class="input-group">
                  <input id="new-class-name" type="text" class="form-control" placeholder="MyClass">
                  <span class="input-group-btn">
                    <button id="create-class" class="btn btn-default" type="button" data-dismiss="modal">Create</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Rename Class Modal -->   
      <div class="modal fade" id="rename-class-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Rename <span class="selected-tab-name"></span> Class</h4>
              </div>
              <div class="modal-body">
                <div class="input-group">
                  <input id="renamed-class-name" type="text" class="form-control" placeholder="MyNewClassName">
                  <span class="input-group-btn">
                    <button id="rename-class" class="btn btn-default" type="button" data-dismiss="modal">Rename</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Delete Class Modal -->   
      <div class="modal fade" id="delete-class-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Delete Class</h4>
              </div>
              <div class="modal-body">
                Are you sure that you want to delete the <strong><span class="selected-tab-name"></span></strong> class?
              </div>
              <div class="modal-footer">
                <button class="btn btn-default" type="button" data-dismiss="modal">Nevermind</button>
                <button id="delete-class" class="btn btn-danger" type="button" data-dismiss="modal">Delete</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Name Project Modal -->   
      <div class="modal fade" id="name-project-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Name Project</h4>
              </div>
              <div class="modal-body">
                <p>What would you like to name this project?</p>
                <div class="input-group">
                  <input id="new-project-name" type="text" class="form-control" placeholder="MyProject">
                  <span class="input-group-btn">
                    <button id="name-project" class="btn btn-default" type="button" data-dismiss="modal">Save</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Open Project Modal -->
      <div class="modal fade" id="open-project-modal" tabindex="-1" role="dialog" aria-labelledby="open-project-modal" aria-hidden="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title">Open Project</h4>
            </div>
            <div class="modal-body">
              <div id="project-list" class="list-group"></div>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Delete Project Modal -->   
      <div class="modal fade" id="delete-project-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Delete Project</h4>
              </div>
              <div class="modal-body">
                Are you sure that you want to delete this project?
              </div>
              <div class="modal-footer">
                <button class="btn btn-default" type="button" data-dismiss="modal">Nevermind</button>
                <button id="delete-project" class="btn btn-danger" type="button" data-dismiss="modal">Delete</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Rename Project Modal -->   
      <div class="modal fade" id="rename-project-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Rename Project</h4>
              </div>
              <div class="modal-body">
                <div class="input-group">
                  <input id="renamed-project-name" type="text" class="form-control" placeholder="MyProject">
                  <span class="input-group-btn">
                    <button id="rename-project" class="btn btn-default" type="button" data-dismiss="modal">Rename</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->


      <!-- Task Queue Modal -->   
      <div class="modal fade" id="task-queue-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Task Queue</h4>
              </div>
              <div class="modal-body">
                <ul class="list-group" id="task-queue-list">
                </ul>
              </div>
              <div class="modal-footer">
                <button id="cancel-all-tasks" class="btn btn-danger" type="button" data-dismiss="modal">Cancel All</button>
                <button class="btn btn-default" type="button" data-dismiss="modal">Close</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Logger Modal -->   
      <div class="modal fade" id="logger-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" style="display: inline-block">Logger</h4>
                <div class="btn-group pull-right" style="margin-right: 20px;">
                    <button id="set-log-level" type="button" class="btn btn-xs dropdown-toggle" data-toggle="dropdown">
                      <span id="current-log-level"></span> <span class="caret"></span>
                    </button>
                    <ul id="log-levels" class="dropdown-menu" role="menu">
                      <li><a href="#" data-log-level="0">Verbose</a></li>
                      <li><a href="#" data-log-level="1">Notice</a></li>
                      <li><a href="#" data-log-level="2">Warning</a></li>
                      <li><a href="#" data-log-level="3">Error</a></li>
                      <li><a href="#" data-log-level="4">Fatal Error</a></li>
                      <li><a href="#" data-log-level="5">Silent</a></li>
                    </ul>
                  </div>
              </div>
              <div class="modal-body" style="height: 400px; overflow-y: auto;">
                <ul id="logger-container" class="list-group" >
                </ul>
              </div>
              <div class="modal-footer">
                <button class="btn btn-default" type="button" data-dismiss="modal">Close</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

    <div class="container">

      <!-- Begin page content -->
      <ul class="nav nav-tabs">
          <li class="dropdown">
              <a class="dropdown-toggle glyphicon glyphicon-book" data-toggle="dropdown" href="#">
                <span class="caret"></span>
              </a>
              <ul class="dropdown-menu action-menu" role="menu">

                <li class="new-class"><a href="#" >New Class</a></li>
                <li class="rename-class"><a href="#">Rename <span class="selected-tab-name"></span> Class</a></li>
                <li class="delete-class"><a href="#">Delete <span class="selected-tab-name"></span> Class</a></li>
                <li class="divider"></li>
                <li class="rename-project"><a href="#">Rename Project</a></li>
                <li class="delete-project"><a href="#">Delete Project</a></li>
                <li class="divider"></li>
                <li class="new-project"><a href="#">New Project</a></li>
                <li class="open-project"><a href="#">Open Project</a></li>
              </ul>
          </li>
          <!--<li class="active file-tab"><a href="#">HelloWorld</a></li>-->
          <li class="new-class">
            <a href="#new-class-modal" class="glyphicon glyphicon-plus"> </a>
          </li>
        </ul>
    
      <pre id="editor">loading...</pre>
      <div id="editor-messages" class="alert"></div>
      <pre id="console"></pre>

      </div>
    </div>

    <div id="footer">
    </div>


<script src="./js/jquery.min.js"></script>
<script src="./js/bootstrap.min.js"></script>
<script src="./js/jquery.jsonrpcclient.js"></script>
<script src="./js/jquery.json.js"></script>
<script src="./js/prism.js"></script>
<script src="./js/underscore-min.js"></script>

<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
<script src="js/vendor/jquery.ui.widget.js"></script>
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
<script src="js/load-image.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="js/canvas-to-blob.min.js"></script>

<script src="./js/src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>

<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="js/jquery.fileupload-image.js"></script>
<!-- The File Upload audio preview plugin -->
<script src="js/jquery.fileupload-audio.js"></script>
<!-- The File Upload video preview plugin -->
<script src="js/jquery.fileupload-video.js"></script>
<!-- The File Upload validation plugin -->
<script src="js/jquery.fileupload-validate.js"></script>

<script src="./js/ofxHTTP.js"></script>
<script src="./js/ofxUtils.js"></script>
<script src="./js/ofSketch/helpers.js"></script>

<script src="./js/ofSketch/classes/Project.js"></script>
<script src="./js/ofSketch/classes/SketchEditor.js"></script>
<script src="./js/ofSketch/classes/ConsoleEmulator.js"></script>
<script src="./js/ofSketch/classes/Logger.js"></script>
<script src="./js/ofSketch/ofSketch.js"></script>

<script>
/*jslint unparam: true, regexp: true */
/*global window, $ */
$(function () {
    'use strict';
    // Change this to the location of your server-side upload handler:
    var url = '/upload',
        uploadButton = $('<button/>')
            .addClass('btn btn-primary')
            .prop('disabled', true)
            .text('Processing...')
            .on('click', function () {
                var $this = $(this),
                    data = $this.data();
                $this
                    .off('click')
                    .text('Abort')
                    .on('click', function () {
                        $this.remove();
                        data.abort();
                    });
                data.submit().always(function () {
                    $this.remove();
                });
            });
    $('#fileupload').fileupload({
        url: url,
        dataType: 'json',
        autoUpload: false,
        acceptFileTypes: /(\.|\/)(gif|jpe?g|png|mov|mp3)$/i,
        maxFileSize: 5000000*1024, // 5 GB
        // Enable image resizing, except for Android and Opera,
        // which actually support image resizing, but fail to
        // send Blob objects via XHR requests:
        disableImageResize: /Android(?!.*Chrome)|Opera/
            .test(window.navigator.userAgent),
        previewMaxWidth: 100,
        previewMaxHeight: 100,
        previewCrop: true
    }).on('fileuploadadd', function (e, data) {
        data.context = $('<div/>').appendTo('#files');
        $.each(data.files, function (index, file) {
            var node = $('<p/>')
                    .append($('<span/>').text(file.name));
            if (!index) {
                node
                    .append('<br>')
                    .append(uploadButton.clone(true).data(data));
            }
            node.appendTo(data.context);
        });
    }).on('fileuploadprocessalways', function (e, data) {
        var index = data.index,
            file = data.files[index],
            node = $(data.context.children()[index]);
        if (file.preview) {
            node
                .prepend('<br>')
                .prepend(file.preview);
        }
        if (file.error) {
            node
                .append('<br>')
                .append(file.error);
        }
        if (index + 1 === data.files.length) {
            data.context.find('button')
                .text('Upload')
                .prop('disabled', !!data.files.error);
        }
    }).on('fileuploadprogressall', function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('#progress .progress-bar').css(
            'width',
            progress + '%'
        );
    }).on('fileuploaddone', function (e, data) {
        $.each(data.result.files, function (index, file) {
            var link = $('<a>')
                .attr('target', '_blank')
                .prop('href', file.url);
            $(data.context.children()[index])
                .wrap(link);
        });
    }).on('fileuploadfail', function (e, data) {
        $.each(data.result.files, function (index, file) {
            var error = $('<span/>').text(file.error);
            $(data.context.children()[index])
                .append('<br>')
                .append(error);
        });
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
  </body>
</html>
<commit_msg>Added Report a Bug<commit_after><!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="<NAME> <http://christopherbaker.ent>">
    <link rel="shortcut icon" href="./img/favicon.ico">
    <!-- Bootstrap core CSS -->
    <link href="./css/bootstrap.css" rel="stylesheet">
    <!-- CSS to style the file input field as button and adjust the Bootstrap progress bars -->
    <link rel="stylesheet" href="css/jquery.fileupload-ui.css">

    <title>ofSketch</title>

    <!-- Custom styles for this template -->
    <link href="./css/style.css" rel="stylesheet">

    <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
      <script src="../../assets/js/html5shiv.js"></script>
      <script src="../../assets/js/respond.min.js"></script>
    <![endif]-->
  </head>

  <body>

    <!-- Wrap all page content here -->
    <div id="wrap">

      <!-- Fixed navbar -->
      <div class="navbar navbar-default navbar-fixed-top" >
        <div class="container">
          <div class="navbar-header">
            <a class="navbar-brand" href="http://openframeworks.cc" title="openFrameworks Website" target="_blank" >
              <img src="./img/openFrameworks_header.png"/>
            </a>
          </div>
            <div class="btn-toolbar" role="toolbar" style="margin-top: 8px;">
              <div class="btn-group">
                <button id="toolbar-run" type="button" class="btn btn-default" title="Run Program">
                  <span class="glyphicon glyphicon-play"></span> 
                </button>
                <!-- <button id="toolbar-stop" type="button" class="btn btn-default disabled" title="Stop Program">
                  <span class="glyphicon glyphicon-stop"></span> 
                </button> -->
              </div>
              <div class="btn-group">
                <button id="toolbar-save" type="button" class="btn btn-default" title="Save Project">
                  <span class="glyphicon glyphicon-floppy-save"></span> 
                </button>
                <button id="toolbar-open-project" type="button" class="btn btn-default open-project" title="Open Project">
                  <span class="glyphicon glyphicon-folder-open"></span> 
                </button>
                <button id="toolbar-create-project" type="button" class="btn btn-default new-project" title="New Project">
                  <span class="glyphicon glyphicon-folder-close"></span> 
                </button>
              </div>
              <div class="btn-group">
                <!-- <button id="toolbar-upload-media" type="button" class="btn btn-default" title="Upload File" data-toggle="modal" data-target="#upload-media-modal">
                  <span class="glyphicon glyphicon-paperclip"></span> 
                </button>
                <button id="toolbar-task-queue" type="button" class="btn btn-default" title="Task Queue" data-toggle="modal" data-target="#task-queue-modal"> 
                  <span class="glyphicon glyphicon-tasks"></span> 
                </button> -->
                <button id="toolbar-logger" type="button" class="btn btn-default" title="Server Log" data-toggle="modal" data-target="#logger-modal">
                  <span class="glyphicon glyphicon-th"></span> 
                </button>
              </div>
              <div class="btn-group" style="float: right;">
                <button type="button" class="btn btn-default" title="openFrameworks Reference">
                    <a href="http://openframeworks.cc/documentation" target="_blank">Reference</a>
                </button>
                <button type="button" class="btn btn-default" title="openFrameworks Forum">
                    <a href="http://forum.openframeworks.cc/" target="_blank">Forum</a>
                </button>
                <button type="button" class="btn btn-default" title="ofxAddons Website">
                    <a href="http://ofxaddons.com/" target="_blank">ofxAddons</a>
                </button>
                <!-- <button id="toolbar-settings" type="button" class="btn btn-default" title="Settings" data-toggle="modal" data-target="#settings-modal">
                    <span class="glyphicon glyphicon-cog"></span> 
                </button> -->
              </div>
              <button type="button" class="btn btn-default push-right" style="float: right;" title="Issues" data-toggle="modal" data-target="#issues-modal">
                    Report a Bug
              </button>
            </div> <!-- btn-toolbar -->
        </div> <!-- container -->
      </div> <!-- navbar -->

      <!-- Upload Modal -->
      <div class="modal fade" id="upload-media-modal" tabindex="-1" role="dialog" aria-labelledby="uploadMediaModal" aria-hidden="true" target="toolbar-upload-media">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title">Upload Media</h4>
            </div>
            <div class="modal-body">
              <!-- The fileinput-button span is used to style the file input field as button -->
              <span class="btn btn-success fileinput-button">
                  <i class="glyphicon glyphicon-plus"></i>
                  <span>Add files...</span>
                  <!-- The file input field used as target for the file upload widget -->
                  <input id="fileupload" type="file" name="files[]" multiple>
              </span>
              <br>
              <br>
              <!-- The global progress bar -->
              <div id="progress" class="progress">
                  <div class="progress-bar progress-bar-success"></div>
              </div>
              <!-- The container for the uploaded files -->
              <div id="files" class="files"></div>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-primary">Save changes</button>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Settings Modal -->
      <div class="modal fade" id="settings-modal" tabindex="-1" role="dialog" aria-labelledby="settingsModalLabel" aria-hidden="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title">Settings</h4>
            </div>
            <div class="modal-body">
              To be implemented.
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-primary">Save changes</button>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Issues Modal -->
      <div class="modal fade" id="issues-modal" tabindex="-1" role="dialog" aria-labelledby="settingsModalLabel" aria-hidden="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title">Bugs + Issues</h4>
            </div>
            <div class="modal-body">
              <p>Is something broken or not working as expected?</p> 
              <p>ofSketch is still in early development and we are relying on 
              community feedback as we work. Check out our <a href="https://github.com/olab-io/ofSketch/issues?state=open">issues list</a>
              for documented problems as well as upcoming improvements and feature requests.</p>
              <p>Before you submit a bug, please check the issue list to make sure the problem you are having isn't already documented. If you aren't satisfied with what you find there click below to submit a new issue.</p>
              <p>For more info on participating in ofSketch development, please consult the <a href="#">CONTRIBUTING.md</a> file packaged with your ofSketch download.</p>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
              <button type="button" class="btn btn-primary">Submit an Issue</button>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- New Class Modal -->   
      <div class="modal fade" id="new-class-modal" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">New Class</h4>
              </div>
              <div class="modal-body">
                <div class="input-group">
                  <input id="new-class-name" type="text" class="form-control" placeholder="MyClass">
                  <span class="input-group-btn">
                    <button id="create-class" class="btn btn-default" type="button" data-dismiss="modal">Create</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Rename Class Modal -->   
      <div class="modal fade" id="rename-class-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Rename <span class="selected-tab-name"></span> Class</h4>
              </div>
              <div class="modal-body">
                <div class="input-group">
                  <input id="renamed-class-name" type="text" class="form-control" placeholder="MyNewClassName">
                  <span class="input-group-btn">
                    <button id="rename-class" class="btn btn-default" type="button" data-dismiss="modal">Rename</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Delete Class Modal -->   
      <div class="modal fade" id="delete-class-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Delete Class</h4>
              </div>
              <div class="modal-body">
                Are you sure that you want to delete the <strong><span class="selected-tab-name"></span></strong> class?
              </div>
              <div class="modal-footer">
                <button class="btn btn-default" type="button" data-dismiss="modal">Nevermind</button>
                <button id="delete-class" class="btn btn-danger" type="button" data-dismiss="modal">Delete</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Name Project Modal -->   
      <div class="modal fade" id="name-project-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Name Project</h4>
              </div>
              <div class="modal-body">
                <p>What would you like to name this project?</p>
                <div class="input-group">
                  <input id="new-project-name" type="text" class="form-control" placeholder="MyProject">
                  <span class="input-group-btn">
                    <button id="name-project" class="btn btn-default" type="button" data-dismiss="modal">Save</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Open Project Modal -->
      <div class="modal fade" id="open-project-modal" tabindex="-1" role="dialog" aria-labelledby="open-project-modal" aria-hidden="true">
        <div class="modal-dialog">
          <div class="modal-content">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
              <h4 class="modal-title">Open Project</h4>
            </div>
            <div class="modal-body">
              <div id="project-list" class="list-group"></div>
            </div>
            <div class="modal-footer">
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Delete Project Modal -->   
      <div class="modal fade" id="delete-project-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Delete Project</h4>
              </div>
              <div class="modal-body">
                Are you sure that you want to delete this project?
              </div>
              <div class="modal-footer">
                <button class="btn btn-default" type="button" data-dismiss="modal">Nevermind</button>
                <button id="delete-project" class="btn btn-danger" type="button" data-dismiss="modal">Delete</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Rename Project Modal -->   
      <div class="modal fade" id="rename-project-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Rename Project</h4>
              </div>
              <div class="modal-body">
                <div class="input-group">
                  <input id="renamed-project-name" type="text" class="form-control" placeholder="MyProject">
                  <span class="input-group-btn">
                    <button id="rename-project" class="btn btn-default" type="button" data-dismiss="modal">Rename</button>
                  </span>
                </div>
            </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->


      <!-- Task Queue Modal -->   
      <div class="modal fade" id="task-queue-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog modal-sm">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title">Task Queue</h4>
              </div>
              <div class="modal-body">
                <ul class="list-group" id="task-queue-list">
                </ul>
              </div>
              <div class="modal-footer">
                <button id="cancel-all-tasks" class="btn btn-danger" type="button" data-dismiss="modal">Cancel All</button>
                <button class="btn btn-default" type="button" data-dismiss="modal">Close</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

      <!-- Logger Modal -->   
      <div class="modal fade" id="logger-modal" tabindex="-1" role="dialog" aria-hidden="true">
          <div class="modal-dialog">
            <div class="modal-content">
              <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                <h4 class="modal-title" style="display: inline-block">Logger</h4>
                <div class="btn-group pull-right" style="margin-right: 20px;">
                    <button id="set-log-level" type="button" class="btn btn-xs dropdown-toggle" data-toggle="dropdown">
                      <span id="current-log-level"></span> <span class="caret"></span>
                    </button>
                    <ul id="log-levels" class="dropdown-menu" role="menu">
                      <li><a href="#" data-log-level="0">Verbose</a></li>
                      <li><a href="#" data-log-level="1">Notice</a></li>
                      <li><a href="#" data-log-level="2">Warning</a></li>
                      <li><a href="#" data-log-level="3">Error</a></li>
                      <li><a href="#" data-log-level="4">Fatal Error</a></li>
                      <li><a href="#" data-log-level="5">Silent</a></li>
                    </ul>
                  </div>
              </div>
              <div class="modal-body" style="height: 400px; overflow-y: auto;">
                <ul id="logger-container" class="list-group" >
                </ul>
              </div>
              <div class="modal-footer">
                <button class="btn btn-default" type="button" data-dismiss="modal">Close</button>
              </div>
          </div><!-- /.modal-content -->
        </div><!-- /.modal-dialog -->
      </div><!-- /.modal -->

    <div class="container">

      <!-- Begin page content -->
      <ul class="nav nav-tabs">
          <li class="dropdown">
              <a class="dropdown-toggle glyphicon glyphicon-book" data-toggle="dropdown" href="#">
                <span class="caret"></span>
              </a>
              <ul class="dropdown-menu action-menu" role="menu">

                <li class="new-class"><a href="#" >New Class</a></li>
                <li class="rename-class"><a href="#">Rename <span class="selected-tab-name"></span> Class</a></li>
                <li class="delete-class"><a href="#">Delete <span class="selected-tab-name"></span> Class</a></li>
                <li class="divider"></li>
                <li class="rename-project"><a href="#">Rename Project</a></li>
                <li class="delete-project"><a href="#">Delete Project</a></li>
                <li class="divider"></li>
                <li class="new-project"><a href="#">New Project</a></li>
                <li class="open-project"><a href="#">Open Project</a></li>
              </ul>
          </li>
          <!--<li class="active file-tab"><a href="#">HelloWorld</a></li>-->
          <li class="new-class">
            <a href="#new-class-modal" class="glyphicon glyphicon-plus"> </a>
          </li>
        </ul>
    
      <pre id="editor">loading...</pre>
      <div id="editor-messages" class="alert"></div>
      <pre id="console"></pre>

      </div>
    </div>

    <div id="footer">
    </div>


<script src="./js/jquery.min.js"></script>
<script src="./js/bootstrap.min.js"></script>
<script src="./js/jquery.jsonrpcclient.js"></script>
<script src="./js/jquery.json.js"></script>
<script src="./js/prism.js"></script>
<script src="./js/underscore-min.js"></script>

<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
<script src="js/vendor/jquery.ui.widget.js"></script>
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
<script src="js/load-image.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="js/canvas-to-blob.min.js"></script>

<script src="./js/src-noconflict/ace.js" type="text/javascript" charset="utf-8"></script>

<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="js/jquery.fileupload-image.js"></script>
<!-- The File Upload audio preview plugin -->
<script src="js/jquery.fileupload-audio.js"></script>
<!-- The File Upload video preview plugin -->
<script src="js/jquery.fileupload-video.js"></script>
<!-- The File Upload validation plugin -->
<script src="js/jquery.fileupload-validate.js"></script>

<script src="./js/ofxHTTP.js"></script>
<script src="./js/ofxUtils.js"></script>
<script src="./js/ofSketch/helpers.js"></script>

<script src="./js/ofSketch/classes/Project.js"></script>
<script src="./js/ofSketch/classes/SketchEditor.js"></script>
<script src="./js/ofSketch/classes/ConsoleEmulator.js"></script>
<script src="./js/ofSketch/classes/Logger.js"></script>
<script src="./js/ofSketch/ofSketch.js"></script>

<script>
/*jslint unparam: true, regexp: true */
/*global window, $ */
$(function () {
    'use strict';
    // Change this to the location of your server-side upload handler:
    var url = '/upload',
        uploadButton = $('<button/>')
            .addClass('btn btn-primary')
            .prop('disabled', true)
            .text('Processing...')
            .on('click', function () {
                var $this = $(this),
                    data = $this.data();
                $this
                    .off('click')
                    .text('Abort')
                    .on('click', function () {
                        $this.remove();
                        data.abort();
                    });
                data.submit().always(function () {
                    $this.remove();
                });
            });
    $('#fileupload').fileupload({
        url: url,
        dataType: 'json',
        autoUpload: false,
        acceptFileTypes: /(\.|\/)(gif|jpe?g|png|mov|mp3)$/i,
        maxFileSize: 5000000*1024, // 5 GB
        // Enable image resizing, except for Android and Opera,
        // which actually support image resizing, but fail to
        // send Blob objects via XHR requests:
        disableImageResize: /Android(?!.*Chrome)|Opera/
            .test(window.navigator.userAgent),
        previewMaxWidth: 100,
        previewMaxHeight: 100,
        previewCrop: true
    }).on('fileuploadadd', function (e, data) {
        data.context = $('<div/>').appendTo('#files');
        $.each(data.files, function (index, file) {
            var node = $('<p/>')
                    .append($('<span/>').text(file.name));
            if (!index) {
                node
                    .append('<br>')
                    .append(uploadButton.clone(true).data(data));
            }
            node.appendTo(data.context);
        });
    }).on('fileuploadprocessalways', function (e, data) {
        var index = data.index,
            file = data.files[index],
            node = $(data.context.children()[index]);
        if (file.preview) {
            node
                .prepend('<br>')
                .prepend(file.preview);
        }
        if (file.error) {
            node
                .append('<br>')
                .append(file.error);
        }
        if (index + 1 === data.files.length) {
            data.context.find('button')
                .text('Upload')
                .prop('disabled', !!data.files.error);
        }
    }).on('fileuploadprogressall', function (e, data) {
        var progress = parseInt(data.loaded / data.total * 100, 10);
        $('#progress .progress-bar').css(
            'width',
            progress + '%'
        );
    }).on('fileuploaddone', function (e, data) {
        $.each(data.result.files, function (index, file) {
            var link = $('<a>')
                .attr('target', '_blank')
                .prop('href', file.url);
            $(data.context.children()[index])
                .wrap(link);
        });
    }).on('fileuploadfail', function (e, data) {
        $.each(data.result.files, function (index, file) {
            var error = $('<span/>').text(file.error);
            $(data.context.children()[index])
                .append('<br>')
                .append(error);
        });
    }).prop('disabled', !$.support.fileInput)
        .parent().addClass($.support.fileInput ? undefined : 'disabled');
});
</script>
  </body>
</html>

{'fraction_non_alphanumeric': 0.18200574456895505, 'fraction_numerical': 0.003297058942513856, 'mean_word_length': 1.9300657855745866, 'pattern_counts': {'":': 0, '<': 1193, '<?xml version=': 0, '>': 1193, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4616879', 'n_tokens_mistral': 14056, 'n_tokens_neox': 13453, 'n_words': 2922}