<!DOCTYPE html>
<!--
~ Copyright 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="imgs/bird.png">

    <title>CORD Subscriber Portal</title>

    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <script src="bower_components/angular-animate/angular-animate.js"></script>
    <script src="bower_components/angular-resource/angular-resource.js"></script>
    <script src="bower_components/jquery/dist/jquery.js"></script>

    <script src="cord.js"></script>
    <script src="app/fw/services/rest.js"></script>
    <script src="app/fw/services/helpers.js"></script>
    <link rel="stylesheet" href="app/view/common/common.css">

    <script src="app/fw/mast/mast.js"></script>
    <link rel="stylesheet" href="app/fw/mast/mast.css">
    <script src="app/fw/foot/foot.js"></script>
    <link rel="stylesheet" href="app/fw/foot/foot.css">

    <script src="app/fw/nav/nav.js"></script>
    <link rel="stylesheet" href="app/fw/nav/nav.css">

    <script src="app/fw/icon/icon.js"></script>

    <script src="app/view/login/login.js"></script>
    <link rel="stylesheet" href="app/view/login/login.css">

    <script src="app/view/home/home.js"></script>
    <link rel="stylesheet" href="app/view/home/home.css">

    <script src="app/view/user/user.js"></script>
    <link rel="stylesheet" href="app/view/user/user.css">

    <script src="app/view/bundle/bundle.js"></script>
    <link rel="stylesheet" href="app/view/bundle/bundle.css">

</head>
<body ng-app="cordGui">
<div id="frame" ng-controller="CordCtrl as cordCtrl">

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

        <svg id="icon-defs">
            <defs>
                <symbol id="bird" viewBox="352 224 113 112">
                    <path d="M427.7,300.4 c-6.9,0.6-13.1,5-19.2,7.1c-18.1,6.2-33.9,
                    9.1-56.5,4.7c24.6,17.2,36.6,13,63.7,0.1c-0.5,0.6-0.7,1.3-1.3,
                    1.9c1.4-0.4,2.4-1.7,3.4-2.2c-0.4,0.7-0.9,1.5-1.4,1.9c2.2-0.6,
                    3.7-2.3,5.9-3.9c-2.4,2.1-4.2,5-6,8c-1.5,2.5-3.1,4.8-5.1,6.9c-1,
                    1-1.9,1.9-2.9,2.9c-1.4,1.3-2.9,2.5-5.1,2.9c1.7,0.1,3.6-0.3,6.5
                    -1.9c-1.6,2.4-7.1,6.2-9.9,7.2c10.5-2.6,19.2-15.9,25.7-18c18.3
                    -5.9,13.8-3.4,27-14.2c1.6-1.3,3-1,5.1-0.8c1.1,0.1,2.1,0.3,3.2,
                    0.5c0.8,0.2,1.4,0.4,2.2,0.8l1.8,0.9c-1.9-4.5-2.3-4.1-5.9-6c-2.3
                    -1.3-3.3-3.8-6.2-4.9c-7.1-2.6-11.9,11.7-11.7-5c0.1-8,4.2-14.4,
                    6.4-22c1.1-3.8,2.3-7.6,2.4-11.5c0.1-2.3,0-4.7-0.4-7c-2-11.2-8.4
                    -21.5-19.7-24.8c-1-0.3-1.1-0.3-0.9,0c9.6,17.1,7.2,38.3,3.1,54.2
                    C429.9,285.5,426.7,293.2,427.7,300.4z"></path>
                </symbol>
                <symbol id="checkMark" viewBox="0 0 10 10">
                    <path d="M2.6,4.5c0,0,0.7-0.4,1.2,0.3l1.0,1.8c0,0,2.7-5.4,2.8-5.7c
                    0,0,0.5-0.9,1.4-0.1c0,0,0.5,0.5,0,1.3S6.8,7.3,5.6,9.2c0,0-0.4,0.5
                    -1.2,0.1S2.2,5.4,2.2,5.4S2.2,4.7,2.6,4.5z"></path>
                </symbol>
                <symbol id="xMark" viewBox="0 0 10 10">
                    <path d="M9.0,7.2C8.2,6.9,7.4,6.1,6.7,5.2c0.4-0.5,0.7-0.8,0.8-1.0C
                    7.8,3.5,9.4,1.6,8.1,1.1C6.8,0.6,6.6,1.7,6.6,1.7C6.4,2.1,6.0,2.7,
                    5.4,3.4C4.9,2.5,4.5,1.9,4.5,1.9S3.8,0.2,2.9,0.7C1.9,1.1,2.3,2.3,
                    2.3,2.3c0.3,1.1,0.8,2.1,1.4,2.9C2.5,6.4,1.3,7.4,1.3,7.4S0.8,7.8,
                    0.8,8.1C0.9,8.3,0.9,9.6,2.4,9.1C3.1,8.8,4.1,7.9,5.1,7.0c1.3,1.3,
                    2.5,1.9,2.5,1.9s0.5,0.5,1.4-0.2C9.8,7.9,9.0,7.2,9.0,7.2z"></path>
                </symbol>
            </defs>
        </svg>
    </div>

    <script type='text/javascript' id="__bs_script__">
        //<![CDATA[
        document.write("<script async src='http://HOST:3000/browser-sync/browser-sync-client.2.11.1.js'><\/script>".replace("HOST", location.hostname));
        //]]>
    </script>
</body>
</html>
