<!DOCTYPE html>
<!--
~ Copyright 2014,2015 Open Networking Laboratory
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~     http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<html>
<head>
    <meta charset="utf-8">
    <link rel="shortcut icon" href="data/img/onos-logo.png">

    <link rel="apple-touch-icon" href="data/img/apple-touch-icon.png">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>ONOS</title>

    <!-- Third party library code included here -->
    <!--TODO: use minified versions, once debugging is complete -->
    <script src="tp/angular.js"></script>
    <script src="tp/angular-route.js"></script>
    <script src="tp/angular-cookies.js"></script>

    <script src="tp/d3.js"></script>
    <script src="tp/topojson.v1.min.js"></script>

    <!-- ONOS UI Framework included here -->
    <!-- TODO: use a single catenated-minified file here -->
    <script src="onos.js"></script>
    <script src="app/directives.js"></script>

    <script src="app/fw/util/util.js"></script>
    <script src="app/fw/util/fn.js"></script>
    <script src="app/fw/util/random.js"></script>
    <script src="app/fw/util/theme.js"></script>
    <script src="app/fw/util/keys.js"></script>

    <script src="app/fw/mast/mast.js"></script>
    <script src="app/fw/nav/nav.js"></script>

    <script src="app/fw/svg/svg.js"></script>
    <script src="app/fw/svg/glyph.js"></script>
    <script src="app/fw/svg/icon.js"></script>
    <script src="app/fw/svg/geodata.js"></script>
    <script src="app/fw/svg/map.js"></script>
    <script src="app/fw/svg/zoom.js"></script>
    <script src="app/fw/svg/svgUtil.js"></script>

    <script src="app/fw/remote/remote.js"></script>
    <script src="app/fw/remote/urlfn.js"></script>
    <script src="app/fw/remote/rest.js"></script>
    <script src="app/fw/remote/wsock.js"></script>
    <script src="app/fw/remote/websocket.js"></script>

    <script src="app/fw/widget/widget.js"></script>
    <script src="app/fw/widget/table.js"></script>
    <script src="app/fw/widget/toolbar.js"></script>
    <script src="app/fw/widget/tooltip.js"></script>
    <script src="app/fw/widget/button.js"></script>
    <script src="app/fw/widget/tableBuilder.js"></script>

    <script src="app/fw/layer/layer.js"></script>
    <script src="app/fw/layer/panel.js"></script>
    <script src="app/fw/layer/flash.js"></script>
    <script src="app/fw/layer/quickhelp.js"></script>
    <script src="app/fw/layer/veil.js"></script>

    <!-- Framework and library stylesheets included here -->
    <!-- TODO: use a single catenated-minified file here -->
    <link rel="stylesheet" href="app/onos.css">
    <link rel="stylesheet" href="app/common.css">
    <link rel="stylesheet" href="app/fw/mast/mast.css">
    <link rel="stylesheet" href="app/fw/svg/glyph.css">
    <link rel="stylesheet" href="app/fw/svg/icon.css">
    <link rel="stylesheet" href="app/fw/layer/panel.css">
    <link rel="stylesheet" href="app/fw/layer/flash.css">
    <link rel="stylesheet" href="app/fw/layer/quickhelp.css">
    <link rel="stylesheet" href="app/fw/layer/veil.css">
    <link rel="stylesheet" href="app/fw/nav/nav.css">
    <link rel="stylesheet" href="app/fw/widget/button.css">
    <link rel="stylesheet" href="app/fw/widget/toolbar.css">
    <link rel="stylesheet" href="app/fw/widget/tooltip.css">
    <link rel="stylesheet" href="app/fw/widget/table.css">

    <!-- This is where contributed javascript will get injected -->
    <!-- {INJECTED-JAVASCRIPT-START} -->
    <script src="app/view/topo/topo.js"></script>
    <script src="app/view/topo/topoD3.js"></script>
    <script src="app/view/topo/topoEvent.js"></script>
    <script src="app/view/topo/topoFilter.js"></script>
    <script src="app/view/topo/topoForce.js"></script>
    <script src="app/view/topo/topoInst.js"></script>
    <script src="app/view/topo/topoLink.js"></script>
    <script src="app/view/topo/topoModel.js"></script>
    <script src="app/view/topo/topoOblique.js"></script>
    <script src="app/view/topo/topoPanel.js"></script>
    <script src="app/view/topo/topoSelect.js"></script>
    <script src="app/view/topo/topoTraffic.js"></script>
    <script src="app/view/topo/topoToolbar.js"></script>
    <script src="app/view/device/device.js"></script>
    <script src="app/view/host/host.js"></script>
    <script src="app/view/app/app.js"></script>
    <script src="app/view/intent/intent.js"></script>
    <script src="app/view/sample/sample.js"></script>
    <!-- {INJECTED-JAVASCRIPT-END} -->


    <!-- This is where contributed stylesheets will get injected -->
    <!-- {INJECTED-STYLESHEETS-START} -->
    <link rel="stylesheet" href="app/view/topo/topo.css">
    <link rel="stylesheet" href="app/view/device/device.css">
    <link rel="stylesheet" href="app/view/host/host.css">
    <link rel="stylesheet" href="app/view/app/app.css">
    <link rel="stylesheet" href="app/view/intent/intent.css">
    <link rel="stylesheet" href="app/view/sample/sample.css">
    <!-- {INJECTED-STYLESHEETS-END} -->

</head>
<body class="light" ng-app="onosApp">
<div id="frame" ng-controller="OnosCtrl as onosCtrl">
    <div id="mast"
         ng-controller="MastCtrl as mastCtrl"
         ng-include="'app/fw/mast/mast.html'"></div>

    <div id="view" ng-view></div>

    <div id="nav"
         ng-controller="NavCtrl as navCtrl"
         ng-include="'nav.html'"></div>

    <div id="floatpanels"></div>
    <div id="alerts"></div>
    <div id="tooltip"></div>
    <div id="flash"></div>
    <div id="quickhelp"></div>
    <div id="veil"
         resize
         ng-style="resizeWithOffset(0, 0)"></div>
</div>

<script>
    <!-- Inject user agent info into html element to allow CSS sensitivity. -->
    (function () {
        var t = !!('ontouchstart' in window) || !!('onmsgesturechange' in window);
        d3.select(document.documentElement)
            .attr('data-useragent', navigator.userAgent)
            .attr('data-platform', navigator.platform)
            .classed('touch', t);
    }());
</script>
</body>
</html>
