From afc95f6949610f557924921d15050ae00df8257b Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 25 Sep 2018 14:58:27 -0400 Subject: [PATCH 01/30] double curly not working --- algorithm/s_bfl.py | 490 ++++++++++++++++++++-------------------- layout.html | 7 +- myapp.py | 18 +- static/js/my_util.js | 58 ++--- static_html/s-bfls.html | 34 ++- 5 files changed, 327 insertions(+), 280 deletions(-) diff --git a/algorithm/s_bfl.py b/algorithm/s_bfl.py index 94a2086..4817b7a 100644 --- a/algorithm/s_bfl.py +++ b/algorithm/s_bfl.py @@ -15,252 +15,252 @@ import json import yaml - -def keyboard_terminate(model, where): - try: - pass - except KeyboardInterrupt: - model.terminate() - - -logger = logging.getLogger(__name__) - - -def s_bfl(input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs): - """ - Solve the Sorghum-BFL problem instance. - - Parameters - ---------- - input_data : str or dict - can be a *.yaml or *.json file name (str) or a dict object. - sysnum : int - system number. - out_file : str, optional - if specified write return value to a YAML or JSON file named out_file. - kwargs : other keywords in my_utility.create_data() - including seed and plot_coords. - - Returns - ------- - ret : dict - a dict object containing three sub-dicts params, solution, summary. - - params is all the model parameters converted from input_data. - - solution is all the decision variables and the optimal values. - - summary is a summary of the solution. - """ - func_args = locals() - args_str = yaml.dump(func_args, default_flow_style=True, width=np.inf) - - logger.info(f"Code begins with {args_str} ") - params = create_data(input_data, sysnum, **kwargs) - (*_, a, c_op, c_op_jit, c_pen, cfs, cs, cs_jit, csk, d, hf, hs, U, UE, - UE_jit) = params.values() - - T = list(range(1, len(d))) - F = list(range(len(cfs))) - S = list(range(len(csk))) - K = list(range(len(U))) - a = np.array(a) - M = a.sum(axis=0) - c_zfs = (np.array(cfs) + c_op).tolist() - c_z_jit = (np.array(cs_jit)[None] + np.array(cfs) + c_op_jit).tolist() - - logger.info("Parameters created. Begin building model.") - - m = Model('ms1m_base') - - # ====== Create vars and objectives ====== - w = m.addVars(S, K, obj=csk, vtype='B', name='w') - y = m.addVars(F, S, vtype='B', name='y') - zfs = m.addVars(T, F, S, obj=c_zfs * len(T), name='zfs') - zs = m.addVars(T, S, obj=cs * len(T), name='zs') - Is = m.addVars([0] + T, S, obj=hs, name='Is') - If = m.addVars([0] + T, F, obj=hf, name='If') - if jit: - z_jit = m.addVars(T, F, S, obj=c_z_jit * len(T), name='z_jit') - penalty = m.addVars(T, obj=c_pen, name='penalty') - - m.setAttr('UB', Is.select(0, '*'), [0] * len(S)) - m.setAttr('UB', If.select(0, '*'), [0] * len(F)) - - m.ModelSense = GRB.MINIMIZE - - # ====== Create constraints ====== - m.addConstrs((w.sum(s, '*') <= 1 for s in S), name='c1') - m.addConstrs((y[f, s] <= w.sum(s, '*') for f in F for s in S), name='c2') - m.addConstrs((y.sum(f, '*') == 1 for f in F), name='c3') - m.addConstrs((Is[t, s] == Is[t - 1, s] - zs[t, s] + zfs.sum(t, '*', s) - for t in T for s in S), - name='c4') - m.addConstrs((Is[t, s] <= quicksum([U[k] * w[s, k] for k in K]) for t in T - for s in S), - name='c7') - m.addConstrs((zfs.sum(t, '*', s) <= quicksum([UE[k] * w[s, k] for k in K]) - for t in T for s in S), - name='c9a') - if not jit: - m.addConstrs((If[t, f] == If[t - 1, f] + a[t, f] - zfs.sum(t, f, '*') - for t in T for f in F), - name='c5') - m.addConstrs((zs.sum(t, '*') + penalty[t] == d[t] for t in T), - name='c6') - m.addConstrs( - (zfs.sum('*', f, s) <= M[f] * y[f, s] for f in F for s in S), - name='c8') - m.addConstrs( - (zfs.sum(t, '*', s) <= quicksum([UE_jit[k] * w[s, k] for k in K]) - for t in T for s in S), - name='c9b') - else: - m.addConstrs((If[t, f] == If[t - 1, f] + a[t, f] - zfs.sum(t, f, '*') - - z_jit.sum(t, f, '*') for t in T for f in F), - name='c5') - m.addConstrs( - (z_jit.sum(t, '*', '*') + zs.sum(t, '*') + penalty[t] == d[t] - for t in T), - name='c6') - m.addConstrs( - (z_jit.sum('*', f, s) + zfs.sum('*', f, s) <= M[f] * y[f, s] - for f in F for s in S), - name='c8') - m.addConstrs((z_jit.sum(t, '*', s) + zfs.sum(t, '*', s) <= quicksum( - [UE_jit[k] * w[s, k] for k in K]) for t in T for s in S), - name='c9b') - - logger.info("Model created. Begin solving.") - - # ====== Solve ====== - # m.update() - # m.write('ms1m_grb.lp') - # m.setParam('MIPGap', 0.01) - m.setParam('TimeLimit', t_lim) - m.setParam('Threads', 6) - m.update() - if not os.path.exists('warm_starts/'): - os.makedirs('warm_starts/') - else: - if os.path.isfile(f'warm_starts/base_{sysnum}.mst'): - m.read(f'warm_starts/base_{sysnum}.mst') - if os.path.isfile(f'warm_starts/hybrid_sys{sysnum}.mst'): - m.read(f'warm_starts/hybrid_sys{sysnum}.mst') - m.optimize(keyboard_terminate) - - logger.info("Model solved. Begin post-processing.") - - # ====== Result ====== - status = { - 1: 'LOADED', - 2: 'OPTIMAL', - 3: 'INFEASIBLE', - 7: 'ITERATION_LIMIT', - 8: 'NODE_LIMIT', - 9: 'TIME_LIMIT', - 10: 'SOLUTION_LIMIT', - 11: 'INTERRUPTED' - } - - if m.SolCount: - m.write('warm_starts/start.mst') +class s_bfl(object): + def keyboard_terminate(self, model, where): + try: + pass + except KeyboardInterrupt: + model.terminate() + + + logger = logging.getLogger(__name__) + + + def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs): + """ + Solve the Sorghum-BFL problem instance. + + Parameters + ---------- + input_data : str or dict + can be a *.yaml or *.json file name (str) or a dict object. + sysnum : int + system number. + out_file : str, optional + if specified write return value to a YAML or JSON file named out_file. + kwargs : other keywords in my_utility.create_data() + including seed and plot_coords. + + Returns + ------- + ret : dict + a dict object containing three sub-dicts params, solution, summary. + + params is all the model parameters converted from input_data. + + solution is all the decision variables and the optimal values. + + summary is a summary of the solution. + """ + func_args = locals() + args_str = yaml.dump(func_args, default_flow_style=True, width=np.inf) + + logger.info(f"Code begins with {args_str} ") + params = create_data(input_data, sysnum, **kwargs) + (*_, a, c_op, c_op_jit, c_pen, cfs, cs, cs_jit, csk, d, hf, hs, U, UE, + UE_jit) = params.values() + + T = list(range(1, len(d))) + F = list(range(len(cfs))) + S = list(range(len(csk))) + K = list(range(len(U))) + a = np.array(a) + M = a.sum(axis=0) + c_zfs = (np.array(cfs) + c_op).tolist() + c_z_jit = (np.array(cs_jit)[None] + np.array(cfs) + c_op_jit).tolist() + + logger.info("Parameters created. Begin building model.") + + m = Model('ms1m_base') + + # ====== Create vars and objectives ====== + w = m.addVars(S, K, obj=csk, vtype='B', name='w') + y = m.addVars(F, S, vtype='B', name='y') + zfs = m.addVars(T, F, S, obj=c_zfs * len(T), name='zfs') + zs = m.addVars(T, S, obj=cs * len(T), name='zs') + Is = m.addVars([0] + T, S, obj=hs, name='Is') + If = m.addVars([0] + T, F, obj=hf, name='If') if jit: - m.write(f'warm_starts/hybrid_sys{sysnum}.mst') + z_jit = m.addVars(T, F, S, obj=c_z_jit * len(T), name='z_jit') + penalty = m.addVars(T, obj=c_pen, name='penalty') + + m.setAttr('UB', Is.select(0, '*'), [0] * len(S)) + m.setAttr('UB', If.select(0, '*'), [0] * len(F)) + + m.ModelSense = GRB.MINIMIZE + + # ====== Create constraints ====== + m.addConstrs((w.sum(s, '*') <= 1 for s in S), name='c1') + m.addConstrs((y[f, s] <= w.sum(s, '*') for f in F for s in S), name='c2') + m.addConstrs((y.sum(f, '*') == 1 for f in F), name='c3') + m.addConstrs((Is[t, s] == Is[t - 1, s] - zs[t, s] + zfs.sum(t, '*', s) + for t in T for s in S), + name='c4') + m.addConstrs((Is[t, s] <= quicksum([U[k] * w[s, k] for k in K]) for t in T + for s in S), + name='c7') + m.addConstrs((zfs.sum(t, '*', s) <= quicksum([UE[k] * w[s, k] for k in K]) + for t in T for s in S), + name='c9a') + if not jit: + m.addConstrs((If[t, f] == If[t - 1, f] + a[t, f] - zfs.sum(t, f, '*') + for t in T for f in F), + name='c5') + m.addConstrs((zs.sum(t, '*') + penalty[t] == d[t] for t in T), + name='c6') + m.addConstrs( + (zfs.sum('*', f, s) <= M[f] * y[f, s] for f in F for s in S), + name='c8') + m.addConstrs( + (zfs.sum(t, '*', s) <= quicksum([UE_jit[k] * w[s, k] for k in K]) + for t in T for s in S), + name='c9b') else: - m.write(f'warm_starts/base_sys{sysnum}.mst') - - cost_total_lb = m.objBound - cost_total = m.objVal - gap = (cost_total - cost_total_lb) / cost_total - cost_loc = w.prod({(s, k): csk[s][k] for s in S for k in K}).getValue() - - cost_op = zfs.sum().getValue() * c_op - cfs_dict = {(t, f, s): cfs[f][s] for t, f, s in setprod(T, F, S)} - cost_tran_fs = zfs.prod(cfs_dict).getValue() - cost_tran_sb = zs.prod({(t, s): cs[s] - for t in T for s in S}).getValue() - if jit: - cost_op += z_jit.sum().getValue() * c_op_jit - cost_tran_fs += z_jit.prod(cfs_dict).getValue() - cost_tran_sb += z_jit.prod({(t, f, s): cs_jit[s] - for t in T for f in F - for s in S}).getValue() - - cost_inv_S = Is.sum().getValue() * hs - cost_inv_F = If.sum().getValue() * hf - - K_cnt = dict(Counter(k for s in S for k in K if w[s, k].x > 0.5)) - jit_amount = z_jit.sum().getValue() if jit else np.nan - - solution = [[v.VarName, v.X] for v in m.getVars() if v.X > 1e-6] - summary = dict() - summary['others'] = { - 'status': status[m.status], - 'CPU_time': m.runtime, - 'gap': gap, - 'K': len(K), - 'T': len(T), - 'F': len(F), - 'S': len(S), - 'num_SSL': w.sum().getValue(), - 'SSL_type_cnt': K_cnt, - } - summary['cost'] = { - 'lb': cost_total_lb, - 'ub': cost_total, - 'penalty': penalty.sum().getValue(), - 'operation': cost_op, - 'loc_own': cost_loc, - 'tran_fs': cost_tran_fs, - 'tran_sb': cost_tran_sb, - 'inv_f': cost_inv_F, - 'inv_s': cost_inv_S, - } - a_sum = float(a.sum()) - summary['per_dry_Mg'] = { - k: v / a_sum - for k, v in summary['cost'].items() - } - summary['trans_amount'] = { - 'base_fs': zfs.sum().getValue(), - 'base_sb': zs.sum().getValue(), - 'jit': jit_amount + m.addConstrs((If[t, f] == If[t - 1, f] + a[t, f] - zfs.sum(t, f, '*') - + z_jit.sum(t, f, '*') for t in T for f in F), + name='c5') + m.addConstrs( + (z_jit.sum(t, '*', '*') + zs.sum(t, '*') + penalty[t] == d[t] + for t in T), + name='c6') + m.addConstrs( + (z_jit.sum('*', f, s) + zfs.sum('*', f, s) <= M[f] * y[f, s] + for f in F for s in S), + name='c8') + m.addConstrs((z_jit.sum(t, '*', s) + zfs.sum(t, '*', s) <= quicksum( + [UE_jit[k] * w[s, k] for k in K]) for t in T for s in S), + name='c9b') + + logger.info("Model created. Begin solving.") + + # ====== Solve ====== + # m.update() + # m.write('ms1m_grb.lp') + # m.setParam('MIPGap', 0.01) + m.setParam('TimeLimit', t_lim) + m.setParam('Threads', 6) + m.update() + if not os.path.exists('warm_starts/'): + os.makedirs('warm_starts/') + else: + if os.path.isfile(f'warm_starts/base_{sysnum}.mst'): + m.read(f'warm_starts/base_{sysnum}.mst') + if os.path.isfile(f'warm_starts/hybrid_sys{sysnum}.mst'): + m.read(f'warm_starts/hybrid_sys{sysnum}.mst') + m.optimize(keyboard_terminate) + + logger.info("Model solved. Begin post-processing.") + + # ====== Result ====== + status = { + 1: 'LOADED', + 2: 'OPTIMAL', + 3: 'INFEASIBLE', + 7: 'ITERATION_LIMIT', + 8: 'NODE_LIMIT', + 9: 'TIME_LIMIT', + 10: 'SOLUTION_LIMIT', + 11: 'INTERRUPTED' } - logger.info(args_str + yaml.dump(summary, default_flow_style=False)) - - ret = {'params': params, 'solution': solution, 'summary': summary} - if out_file: - with open(out_file, 'w') as f: - if out_file.split('.')[-1] == 'json': - json.dump(ret, f) - else: - yaml.dump(ret, f) - logger.info(f"Output {out_file} saved.\n") - return ret - else: - logger.info(f"{status[m.status]}\n") - - -if __name__ == '__main__': - if not logger.hasHandlers(): - stream_handler = logging.StreamHandler() - file_handler = logging.FileHandler('RunLog.log') - formatter = logging.Formatter( - fmt='%(asctime)s %(filename)s:%(levelname)s - %(message)s', - datefmt='%Y-%m-%d %H:%M:%S') - file_handler.setFormatter(formatter) - logger.addHandler(stream_handler) - logger.addHandler(file_handler) - logger.setLevel(logging.DEBUG) - - args = cli_s_bfl() - s_bfl( - args.input_file, - args.sysnum, - t_lim=args.t_lim, - jit=args.jit, - seed=args.seed, - out_file=args.out_file) -# s_bfl('cundiff_input.yaml', 2, t_lim=60, jit=True, out_file='outout.yaml') + if m.SolCount: + m.write('warm_starts/start.mst') + if jit: + m.write(f'warm_starts/hybrid_sys{sysnum}.mst') + else: + m.write(f'warm_starts/base_sys{sysnum}.mst') + + cost_total_lb = m.objBound + cost_total = m.objVal + gap = (cost_total - cost_total_lb) / cost_total + cost_loc = w.prod({(s, k): csk[s][k] for s in S for k in K}).getValue() + + cost_op = zfs.sum().getValue() * c_op + cfs_dict = {(t, f, s): cfs[f][s] for t, f, s in setprod(T, F, S)} + cost_tran_fs = zfs.prod(cfs_dict).getValue() + cost_tran_sb = zs.prod({(t, s): cs[s] + for t in T for s in S}).getValue() + if jit: + cost_op += z_jit.sum().getValue() * c_op_jit + cost_tran_fs += z_jit.prod(cfs_dict).getValue() + cost_tran_sb += z_jit.prod({(t, f, s): cs_jit[s] + for t in T for f in F + for s in S}).getValue() + + cost_inv_S = Is.sum().getValue() * hs + cost_inv_F = If.sum().getValue() * hf + + K_cnt = dict(Counter(k for s in S for k in K if w[s, k].x > 0.5)) + jit_amount = z_jit.sum().getValue() if jit else np.nan + + solution = [[v.VarName, v.X] for v in m.getVars() if v.X > 1e-6] + summary = dict() + summary['others'] = { + 'status': status[m.status], + 'CPU_time': m.runtime, + 'gap': gap, + 'K': len(K), + 'T': len(T), + 'F': len(F), + 'S': len(S), + 'num_SSL': w.sum().getValue(), + 'SSL_type_cnt': K_cnt, + } + summary['cost'] = { + 'lb': cost_total_lb, + 'ub': cost_total, + 'penalty': penalty.sum().getValue(), + 'operation': cost_op, + 'loc_own': cost_loc, + 'tran_fs': cost_tran_fs, + 'tran_sb': cost_tran_sb, + 'inv_f': cost_inv_F, + 'inv_s': cost_inv_S, + } + a_sum = float(a.sum()) + summary['per_dry_Mg'] = { + k: v / a_sum + for k, v in summary['cost'].items() + } + summary['trans_amount'] = { + 'base_fs': zfs.sum().getValue(), + 'base_sb': zs.sum().getValue(), + 'jit': jit_amount + } + + logger.info(args_str + yaml.dump(summary, default_flow_style=False)) + + ret = {'params': params, 'solution': solution, 'summary': summary} + if out_file: + with open(out_file, 'w') as f: + if out_file.split('.')[-1] == 'json': + json.dump(ret, f) + else: + yaml.dump(ret, f) + logger.info(f"Output {out_file} saved.\n") + return ret + else: + logger.info(f"{status[m.status]}\n") + + + if __name__ == '__main__': + if not logger.hasHandlers(): + stream_handler = logging.StreamHandler() + file_handler = logging.FileHandler('RunLog.log') + formatter = logging.Formatter( + fmt='%(asctime)s %(filename)s:%(levelname)s - %(message)s', + datefmt='%Y-%m-%d %H:%M:%S') + file_handler.setFormatter(formatter) + logger.addHandler(stream_handler) + logger.addHandler(file_handler) + logger.setLevel(logging.DEBUG) + + args = cli_s_bfl() + s_bfl( + args.input_file, + args.sysnum, + t_lim=args.t_lim, + jit=args.jit, + seed=args.seed, + out_file=args.out_file) + # s_bfl('cundiff_input.yaml', 2, t_lim=60, jit=True, out_file='outout.yaml') \ No newline at end of file diff --git a/layout.html b/layout.html index 40e7e31..55d8910 100644 --- a/layout.html +++ b/layout.html @@ -7,7 +7,7 @@ - {{ title|striptags }} - VT BFL Team + %% title|striptags %% - VT BFL Team @@ -67,7 +67,7 @@
-

{{ title|safe }}

+

%% title|safe %%

{% block content %}{% endblock %}
@@ -91,7 +91,8 @@

{{ title|safe }}

}); })(); - + + {% block myscript %}{% endblock %} diff --git a/myapp.py b/myapp.py index 50d86aa..a3bfe5a 100644 --- a/myapp.py +++ b/myapp.py @@ -11,7 +11,15 @@ from flask import Flask, render_template, request, send_from_directory, jsonify from algorithm.tsp import tsp -app = Flask(__name__, template_folder='') +class CustomFlask(Flask): + jinja_options = Flask.jinja_options.copy() + jinja_options.update(dict( + variable_start_string='%%', # Default is '{{', I'm changing this because Vue.js uses '{{' / '}}' + variable_end_string='%%', + )) + + +app = CustomFlask(__name__,template_folder='') # This replaces your existing "app = Flask(__name__)" # ============== Page Rendering ============== @app.route('/') @@ -43,3 +51,11 @@ def render_tsp(): if __name__ == '__main__': app.run(debug=True, port=5000) # Note: development server only + +@app.route('/s-bfl/', methods=['GET']) +def s_bfl(): + response = { + 'message': "Got this far" + } + return jsonify(response) + diff --git a/static/js/my_util.js b/static/js/my_util.js index 9cbec60..66e035e 100644 --- a/static/js/my_util.js +++ b/static/js/my_util.js @@ -1,29 +1,29 @@ -// listen on form submit and reset -$(document).ready(function () { - $("form").on("submit", function (event) { - event.preventDefault(); // prevent submit button from default post - try { - $.post($(location).attr('href') + "action/", // post url - $(this).serialize(), // post data - function (data, status) { // process the post response - localStorage.setItem($(location).attr('pathname').replace(/\//g, '') + "result", - JSON.stringify(data)); - if (typeof display_summary === 'function') { - display_summary(); // Note: this function will be customized in each page - } - }); - } catch (err) { - alert(err); - } - }); - $("form").on("reset", function (event) { - try { - localStorage.removeItem($(location).attr('pathname').replace(/\//g, '') + "result") - if (typeof display_summary === 'function') { - display_summary(); // Note: this function will be customized in each page - } - } catch (err) { - alert(err); - } - }); -}); \ No newline at end of file +// // listen on form submit and reset +// $(document).ready(function () { +// $("form").on("submit", function (event) { +// event.preventDefault(); // prevent submit button from default post +// try { +// $.post($(location).attr('href') + "action/", // post url +// $(this).serialize(), // post data +// function (data, status) { // process the post response +// localStorage.setItem($(location).attr('pathname').replace(/\//g, '') + "result", +// JSON.stringify(data)); +// if (typeof display_summary === 'function') { +// display_summary(); // Note: this function will be customized in each page +// } +// }); +// } catch (err) { +// alert(err); +// } +// }); +// $("form").on("reset", function (event) { +// try { +// localStorage.removeItem($(location).attr('pathname').replace(/\//g, '') + "result") +// if (typeof display_summary === 'function') { +// display_summary(); // Note: this function will be customized in each page +// } +// } catch (err) { +// alert(err); +// } +// }); +// }); \ No newline at end of file diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 1944516..d982049 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -1,5 +1,35 @@ {% extends "layout.html" %} {% set title = "Sorghum BFLS" %} {% block hero %}{% endblock %} -{% block content %}{% endblock %} -{% block myscript %}{% endblock %} \ No newline at end of file +{% block content %} +
+ + ${ message } +
+ +{% endblock %} +{% block myscript %} + +{% endblock %} \ No newline at end of file From 1d6958ef8e12d7f6f15af0155905d1fc65b2b358 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 25 Sep 2018 18:48:55 -0400 Subject: [PATCH 02/30] something --- static_html/s-bfls.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index d982049..631b91f 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -3,8 +3,8 @@ {% block hero %}{% endblock %} {% block content %}
- - ${ message } + + [[ message ]]
{% endblock %} @@ -14,7 +14,7 @@ var url = "http://localhost:5000/s-bfls/"; var s_bfl = new Vue({ - delimiters: ['${', '}'], + delimiters: ['[[', ']]'], el: "#s_bfl", data: { message: "something" From f963a321de7a70ad595fee337003609e15a1a963 Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 29 Sep 2018 11:51:54 -0400 Subject: [PATCH 03/30] Working test endpoint --- myapp.py | 11 +++++------ static/js/my_util.js | 2 +- static_html/s-bfls.html | 4 ++-- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/myapp.py b/myapp.py index a3bfe5a..8e88067 100644 --- a/myapp.py +++ b/myapp.py @@ -21,6 +21,7 @@ class CustomFlask(Flask): app = CustomFlask(__name__,template_folder='') # This replaces your existing "app = Flask(__name__)" + # ============== Page Rendering ============== @app.route('/') def root(): @@ -35,6 +36,10 @@ def static_html(subpath): def favicon(): return send_from_directory(os.path.join(app.root_path,'static'),'favicon.ico') +@app.route('/test/', methods=['GET']) +def Sbfl(): + return "

Hello World

" + @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) def page_not_found(e): @@ -52,10 +57,4 @@ def render_tsp(): if __name__ == '__main__': app.run(debug=True, port=5000) # Note: development server only -@app.route('/s-bfl/', methods=['GET']) -def s_bfl(): - response = { - 'message': "Got this far" - } - return jsonify(response) diff --git a/static/js/my_util.js b/static/js/my_util.js index 66e035e..2e6d4df 100644 --- a/static/js/my_util.js +++ b/static/js/my_util.js @@ -1,4 +1,4 @@ -// // listen on form submit and reset +// listen on form submit and reset // $(document).ready(function () { // $("form").on("submit", function (event) { // event.preventDefault(); // prevent submit button from default post diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 631b91f..96292b3 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -19,9 +19,9 @@ data: { message: "something" }, - methodes: { + methodes: { getObjectiveFromBackend () { - anxios.get(this.url) + axios.get(this.url) .then(response => { this.message = response.data.message; }) From 75f0ff9f1f3467bbb0196b78f4f4fd132ad050d2 Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 29 Sep 2018 12:28:23 -0400 Subject: [PATCH 04/30] Making s_bfl into a class --- algorithm/s_bfl.py | 11 ++++++----- myapp.py | 25 +++++++++++++++++++++++-- 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/algorithm/s_bfl.py b/algorithm/s_bfl.py index 4817b7a..6403f44 100644 --- a/algorithm/s_bfl.py +++ b/algorithm/s_bfl.py @@ -5,7 +5,7 @@ @author: fangzhou """ -from s_bfl_utility import create_data, cli_s_bfl +from algorithm.s_bfl_utility import create_data, cli_s_bfl import logging import os import numpy as np @@ -15,16 +15,17 @@ import json import yaml -class s_bfl(object): - def keyboard_terminate(self, model, where): + +logger = logging.getLogger(__name__) + +def keyboard_terminate(self, model, where): try: pass except KeyboardInterrupt: model.terminate() - logger = logging.getLogger(__name__) - +class s_bfl(object): def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs): """ diff --git a/myapp.py b/myapp.py index 8e88067..8d9f993 100644 --- a/myapp.py +++ b/myapp.py @@ -10,6 +10,7 @@ import jinja2 from flask import Flask, render_template, request, send_from_directory, jsonify from algorithm.tsp import tsp +from algorithm.s_bfl import s_bfl class CustomFlask(Flask): jinja_options = Flask.jinja_options.copy() @@ -21,6 +22,23 @@ class CustomFlask(Flask): app = CustomFlask(__name__,template_folder='') # This replaces your existing "app = Flask(__name__)" +books = [ + {'id': 0, + 'title': 'A Fire Upon the Deep', + 'author': 'Vernor Vinge', + 'first_sentence': 'The coldsleep itself was dreamless.', + 'year_published': '1992'}, + {'id': 1, + 'title': 'The Ones Who Walk Away From Omelas', + 'author': 'Ursula K. Le Guin', + 'first_sentence': 'With a clamor of bells that set the swallows soaring, the Festival of Summer came to the city Omelas, bright-towered by the sea.', + 'published': '1973'}, + {'id': 2, + 'title': 'Dhalgren', + 'author': 'Samuel R. Delany', + 'first_sentence': 'to wound the autumnal city.', + 'published': '1975'} +] # ============== Page Rendering ============== @app.route('/') @@ -36,9 +54,12 @@ def static_html(subpath): def favicon(): return send_from_directory(os.path.join(app.root_path,'static'),'favicon.ico') -@app.route('/test/', methods=['GET']) +@app.route('/s-bfl/', methods=['GET']) def Sbfl(): - return "

Hello World

" + my_s_bfl = s_bfl() + answer = my_s_bfl.s_bfl('./algorithm/example_input.json', 4) + print(answer) + return jsonify(answer) @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) From 25ed32c28175051aea4f99de18668056f9c43efc Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 30 Sep 2018 16:47:23 -0400 Subject: [PATCH 05/30] working post for tsp --- algorithm/s_bfl.py | 58 +++++++++++++++++++++----------------------- myapp.py | 12 +++++---- static/js/my_util.js | 56 +++++++++++++++++++++--------------------- 3 files changed, 63 insertions(+), 63 deletions(-) diff --git a/algorithm/s_bfl.py b/algorithm/s_bfl.py index 6403f44..a115c78 100644 --- a/algorithm/s_bfl.py +++ b/algorithm/s_bfl.py @@ -15,18 +15,16 @@ import json import yaml - logger = logging.getLogger(__name__) -def keyboard_terminate(self, model, where): +class s_bfl(object): + def keyboard_terminate(self, model, where): try: pass except KeyboardInterrupt: model.terminate() -class s_bfl(object): - def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs): """ Solve the Sorghum-BFL problem instance. @@ -148,7 +146,7 @@ def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs m.read(f'warm_starts/base_{sysnum}.mst') if os.path.isfile(f'warm_starts/hybrid_sys{sysnum}.mst'): m.read(f'warm_starts/hybrid_sys{sysnum}.mst') - m.optimize(keyboard_terminate) + m.optimize() logger.info("Model solved. Begin post-processing.") @@ -231,37 +229,37 @@ def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs logger.info(args_str + yaml.dump(summary, default_flow_style=False)) - ret = {'params': params, 'solution': solution, 'summary': summary} + self.ret = {'params': params, 'solution': solution, 'summary': summary} if out_file: with open(out_file, 'w') as f: if out_file.split('.')[-1] == 'json': - json.dump(ret, f) + json.dump(self.ret, f) else: - yaml.dump(ret, f) + yaml.dump(self.ret, f) logger.info(f"Output {out_file} saved.\n") - return ret + return self.ret else: logger.info(f"{status[m.status]}\n") - if __name__ == '__main__': - if not logger.hasHandlers(): - stream_handler = logging.StreamHandler() - file_handler = logging.FileHandler('RunLog.log') - formatter = logging.Formatter( - fmt='%(asctime)s %(filename)s:%(levelname)s - %(message)s', - datefmt='%Y-%m-%d %H:%M:%S') - file_handler.setFormatter(formatter) - logger.addHandler(stream_handler) - logger.addHandler(file_handler) - logger.setLevel(logging.DEBUG) - - args = cli_s_bfl() - s_bfl( - args.input_file, - args.sysnum, - t_lim=args.t_lim, - jit=args.jit, - seed=args.seed, - out_file=args.out_file) - # s_bfl('cundiff_input.yaml', 2, t_lim=60, jit=True, out_file='outout.yaml') \ No newline at end of file +if __name__ == '__main__': + if not logger.hasHandlers(): + stream_handler = logging.StreamHandler() + file_handler = logging.FileHandler('RunLog.log') + formatter = logging.Formatter( + fmt='%(asctime)s %(filename)s:%(levelname)s - %(message)s', + datefmt='%Y-%m-%d %H:%M:%S') + file_handler.setFormatter(formatter) + logger.addHandler(stream_handler) + logger.addHandler(file_handler) + logger.setLevel(logging.DEBUG) + + args = cli_s_bfl() + s_bfl( + args.input_file, + args.sysnum, + t_lim=args.t_lim, + jit=args.jit, + seed=args.seed, + out_file=args.out_file) +# s_bfl('cundiff_input.yaml', 2, t_lim=60, jit=True, out_file='outout.yaml') \ No newline at end of file diff --git a/myapp.py b/myapp.py index 8d9f993..ee2aa76 100644 --- a/myapp.py +++ b/myapp.py @@ -56,10 +56,10 @@ def favicon(): @app.route('/s-bfl/', methods=['GET']) def Sbfl(): - my_s_bfl = s_bfl() - answer = my_s_bfl.s_bfl('./algorithm/example_input.json', 4) - print(answer) - return jsonify(answer) + # my_s_bfl = s_bfl() + # answer = my_s_bfl.solve('./algorithm/example_input.json', 4) + # print(answer) + return jsonify(books) @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) @@ -69,7 +69,9 @@ def page_not_found(e): # ============== POST Actions ============== @app.route('/tsp/action/', methods=['POST']) def render_tsp(): - n = request.form['num_cities'] + json_data = request.get_json(force=True) + n = json_data['num_cities'] + # n = request.form['num_cities'] my_tsp = tsp() my_tsp.from_num_cities(int(n)) my_tsp.solve() diff --git a/static/js/my_util.js b/static/js/my_util.js index 2e6d4df..9cbec60 100644 --- a/static/js/my_util.js +++ b/static/js/my_util.js @@ -1,29 +1,29 @@ // listen on form submit and reset -// $(document).ready(function () { -// $("form").on("submit", function (event) { -// event.preventDefault(); // prevent submit button from default post -// try { -// $.post($(location).attr('href') + "action/", // post url -// $(this).serialize(), // post data -// function (data, status) { // process the post response -// localStorage.setItem($(location).attr('pathname').replace(/\//g, '') + "result", -// JSON.stringify(data)); -// if (typeof display_summary === 'function') { -// display_summary(); // Note: this function will be customized in each page -// } -// }); -// } catch (err) { -// alert(err); -// } -// }); -// $("form").on("reset", function (event) { -// try { -// localStorage.removeItem($(location).attr('pathname').replace(/\//g, '') + "result") -// if (typeof display_summary === 'function') { -// display_summary(); // Note: this function will be customized in each page -// } -// } catch (err) { -// alert(err); -// } -// }); -// }); \ No newline at end of file +$(document).ready(function () { + $("form").on("submit", function (event) { + event.preventDefault(); // prevent submit button from default post + try { + $.post($(location).attr('href') + "action/", // post url + $(this).serialize(), // post data + function (data, status) { // process the post response + localStorage.setItem($(location).attr('pathname').replace(/\//g, '') + "result", + JSON.stringify(data)); + if (typeof display_summary === 'function') { + display_summary(); // Note: this function will be customized in each page + } + }); + } catch (err) { + alert(err); + } + }); + $("form").on("reset", function (event) { + try { + localStorage.removeItem($(location).attr('pathname').replace(/\//g, '') + "result") + if (typeof display_summary === 'function') { + display_summary(); // Note: this function will be customized in each page + } + } catch (err) { + alert(err); + } + }); +}); \ No newline at end of file From 7a0cf996b3aa0fa87a90c1a4812b331133e5852f Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 2 Oct 2018 14:24:29 -0400 Subject: [PATCH 06/30] Working s_bfl endpoint --- algorithm/s_bfl.py | 138 ++++++++++++++++----------------------------- myapp.py | 13 +++-- 2 files changed, 57 insertions(+), 94 deletions(-) diff --git a/algorithm/s_bfl.py b/algorithm/s_bfl.py index a115c78..8e4d5aa 100644 --- a/algorithm/s_bfl.py +++ b/algorithm/s_bfl.py @@ -23,65 +23,39 @@ def keyboard_terminate(self, model, where): pass except KeyboardInterrupt: model.terminate() - - - def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs): - """ - Solve the Sorghum-BFL problem instance. - - Parameters - ---------- - input_data : str or dict - can be a *.yaml or *.json file name (str) or a dict object. - sysnum : int - system number. - out_file : str, optional - if specified write return value to a YAML or JSON file named out_file. - kwargs : other keywords in my_utility.create_data() - including seed and plot_coords. - - Returns - ------- - ret : dict - a dict object containing three sub-dicts params, solution, summary. - - params is all the model parameters converted from input_data. - - solution is all the decision variables and the optimal values. - - summary is a summary of the solution. - """ - func_args = locals() - args_str = yaml.dump(func_args, default_flow_style=True, width=np.inf) - - logger.info(f"Code begins with {args_str} ") - params = create_data(input_data, sysnum, **kwargs) - (*_, a, c_op, c_op_jit, c_pen, cfs, cs, cs_jit, csk, d, hf, hs, U, UE, - UE_jit) = params.values() - - T = list(range(1, len(d))) - F = list(range(len(cfs))) - S = list(range(len(csk))) - K = list(range(len(U))) - a = np.array(a) + + def input(self, input_data, sysnum, t_lim = 60, jit=False, **kwargs): + self.t_lim = t_lim + self.jit = jit + self.sysnum = sysnum + self.params = create_data(input_data, self.sysnum, **kwargs) + (*_, self.a, self.c_op, self.c_op_jit, self.c_pen, self.cfs, self.cs, self.cs_jit, + self.csk, self.d, self.hf, self.hs, self.U, self.UE, self.UE_jit) = self.params.values() + + def solve(self): + T = list(range(1, len(self.d))) + F = list(range(len(self.cfs))) + S = list(range(len(self.csk))) + K = list(range(len(self.U))) + a = np.array(self.a) M = a.sum(axis=0) - c_zfs = (np.array(cfs) + c_op).tolist() - c_z_jit = (np.array(cs_jit)[None] + np.array(cfs) + c_op_jit).tolist() + c_zfs = (np.array(self.cfs) + self.c_op).tolist() + c_z_jit = (np.array(self.cs_jit)[None] + np.array(self.cfs) + self.c_op_jit).tolist() logger.info("Parameters created. Begin building model.") m = Model('ms1m_base') # ====== Create vars and objectives ====== - w = m.addVars(S, K, obj=csk, vtype='B', name='w') + w = m.addVars(S, K, obj=self.csk, vtype='B', name='w') y = m.addVars(F, S, vtype='B', name='y') zfs = m.addVars(T, F, S, obj=c_zfs * len(T), name='zfs') - zs = m.addVars(T, S, obj=cs * len(T), name='zs') - Is = m.addVars([0] + T, S, obj=hs, name='Is') - If = m.addVars([0] + T, F, obj=hf, name='If') - if jit: + zs = m.addVars(T, S, obj=self.cs * len(T), name='zs') + Is = m.addVars([0] + T, S, obj=self.hs, name='Is') + If = m.addVars([0] + T, F, obj=self.hf, name='If') + if self.jit: z_jit = m.addVars(T, F, S, obj=c_z_jit * len(T), name='z_jit') - penalty = m.addVars(T, obj=c_pen, name='penalty') + penalty = m.addVars(T, obj=self.c_pen, name='penalty') m.setAttr('UB', Is.select(0, '*'), [0] * len(S)) m.setAttr('UB', If.select(0, '*'), [0] * len(F)) @@ -95,23 +69,23 @@ def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs m.addConstrs((Is[t, s] == Is[t - 1, s] - zs[t, s] + zfs.sum(t, '*', s) for t in T for s in S), name='c4') - m.addConstrs((Is[t, s] <= quicksum([U[k] * w[s, k] for k in K]) for t in T + m.addConstrs((Is[t, s] <= quicksum([self.U[k] * w[s, k] for k in K]) for t in T for s in S), name='c7') - m.addConstrs((zfs.sum(t, '*', s) <= quicksum([UE[k] * w[s, k] for k in K]) + m.addConstrs((zfs.sum(t, '*', s) <= quicksum([self.UE[k] * w[s, k] for k in K]) for t in T for s in S), name='c9a') - if not jit: + if not self.jit: m.addConstrs((If[t, f] == If[t - 1, f] + a[t, f] - zfs.sum(t, f, '*') for t in T for f in F), name='c5') - m.addConstrs((zs.sum(t, '*') + penalty[t] == d[t] for t in T), + m.addConstrs((zs.sum(t, '*') + penalty[t] == self.d[t] for t in T), name='c6') m.addConstrs( (zfs.sum('*', f, s) <= M[f] * y[f, s] for f in F for s in S), name='c8') m.addConstrs( - (zfs.sum(t, '*', s) <= quicksum([UE_jit[k] * w[s, k] for k in K]) + (zfs.sum(t, '*', s) <= quicksum([self.UE_jit[k] * w[s, k] for k in K]) for t in T for s in S), name='c9b') else: @@ -119,7 +93,7 @@ def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs z_jit.sum(t, f, '*') for t in T for f in F), name='c5') m.addConstrs( - (z_jit.sum(t, '*', '*') + zs.sum(t, '*') + penalty[t] == d[t] + (z_jit.sum(t, '*', '*') + zs.sum(t, '*') + penalty[t] == self.d[t] for t in T), name='c6') m.addConstrs( @@ -127,25 +101,24 @@ def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs for f in F for s in S), name='c8') m.addConstrs((z_jit.sum(t, '*', s) + zfs.sum(t, '*', s) <= quicksum( - [UE_jit[k] * w[s, k] for k in K]) for t in T for s in S), + [self.UE_jit[k] * w[s, k] for k in K]) for t in T for s in S), name='c9b') - logger.info("Model created. Begin solving.") # ====== Solve ====== # m.update() # m.write('ms1m_grb.lp') # m.setParam('MIPGap', 0.01) - m.setParam('TimeLimit', t_lim) + m.setParam('TimeLimit', self.t_lim) m.setParam('Threads', 6) m.update() if not os.path.exists('warm_starts/'): os.makedirs('warm_starts/') else: - if os.path.isfile(f'warm_starts/base_{sysnum}.mst'): - m.read(f'warm_starts/base_{sysnum}.mst') - if os.path.isfile(f'warm_starts/hybrid_sys{sysnum}.mst'): - m.read(f'warm_starts/hybrid_sys{sysnum}.mst') + if os.path.isfile(f'warm_starts/base_{self.sysnum}.mst'): + m.read(f'warm_starts/base_{self.sysnum}.mst') + if os.path.isfile(f'warm_starts/hybrid_sys{self.sysnum}.mst'): + m.read(f'warm_starts/hybrid_sys{self.sysnum}.mst') m.optimize() logger.info("Model solved. Begin post-processing.") @@ -164,33 +137,33 @@ def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs if m.SolCount: m.write('warm_starts/start.mst') - if jit: - m.write(f'warm_starts/hybrid_sys{sysnum}.mst') + if self.jit: + m.write(f'warm_starts/hybrid_sys{self.sysnum}.mst') else: - m.write(f'warm_starts/base_sys{sysnum}.mst') + m.write(f'warm_starts/base_sys{self.sysnum}.mst') cost_total_lb = m.objBound cost_total = m.objVal gap = (cost_total - cost_total_lb) / cost_total - cost_loc = w.prod({(s, k): csk[s][k] for s in S for k in K}).getValue() + cost_loc = w.prod({(s, k): self.csk[s][k] for s in S for k in K}).getValue() - cost_op = zfs.sum().getValue() * c_op - cfs_dict = {(t, f, s): cfs[f][s] for t, f, s in setprod(T, F, S)} + cost_op = zfs.sum().getValue() * self.c_op + cfs_dict = {(t, f, s): self.cfs[f][s] for t, f, s in setprod(T, F, S)} cost_tran_fs = zfs.prod(cfs_dict).getValue() - cost_tran_sb = zs.prod({(t, s): cs[s] + cost_tran_sb = zs.prod({(t, s): self.cs[s] for t in T for s in S}).getValue() - if jit: - cost_op += z_jit.sum().getValue() * c_op_jit + if self.jit: + cost_op += z_jit.sum().getValue() * self.c_op_jit cost_tran_fs += z_jit.prod(cfs_dict).getValue() - cost_tran_sb += z_jit.prod({(t, f, s): cs_jit[s] + cost_tran_sb += z_jit.prod({(t, f, s): self.cs_jit[s] for t in T for f in F for s in S}).getValue() - cost_inv_S = Is.sum().getValue() * hs - cost_inv_F = If.sum().getValue() * hf + cost_inv_S = Is.sum().getValue() * self.hs + cost_inv_F = If.sum().getValue() * self.hf K_cnt = dict(Counter(k for s in S for k in K if w[s, k].x > 0.5)) - jit_amount = z_jit.sum().getValue() if jit else np.nan + jit_amount = z_jit.sum().getValue() if self.jit else np.nan solution = [[v.VarName, v.X] for v in m.getVars() if v.X > 1e-6] summary = dict() @@ -227,20 +200,9 @@ def s_bfl(self, input_data, sysnum, t_lim=60, jit=False, out_file=None, **kwargs 'jit': jit_amount } - logger.info(args_str + yaml.dump(summary, default_flow_style=False)) - - self.ret = {'params': params, 'solution': solution, 'summary': summary} - if out_file: - with open(out_file, 'w') as f: - if out_file.split('.')[-1] == 'json': - json.dump(self.ret, f) - else: - yaml.dump(self.ret, f) - logger.info(f"Output {out_file} saved.\n") - return self.ret - else: - logger.info(f"{status[m.status]}\n") + # logger.info(args_str + yaml.dump(summary, default_flow_style=False)) + self.optimization_result = {'params': self.params, 'solution': solution, 'summary': summary} if __name__ == '__main__': if not logger.hasHandlers(): diff --git a/myapp.py b/myapp.py index ee2aa76..ec34775 100644 --- a/myapp.py +++ b/myapp.py @@ -54,12 +54,14 @@ def static_html(subpath): def favicon(): return send_from_directory(os.path.join(app.root_path,'static'),'favicon.ico') -@app.route('/s-bfl/', methods=['GET']) +@app.route('/s-bfl/', methods=['POST']) def Sbfl(): - # my_s_bfl = s_bfl() - # answer = my_s_bfl.solve('./algorithm/example_input.json', 4) - # print(answer) - return jsonify(books) + input_data = request.get_json(force=True) + my_s_bfl = s_bfl() + my_s_bfl.input(input_data, sysnum = 2) + my_s_bfl.solve() + print(my_s_bfl.optimization_result) + return jsonify(my_s_bfl.optimization_result) @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) @@ -71,7 +73,6 @@ def page_not_found(e): def render_tsp(): json_data = request.get_json(force=True) n = json_data['num_cities'] - # n = request.form['num_cities'] my_tsp = tsp() my_tsp.from_num_cities(int(n)) my_tsp.solve() From 9e550655ef8931218a4296df69a808ce391410b6 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 2 Oct 2018 15:43:04 -0400 Subject: [PATCH 07/30] Working s-bfl button --- layout.html | 3 +- myapp.py | 18 ------------ static/js/s_bfl.js | 0 static_html/s-bfls.html | 62 ++++++++++++++++++++++------------------- 4 files changed, 35 insertions(+), 48 deletions(-) create mode 100644 static/js/s_bfl.js diff --git a/layout.html b/layout.html index 55d8910..50cacd3 100644 --- a/layout.html +++ b/layout.html @@ -92,7 +92,8 @@

%% title|safe %%

})(); - + + {% block myscript %}{% endblock %} diff --git a/myapp.py b/myapp.py index ec34775..ed2107c 100644 --- a/myapp.py +++ b/myapp.py @@ -22,24 +22,6 @@ class CustomFlask(Flask): app = CustomFlask(__name__,template_folder='') # This replaces your existing "app = Flask(__name__)" -books = [ - {'id': 0, - 'title': 'A Fire Upon the Deep', - 'author': 'Vernor Vinge', - 'first_sentence': 'The coldsleep itself was dreamless.', - 'year_published': '1992'}, - {'id': 1, - 'title': 'The Ones Who Walk Away From Omelas', - 'author': 'Ursula K. Le Guin', - 'first_sentence': 'With a clamor of bells that set the swallows soaring, the Festival of Summer came to the city Omelas, bright-towered by the sea.', - 'published': '1973'}, - {'id': 2, - 'title': 'Dhalgren', - 'author': 'Samuel R. Delany', - 'first_sentence': 'to wound the autumnal city.', - 'published': '1975'} -] - # ============== Page Rendering ============== @app.route('/') def root(): diff --git a/static/js/s_bfl.js b/static/js/s_bfl.js new file mode 100644 index 0000000..e69de29 diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 96292b3..175160d 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -2,34 +2,38 @@ {% set title = "Sorghum BFLS" %} {% block hero %}{% endblock %} {% block content %} -
- - [[ message ]] -
+ + + + +
+
+

{{ message }}

+ +

Optimial solution: {{response}}

+
+
+ -{% endblock %} -{% block myscript %} - -{% endblock %} \ No newline at end of file +{% endblock %} From bb99a96763bf190b04010ce2c2814f40ad4f5117 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 9 Oct 2018 14:14:57 -0400 Subject: [PATCH 08/30] some clean up --- myapp.py | 2 +- static_html/s-bfls.html | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/myapp.py b/myapp.py index ed2107c..a8ccf45 100644 --- a/myapp.py +++ b/myapp.py @@ -43,7 +43,7 @@ def Sbfl(): my_s_bfl.input(input_data, sysnum = 2) my_s_bfl.solve() print(my_s_bfl.optimization_result) - return jsonify(my_s_bfl.optimization_result) + return jsonify(my_s_bfl.optimization_result) #output @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 175160d..8c4fe3b 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -17,12 +17,11 @@ + + + +
+
+ +
+
+

Some short description...


+ + View More + +
- -
+
-
-
-
-

Input

-
-
-
-
- -
- -
-
-
-
- +
+
+
+

Input

+
+
+ +
+ +
+ +
-
- +
+
+ +
+
+ +
-
- + +
-
-
-
-
-

Result Summary

-
-
- - - - - - - - -
num_citiesobjruntime (sec)
-
-
- Detail +
+
+
+

Result Summary

+
+
+ + + + + + + + +
num_citiesobjruntime (sec)
+
+
+ Detail +
+
+ -
-{% endblock %} -{% block myscript %} -{% endblock %} \ No newline at end of file + +{% endblock %} From c51840123fc1abd669677b6ced63c5a4af94a32e Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 9 Oct 2018 16:25:01 -0400 Subject: [PATCH 10/30] TSP post now working with Vue --- layout.html | 3 +- static/js/my_util.js | 58 +++++++++--------- static_html/s-bfls.html | 2 +- static_html/tsp.html | 132 +++++++++++++++++++++------------------- 4 files changed, 100 insertions(+), 95 deletions(-) diff --git a/layout.html b/layout.html index 50cacd3..82d2fdc 100644 --- a/layout.html +++ b/layout.html @@ -91,10 +91,9 @@

%% title|safe %%

}); })(); - + - {% block myscript %}{% endblock %} diff --git a/static/js/my_util.js b/static/js/my_util.js index 9cbec60..66e035e 100644 --- a/static/js/my_util.js +++ b/static/js/my_util.js @@ -1,29 +1,29 @@ -// listen on form submit and reset -$(document).ready(function () { - $("form").on("submit", function (event) { - event.preventDefault(); // prevent submit button from default post - try { - $.post($(location).attr('href') + "action/", // post url - $(this).serialize(), // post data - function (data, status) { // process the post response - localStorage.setItem($(location).attr('pathname').replace(/\//g, '') + "result", - JSON.stringify(data)); - if (typeof display_summary === 'function') { - display_summary(); // Note: this function will be customized in each page - } - }); - } catch (err) { - alert(err); - } - }); - $("form").on("reset", function (event) { - try { - localStorage.removeItem($(location).attr('pathname').replace(/\//g, '') + "result") - if (typeof display_summary === 'function') { - display_summary(); // Note: this function will be customized in each page - } - } catch (err) { - alert(err); - } - }); -}); \ No newline at end of file +// // listen on form submit and reset +// $(document).ready(function () { +// $("form").on("submit", function (event) { +// event.preventDefault(); // prevent submit button from default post +// try { +// $.post($(location).attr('href') + "action/", // post url +// $(this).serialize(), // post data +// function (data, status) { // process the post response +// localStorage.setItem($(location).attr('pathname').replace(/\//g, '') + "result", +// JSON.stringify(data)); +// if (typeof display_summary === 'function') { +// display_summary(); // Note: this function will be customized in each page +// } +// }); +// } catch (err) { +// alert(err); +// } +// }); +// $("form").on("reset", function (event) { +// try { +// localStorage.removeItem($(location).attr('pathname').replace(/\//g, '') + "result") +// if (typeof display_summary === 'function') { +// display_summary(); // Note: this function will be customized in each page +// } +// } catch (err) { +// alert(err); +// } +// }); +// }); \ No newline at end of file diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 8c4fe3b..e21c714 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -7,7 +7,7 @@
-
+

{{ message }}

Optimial solution: {{response}}

diff --git a/static_html/tsp.html b/static_html/tsp.html index 587e744..7a12333 100644 --- a/static_html/tsp.html +++ b/static_html/tsp.html @@ -5,70 +5,75 @@ - -
-
- -
-
-

Some short description...


- - View More - -
-
- -
- -
-
-
-

Input

-
-
- -
- -
- -
-
-
-
- + +
+
+
+ +
+
+

Some short description...


+ + View More + +
+
+ +
+ +
+
+
+

Input

+
+
+
+ +
+ + {{num_cities}} +
-
- +
+
+ +
+
- +
-
-
- -
-
-
-

Result Summary

-
-
- - - - - - - - -
num_citiesobjruntime (sec)
-
-
- Detail + +
+
+
+

Result Summary

+
+
+ + + + + + + + + + + + + +
num_citiesobjruntime (sec)
{{ response.num_cities }}{{ response.obj }}{{ response.runtime }}
+
+
+ Detail +
+
+
-
-
@@ -76,14 +81,15 @@ new Vue({ el: "#tsp", data: { - num_cities = "", - obj = '', - runtime = '', + num_cities: 0, + submitted: false, + response: {}, }, methods: { runTsp: function (event) { - console.log("Solving TSP") - axios.post('http://localhost:5000/tsp/action', { num_cities: this.num_cities } + console.log("Solving TSP"); + this.submitted = !this.submitted; + axios.post('http://localhost:5000/tsp/action/', { num_cities: this.num_cities } ).then(response => { this.response = response.data; }) From 2bf3b387128dcf842e406bfd660ee0cb88762d01 Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 14 Oct 2018 16:00:51 -0400 Subject: [PATCH 11/30] Started BFL-s form --- index.html | 5 ++-- layout.html | 2 +- static/js/my_util.js | 29 ----------------------- static_html/custom_style.css | 3 +++ static_html/s-bfls.html | 45 ++++++++++++++++++++++++++++++++---- static_html/tsp.html | 12 ++++++---- 6 files changed, 54 insertions(+), 42 deletions(-) delete mode 100644 static/js/my_util.js create mode 100644 static_html/custom_style.css diff --git a/index.html b/index.html index 11fb539..9f5e759 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,6 @@

View More
-

(The frontend is currently using Bulma and jQuery)

{% endblock %} @@ -23,7 +22,7 @@

- Placeholder image + Placeholder image
@@ -40,7 +39,7 @@

- Placeholder image + Placeholder image
diff --git a/layout.html b/layout.html index 82d2fdc..7c0c94a 100644 --- a/layout.html +++ b/layout.html @@ -7,7 +7,7 @@ - %% title|striptags %% - VT BFL Team + %% title|striptags %% - VT BFL Team diff --git a/static/js/my_util.js b/static/js/my_util.js deleted file mode 100644 index 66e035e..0000000 --- a/static/js/my_util.js +++ /dev/null @@ -1,29 +0,0 @@ -// // listen on form submit and reset -// $(document).ready(function () { -// $("form").on("submit", function (event) { -// event.preventDefault(); // prevent submit button from default post -// try { -// $.post($(location).attr('href') + "action/", // post url -// $(this).serialize(), // post data -// function (data, status) { // process the post response -// localStorage.setItem($(location).attr('pathname').replace(/\//g, '') + "result", -// JSON.stringify(data)); -// if (typeof display_summary === 'function') { -// display_summary(); // Note: this function will be customized in each page -// } -// }); -// } catch (err) { -// alert(err); -// } -// }); -// $("form").on("reset", function (event) { -// try { -// localStorage.removeItem($(location).attr('pathname').replace(/\//g, '') + "result") -// if (typeof display_summary === 'function') { -// display_summary(); // Note: this function will be customized in each page -// } -// } catch (err) { -// alert(err); -// } -// }); -// }); \ No newline at end of file diff --git a/static_html/custom_style.css b/static_html/custom_style.css new file mode 100644 index 0000000..45ac915 --- /dev/null +++ b/static_html/custom_style.css @@ -0,0 +1,3 @@ +.forty-percent-width { + width: 40%; +} \ No newline at end of file diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index e21c714..e12bce6 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -4,14 +4,47 @@ {% block content %} +
-
-

{{ message }}

- -

Optimial solution: {{response}}

+
+
A tool for decision makers to determine the most cost effective way to produce and transport sorghum for use in biofuels
+
+ + +
+
+ Objective Information +
+
+
+ + +
+ +
+
+
+
+ Cost Information +
+
+
+ + + + + + + + +
+ +
+
+
@@ -22,6 +55,7 @@ el: '#s_bfl', data: { message: 'Hello Team', + started: false, response: [] }, methods: { @@ -31,6 +65,9 @@ ).then(response => { this.response = response.data; }) + }, + toggleStarted: function(event){ + this.started = !this.started; } } }) diff --git a/static_html/tsp.html b/static_html/tsp.html index 7a12333..aa01ec9 100644 --- a/static_html/tsp.html +++ b/static_html/tsp.html @@ -31,16 +31,15 @@
- {{num_cities}}
- +
+ +
@@ -93,7 +92,10 @@ ).then(response => { this.response = response.data; }) - } + }, + reset: function (event) { + this.num_cities = 0; + } } }) From 0f69aa950480a290dad87a00d950cb0a9bb78f0f Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 19 Oct 2018 19:00:32 -0400 Subject: [PATCH 12/30] form version --- static_html/custom_style.css | 3 - static_html/s-bfls.html | 125 +++++++++++++++++++++++++++++++---- static_html/tsp/result.html | 22 ------ 3 files changed, 113 insertions(+), 37 deletions(-) delete mode 100644 static_html/custom_style.css delete mode 100644 static_html/tsp/result.html diff --git a/static_html/custom_style.css b/static_html/custom_style.css deleted file mode 100644 index 45ac915..0000000 --- a/static_html/custom_style.css +++ /dev/null @@ -1,3 +0,0 @@ -.forty-percent-width { - width: 40%; -} \ No newline at end of file diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index e12bce6..e3f2ae9 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -3,29 +3,53 @@ {% block hero %}{% endblock %} {% block content %} - - +
-
A tool for decision makers to determine the most cost effective way to produce and transport sorghum for use in biofuels
+
+ A tool for decision makers to determine the most cost effective + way to produce and transport sorghum for use in biofuels. The tool itself + is an optimization algorithm and simulization that work in tandem to find + and test an optimial solution. To learn more about the algorithm + see here. +
+
+
+ Because this is a large optimization model with many inputs, we have + created an excel template for users to input the details of their + specific problem into the model we have developed. +
+
-
+
Objective Information
- - + + +
+
+ +
+
+ +
+
-
+
Cost Information @@ -33,14 +57,28 @@
- + - + - + - +
+
+
+
+
+ Logistics Information +
+
+ + +
+
+
+
+
@@ -56,7 +94,70 @@ data: { message: 'Hello Team', started: false, - response: [] + response: [], + // optimization_input: { + // input_format: "paper", + // moisture: 0.7, + // demand: 200000, + // horizon: 26, + // num_fields: 120, + // num_ssls: 60, + // ssl_sizes: [2500, 5000, 10000], + // harvest_progress: [5, 5, 6, 7, 10, 11, 12, 11, 9, 8, 6, 5, 5], + // field: + // { + // dry_yield: 21, + // radius: 32, + // proportion_devoted: 0.03, + // area_ratio: [1, 10]}, + // price: 65, + // interest_rate: 0.05, + // insurance_rate: 0.008, + // tax_rate: 0.01, + // cost: { + // equipment: { + // loadout: [94000, 5, 28200, 0.37, 847], + // press: [300000, 5, 120000, 0.1374, 908], + // chopper: [22000, 5, 8800, 0, 9240], + // bagger: [50000, 5, 20000, 0.7, 2000], + // module_former: [450000, 5, 217234, 1.0319, 800], + // module_hauler: [375000, 8, 73530, 0.2766, 3620]}, + // bunker_annual_own: 5600, + // ssl_annual_own: 0.36, + // base_infield: 0.58, + // base_highway: 0.1, + // transport_coef: { + // compressed: 0.8, + // whole_stalk: 1.1, + // in_module: 0.7 + // } + // }, + // degrade: { + // whole_stalk: 9, + // chopped: 5, + // in_bunker: 80, + // in_bag: 100 + // }, + // configurations: [ + // ["whole_stalk", "loadout", "chopper"], + // ["whole_stalk", "loadout", "chopper", "bagger"], + // ["whole_stalk", "loadout", "chopper", "bunker"], + // ["whole_stalk", "loadout", "chopper", "module_former", "module_hauler"], + // ["whole_stalk", "loadout", "chopper", "press"], + // ["whole_stalk", "loadout", "chopper", "press", "bagger"], + // ["whole_stalk", "loadout", "chopper", "press", "bunker"], + // ["whole_stalk", "loadout", "chopper", "press", "module_former", "module_hauler"], + // ["forage_chop", "loadout"], + // ["forage_chop", "loadout", "bagger"], + // ["forage_chop", "loadout", "bunker"], + // ["forage_chop", "loadout", "module_former", "module_hauler"], + // ["forage_chop", "loadout", "press"], + // ["forage_chop", "loadout", "press", "bagger"], + // ["forage_chop", "loadout", "press", "bunker"], + // ["forage_chop", "loadout", "press", "module_former", "module_hauler"] + // ] + // } + // } }, methods: { optimize: function (event) { diff --git a/static_html/tsp/result.html b/static_html/tsp/result.html deleted file mode 100644 index 0cb8f8b..0000000 --- a/static_html/tsp/result.html +++ /dev/null @@ -1,22 +0,0 @@ -{% extends "layout.html" %} -{% set title = "TSP Example Detailed Results" %} -{% block content %} -
- TODO: visualize the result. -
-The data is passed across page using localStorage. -
-{% endblock %} -{% block myscript %} - -{% endblock %} \ No newline at end of file From 1ef95a27d040828d4ff5c76e242c70d2c315697d Mon Sep 17 00:00:00 2001 From: Robert Date: Fri, 19 Oct 2018 19:46:15 -0400 Subject: [PATCH 13/30] added vue tab components to front-end for 3 step process --- static_html/s-bfls.html | 228 +++++++++++++++------------------------- 1 file changed, 86 insertions(+), 142 deletions(-) diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index e3f2ae9..b20d8cd 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -6,158 +6,105 @@ -
-
-
- A tool for decision makers to determine the most cost effective - way to produce and transport sorghum for use in biofuels. The tool itself - is an optimization algorithm and simulization that work in tandem to find - and test an optimial solution. To learn more about the algorithm - see here. -
-
-
- Because this is a large optimization model with many inputs, we have - created an excel template for users to input the details of their - specific problem into the model we have developed. -
- - +
+
+ A tool for decision makers to determine the most cost effective + way to produce and transport sorghum for use in biofuels. The tool itself + is an optimization algorithm and simulization that work in tandem to find + and test an optimial solution. To learn more about the algorithm + see here.
- - -
-
- Objective Information -
-
-
- - -
-
- -
-
- -
-
-
-
-
- -
-
- Cost Information -
-
-
- - - - - - - - -
-
-
-
-
- Logistics Information -
-
- - -
-
-
-
-
- -
-
- +
+
+ Because this is a large optimization model with many inputs, we have + created an excel template for users to input the details of their + specific problem into the model we have developed. +

+ + +

Download

+
+ +

Upload

+
+ +

Submit

+
+
From a97b863b24f11ac2955e4abc3ca2060af5a322a9 Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 21 Oct 2018 16:14:50 -0400 Subject: [PATCH 14/30] before working on file upload --- static_html/s-bfls.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index b20d8cd..447247f 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -21,13 +21,14 @@ specific problem into the model we have developed.

- +

Download

- +

Upload

+
- +

Submit

@@ -103,8 +104,7 @@

Submit

data: { message: 'Hello Team', started: false, - response: [], - + response: [] }, methods: { optimize: function (event) { From a50d5c14eb7f14c2f48923fb1fcf5cbb52de82c5 Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 21 Oct 2018 17:44:50 -0400 Subject: [PATCH 15/30] working practice file upload --- algorithm/s_bfl.py | 4 ++-- myapp.py | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/algorithm/s_bfl.py b/algorithm/s_bfl.py index 8e4d5aa..87857a3 100644 --- a/algorithm/s_bfl.py +++ b/algorithm/s_bfl.py @@ -24,14 +24,14 @@ def keyboard_terminate(self, model, where): except KeyboardInterrupt: model.terminate() - def input(self, input_data, sysnum, t_lim = 60, jit=False, **kwargs): + def input(self, input_data, sysnum, t_lim = 10, jit=False, **kwargs): self.t_lim = t_lim self.jit = jit self.sysnum = sysnum self.params = create_data(input_data, self.sysnum, **kwargs) (*_, self.a, self.c_op, self.c_op_jit, self.c_pen, self.cfs, self.cs, self.cs_jit, self.csk, self.d, self.hf, self.hs, self.U, self.UE, self.UE_jit) = self.params.values() - + def solve(self): T = list(range(1, len(self.d))) F = list(range(len(self.cfs))) diff --git a/myapp.py b/myapp.py index a8ccf45..f4f034d 100644 --- a/myapp.py +++ b/myapp.py @@ -45,6 +45,15 @@ def Sbfl(): print(my_s_bfl.optimization_result) return jsonify(my_s_bfl.optimization_result) #output +@app.route('/upload/', methods=['POST']) +def upload(): + input_data = request.get_json(force=True) + my_s_bfl = s_bfl() + my_s_bfl.input(input_data, sysnum=2) + my_s_bfl.solve() + print(my_s_bfl.optimization_result) + return jsonify(my_s_bfl.optimization_result) + @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) def page_not_found(e): From b5f36f130014f15a01758a6da06dc51b4a096ee9 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 23 Oct 2018 12:40:50 -0400 Subject: [PATCH 16/30] Upload component --- static_html/upload.html | 36 +++++++++++++++++++++++++ static_html/vue-components/tab.vue | 31 +++++++++++++++++++++ static_html/vue-components/tabs.vue | 42 +++++++++++++++++++++++++++++ 3 files changed, 109 insertions(+) create mode 100644 static_html/upload.html create mode 100644 static_html/vue-components/tab.vue create mode 100644 static_html/vue-components/tabs.vue diff --git a/static_html/upload.html b/static_html/upload.html new file mode 100644 index 0000000..fdaa050 --- /dev/null +++ b/static_html/upload.html @@ -0,0 +1,36 @@ + + + + + +
+ + +
+ + diff --git a/static_html/vue-components/tab.vue b/static_html/vue-components/tab.vue new file mode 100644 index 0000000..8c3a703 --- /dev/null +++ b/static_html/vue-components/tab.vue @@ -0,0 +1,31 @@ + + + + + diff --git a/static_html/vue-components/tabs.vue b/static_html/vue-components/tabs.vue new file mode 100644 index 0000000..2e80305 --- /dev/null +++ b/static_html/vue-components/tabs.vue @@ -0,0 +1,42 @@ + + + + + From 703e7a9f0da3a44d8046ead2071a86ebcab6e849 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 23 Oct 2018 14:56:45 -0400 Subject: [PATCH 17/30] Working example_input download --- myapp.py | 7 ++++++- static_html/s-bfls.html | 20 ++++++++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/myapp.py b/myapp.py index f4f034d..9a2039f 100644 --- a/myapp.py +++ b/myapp.py @@ -8,7 +8,7 @@ import os import jinja2 -from flask import Flask, render_template, request, send_from_directory, jsonify +from flask import Flask, render_template, request, send_from_directory, jsonify, send_file from algorithm.tsp import tsp from algorithm.s_bfl import s_bfl @@ -54,6 +54,11 @@ def upload(): print(my_s_bfl.optimization_result) return jsonify(my_s_bfl.optimization_result) +@app.route('/download/', methods=['GET']) +def download(): + template = "./algorithm/example_input.json" + return send_file(template, as_attachment=True) + @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) def page_not_found(e): diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 447247f..399e237 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -22,7 +22,7 @@

-

Download

+

Upload

@@ -108,12 +108,28 @@

Submit

}, methods: { optimize: function (event) { - console.log("I'm trying") + console.log("Optimizing"); axios.post('http://localhost:5000/s-bfl/', {input_format: "paper", moisture: 0.7, demand: 200000, horizon: 26, num_fields: 120, num_ssls: 60, ssl_sizes: [2500, 5000, 10000], harvest_progress: [5, 5, 6, 7, 10, 11, 12, 11, 9, 8, 6, 5, 5], field: {"dry_yield": 21, radius: 32, proportion_devoted: 0.03, area_ratio: [1, 10]}, price: 65, interest_rate: 0.05, insurance_rate: 0.008, tax_rate: 0.01, cost: {equipment: {loadout: [94000, 5, 28200, 0.37, 847], press: [300000, 5, 120000, 0.1374, 908], chopper: [22000, 5, 8800, 0, 9240], bagger: [50000, 5, 20000, 0.7, 2000], module_former: [450000, 5, 217234, 1.0319, 800], module_hauler: [375000, 8, 73530, 0.2766, 3620]}, bunker_annual_own: 5600, ssl_annual_own: 0.36, base_infield: 0.58, base_highway: 0.1, transport_coef: {compressed: 0.8, whole_stalk: 1.1, in_module: 0.7}}, degrade: {whole_stalk: 9, chopped: 5, in_bunker: 80, in_bag: 100}, configurations: [["whole_stalk", "loadout", "chopper"], ["whole_stalk", "loadout", "chopper", "bagger"], ["whole_stalk", "loadout", "chopper", "bunker"], ["whole_stalk", "loadout", "chopper", "module_former", "module_hauler"], ["whole_stalk", "loadout", "chopper", "press"], ["whole_stalk", "loadout", "chopper", "press", "bagger"], ["whole_stalk", "loadout", "chopper", "press", "bunker"], ["whole_stalk", "loadout", "chopper", "press", "module_former", "module_hauler"], ["forage_chop", "loadout"], ["forage_chop", "loadout", "bagger"], ["forage_chop", "loadout", "bunker"], ["forage_chop", "loadout", "module_former", "module_hauler"], ["forage_chop", "loadout", "press"], ["forage_chop", "loadout", "press", "bagger"], ["forage_chop", "loadout", "press", "bunker"], ["forage_chop", "loadout", "press", "module_former", "module_hauler"]]} ).then(response => { this.response = response.data; }) }, + download: function (event) { + console.log("Running Download"); + axios({ + url: 'http://localhost:5000/download/', + method: 'GET', + responseType: 'blob', + }).then((response) => { + const url = window.URL.createObjectURL(new Blob([response.data])); + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', 'example_input.json'); + document.body.appendChild(link); + link.click(); + link.parentNode.removeChild(link); + }) + } } }) From 2855fd65d09ea2d6226a5099ff35ddf010b26a0f Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 23 Oct 2018 16:20:21 -0400 Subject: [PATCH 18/30] updated s-bfl page oct. 23 --- algorithm/input_template.csv | 1 + myapp.py | 2 +- static_html/s-bfls.html | 77 +++++++++++++++++++++++------------- 3 files changed, 51 insertions(+), 29 deletions(-) create mode 100644 algorithm/input_template.csv diff --git a/algorithm/input_template.csv b/algorithm/input_template.csv new file mode 100644 index 0000000..fc2c4ab --- /dev/null +++ b/algorithm/input_template.csv @@ -0,0 +1 @@ +Some values for our s-bfl example,,,,Some formatted text diff --git a/myapp.py b/myapp.py index 9a2039f..cb74372 100644 --- a/myapp.py +++ b/myapp.py @@ -56,7 +56,7 @@ def upload(): @app.route('/download/', methods=['GET']) def download(): - template = "./algorithm/example_input.json" + template = "./algorithm/input_template.csv" return send_file(template, as_attachment=True) @app.errorhandler(404) diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 399e237..641a60f 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -22,14 +22,30 @@

- +
+ To input the specifics of your problem please click download + to get an excel template for inputting your data. +
+
+
-

Upload

- +
+ Run the toJSON() script in the excel template + to generate a json file of your data. Upload that + file here. +
+
+
-

Submit

+
+ So you don't have to leave the browser open for an hour + so that our optimization can have time to run. Please + provide your email below so that we can send you the results. +
+ +
@@ -103,33 +119,38 @@

Submit

el: '#s_bfl', data: { message: 'Hello Team', - started: false, + selectedfile: null, response: [] }, methods: { - optimize: function (event) { - console.log("Optimizing"); - axios.post('http://localhost:5000/s-bfl/', {input_format: "paper", moisture: 0.7, demand: 200000, horizon: 26, num_fields: 120, num_ssls: 60, ssl_sizes: [2500, 5000, 10000], harvest_progress: [5, 5, 6, 7, 10, 11, 12, 11, 9, 8, 6, 5, 5], field: {"dry_yield": 21, radius: 32, proportion_devoted: 0.03, area_ratio: [1, 10]}, price: 65, interest_rate: 0.05, insurance_rate: 0.008, tax_rate: 0.01, cost: {equipment: {loadout: [94000, 5, 28200, 0.37, 847], press: [300000, 5, 120000, 0.1374, 908], chopper: [22000, 5, 8800, 0, 9240], bagger: [50000, 5, 20000, 0.7, 2000], module_former: [450000, 5, 217234, 1.0319, 800], module_hauler: [375000, 8, 73530, 0.2766, 3620]}, bunker_annual_own: 5600, ssl_annual_own: 0.36, base_infield: 0.58, base_highway: 0.1, transport_coef: {compressed: 0.8, whole_stalk: 1.1, in_module: 0.7}}, degrade: {whole_stalk: 9, chopped: 5, in_bunker: 80, in_bag: 100}, configurations: [["whole_stalk", "loadout", "chopper"], ["whole_stalk", "loadout", "chopper", "bagger"], ["whole_stalk", "loadout", "chopper", "bunker"], ["whole_stalk", "loadout", "chopper", "module_former", "module_hauler"], ["whole_stalk", "loadout", "chopper", "press"], ["whole_stalk", "loadout", "chopper", "press", "bagger"], ["whole_stalk", "loadout", "chopper", "press", "bunker"], ["whole_stalk", "loadout", "chopper", "press", "module_former", "module_hauler"], ["forage_chop", "loadout"], ["forage_chop", "loadout", "bagger"], ["forage_chop", "loadout", "bunker"], ["forage_chop", "loadout", "module_former", "module_hauler"], ["forage_chop", "loadout", "press"], ["forage_chop", "loadout", "press", "bagger"], ["forage_chop", "loadout", "press", "bunker"], ["forage_chop", "loadout", "press", "module_former", "module_hauler"]]} - ).then(response => { - this.response = response.data; - }) - }, - download: function (event) { - console.log("Running Download"); - axios({ - url: 'http://localhost:5000/download/', - method: 'GET', - responseType: 'blob', - }).then((response) => { - const url = window.URL.createObjectURL(new Blob([response.data])); - const link = document.createElement('a'); - link.href = url; - link.setAttribute('download', 'example_input.json'); - document.body.appendChild(link); - link.click(); - link.parentNode.removeChild(link); - }) - } + updateFile(event){ + this.selectedfile = event.target.files[0]; + }, + optimize(event) { + console.log("Optimizing") + fd = new FormData(); + fd.append('optimizationInput', this.selectedfile, this.selectedfile.name); + axios.post('http://localhost:5000/upload/', this.selectedfile).then(response => { + this.response = response.data; + console.log(this.response); + }) + }, + download: function (event) { + console.log("Running Download"); + axios({ + url: 'http://localhost:5000/download/', + method: 'GET', + responseType: 'blob', + }).then((response) => { + const url = window.URL.createObjectURL(new Blob([response.data])); + const link = document.createElement('a'); + link.href = url; + link.setAttribute('download', 'template.csv'); + document.body.appendChild(link); + link.click(); + link.parentNode.removeChild(link); + }) + } } }) From 5a449179f9501e0906e5e32c53774daea21c6e25 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 24 Oct 2018 12:42:41 -0400 Subject: [PATCH 19/30] fixed excel template download --- algorithm/sbfl_template.xlsx | Bin 0 -> 8672 bytes myapp.py | 2 +- static_html/s-bfls.html | 8 ++++++-- 3 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 algorithm/sbfl_template.xlsx diff --git a/algorithm/sbfl_template.xlsx b/algorithm/sbfl_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..3b5139b538ffdbbe14a7283019796c2cd777dcb1 GIT binary patch literal 8672 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 literal 0 HcmV?d00001 diff --git a/myapp.py b/myapp.py index cb74372..0917e45 100644 --- a/myapp.py +++ b/myapp.py @@ -56,7 +56,7 @@ def upload(): @app.route('/download/', methods=['GET']) def download(): - template = "./algorithm/input_template.csv" + template = "./algorithm/sbfl_template.xlsx" return send_file(template, as_attachment=True) @app.errorhandler(404) diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 641a60f..6f6eb97 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -141,11 +141,15 @@ url: 'http://localhost:5000/download/', method: 'GET', responseType: 'blob', + headers: { + 'Accept': 'application/vnd.openxmlformats-officedocument' + + '.spreadsheetml.sheet', + } }).then((response) => { - const url = window.URL.createObjectURL(new Blob([response.data])); + const url = window.URL.createObjectURL(new Blob([response.data], )); const link = document.createElement('a'); link.href = url; - link.setAttribute('download', 'template.csv'); + link.setAttribute('download', 'template.xlsx'); document.body.appendChild(link); link.click(); link.parentNode.removeChild(link); From 3c71bb68ed1e36c780bc6499f05468fe84b2a8d2 Mon Sep 17 00:00:00 2001 From: Robert Date: Sun, 4 Nov 2018 14:52:11 -0500 Subject: [PATCH 20/30] authentication error trying to send email --- myapp.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/myapp.py b/myapp.py index 0917e45..92562c8 100644 --- a/myapp.py +++ b/myapp.py @@ -11,6 +11,8 @@ from flask import Flask, render_template, request, send_from_directory, jsonify, send_file from algorithm.tsp import tsp from algorithm.s_bfl import s_bfl +from flask_mail import Mail +from flask_mail import Message class CustomFlask(Flask): jinja_options = Flask.jinja_options.copy() @@ -22,6 +24,18 @@ class CustomFlask(Flask): app = CustomFlask(__name__,template_folder='') # This replaces your existing "app = Flask(__name__)" +app.config.update(dict( + DEBUG = True, + MAIL_SERVER = 'smtp.gmail.com', + MAIL_PORT = 465, + MAIL_USE_TLS = False, + MAIL_USE_SSL = True, + MAIL_USERNAME = 'robert.b.shelton.42@gmail.com', + MAIL_PASSWORD = 'statistic31', +)) + +mail = Mail(app) + # ============== Page Rendering ============== @app.route('/') def root(): @@ -59,6 +73,16 @@ def download(): template = "./algorithm/sbfl_template.xlsx" return send_file(template, as_attachment=True) +@app.route('/email/', methods=['GET']) +def email(): + msg = Message("Hello everyb", + sender="robert.b.shelton.42@gmail.com", + recipients=["bobbylinebacker@gmail.com"]) + mail.send(msg) + return "Sending Email" + + + @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) def page_not_found(e): From 9c1142bb514a91a43af7d42e7622de3319c0dde2 Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 6 Nov 2018 08:16:53 -0500 Subject: [PATCH 21/30] Test email sending --- myapp.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/myapp.py b/myapp.py index 92562c8..c807d9b 100644 --- a/myapp.py +++ b/myapp.py @@ -24,15 +24,14 @@ class CustomFlask(Flask): app = CustomFlask(__name__,template_folder='') # This replaces your existing "app = Flask(__name__)" -app.config.update(dict( +app.config.update( DEBUG = True, MAIL_SERVER = 'smtp.gmail.com', MAIL_PORT = 465, - MAIL_USE_TLS = False, MAIL_USE_SSL = True, MAIL_USERNAME = 'robert.b.shelton.42@gmail.com', - MAIL_PASSWORD = 'statistic31', -)) + MAIL_PASSWORD = 'awkfxsasolaunvtf', +) mail = Mail(app) @@ -75,11 +74,12 @@ def download(): @app.route('/email/', methods=['GET']) def email(): - msg = Message("Hello everyb", + msg = Message('Hello', sender="robert.b.shelton.42@gmail.com", - recipients=["bobbylinebacker@gmail.com"]) + recipients=["robes98@vt.edu"]) + msg.body = "This is a test" mail.send(msg) - return "Sending Email" + return "Sent" From 6ea6d5a38b49e779b01ecd00c972203a0c9fe9d0 Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 10 Nov 2018 14:37:56 -0500 Subject: [PATCH 22/30] Used Vue.cli created routes --- algorithm/sbfl_template.xlsx | Bin 8672 -> 9299 bytes frontend/.babelrc | 12 + frontend/.editorconfig | 9 + frontend/.eslintignore | 4 + frontend/.eslintrc.js | 29 + frontend/.gitignore | 14 + frontend/.postcssrc.js | 10 + frontend/README.md | 21 + frontend/build/build.js | 41 + frontend/build/check-versions.js | 54 + frontend/build/logo.png | Bin 0 -> 6849 bytes frontend/build/utils.js | 101 + frontend/build/vue-loader.conf.js | 22 + frontend/build/webpack.base.conf.js | 92 + frontend/build/webpack.dev.conf.js | 95 + frontend/build/webpack.prod.conf.js | 145 + frontend/config/dev.env.js | 7 + frontend/config/index.js | 76 + frontend/config/prod.env.js | 4 + frontend/index.html | 14 + frontend/package-lock.json | 11184 +++++++++++++++++++++++ frontend/package.json | 74 + frontend/src/App.vue | 86 + frontend/src/assets/logo.png | Bin 0 -> 6849 bytes frontend/src/components/HelloWorld.vue | 113 + frontend/src/components/Home.vue | 3 + frontend/src/components/S_BFLS.vue | 163 + frontend/src/main.js | 16 + frontend/src/router/index.js | 21 + frontend/static/.gitkeep | 0 layout.html | 4 + myapp.py | 2 +- static_html/s-bfls.html | 31 +- 33 files changed, 12435 insertions(+), 12 deletions(-) create mode 100644 frontend/.babelrc create mode 100644 frontend/.editorconfig create mode 100644 frontend/.eslintignore create mode 100644 frontend/.eslintrc.js create mode 100644 frontend/.gitignore create mode 100644 frontend/.postcssrc.js create mode 100644 frontend/README.md create mode 100644 frontend/build/build.js create mode 100644 frontend/build/check-versions.js create mode 100644 frontend/build/logo.png create mode 100644 frontend/build/utils.js create mode 100644 frontend/build/vue-loader.conf.js create mode 100644 frontend/build/webpack.base.conf.js create mode 100644 frontend/build/webpack.dev.conf.js create mode 100644 frontend/build/webpack.prod.conf.js create mode 100644 frontend/config/dev.env.js create mode 100644 frontend/config/index.js create mode 100644 frontend/config/prod.env.js create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/assets/logo.png create mode 100644 frontend/src/components/HelloWorld.vue create mode 100644 frontend/src/components/Home.vue create mode 100644 frontend/src/components/S_BFLS.vue create mode 100644 frontend/src/main.js create mode 100644 frontend/src/router/index.js create mode 100644 frontend/static/.gitkeep diff --git a/algorithm/sbfl_template.xlsx b/algorithm/sbfl_template.xlsx index 3b5139b538ffdbbe14a7283019796c2cd777dcb1..02a342cb5a9c63e1faf47edfc9391bf9242cdc84 100644 GIT binary patch delta 3598 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 PU#87mV0PqF`06+i$ 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 X5jY1u7yt%@UvhML{v!PgS7>En diff --git a/frontend/.babelrc b/frontend/.babelrc new file mode 100644 index 0000000..3a280ba --- /dev/null +++ b/frontend/.babelrc @@ -0,0 +1,12 @@ +{ + "presets": [ + ["env", { + "modules": false, + "targets": { + "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] + } + }], + "stage-2" + ], + "plugins": ["transform-vue-jsx", "transform-runtime"] +} diff --git a/frontend/.editorconfig b/frontend/.editorconfig new file mode 100644 index 0000000..9d08a1a --- /dev/null +++ b/frontend/.editorconfig @@ -0,0 +1,9 @@ +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/frontend/.eslintignore b/frontend/.eslintignore new file mode 100644 index 0000000..e1fcc9c --- /dev/null +++ b/frontend/.eslintignore @@ -0,0 +1,4 @@ +/build/ +/config/ +/dist/ +/*.js diff --git a/frontend/.eslintrc.js b/frontend/.eslintrc.js new file mode 100644 index 0000000..22fdce8 --- /dev/null +++ b/frontend/.eslintrc.js @@ -0,0 +1,29 @@ +// https://eslint.org/docs/user-guide/configuring + +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint' + }, + env: { + browser: true, + }, + extends: [ + // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention + // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules. + 'plugin:vue/essential', + // https://github.com/standard/standard/blob/master/docs/RULES-en.md + 'standard' + ], + // required to lint *.vue files + plugins: [ + 'vue' + ], + // add your custom rules here + rules: { + // allow async-await + 'generator-star-spacing': 'off', + // allow debugger during development + 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off' + } +} diff --git a/frontend/.gitignore b/frontend/.gitignore new file mode 100644 index 0000000..541a820 --- /dev/null +++ b/frontend/.gitignore @@ -0,0 +1,14 @@ +.DS_Store +node_modules/ +/dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln diff --git a/frontend/.postcssrc.js b/frontend/.postcssrc.js new file mode 100644 index 0000000..eee3e92 --- /dev/null +++ b/frontend/.postcssrc.js @@ -0,0 +1,10 @@ +// https://github.com/michael-ciniawsky/postcss-load-config + +module.exports = { + "plugins": { + "postcss-import": {}, + "postcss-url": {}, + // to edit target browsers: use "browserslist" field in package.json + "autoprefixer": {} + } +} diff --git a/frontend/README.md b/frontend/README.md new file mode 100644 index 0000000..7992571 --- /dev/null +++ b/frontend/README.md @@ -0,0 +1,21 @@ +# frontend + +> A Vue.js project + +## Build Setup + +``` bash +# install dependencies +npm install + +# serve with hot reload at localhost:8080 +npm run dev + +# build for production with minification +npm run build + +# build for production and view the bundle analyzer report +npm run build --report +``` + +For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). diff --git a/frontend/build/build.js b/frontend/build/build.js new file mode 100644 index 0000000..8f2ad8a --- /dev/null +++ b/frontend/build/build.js @@ -0,0 +1,41 @@ +'use strict' +require('./check-versions')() + +process.env.NODE_ENV = 'production' + +const ora = require('ora') +const rm = require('rimraf') +const path = require('path') +const chalk = require('chalk') +const webpack = require('webpack') +const config = require('../config') +const webpackConfig = require('./webpack.prod.conf') + +const spinner = ora('building for production...') +spinner.start() + +rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { + if (err) throw err + webpack(webpackConfig, (err, stats) => { + spinner.stop() + if (err) throw err + process.stdout.write(stats.toString({ + colors: true, + modules: false, + children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build. + chunks: false, + chunkModules: false + }) + '\n\n') + + if (stats.hasErrors()) { + console.log(chalk.red(' Build failed with errors.\n')) + process.exit(1) + } + + console.log(chalk.cyan(' Build complete.\n')) + console.log(chalk.yellow( + ' Tip: built files are meant to be served over an HTTP server.\n' + + ' Opening index.html over file:// won\'t work.\n' + )) + }) +}) diff --git a/frontend/build/check-versions.js b/frontend/build/check-versions.js new file mode 100644 index 0000000..3ef972a --- /dev/null +++ b/frontend/build/check-versions.js @@ -0,0 +1,54 @@ +'use strict' +const chalk = require('chalk') +const semver = require('semver') +const packageConfig = require('../package.json') +const shell = require('shelljs') + +function exec (cmd) { + return require('child_process').execSync(cmd).toString().trim() +} + +const versionRequirements = [ + { + name: 'node', + currentVersion: semver.clean(process.version), + versionRequirement: packageConfig.engines.node + } +] + +if (shell.which('npm')) { + versionRequirements.push({ + name: 'npm', + currentVersion: exec('npm --version'), + versionRequirement: packageConfig.engines.npm + }) +} + +module.exports = function () { + const warnings = [] + + for (let i = 0; i < versionRequirements.length; i++) { + const mod = versionRequirements[i] + + if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { + warnings.push(mod.name + ': ' + + chalk.red(mod.currentVersion) + ' should be ' + + chalk.green(mod.versionRequirement) + ) + } + } + + if (warnings.length) { + console.log('') + console.log(chalk.yellow('To use this template, you must update following to modules:')) + console.log() + + for (let i = 0; i < warnings.length; i++) { + const warning = warnings[i] + console.log(' ' + warning) + } + + console.log() + process.exit(1) + } +} diff --git a/frontend/build/logo.png b/frontend/build/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 { + const notifier = require('node-notifier') + + return (severity, errors) => { + if (severity !== 'error') return + + const error = errors[0] + const filename = error.file && error.file.split('!').pop() + + notifier.notify({ + title: packageConfig.name, + message: severity + ': ' + error.name, + subtitle: filename || '', + icon: path.join(__dirname, 'logo.png') + }) + } +} diff --git a/frontend/build/vue-loader.conf.js b/frontend/build/vue-loader.conf.js new file mode 100644 index 0000000..33ed58b --- /dev/null +++ b/frontend/build/vue-loader.conf.js @@ -0,0 +1,22 @@ +'use strict' +const utils = require('./utils') +const config = require('../config') +const isProduction = process.env.NODE_ENV === 'production' +const sourceMapEnabled = isProduction + ? config.build.productionSourceMap + : config.dev.cssSourceMap + +module.exports = { + loaders: utils.cssLoaders({ + sourceMap: sourceMapEnabled, + extract: isProduction + }), + cssSourceMap: sourceMapEnabled, + cacheBusting: config.dev.cacheBusting, + transformToRequire: { + video: ['src', 'poster'], + source: 'src', + img: 'src', + image: 'xlink:href' + } +} diff --git a/frontend/build/webpack.base.conf.js b/frontend/build/webpack.base.conf.js new file mode 100644 index 0000000..1f4f47e --- /dev/null +++ b/frontend/build/webpack.base.conf.js @@ -0,0 +1,92 @@ +'use strict' +const path = require('path') +const utils = require('./utils') +const config = require('../config') +const vueLoaderConfig = require('./vue-loader.conf') + +function resolve (dir) { + return path.join(__dirname, '..', dir) +} + +const createLintingRule = () => ({ + test: /\.(js|vue)$/, + loader: 'eslint-loader', + enforce: 'pre', + include: [resolve('src'), resolve('test')], + options: { + formatter: require('eslint-friendly-formatter'), + emitWarning: !config.dev.showEslintErrorsInOverlay + } +}) + +module.exports = { + context: path.resolve(__dirname, '../'), + entry: { + app: './src/main.js' + }, + output: { + path: config.build.assetsRoot, + filename: '[name].js', + publicPath: process.env.NODE_ENV === 'production' + ? config.build.assetsPublicPath + : config.dev.assetsPublicPath + }, + resolve: { + extensions: ['.js', '.vue', '.json'], + alias: { + 'vue$': 'vue/dist/vue.esm.js', + '@': resolve('src'), + } + }, + module: { + rules: [ + ...(config.dev.useEslint ? [createLintingRule()] : []), + { + test: /\.vue$/, + loader: 'vue-loader', + options: vueLoaderConfig + }, + { + test: /\.js$/, + loader: 'babel-loader', + include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')] + }, + { + test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('img/[name].[hash:7].[ext]') + } + }, + { + test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('media/[name].[hash:7].[ext]') + } + }, + { + test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/, + loader: 'url-loader', + options: { + limit: 10000, + name: utils.assetsPath('fonts/[name].[hash:7].[ext]') + } + } + ] + }, + node: { + // prevent webpack from injecting useless setImmediate polyfill because Vue + // source contains it (although only uses it if it's native). + setImmediate: false, + // prevent webpack from injecting mocks to Node native modules + // that does not make sense for the client + dgram: 'empty', + fs: 'empty', + net: 'empty', + tls: 'empty', + child_process: 'empty' + } +} diff --git a/frontend/build/webpack.dev.conf.js b/frontend/build/webpack.dev.conf.js new file mode 100644 index 0000000..070ae22 --- /dev/null +++ b/frontend/build/webpack.dev.conf.js @@ -0,0 +1,95 @@ +'use strict' +const utils = require('./utils') +const webpack = require('webpack') +const config = require('../config') +const merge = require('webpack-merge') +const path = require('path') +const baseWebpackConfig = require('./webpack.base.conf') +const CopyWebpackPlugin = require('copy-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin') +const portfinder = require('portfinder') + +const HOST = process.env.HOST +const PORT = process.env.PORT && Number(process.env.PORT) + +const devWebpackConfig = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true }) + }, + // cheap-module-eval-source-map is faster for development + devtool: config.dev.devtool, + + // these devServer options should be customized in /config/index.js + devServer: { + clientLogLevel: 'warning', + historyApiFallback: { + rewrites: [ + { from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') }, + ], + }, + hot: true, + contentBase: false, // since we use CopyWebpackPlugin. + compress: true, + host: HOST || config.dev.host, + port: PORT || config.dev.port, + open: config.dev.autoOpenBrowser, + overlay: config.dev.errorOverlay + ? { warnings: false, errors: true } + : false, + publicPath: config.dev.assetsPublicPath, + proxy: config.dev.proxyTable, + quiet: true, // necessary for FriendlyErrorsPlugin + watchOptions: { + poll: config.dev.poll, + } + }, + plugins: [ + new webpack.DefinePlugin({ + 'process.env': require('../config/dev.env') + }), + new webpack.HotModuleReplacementPlugin(), + new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update. + new webpack.NoEmitOnErrorsPlugin(), + // https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: 'index.html', + template: 'index.html', + inject: true + }), + // copy custom static assets + new CopyWebpackPlugin([ + { + from: path.resolve(__dirname, '../static'), + to: config.dev.assetsSubDirectory, + ignore: ['.*'] + } + ]) + ] +}) + +module.exports = new Promise((resolve, reject) => { + portfinder.basePort = process.env.PORT || config.dev.port + portfinder.getPort((err, port) => { + if (err) { + reject(err) + } else { + // publish the new Port, necessary for e2e tests + process.env.PORT = port + // add port to devServer config + devWebpackConfig.devServer.port = port + + // Add FriendlyErrorsPlugin + devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({ + compilationSuccessInfo: { + messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`], + }, + onErrors: config.dev.notifyOnErrors + ? utils.createNotifierCallback() + : undefined + })) + + resolve(devWebpackConfig) + } + }) +}) diff --git a/frontend/build/webpack.prod.conf.js b/frontend/build/webpack.prod.conf.js new file mode 100644 index 0000000..d9f99f6 --- /dev/null +++ b/frontend/build/webpack.prod.conf.js @@ -0,0 +1,145 @@ +'use strict' +const path = require('path') +const utils = require('./utils') +const webpack = require('webpack') +const config = require('../config') +const merge = require('webpack-merge') +const baseWebpackConfig = require('./webpack.base.conf') +const CopyWebpackPlugin = require('copy-webpack-plugin') +const HtmlWebpackPlugin = require('html-webpack-plugin') +const ExtractTextPlugin = require('extract-text-webpack-plugin') +const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') +const UglifyJsPlugin = require('uglifyjs-webpack-plugin') + +const env = require('../config/prod.env') + +const webpackConfig = merge(baseWebpackConfig, { + module: { + rules: utils.styleLoaders({ + sourceMap: config.build.productionSourceMap, + extract: true, + usePostCSS: true + }) + }, + devtool: config.build.productionSourceMap ? config.build.devtool : false, + output: { + path: config.build.assetsRoot, + filename: utils.assetsPath('js/[name].[chunkhash].js'), + chunkFilename: utils.assetsPath('js/[id].[chunkhash].js') + }, + plugins: [ + // http://vuejs.github.io/vue-loader/en/workflow/production.html + new webpack.DefinePlugin({ + 'process.env': env + }), + new UglifyJsPlugin({ + uglifyOptions: { + compress: { + warnings: false + } + }, + sourceMap: config.build.productionSourceMap, + parallel: true + }), + // extract css into its own file + new ExtractTextPlugin({ + filename: utils.assetsPath('css/[name].[contenthash].css'), + // Setting the following option to `false` will not extract CSS from codesplit chunks. + // Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack. + // It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`, + // increasing file size: https://github.com/vuejs-templates/webpack/issues/1110 + allChunks: true, + }), + // Compress extracted CSS. We are using this plugin so that possible + // duplicated CSS from different components can be deduped. + new OptimizeCSSPlugin({ + cssProcessorOptions: config.build.productionSourceMap + ? { safe: true, map: { inline: false } } + : { safe: true } + }), + // generate dist index.html with correct asset hash for caching. + // you can customize output by editing /index.html + // see https://github.com/ampedandwired/html-webpack-plugin + new HtmlWebpackPlugin({ + filename: config.build.index, + template: 'index.html', + inject: true, + minify: { + removeComments: true, + collapseWhitespace: true, + removeAttributeQuotes: true + // more options: + // https://github.com/kangax/html-minifier#options-quick-reference + }, + // necessary to consistently work with multiple chunks via CommonsChunkPlugin + chunksSortMode: 'dependency' + }), + // keep module.id stable when vendor modules does not change + new webpack.HashedModuleIdsPlugin(), + // enable scope hoisting + new webpack.optimize.ModuleConcatenationPlugin(), + // split vendor js into its own file + new webpack.optimize.CommonsChunkPlugin({ + name: 'vendor', + minChunks (module) { + // any required modules inside node_modules are extracted to vendor + return ( + module.resource && + /\.js$/.test(module.resource) && + module.resource.indexOf( + path.join(__dirname, '../node_modules') + ) === 0 + ) + } + }), + // extract webpack runtime and module manifest to its own file in order to + // prevent vendor hash from being updated whenever app bundle is updated + new webpack.optimize.CommonsChunkPlugin({ + name: 'manifest', + minChunks: Infinity + }), + // This instance extracts shared chunks from code splitted chunks and bundles them + // in a separate chunk, similar to the vendor chunk + // see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk + new webpack.optimize.CommonsChunkPlugin({ + name: 'app', + async: 'vendor-async', + children: true, + minChunks: 3 + }), + + // copy custom static assets + new CopyWebpackPlugin([ + { + from: path.resolve(__dirname, '../static'), + to: config.build.assetsSubDirectory, + ignore: ['.*'] + } + ]) + ] +}) + +if (config.build.productionGzip) { + const CompressionWebpackPlugin = require('compression-webpack-plugin') + + webpackConfig.plugins.push( + new CompressionWebpackPlugin({ + asset: '[path].gz[query]', + algorithm: 'gzip', + test: new RegExp( + '\\.(' + + config.build.productionGzipExtensions.join('|') + + ')$' + ), + threshold: 10240, + minRatio: 0.8 + }) + ) +} + +if (config.build.bundleAnalyzerReport) { + const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin + webpackConfig.plugins.push(new BundleAnalyzerPlugin()) +} + +module.exports = webpackConfig diff --git a/frontend/config/dev.env.js b/frontend/config/dev.env.js new file mode 100644 index 0000000..1e22973 --- /dev/null +++ b/frontend/config/dev.env.js @@ -0,0 +1,7 @@ +'use strict' +const merge = require('webpack-merge') +const prodEnv = require('./prod.env') + +module.exports = merge(prodEnv, { + NODE_ENV: '"development"' +}) diff --git a/frontend/config/index.js b/frontend/config/index.js new file mode 100644 index 0000000..d1f26cb --- /dev/null +++ b/frontend/config/index.js @@ -0,0 +1,76 @@ +'use strict' +// Template version: 1.3.1 +// see http://vuejs-templates.github.io/webpack for documentation. + +const path = require('path') + +module.exports = { + dev: { + + // Paths + assetsSubDirectory: 'static', + assetsPublicPath: '/', + proxyTable: {}, + + // Various Dev Server settings + host: 'localhost', // can be overwritten by process.env.HOST + port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined + autoOpenBrowser: false, + errorOverlay: true, + notifyOnErrors: true, + poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions- + + // Use Eslint Loader? + // If true, your code will be linted during bundling and + // linting errors and warnings will be shown in the console. + useEslint: true, + // If true, eslint errors and warnings will also be shown in the error overlay + // in the browser. + showEslintErrorsInOverlay: false, + + /** + * Source Maps + */ + + // https://webpack.js.org/configuration/devtool/#development + devtool: 'cheap-module-eval-source-map', + + // If you have problems debugging vue-files in devtools, + // set this to false - it *may* help + // https://vue-loader.vuejs.org/en/options.html#cachebusting + cacheBusting: true, + + cssSourceMap: true + }, + + build: { + // Template for index.html + index: path.resolve(__dirname, '../../dist/index.html'), + + // Paths + assetsRoot: path.resolve(__dirname, '../../dist'), + assetsSubDirectory: 'static', + assetsPublicPath: '/', + + /** + * Source Maps + */ + + productionSourceMap: true, + // https://webpack.js.org/configuration/devtool/#production + devtool: '#source-map', + + // Gzip off by default as many popular static hosts such as + // Surge or Netlify already gzip all static assets for you. + // Before setting to `true`, make sure to: + // npm install --save-dev compression-webpack-plugin + productionGzip: false, + productionGzipExtensions: ['js', 'css'], + + // Run the build command with an extra argument to + // View the bundle analyzer report after build finishes: + // `npm run build --report` + // Set to `true` or `false` to always turn it on or off + bundleAnalyzerReport: process.env.npm_config_report + } +} diff --git a/frontend/config/prod.env.js b/frontend/config/prod.env.js new file mode 100644 index 0000000..a6f9976 --- /dev/null +++ b/frontend/config/prod.env.js @@ -0,0 +1,4 @@ +'use strict' +module.exports = { + NODE_ENV: '"production"' +} diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..d89c43c --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,14 @@ + + + + + + + + BFL + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..c7892a7 --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,11184 @@ +{ + "name": "frontend", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0-beta.44.tgz", + "integrity": "sha512-cuAuTTIQ9RqcFRJ/Y8PvTh+paepNcaGxwQwjIDRWPXmzzyAeCO4KqS9ikMvq0MCbRk6GlYKwfzStrcP3/jSL8g==", + "dev": true, + "requires": { + "@babel/highlight": "7.0.0-beta.44" + } + }, + "@babel/generator": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/generator/-/generator-7.0.0-beta.44.tgz", + "integrity": "sha512-5xVb7hlhjGcdkKpMXgicAVgx8syK5VJz193k0i/0sLP6DzE6lRrU1K3B/rFefgdo9LPGMAOOOAWW4jycj07ShQ==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44", + "jsesc": "2.5.2", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-function-name": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.0.0-beta.44.tgz", + "integrity": "sha512-MHRG2qZMKMFaBavX0LWpfZ2e+hLloT++N7rfM3DYOMUOGCD8cVjqZpwiL8a0bOX3IYcQev1ruciT0gdFFRTxzg==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "7.0.0-beta.44", + "@babel/template": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0-beta.44.tgz", + "integrity": "sha512-w0YjWVwrM2HwP6/H3sEgrSQdkCaxppqFeJtAnB23pRiJB5E/O9Yp7JAAeWBl+gGEgmBFinnTyOv2RN7rcSmMiw==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0-beta.44.tgz", + "integrity": "sha512-aQ7QowtkgKKzPGf0j6u77kBMdUFVBKNHw2p/3HX/POt5/oz8ec5cs0GwlgM8Hz7ui5EwJnzyfRmkNF1Nx1N7aA==", + "dev": true, + "requires": { + "@babel/types": "7.0.0-beta.44" + } + }, + "@babel/highlight": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0-beta.44.tgz", + "integrity": "sha512-Il19yJvy7vMFm8AVAh6OZzaFoAd0hbkeMZiX3P5HGD+z7dyI7RzndHB0dg6Urh/VAFfHtpOIzDUSxmY6coyZWQ==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + } + }, + "@babel/template": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/template/-/template-7.0.0-beta.44.tgz", + "integrity": "sha512-w750Sloq0UNifLx1rUqwfbnC6uSUk0mfwwgGRfdLiaUzfAOiH0tHJE6ILQIUi3KYkjiCDTskoIsnfqZvWLBDng==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "lodash": "4.17.11" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "dev": true + } + } + }, + "@babel/traverse": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/traverse/-/traverse-7.0.0-beta.44.tgz", + "integrity": "sha512-UHuDz8ukQkJCDASKHf+oDt3FVUzFd+QYfuBIsiNu/4+/ix6pP/C+uQZJ6K1oEfbCMv/IKWbgDEh7fcsnIE5AtA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/generator": "7.0.0-beta.44", + "@babel/helper-function-name": "7.0.0-beta.44", + "@babel/helper-split-export-declaration": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "debug": "3.2.6", + "globals": "11.8.0", + "invariant": "2.2.4", + "lodash": "4.17.11" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/@babel/types/-/types-7.0.0-beta.44.tgz", + "integrity": "sha512-5eTV4WRmqbaFM3v9gHAIljEQJU4Ssc6fxL61JN+Oe2ga/BwyjzjamwkCVVAQjHGuAX8i0BWo42dshL8eO5KfLQ==", + "dev": true, + "requires": { + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "dev": true, + "requires": { + "mime-types": "2.1.21", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz", + "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "dev": true, + "requires": { + "acorn": "4.0.13" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "requires": { + "acorn": "3.3.0" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "http://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true + } + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "requires": { + "co": "4.6.0", + "fast-deep-equal": "1.1.0", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.3.1" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "dev": true, + "requires": { + "kind-of": "3.2.2", + "longest": "1.0.1", + "repeat-string": "1.6.1" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "ansi-escapes": { + "version": "3.1.0", + "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", + "dev": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "1.9.3" + } + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "dev": true, + "requires": { + "micromatch": "3.1.10", + "normalize-path": "2.1.1" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "1.0.3" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "array-includes": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", + "integrity": "sha1-GEtI9i2S10UrsxsyMWXH+L0CJm0=", + "dev": true, + "requires": { + "define-properties": "1.1.3", + "es-abstract": "1.12.0" + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "1.0.3" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "http://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", + "dev": true + }, + "async-limiter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", + "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "7.2.6", + "resolved": "http://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz", + "integrity": "sha512-Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==", + "dev": true, + "requires": { + "browserslist": "2.11.3", + "caniuse-lite": "1.0.30000907", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "6.0.23", + "postcss-value-parser": "3.3.1" + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "esutils": "2.0.2", + "js-tokens": "3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-generator": "6.26.1", + "babel-helpers": "6.24.1", + "babel-messages": "6.23.0", + "babel-register": "6.26.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "convert-source-map": "1.6.0", + "debug": "2.6.9", + "json5": "0.5.1", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "path-is-absolute": "1.0.1", + "private": "0.1.8", + "slash": "1.0.0", + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-eslint": { + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-8.2.6.tgz", + "integrity": "sha512-aCdHjhzcILdP8c9lej7hvXKvQieyRt20SF102SIGyY4cUIiw6UaAtK4j2o3dXX74jEmy0TJ0CEhv4fTIM3SzcA==", + "dev": true, + "requires": { + "@babel/code-frame": "7.0.0-beta.44", + "@babel/traverse": "7.0.0-beta.44", + "@babel/types": "7.0.0-beta.44", + "babylon": "7.0.0-beta.44", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0" + }, + "dependencies": { + "babylon": { + "version": "7.0.0-beta.44", + "resolved": "http://registry.npmjs.org/babylon/-/babylon-7.0.0-beta.44.tgz", + "integrity": "sha512-5Hlm13BJVAioCHpImtFqNOF2H3ieTOHd0fmFGMxOJ9jgeFqeAwsv3u5P5cR7CSeFrkgHsT19DgFJkHV0/Mcd8g==", + "dev": true + } + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dev": true, + "requires": { + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "detect-indent": "4.0.0", + "jsesc": "1.3.0", + "lodash": "4.17.11", + "source-map": "0.5.7", + "trim-right": "1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "dev": true, + "requires": { + "babel-helper-explode-assignable-expression": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.11" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "dev": true, + "requires": { + "babel-helper-bindify-decorators": "6.24.1", + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "dev": true, + "requires": { + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.11" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "dev": true, + "requires": { + "babel-helper-optimise-call-expression": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==", + "dev": true + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "dev": true, + "requires": { + "find-cache-dir": "1.0.0", + "loader-utils": "1.1.0", + "mkdirp": "0.5.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=", + "dev": true + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=", + "dev": true + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=", + "dev": true + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=", + "dev": true + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=", + "dev": true + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=", + "dev": true + }, + "babel-plugin-syntax-jsx": { + "version": "6.18.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", + "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", + "dev": true + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=", + "dev": true + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-generators": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "dev": true, + "requires": { + "babel-helper-remap-async-to-generator": "6.24.1", + "babel-plugin-syntax-async-functions": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-plugin-syntax-class-properties": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "dev": true, + "requires": { + "babel-helper-explode-class": "6.24.1", + "babel-plugin-syntax-decorators": "6.13.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "lodash": "4.17.11" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "dev": true, + "requires": { + "babel-helper-define-map": "6.26.0", + "babel-helper-function-name": "6.24.1", + "babel-helper-optimise-call-expression": "6.24.1", + "babel-helper-replace-supers": "6.24.1", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "dev": true, + "requires": { + "babel-helper-function-name": "6.24.1", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "dev": true, + "requires": { + "babel-plugin-transform-strict-mode": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "dev": true, + "requires": { + "babel-helper-hoist-variables": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "dev": true, + "requires": { + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "dev": true, + "requires": { + "babel-helper-replace-supers": "6.24.1", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "dev": true, + "requires": { + "babel-helper-call-delegate": "6.24.1", + "babel-helper-get-function-arity": "6.24.1", + "babel-runtime": "6.26.0", + "babel-template": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "dev": true, + "requires": { + "babel-helper-regex": "6.26.0", + "babel-runtime": "6.26.0", + "regexpu-core": "2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "dev": true, + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "6.24.1", + "babel-plugin-syntax-exponentiation-operator": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "6.13.0", + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "dev": true, + "requires": { + "regenerator-transform": "0.10.1" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0" + } + }, + "babel-plugin-transform-vue-jsx": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-3.7.0.tgz", + "integrity": "sha512-W39X07/n3oJMQd8tALBO+440NraGSF//Lo1ydd/9Nme3+QiRGFBb1Q39T9iixh0jZPPbfv3so18tNoIgLatymw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "dev": true, + "requires": { + "babel-plugin-check-es2015-constants": "6.22.0", + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-es2015-arrow-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "6.22.0", + "babel-plugin-transform-es2015-block-scoping": "6.26.0", + "babel-plugin-transform-es2015-classes": "6.24.1", + "babel-plugin-transform-es2015-computed-properties": "6.24.1", + "babel-plugin-transform-es2015-destructuring": "6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "6.24.1", + "babel-plugin-transform-es2015-for-of": "6.23.0", + "babel-plugin-transform-es2015-function-name": "6.24.1", + "babel-plugin-transform-es2015-literals": "6.22.0", + "babel-plugin-transform-es2015-modules-amd": "6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "6.26.2", + "babel-plugin-transform-es2015-modules-systemjs": "6.24.1", + "babel-plugin-transform-es2015-modules-umd": "6.24.1", + "babel-plugin-transform-es2015-object-super": "6.24.1", + "babel-plugin-transform-es2015-parameters": "6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "6.24.1", + "babel-plugin-transform-es2015-spread": "6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "6.24.1", + "babel-plugin-transform-es2015-template-literals": "6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-regenerator": "6.26.0", + "browserslist": "3.2.8", + "invariant": "2.2.4", + "semver": "5.6.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000907", + "electron-to-chromium": "1.3.84" + } + } + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "dev": true, + "requires": { + "babel-plugin-syntax-dynamic-import": "6.18.0", + "babel-plugin-transform-class-properties": "6.24.1", + "babel-plugin-transform-decorators": "6.24.1", + "babel-preset-stage-3": "6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "dev": true, + "requires": { + "babel-plugin-syntax-trailing-function-commas": "6.22.0", + "babel-plugin-transform-async-generator-functions": "6.24.1", + "babel-plugin-transform-async-to-generator": "6.24.1", + "babel-plugin-transform-exponentiation-operator": "6.24.1", + "babel-plugin-transform-object-rest-spread": "6.26.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "dev": true, + "requires": { + "babel-core": "6.26.3", + "babel-runtime": "6.26.0", + "core-js": "2.5.7", + "home-or-tmp": "2.0.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "source-map-support": "0.4.18" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "2.5.7", + "regenerator-runtime": "0.11.1" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-traverse": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "lodash": "4.17.11" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "babel-messages": "6.23.0", + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "babylon": "6.18.0", + "debug": "2.6.9", + "globals": "9.18.0", + "invariant": "2.2.4", + "lodash": "4.17.11" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "esutils": "2.0.2", + "lodash": "4.17.11", + "to-fast-properties": "1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "1.0.1", + "class-utils": "0.3.6", + "component-emitter": "1.2.1", + "define-property": "1.0.0", + "isobject": "3.0.1", + "mixin-deep": "1.3.1", + "pascalcase": "0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "bfj-node4": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/bfj-node4/-/bfj-node4-5.3.1.tgz", + "integrity": "sha512-SOmOsowQWfXc7ybFARsK3C4MCOWzERaOMV/Fl3Tgjs+5dJWyzo3oa127jL44eMbQiAN17J7SvAs2TRxEScTUmg==", + "dev": true, + "requires": { + "bluebird": "3.5.3", + "check-types": "7.4.0", + "tryer": "1.0.1" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "binary-extensions": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz", + "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==", + "dev": true + }, + "bluebird": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==", + "dev": true + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", + "dev": true + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "dev": true, + "requires": { + "bytes": "3.0.0", + "content-type": "1.0.4", + "debug": "2.6.9", + "depd": "1.1.2", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "1.6.16" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "2.1.1", + "deep-equal": "1.0.1", + "dns-equal": "1.0.0", + "dns-txt": "2.0.2", + "multicast-dns": "6.2.3", + "multicast-dns-service-types": "1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.1.tgz", + "integrity": "sha1-Qmu52oQJDBg42BLIFQryCoMx4pY=", + "dev": true + } + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "1.1.0", + "array-unique": "0.3.2", + "extend-shallow": "2.0.1", + "fill-range": "4.0.0", + "isobject": "3.0.1", + "repeat-element": "1.1.3", + "snapdragon": "0.8.2", + "snapdragon-node": "2.1.1", + "split-string": "3.1.0", + "to-regex": "3.0.2" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "1.0.3", + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "1.2.0", + "browserify-des": "1.0.2", + "evp_bytestokey": "1.0.3" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "des.js": "1.0.0", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "randombytes": "2.0.6" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "elliptic": "6.4.1", + "inherits": "2.0.3", + "parse-asn1": "5.1.1" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "1.0.6" + } + }, + "browserslist": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz", + "integrity": "sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==", + "dev": true, + "requires": { + "caniuse-lite": "1.0.30000907", + "electron-to-chromium": "1.3.84" + } + }, + "buffer": { + "version": "4.9.1", + "resolved": "http://registry.npmjs.org/buffer/-/buffer-4.9.1.tgz", + "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", + "dev": true, + "requires": { + "base64-js": "1.3.0", + "ieee754": "1.1.12", + "isarray": "1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bulma": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/bulma/-/bulma-0.7.2.tgz", + "integrity": "sha512-6JHEu8U/1xsyOst/El5ImLcZIiE2JFXgvrz8GGWbnDLwTNRPJzdAM0aoUM1Ns0avALcVb6KZz9NhzmU53dGDcQ==" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "cacache": { + "version": "10.0.4", + "resolved": "http://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "3.5.3", + "chownr": "1.1.1", + "glob": "7.1.3", + "graceful-fs": "4.1.15", + "lru-cache": "4.1.3", + "mississippi": "2.0.0", + "mkdirp": "0.5.1", + "move-concurrently": "1.0.1", + "promise-inflight": "1.0.1", + "rimraf": "2.6.2", + "ssri": "5.3.0", + "unique-filename": "1.1.1", + "y18n": "4.0.0" + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "1.0.0", + "component-emitter": "1.2.1", + "get-value": "2.0.6", + "has-value": "1.0.0", + "isobject": "3.0.1", + "set-value": "2.0.0", + "to-object-path": "0.3.0", + "union-value": "1.0.0", + "unset-value": "1.0.0" + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "requires": { + "callsites": "0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "2.3.2", + "upper-case": "1.1.3" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "requires": { + "camelcase": "2.1.1", + "map-obj": "1.0.1" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000907", + "lodash.memoize": "4.1.2", + "lodash.uniq": "4.5.0" + }, + "dependencies": { + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000907", + "electron-to-chromium": "1.3.84" + } + } + } + }, + "caniuse-db": { + "version": "1.0.30000907", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30000907.tgz", + "integrity": "sha512-OKtlTmEPR9GgCxnKMlvdHTT2QD6n4eIovcVqEnjoR8iB9l6rk4abKnjsDSyTD36an/ebgigl8T2CSdwSf4JoGw==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30000907", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000907.tgz", + "integrity": "sha512-No5sQ/OB2Nmka8MNOOM6nJx+Hxt6MQ6h7t7kgJFu9oTuwjykyKRSBP/+i/QAyFHxeHB+ddE0Da1CG5ihx9oehQ==", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "dev": true, + "requires": { + "align-text": "0.1.4", + "lazy-cache": "1.0.4" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "3.2.1", + "escape-string-regexp": "1.0.5", + "supports-color": "5.5.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true + }, + "check-types": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-7.4.0.tgz", + "integrity": "sha512-YbulWHdfP99UfZ73NcUDlNJhEIDgm9Doq9GhpyXbF+7Aegi3CVV7qqMCKTTqJxlvEvnQBp9IA+dxsGN6xK/nSg==", + "dev": true + }, + "chokidar": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", + "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==", + "dev": true, + "requires": { + "anymatch": "2.0.0", + "async-each": "1.0.1", + "braces": "2.3.2", + "glob-parent": "3.1.0", + "inherits": "2.0.3", + "is-binary-path": "1.0.1", + "is-glob": "4.0.0", + "lodash.debounce": "4.0.8", + "normalize-path": "2.1.1", + "path-is-absolute": "1.0.1", + "readdirp": "2.2.1", + "upath": "1.1.0" + } + }, + "chownr": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", + "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "dev": true, + "requires": { + "chalk": "1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "define-property": "0.2.5", + "isobject": "3.0.1", + "static-extend": "0.1.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "clean-css": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz", + "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==", + "dev": true, + "requires": { + "source-map": "0.6.1" + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "2.0.0" + } + }, + "cli-spinners": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz", + "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==", + "dev": true + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", + "dev": true + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "dev": true, + "requires": { + "center-align": "0.1.3", + "right-align": "0.1.3", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", + "dev": true + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", + "dev": true + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "dev": true, + "requires": { + "q": "1.5.1" + } + }, + "coalescy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/coalescy/-/coalescy-1.0.0.tgz", + "integrity": "sha1-SwZYRrg2NhrabEtKSr9LwcrDG/E=", + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "1.0.0", + "object-visit": "1.0.1" + } + }, + "color": { + "version": "0.11.4", + "resolved": "http://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "dev": true, + "requires": { + "clone": "1.0.4", + "color-convert": "1.9.3", + "color-string": "0.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "dev": true, + "requires": { + "color": "0.11.4", + "css-color-names": "0.0.4", + "has": "1.0.3" + } + }, + "colors": { + "version": "1.1.2", + "resolved": "http://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", + "dev": true + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "compressible": { + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.15.tgz", + "integrity": "sha512-4aE67DL33dSW9gw4CI2H/yTxqHLNcxp0yS6jB+4h+wr3e43+1z7vm0HU9qXOH8j+qjKuL8+UtkOxYQSMq60Ylw==", + "dev": true, + "requires": { + "mime-db": "1.37.0" + } + }, + "compression": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.3.tgz", + "integrity": "sha512-HSjyBG5N1Nnz7tF2+O7A9XUhyjru71/fwgNb7oIsEVHR0WShfs2tIS/EySLgiTe98aOK18YDlMXpzjCXY/n9mg==", + "dev": true, + "requires": { + "accepts": "1.3.5", + "bytes": "3.0.0", + "compressible": "2.0.15", + "debug": "2.6.9", + "on-headers": "1.0.1", + "safe-buffer": "5.1.2", + "vary": "1.1.2" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "1.1.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "typedarray": "0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=", + "dev": true + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "0.1.4" + } + }, + "consolidate": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", + "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", + "dev": true, + "requires": { + "bluebird": "3.5.3" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", + "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "1.2.0", + "fs-write-stream-atomic": "1.0.10", + "iferr": "0.1.5", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "globby": "7.1.1", + "is-glob": "4.0.0", + "loader-utils": "1.1.0", + "minimatch": "3.0.4", + "p-limit": "1.3.0", + "serialize-javascript": "1.5.0" + } + }, + "core-js": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", + "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz", + "integrity": "sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.12.0", + "parse-json": "4.0.0", + "require-from-string": "2.0.2" + }, + "dependencies": { + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "1.3.2", + "json-parse-better-errors": "1.0.2" + } + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "elliptic": "6.4.1" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "inherits": "2.0.3", + "md5.js": "1.3.5", + "ripemd160": "2.0.2", + "sha.js": "2.4.11" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "1.0.4", + "create-hash": "1.2.0", + "inherits": "2.0.3", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "dev": true, + "requires": { + "lru-cache": "4.1.3", + "shebang-command": "1.2.0", + "which": "1.3.1" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "1.0.1", + "browserify-sign": "4.0.4", + "create-ecdh": "4.0.3", + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "diffie-hellman": "5.0.3", + "inherits": "2.0.3", + "pbkdf2": "3.0.17", + "public-encrypt": "4.0.3", + "randombytes": "2.0.6", + "randomfill": "1.0.4" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-loader": { + "version": "0.28.11", + "resolved": "http://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "dev": true, + "requires": { + "babel-code-frame": "6.26.0", + "css-selector-tokenizer": "0.7.1", + "cssnano": "3.10.0", + "icss-utils": "2.1.0", + "loader-utils": "1.1.0", + "lodash.camelcase": "4.3.0", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-modules-extract-imports": "1.2.1", + "postcss-modules-local-by-default": "1.2.0", + "postcss-modules-scope": "1.1.0", + "postcss-modules-values": "1.3.0", + "postcss-value-parser": "3.3.1", + "source-list-map": "2.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "css-select": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "dev": true, + "requires": { + "boolbase": "1.0.0", + "css-what": "2.1.2", + "domutils": "1.5.1", + "nth-check": "1.0.2" + } + }, + "css-selector-tokenizer": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz", + "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==", + "dev": true, + "requires": { + "cssesc": "0.1.0", + "fastparse": "1.1.2", + "regexpu-core": "1.0.0" + }, + "dependencies": { + "regexpu-core": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + } + } + }, + "css-what": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.2.tgz", + "integrity": "sha512-wan8dMWQ0GUeF7DGEPVjhHemVW/vy6xUYmFzRY8RYqgA0JtXC9rJmbScBjqSu6dg9q0lwPQy6ZAmJVr3PPTvqQ==", + "dev": true + }, + "cssesc": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz", + "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", + "dev": true + }, + "cssnano": { + "version": "3.10.0", + "resolved": "http://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "dev": true, + "requires": { + "autoprefixer": "6.7.7", + "decamelize": "1.2.0", + "defined": "1.0.0", + "has": "1.0.3", + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-calc": "5.3.1", + "postcss-colormin": "2.2.2", + "postcss-convert-values": "2.6.1", + "postcss-discard-comments": "2.0.4", + "postcss-discard-duplicates": "2.1.0", + "postcss-discard-empty": "2.1.0", + "postcss-discard-overridden": "0.1.1", + "postcss-discard-unused": "2.2.3", + "postcss-filter-plugins": "2.0.3", + "postcss-merge-idents": "2.1.7", + "postcss-merge-longhand": "2.0.2", + "postcss-merge-rules": "2.1.2", + "postcss-minify-font-values": "1.0.5", + "postcss-minify-gradients": "1.0.5", + "postcss-minify-params": "1.2.2", + "postcss-minify-selectors": "2.1.1", + "postcss-normalize-charset": "1.1.1", + "postcss-normalize-url": "3.0.8", + "postcss-ordered-values": "2.2.3", + "postcss-reduce-idents": "2.4.0", + "postcss-reduce-initial": "1.0.1", + "postcss-reduce-transforms": "1.0.4", + "postcss-svgo": "2.1.6", + "postcss-unique-selectors": "2.0.2", + "postcss-value-parser": "3.3.1", + "postcss-zindex": "2.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-db": "1.0.30000907", + "normalize-range": "0.1.2", + "num2fraction": "1.2.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000907", + "electron-to-chromium": "1.3.84" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "dev": true, + "requires": { + "clap": "1.2.3", + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "1.0.2" + } + }, + "cyclist": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz", + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=", + "dev": true + }, + "d": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/d/-/d-1.0.0.tgz", + "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", + "dev": true, + "requires": { + "es5-ext": "0.10.46" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "1.0.2", + "isobject": "3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "dev": true, + "requires": { + "globby": "6.1.0", + "is-path-cwd": "1.0.0", + "is-path-in-cwd": "1.0.1", + "p-map": "1.2.0", + "pify": "3.0.0", + "rimraf": "2.6.2" + }, + "dependencies": { + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "glob": "7.1.3", + "object-assign": "4.1.1", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "miller-rabin": "4.0.1", + "randombytes": "2.0.6" + } + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "1.0.1", + "path-type": "3.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "dev": true, + "requires": { + "ip": "1.1.5", + "safe-buffer": "5.1.2" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "1.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "2.0.2" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "0.4.0" + } + }, + "dom-serializer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", + "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=", + "dev": true, + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.2" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz", + "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==", + "dev": true + }, + "domhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.1.0.tgz", + "integrity": "sha1-0mRvXlf2w7qxHPbLBdPArPdBJZQ=", + "dev": true, + "requires": { + "domelementtype": "1.2.1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "dev": true, + "requires": { + "dom-serializer": "0.1.0", + "domelementtype": "1.2.1" + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexify": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.1.tgz", + "integrity": "sha512-vM58DwdnKmty+FSPzT14K9JXb90H+j5emaR4KYbr2KTIz00WHGbWOe5ghQTx233ZCLZtrGDALzKwcjEtSt35mA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "stream-shift": "1.0.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "ejs": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", + "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.84", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.84.tgz", + "integrity": "sha512-IYhbzJYOopiTaNWMBp7RjbecUBsbnbDneOP86f3qvS0G0xfzwNSvMJpTrvi5/Y1gU7tg2NAgeg8a8rCYvW9Whw==", + "dev": true + }, + "elliptic": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.1.tgz", + "integrity": "sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0", + "hash.js": "1.1.5", + "hmac-drbg": "1.0.1", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "1.4.0" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "memory-fs": "0.4.1", + "object-assign": "4.1.1", + "tapable": "0.2.8" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "errno": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "dev": true, + "requires": { + "prr": "1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.2.tgz", + "integrity": "sha512-E1fPutRDdIj/hohG0UpT5mayXNCxXP9d+snxFsPU9X0XgccOumKraa3juDMwTUyi7+Bu5+mCGagjg4IYeNbOdw==", + "dev": true, + "requires": { + "stackframe": "1.0.4" + } + }, + "es-abstract": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.12.0.tgz", + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", + "dev": true, + "requires": { + "es-to-primitive": "1.2.0", + "function-bind": "1.1.1", + "has": "1.0.3", + "is-callable": "1.1.4", + "is-regex": "1.0.4" + } + }, + "es-to-primitive": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz", + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", + "dev": true, + "requires": { + "is-callable": "1.1.4", + "is-date-object": "1.0.1", + "is-symbol": "1.0.2" + } + }, + "es5-ext": { + "version": "0.10.46", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.46.tgz", + "integrity": "sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==", + "dev": true, + "requires": { + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "next-tick": "1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.46", + "es6-symbol": "3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.46", + "es6-iterator": "2.0.3", + "es6-set": "0.1.5", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.46", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1", + "event-emitter": "0.3.5" + } + }, + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.46" + } + }, + "es6-weak-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.46", + "es6-iterator": "2.0.3", + "es6-symbol": "3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "dev": true, + "requires": { + "es6-map": "0.1.5", + "es6-weak-map": "2.0.2", + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint": { + "version": "4.19.1", + "resolved": "http://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "babel-code-frame": "6.26.0", + "chalk": "2.4.1", + "concat-stream": "1.6.2", + "cross-spawn": "5.1.0", + "debug": "3.2.6", + "doctrine": "2.1.0", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "esutils": "2.0.2", + "file-entry-cache": "2.0.0", + "functional-red-black-tree": "1.0.1", + "glob": "7.1.3", + "globals": "11.8.0", + "ignore": "3.3.10", + "imurmurhash": "0.1.4", + "inquirer": "3.3.0", + "is-resolvable": "1.1.0", + "js-yaml": "3.12.0", + "json-stable-stringify-without-jsonify": "1.0.1", + "levn": "0.3.0", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "natural-compare": "1.4.0", + "optionator": "0.8.2", + "path-is-inside": "1.0.2", + "pluralize": "7.0.0", + "progress": "2.0.1", + "regexpp": "1.1.0", + "require-uncached": "1.0.3", + "semver": "5.6.0", + "strip-ansi": "4.0.0", + "strip-json-comments": "2.0.1", + "table": "4.0.2", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "globals": { + "version": "11.8.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.8.0.tgz", + "integrity": "sha512-io6LkyPVuzCHBSQV9fmOwxZkUk6nIaGmxheLDgmuFv89j0fm2aqDbIXKAGfzCMHqz3HLF2Zf8WSG6VqMh2qFmA==", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "4.0.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "eslint-config-standard": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz", + "integrity": "sha1-wGHk0GbzedwXzVYsZOgZtN1FRZE=", + "dev": true + }, + "eslint-friendly-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-friendly-formatter/-/eslint-friendly-formatter-3.0.0.tgz", + "integrity": "sha1-J4h0Q1psRuwdlPoLH/SU4w7wQpA=", + "dev": true, + "requires": { + "chalk": "1.1.3", + "coalescy": "1.0.0", + "extend": "3.0.2", + "minimist": "1.2.0", + "text-table": "0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "eslint-import-resolver-node": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz", + "integrity": "sha512-sfmTqJfPSizWu4aymbPr4Iidp5yKm8yDkHp+Ir3YiTHiiDfxh69mOUsmiqW6RZ9zRXFaF64GtYmN7e+8GHBv6Q==", + "dev": true, + "requires": { + "debug": "2.6.9", + "resolve": "1.8.1" + } + }, + "eslint-loader": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-1.9.0.tgz", + "integrity": "sha512-40aN976qSNPyb9ejTqjEthZITpls1SVKtwguahmH1dzGCwQU/vySE+xX33VZmD8csU0ahVNCtFlsPgKqRBiqgg==", + "dev": true, + "requires": { + "loader-fs-cache": "1.0.1", + "loader-utils": "1.1.0", + "object-assign": "4.1.1", + "object-hash": "1.3.0", + "rimraf": "2.6.2" + } + }, + "eslint-module-utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.2.0.tgz", + "integrity": "sha1-snA2LNiLGkitMIl2zn+lTphBF0Y=", + "dev": true, + "requires": { + "debug": "2.6.9", + "pkg-dir": "1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "1.1.2" + } + } + } + }, + "eslint-plugin-import": { + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.14.0.tgz", + "integrity": "sha512-FpuRtniD/AY6sXByma2Wr0TXvXJ4nA/2/04VPlfpmUDPOpOY264x+ILiwnrk/k4RINgDAyFZByxqPUbSQ5YE7g==", + "dev": true, + "requires": { + "contains-path": "0.1.0", + "debug": "2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "0.3.2", + "eslint-module-utils": "2.2.0", + "has": "1.0.3", + "lodash": "4.17.11", + "minimatch": "3.0.4", + "read-pkg-up": "2.0.0", + "resolve": "1.8.1" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "http://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "2.0.2", + "isarray": "1.0.0" + } + } + } + }, + "eslint-plugin-node": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz", + "integrity": "sha512-xhPXrh0Vl/b7870uEbaumb2Q+LxaEcOQ3kS1jtIXanBAwpMre1l5q/l2l/hESYJGEFKuI78bp6Uw50hlpr7B+g==", + "dev": true, + "requires": { + "ignore": "3.3.10", + "minimatch": "3.0.4", + "resolve": "1.8.1", + "semver": "5.3.0" + }, + "dependencies": { + "semver": { + "version": "5.3.0", + "resolved": "http://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-3.8.0.tgz", + "integrity": "sha512-JiFL9UFR15NKpHyGii1ZcvmtIqa3UTwiDAGb8atSffe43qJ3+1czVGN6UtkklpcJ2DVnqvTMzEKRaJdBkAL2aQ==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-3.1.0.tgz", + "integrity": "sha512-fVcdyuKRr0EZ4fjWl3c+gp1BANFJD1+RaWa2UPYfMZ6jCtp5RG00kSaXnK/dE5sYzt4kaWJ9qdxqUfc0d9kX0w==", + "dev": true + }, + "eslint-plugin-vue": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz", + "integrity": "sha512-esETKhVMI7Vdli70Wt4bvAwnZBJeM0pxVX9Yb0wWKxdCJc2EADalVYK/q2FzMw8oKN0wPMdqVCKS8kmR89recA==", + "dev": true, + "requires": { + "vue-eslint-parser": "2.0.3" + } + }, + "eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha1-PWPD7f2gLgbgGkUq2IyqzHzctug=", + "dev": true, + "requires": { + "esrecurse": "4.2.1", + "estraverse": "4.2.0" + } + }, + "eslint-visitor-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz", + "integrity": "sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "http://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "requires": { + "acorn": "5.7.3", + "acorn-jsx": "3.0.1" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=", + "dev": true + }, + "esquery": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz", + "integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", + "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "dev": true, + "requires": { + "estraverse": "4.2.0" + } + }, + "estraverse": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", + "dev": true + }, + "esutils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", + "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "dev": true, + "requires": { + "d": "1.0.0", + "es5-ext": "0.10.46" + } + }, + "eventemitter3": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", + "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==", + "dev": true + }, + "events": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/events/-/events-1.1.1.tgz", + "integrity": "sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=", + "dev": true + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "dev": true, + "requires": { + "original": "1.0.2" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "1.3.5", + "safe-buffer": "5.1.2" + } + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "dev": true, + "requires": { + "cross-spawn": "5.1.0", + "get-stream": "3.0.0", + "is-stream": "1.1.0", + "npm-run-path": "2.0.2", + "p-finally": "1.0.0", + "signal-exit": "3.0.2", + "strip-eof": "1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "posix-character-classes": "0.1.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "dev": true, + "requires": { + "fill-range": "2.2.4" + }, + "dependencies": { + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "dev": true, + "requires": { + "is-number": "2.1.0", + "isobject": "2.1.0", + "randomatic": "3.1.1", + "repeat-element": "1.1.3", + "repeat-string": "1.6.1" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "express": { + "version": "4.16.4", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", + "integrity": "sha512-j12Uuyb4FMrd/qQAm6uCHAkPtO8FDTRJZBDd5D2KOL2eLaz1yUNdUB/NOIyq0iU4q4cFarsUCrnFDPBcnksuOg==", + "dev": true, + "requires": { + "accepts": "1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.3", + "content-disposition": "0.5.2", + "content-type": "1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "1.1.2", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "1.1.2", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "2.0.4", + "qs": "6.5.2", + "range-parser": "1.2.0", + "safe-buffer": "5.1.2", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "1.4.0", + "type-is": "1.6.16", + "utils-merge": "1.0.1", + "vary": "1.1.2" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "1.0.0", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "http://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "requires": { + "chardet": "0.4.2", + "iconv-lite": "0.4.24", + "tmp": "0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "0.3.2", + "define-property": "1.0.0", + "expand-brackets": "2.1.4", + "extend-shallow": "2.0.1", + "fragment-cache": "0.2.1", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "extract-text-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", + "dev": true, + "requires": { + "async": "2.6.1", + "loader-utils": "1.1.0", + "schema-utils": "0.3.0", + "webpack-sources": "1.3.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", + "dev": true + }, + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "requires": { + "flat-cache": "1.3.2", + "object-assign": "4.1.1" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "http://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "schema-utils": "0.4.7" + }, + "dependencies": { + "ajv": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "6.5.5", + "ajv-keywords": "3.2.0" + } + } + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", + "dev": true + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-number": "3.0.0", + "repeat-string": "1.6.1", + "to-regex-range": "2.1.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "on-finished": "2.3.0", + "parseurl": "1.3.2", + "statuses": "1.4.0", + "unpipe": "1.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "make-dir": "1.3.0", + "pkg-dir": "2.0.0" + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "2.0.0" + } + }, + "flat-cache": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz", + "integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==", + "dev": true, + "requires": { + "circular-json": "0.3.3", + "del": "3.0.0", + "graceful-fs": "4.1.15", + "write": "0.2.1" + } + }, + "flatten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.2.tgz", + "integrity": "sha1-2uRqnXj74lKSJYzB54CkHZXAN4I=", + "dev": true + }, + "flush-write-stream": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.3.tgz", + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.9.tgz", + "integrity": "sha512-Bh65EZI/RU8nx0wbYF9shkFZlqLP+6WT/5FnA3cE/djNSuKNHJEinGGZgu/cQEkeeb2GdFOgenAmn8qaqYke2w==", + "dev": true, + "requires": { + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "dev": true, + "requires": { + "for-in": "1.0.2" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "friendly-errors-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-K27M3VK30wVoOarP651zDmb93R9zF28usW4ocaK3mfQeIEI5BPht/EzZs5E8QLLwbLRJQMwscAjDxYPb1FuNiw==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "error-stack-parser": "2.0.2", + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "iferr": "0.1.5", + "imurmurhash": "0.1.4", + "readable-stream": "2.3.6" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "resolved": "http://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "1.0.0", + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "dev": true, + "requires": { + "glob-parent": "2.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "dev": true, + "requires": { + "is-glob": "2.0.1" + } + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "3.1.0", + "path-dirname": "1.0.2" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + } + } + }, + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "dev": true + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "1.0.2", + "dir-glob": "2.0.0", + "glob": "7.1.3", + "ignore": "3.3.10", + "pify": "3.0.0", + "slash": "1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "gzip-size": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-4.1.0.tgz", + "integrity": "sha1-iuCWJX6r59acRb4rZ8RIEk/7UXw=", + "dev": true, + "requires": { + "duplexer": "0.1.1", + "pify": "3.0.0" + } + }, + "handle-thing": { + "version": "1.2.5", + "resolved": "http://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", + "integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz", + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "1.0.0", + "isobject": "3.0.1" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "kind-of": "4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "minimalistic-assert": "1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "1.1.5", + "minimalistic-assert": "1.0.1", + "minimalistic-crypto-utils": "1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "dev": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "wbuf": "1.7.3" + } + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", + "dev": true + }, + "html-entities": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.2.1.tgz", + "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", + "dev": true + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.0", + "clean-css": "4.2.1", + "commander": "2.17.1", + "he": "1.2.0", + "param-case": "2.1.1", + "relateurl": "0.2.7", + "uglify-js": "3.4.9" + } + }, + "html-webpack-plugin": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-2.30.1.tgz", + "integrity": "sha1-f5xCG36pHsRg9WUn1430hO51N9U=", + "dev": true, + "requires": { + "bluebird": "3.5.3", + "html-minifier": "3.5.21", + "loader-utils": "0.2.17", + "lodash": "4.17.11", + "pretty-error": "2.1.1", + "toposort": "1.0.7" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1", + "object-assign": "4.1.1" + } + } + } + }, + "htmlparser2": { + "version": "3.3.0", + "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.3.0.tgz", + "integrity": "sha1-zHDQWln2VC5D8OaFyYLhTJJKnv4=", + "dev": true, + "requires": { + "domelementtype": "1.2.1", + "domhandler": "2.1.0", + "domutils": "1.1.6", + "readable-stream": "1.0.34" + }, + "dependencies": { + "domutils": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.1.6.tgz", + "integrity": "sha1-vdw94Jm5ou+sxRxiPyj0FuzFdIU=", + "dev": true, + "requires": { + "domelementtype": "1.2.1" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": "1.4.0" + } + }, + "http-parser-js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.0.tgz", + "integrity": "sha512-cZdEF7r4gfRIq7ezX9J0T+kQmJNOub71dWbgAXVHDct80TKP4MCETtZQ31xyv38UwgzkWPYF/Xc0ge55dW9Z9w==", + "dev": true + }, + "http-proxy": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz", + "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==", + "dev": true, + "requires": { + "eventemitter3": "3.1.0", + "follow-redirects": "1.5.9", + "requires-port": "1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz", + "integrity": "sha1-ZC6ISIUdZvCdTxJJEoRtuutBuDM=", + "dev": true, + "requires": { + "http-proxy": "1.17.0", + "is-glob": "3.1.0", + "lodash": "4.17.11", + "micromatch": "2.3.11" + }, + "dependencies": { + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "dev": true, + "requires": { + "arr-flatten": "1.1.0" + } + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", + "dev": true + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "dev": true, + "requires": { + "expand-range": "1.8.2", + "preserve": "0.2.0", + "repeat-element": "1.1.3" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "dev": true, + "requires": { + "is-posix-bracket": "0.1.1" + } + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + } + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "dev": true, + "requires": { + "arr-diff": "2.0.0", + "array-unique": "0.2.1", + "braces": "1.8.5", + "expand-brackets": "0.1.5", + "extglob": "0.3.2", + "filename-regex": "2.0.1", + "is-extglob": "1.0.0", + "is-glob": "2.0.1", + "kind-of": "3.2.2", + "normalize-path": "2.1.1", + "object.omit": "2.0.1", + "parse-glob": "3.0.4", + "regex-cache": "0.4.4" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + } + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=", + "dev": true + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "dev": true, + "requires": { + "postcss": "6.0.23" + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "2.1.0" + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "dev": true, + "requires": { + "pkg-dir": "2.0.0", + "resolve-cwd": "2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true, + "requires": { + "repeating": "2.0.1" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "requires": { + "ansi-escapes": "3.1.0", + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-width": "2.2.0", + "external-editor": "2.2.0", + "figures": "2.0.0", + "lodash": "4.17.11", + "mute-stream": "0.0.7", + "run-async": "2.3.0", + "rx-lite": "4.0.8", + "rx-lite-aggregates": "4.0.8", + "string-width": "2.1.1", + "strip-ansi": "4.0.0", + "through": "2.3.8" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "dev": true, + "requires": { + "meow": "3.7.0" + } + }, + "interpret": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", + "dev": true + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dev": true, + "requires": { + "loose-envify": "1.4.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=", + "dev": true + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "dev": true, + "requires": { + "binary-extensions": "1.12.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "1.1.1" + } + }, + "is-callable": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz", + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==", + "dev": true + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-date-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz", + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=", + "dev": true + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "0.1.6", + "is-data-descriptor": "0.1.4", + "kind-of": "5.1.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", + "dev": true + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "dev": true, + "requires": { + "is-primitive": "2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-finite": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", + "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "1.0.1" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "1.0.2" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", + "dev": true + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", + "dev": true + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", + "dev": true + }, + "is-regex": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz", + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", + "dev": true, + "requires": { + "has": "1.0.3" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "dev": true, + "requires": { + "html-comment-regex": "1.1.2" + } + }, + "is-symbol": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz", + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", + "dev": true, + "requires": { + "has-symbols": "1.0.0" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "js-base64": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz", + "integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==", + "dev": true + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", + "dev": true + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "dev": true, + "requires": { + "argparse": "1.0.10", + "esprima": "2.7.3" + } + }, + "jsesc": { + "version": "1.3.0", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", + "dev": true + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json3": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", + "integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=", + "dev": true + }, + "json5": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", + "dev": true + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", + "dev": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "1.1.6" + } + }, + "last-call-webpack-plugin": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/last-call-webpack-plugin/-/last-call-webpack-plugin-2.1.2.tgz", + "integrity": "sha512-CZc+m2xZm51J8qSwdODeiiNeqh8CYkKEq6Rw8IkE4i/4yqf2cJhjQPsA6BtAV970ePRNhwEOXhy2U5xc5Jwh9Q==", + "dev": true, + "requires": { + "lodash": "4.17.11", + "webpack-sources": "1.3.0" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "dev": true + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "dev": true, + "requires": { + "invert-kv": "1.0.0" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2", + "type-check": "0.3.2" + } + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "loader-fs-cache": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.1.tgz", + "integrity": "sha1-VuC/CL2XCLJqdltoUJhAyN7J/bw=", + "dev": true, + "requires": { + "find-cache-dir": "0.1.1", + "mkdirp": "0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "1.0.1", + "mkdirp": "0.5.1", + "pkg-dir": "1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "1.1.2" + } + } + } + }, + "loader-runner": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.3.1.tgz", + "integrity": "sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==", + "dev": true + }, + "loader-utils": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.1.0.tgz", + "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", + "dev": true, + "requires": { + "big.js": "3.2.0", + "emojis-list": "2.1.0", + "json5": "0.5.1" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "2.0.0", + "path-exists": "3.0.0" + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "2.4.1" + } + }, + "loglevel": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.1.tgz", + "integrity": "sha1-4PyVEztu8nbNyIh82vJKpvFW+Po=", + "dev": true + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "requires": { + "js-tokens": "3.0.2" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "0.4.1", + "signal-exit": "3.0.2" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", + "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "dev": true, + "requires": { + "pseudomap": "1.0.2", + "yallist": "2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "1.0.1" + } + }, + "math-expression-evaluator": { + "version": "1.2.17", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz", + "integrity": "sha1-3oGf282E3M2PrlnGrreWFbnSZqw=", + "dev": true + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=", + "dev": true + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "dev": true, + "requires": { + "errno": "0.1.7", + "readable-stream": "2.3.6" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "http://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "requires": { + "camelcase-keys": "2.1.0", + "decamelize": "1.2.0", + "loud-rejection": "1.6.0", + "map-obj": "1.0.1", + "minimist": "1.2.0", + "normalize-package-data": "2.4.0", + "object-assign": "4.1.1", + "read-pkg-up": "1.0.1", + "redent": "1.0.0", + "trim-newlines": "1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "braces": "2.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "extglob": "2.0.4", + "fragment-cache": "0.2.1", + "kind-of": "6.0.2", + "nanomatch": "1.2.13", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "brorand": "1.1.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.37.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", + "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", + "dev": true + }, + "mime-types": { + "version": "2.1.21", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", + "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "dev": true, + "requires": { + "mime-db": "1.37.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "1.1.11" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "dev": true + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "1.6.2", + "duplexify": "3.6.1", + "end-of-stream": "1.4.1", + "flush-write-stream": "1.0.3", + "from2": "2.3.0", + "parallel-transform": "1.1.0", + "pump": "2.0.1", + "pumpify": "1.5.1", + "stream-each": "1.2.3", + "through2": "2.0.5" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "1.0.2", + "is-extendable": "1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "1.2.0", + "copy-concurrently": "1.0.5", + "fs-write-stream-atomic": "1.0.10", + "mkdirp": "0.5.1", + "rimraf": "2.6.2", + "run-queue": "1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "1.3.1", + "thunky": "1.0.3" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "4.0.0", + "array-unique": "0.3.2", + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "fragment-cache": "0.2.1", + "is-windows": "1.0.2", + "kind-of": "6.0.2", + "object.pick": "1.3.0", + "regex-not": "1.0.2", + "snapdragon": "0.8.2", + "to-regex": "3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "neo-async": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.0.tgz", + "integrity": "sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==", + "dev": true + }, + "next-tick": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "1.1.4" + } + }, + "node-forge": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.5.tgz", + "integrity": "sha512-MmbQJ2MTESTjt3Gi/3yG1wGpIMhUfcIypUCGtTizFR9IiccFwxSpfp0vtIZlkFclEqERemxfnSdZEMR9VqqEFQ==", + "dev": true + }, + "node-libs-browser": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.1.0.tgz", + "integrity": "sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==", + "dev": true, + "requires": { + "assert": "1.4.1", + "browserify-zlib": "0.2.0", + "buffer": "4.9.1", + "console-browserify": "1.1.0", + "constants-browserify": "1.0.0", + "crypto-browserify": "3.12.0", + "domain-browser": "1.2.0", + "events": "1.1.1", + "https-browserify": "1.0.0", + "os-browserify": "0.3.0", + "path-browserify": "0.0.0", + "process": "0.11.10", + "punycode": "1.4.1", + "querystring-es3": "0.2.1", + "readable-stream": "2.3.6", + "stream-browserify": "2.0.1", + "stream-http": "2.8.3", + "string_decoder": "1.1.1", + "timers-browserify": "2.0.10", + "tty-browserify": "0.0.0", + "url": "0.11.0", + "util": "0.10.4", + "vm-browserify": "0.0.4" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + } + } + }, + "node-notifier": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-5.3.0.tgz", + "integrity": "sha512-AhENzCSGZnZJgBARsUjnQ7DnZbzyP+HxlVXuD0xqAnvL8q+OqtSX7lGg9e8nHzwXkMMXNdVeqq4E2M3EUAqX6Q==", + "dev": true, + "requires": { + "growly": "1.3.0", + "semver": "5.6.0", + "shellwords": "0.1.1", + "which": "1.3.1" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "2.7.1", + "is-builtin-module": "1.0.0", + "semver": "5.6.0", + "validate-npm-package-license": "3.0.4" + } + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "dev": true, + "requires": { + "remove-trailing-separator": "1.1.0" + } + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "prepend-http": "1.0.4", + "query-string": "4.3.4", + "sort-keys": "1.1.2" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "2.0.1" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "0.1.1", + "define-property": "0.2.5", + "kind-of": "3.2.2" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "object-hash": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.0.tgz", + "integrity": "sha512-05KzQ70lSeGSrZJQXE5wNDiTkBJDlUT/myi6RX9dVIvz7a7Qh4oH93BQdiPMn27nldYvVQCKMUaM83AfizZlsQ==", + "dev": true + }, + "object-keys": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.12.tgz", + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==", + "dev": true + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "dev": true, + "requires": { + "for-own": "0.1.5", + "is-extendable": "0.1.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "3.0.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1.0.2" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "1.2.0" + } + }, + "opener": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", + "dev": true + }, + "opn": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.4.0.tgz", + "integrity": "sha512-YF9MNdVy/0qvJvDtunAOzFw9iasOQHpVthTCvGzxt61Il64AYSGdK+rYwld7NAfk9qJ7dt+hymBNSc9LNYS+Sw==", + "dev": true, + "requires": { + "is-wsl": "1.1.0" + } + }, + "optimize-css-assets-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-Fjn7wyyadPAriuH2DHamDQw5B8GohEWbroBkKoPeP+vSF2PIAPI7WDihi8WieMRb/At4q7Ea7zTKaMDuSoIAAg==", + "dev": true, + "requires": { + "cssnano": "3.10.0", + "last-call-webpack-plugin": "2.1.2" + } + }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "dev": true, + "requires": { + "deep-is": "0.1.3", + "fast-levenshtein": "2.0.6", + "levn": "0.3.0", + "prelude-ls": "1.1.2", + "type-check": "0.3.2", + "wordwrap": "1.0.0" + } + }, + "ora": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-1.4.0.tgz", + "integrity": "sha512-iMK1DOQxzzh2MBlVsU42G80mnrvUhqsMh74phHtDlrcTZPK0pH6o7l7DRshK+0YsxDyEuaOkziVdvM3T0QTzpw==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "cli-cursor": "2.1.0", + "cli-spinners": "1.3.1", + "log-symbols": "2.2.0" + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "dev": true, + "requires": { + "url-parse": "1.4.4" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "dev": true, + "requires": { + "execa": "0.7.0", + "lcid": "1.0.0", + "mem": "1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "1.3.0" + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==", + "dev": true + }, + "parallel-transform": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz", + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", + "dev": true, + "requires": { + "cyclist": "0.2.2", + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "2.3.2" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "http://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "dev": true, + "requires": { + "asn1.js": "4.10.1", + "browserify-aes": "1.2.0", + "create-hash": "1.2.0", + "evp_bytestokey": "1.0.3", + "pbkdf2": "3.0.17" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "dev": true, + "requires": { + "glob-base": "0.3.0", + "is-dotfile": "1.0.3", + "is-extglob": "1.0.0", + "is-glob": "2.0.1" + }, + "dependencies": { + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", + "dev": true + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "dev": true, + "requires": { + "is-extglob": "1.0.0" + } + } + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.2" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "3.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", + "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "dev": true, + "requires": { + "create-hash": "1.2.0", + "create-hmac": "1.1.7", + "ripemd160": "2.0.2", + "safe-buffer": "5.1.2", + "sha.js": "2.4.11" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "2.0.4" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "dev": true, + "requires": { + "find-up": "2.1.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true + }, + "portfinder": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.19.tgz", + "integrity": "sha512-23aeQKW9KgHe6citUrG3r9HjeX6vls0h713TAa+CwTKZwNIr/pD2ApaxYF4Um3ZZyq4ar+Siv3+fhoHaIwSOSw==", + "dev": true, + "requires": { + "async": "1.5.2", + "debug": "2.6.9", + "mkdirp": "0.5.1" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "http://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", + "dev": true + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "2.4.1", + "source-map": "0.6.1", + "supports-color": "5.5.0" + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "http://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-message-helpers": "2.0.0", + "reduce-css-calc": "1.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "dev": true, + "requires": { + "colormin": "1.1.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "http://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "http://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "http://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-import": { + "version": "11.1.0", + "resolved": "http://registry.npmjs.org/postcss-import/-/postcss-import-11.1.0.tgz", + "integrity": "sha512-5l327iI75POonjxkXgdRCUS+AlzAdBx4pOvMEhTKTCjb1p8IEeVR9yx3cPbmN7LIWJLbfnIXxAhoB4jpD0c/Cw==", + "dev": true, + "requires": { + "postcss": "6.0.23", + "postcss-value-parser": "3.3.1", + "read-cache": "1.0.0", + "resolve": "1.8.1" + } + }, + "postcss-load-config": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.0.0.tgz", + "integrity": "sha512-V5JBLzw406BB8UIfsAWSK2KSwIJ5yoEIVFb4gVkXci0QdKgA24jLmHZ/ghe/GgX0lJ0/D1uUK1ejhzEY94MChQ==", + "dev": true, + "requires": { + "cosmiconfig": "4.0.0", + "import-cwd": "2.1.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + }, + "dependencies": { + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.7.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + } + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1" + }, + "dependencies": { + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.7.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + } + } + }, + "postcss-loader": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-2.1.6.tgz", + "integrity": "sha512-hgiWSc13xVQAq25cVw80CH0l49ZKlAnU1hKPOdRrNj89bokRr/bZF2nT+hebPPF9c9xs8c3gw3Fr2nxtmXYnNg==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "postcss": "6.0.23", + "postcss-load-config": "2.0.0", + "schema-utils": "0.4.7" + }, + "dependencies": { + "ajv": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "6.5.5", + "ajv-keywords": "3.2.0" + } + } + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "http://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "dev": true, + "requires": { + "browserslist": "1.7.7", + "caniuse-api": "1.6.1", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3", + "vendors": "1.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "dev": true, + "requires": { + "caniuse-db": "1.0.30000907", + "electron-to-chromium": "1.3.84" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=", + "dev": true + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "http://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "http://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "http://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1", + "uniqs": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "http://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-selector-parser": "2.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "dev": true, + "requires": { + "postcss": "6.0.23" + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.1", + "postcss": "6.0.23" + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "dev": true, + "requires": { + "css-selector-tokenizer": "0.7.1", + "postcss": "6.0.23" + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "dev": true, + "requires": { + "icss-replace-symbols": "1.1.0", + "postcss": "6.0.23" + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "http://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "http://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "dev": true, + "requires": { + "is-absolute-url": "2.1.0", + "normalize-url": "1.9.1", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "http://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "dev": true, + "requires": { + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "dev": true, + "requires": { + "postcss": "5.2.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "http://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "dev": true, + "requires": { + "flatten": "1.0.2", + "indexes-of": "1.0.1", + "uniq": "1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "http://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "dev": true, + "requires": { + "is-svg": "2.1.0", + "postcss": "5.2.18", + "postcss-value-parser": "3.3.1", + "svgo": "0.7.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "http://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "dev": true, + "requires": { + "alphanum-sort": "1.0.2", + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "postcss-url": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-7.3.2.tgz", + "integrity": "sha512-QMV5mA+pCYZQcUEPQkmor9vcPQ2MT+Ipuu8qdi1gVxbNiIiErEGft+eny1ak19qALoBkccS5AHaCaCDzh7b9MA==", + "dev": true, + "requires": { + "mime": "1.6.0", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "postcss": "6.0.23", + "xxhashjs": "0.2.2" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "http://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "dev": true, + "requires": { + "has": "1.0.3", + "postcss": "5.2.18", + "uniqs": "2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "2.2.1", + "escape-string-regexp": "1.0.5", + "has-ansi": "2.0.0", + "strip-ansi": "3.0.1", + "supports-color": "2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "dev": true, + "requires": { + "chalk": "1.1.3", + "js-base64": "2.4.9", + "source-map": "0.5.7", + "supports-color": "3.2.3" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true, + "requires": { + "has-flag": "1.0.0" + } + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", + "dev": true + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", + "dev": true + }, + "prettier": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.15.2.tgz", + "integrity": "sha512-YgPLFFA0CdKL4Eg2IHtUSjzj/BWgszDHiNQAe0VAIBse34148whfdzLagRL+QiKS+YfK5ftB6X4v/MBw8yCoug==", + "dev": true + }, + "pretty-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.1.tgz", + "integrity": "sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM=", + "dev": true, + "requires": { + "renderkid": "2.0.2", + "utila": "0.4.0" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", + "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "dev": true, + "requires": { + "forwarded": "0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "browserify-rsa": "4.0.1", + "create-hash": "1.2.0", + "parse-asn1": "5.1.1", + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "once": "1.4.0" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "3.6.1", + "inherits": "2.0.3", + "pump": "2.0.1" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "dev": true, + "requires": { + "object-assign": "4.1.1", + "strict-uri-encode": "1.1.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "querystringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.0.tgz", + "integrity": "sha512-sluvZZ1YiTLD5jsqZcDmFyV2EwToyXZBfpoVOmktMmW+VEnhgakFHnasVph65fOjGPTWN0Nw3+XQaSeMayr0kg==", + "dev": true + }, + "randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "dev": true, + "requires": { + "is-number": "4.0.0", + "kind-of": "6.0.2", + "math-random": "1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "2.0.6", + "safe-buffer": "5.1.2" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "dev": true, + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + }, + "dependencies": { + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "dev": true, + "requires": { + "safer-buffer": "2.1.2" + } + } + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "dev": true, + "requires": { + "pify": "2.3.0" + }, + "dependencies": { + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + }, + "dependencies": { + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "2.0.0", + "safe-buffer": "5.1.2", + "string_decoder": "1.1.1", + "util-deprecate": "1.0.2" + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "micromatch": "3.1.10", + "readable-stream": "2.3.6" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "dev": true, + "requires": { + "resolve": "1.8.1" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true, + "requires": { + "indent-string": "2.1.0", + "strip-indent": "1.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "http://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "dev": true, + "requires": { + "balanced-match": "0.4.2", + "math-expression-evaluator": "1.2.17", + "reduce-function-call": "1.0.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "reduce-function-call": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.2.tgz", + "integrity": "sha1-WiAL+S4ON3UXUv5FsKszD9S2vpk=", + "dev": true, + "requires": { + "balanced-match": "0.4.2" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=", + "dev": true + } + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", + "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "dev": true, + "requires": { + "babel-runtime": "6.26.0", + "babel-types": "6.26.0", + "private": "0.1.8" + } + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "dev": true, + "requires": { + "is-equal-shallow": "0.1.3" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2", + "safe-regex": "1.1.0" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "dev": true, + "requires": { + "regenerate": "1.4.0", + "regjsgen": "0.2.0", + "regjsparser": "0.1.5" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "http://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=", + "dev": true + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "dev": true, + "requires": { + "jsesc": "0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", + "dev": true + }, + "renderkid": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.2.tgz", + "integrity": "sha512-FsygIxevi1jSiPY9h7vZmBFUbAOcbYm9UwyiLNdVsLRs/5We9Ob5NMPbGYUTWiLq5L+ezlVdE0A8bbME5CWTpg==", + "dev": true, + "requires": { + "css-select": "1.2.0", + "dom-converter": "0.2.0", + "htmlparser2": "3.3.0", + "strip-ansi": "3.0.1", + "utila": "0.4.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "dev": true, + "requires": { + "is-finite": "1.0.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "http://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "requires": { + "caller-path": "0.1.0", + "resolve-from": "1.0.1" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "dev": true, + "requires": { + "path-parse": "1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "dev": true, + "requires": { + "resolve-from": "3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "2.0.1", + "signal-exit": "3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "dev": true, + "requires": { + "align-text": "0.1.4" + } + }, + "rimraf": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz", + "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==", + "dev": true, + "requires": { + "glob": "7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "3.0.4", + "inherits": "2.0.3" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "dev": true, + "requires": { + "is-promise": "2.1.0" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "1.2.0" + } + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "requires": { + "rx-lite": "4.0.8" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "0.1.15" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "dev": true, + "requires": { + "ajv": "5.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.4.tgz", + "integrity": "sha512-9AukTiDmHXGXWtWjembZ5NDmVvP2695EtpgbCsxCa68w3c88B+alqbmZ4O3hZ4VWGXeGWzEVdvqgAJD8DQPCDw==", + "dev": true, + "requires": { + "node-forge": "0.7.5" + } + }, + "semver": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", + "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", + "dev": true + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "1.1.2", + "destroy": "1.0.4", + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "etag": "1.8.1", + "fresh": "0.5.2", + "http-errors": "1.6.3", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "2.3.0", + "range-parser": "1.2.0", + "statuses": "1.4.0" + }, + "dependencies": { + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz", + "integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==", + "dev": true + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "1.3.5", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "1.0.3", + "http-errors": "1.6.3", + "mime-types": "2.1.21", + "parseurl": "1.3.2" + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "dev": true, + "requires": { + "encodeurl": "1.0.2", + "escape-html": "1.0.3", + "parseurl": "1.3.2", + "send": "0.16.2" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "split-string": "3.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "2.0.3", + "safe-buffer": "5.1.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "shelljs": { + "version": "0.7.8", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.8.tgz", + "integrity": "sha1-3svPh0sNHl+3LhSxZKloMEjprLM=", + "dev": true, + "requires": { + "glob": "7.1.3", + "interpret": "1.1.0", + "rechoir": "0.6.2" + } + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "0.11.2", + "debug": "2.6.9", + "define-property": "0.2.5", + "extend-shallow": "2.0.1", + "map-cache": "0.2.2", + "source-map": "0.5.7", + "source-map-resolve": "0.5.2", + "use": "3.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "1.0.0", + "isobject": "3.0.1", + "snapdragon-util": "3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "1.0.2" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "6.0.2" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "1.0.0", + "is-data-descriptor": "1.0.0", + "kind-of": "6.0.2" + } + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "dev": true, + "requires": { + "faye-websocket": "0.10.0", + "uuid": "3.3.2" + } + }, + "sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "dev": true, + "requires": { + "debug": "2.6.9", + "eventsource": "0.1.6", + "faye-websocket": "0.11.1", + "inherits": "2.0.3", + "json3": "3.3.2", + "url-parse": "1.4.4" + }, + "dependencies": { + "faye-websocket": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz", + "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=", + "dev": true, + "requires": { + "websocket-driver": "0.7.0" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "dev": true, + "requires": { + "is-plain-obj": "1.1.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "2.1.2", + "decode-uri-component": "0.2.0", + "resolve-url": "0.2.1", + "source-map-url": "0.4.0", + "urix": "0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", + "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "dev": true, + "requires": { + "spdx-expression-parse": "3.0.0", + "spdx-license-ids": "3.0.2" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", + "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "2.2.0", + "spdx-license-ids": "3.0.2" + } + }, + "spdx-license-ids": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.2.tgz", + "integrity": "sha512-qky9CVt0lVIECkEsYbNILVnPvycuEBkXoMFLRWsREkomQLevYhtRKC+R91a5TOAQ3bCMjikRwhyaRqj1VYatYg==", + "dev": true + }, + "spdy": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz", + "integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=", + "dev": true, + "requires": { + "debug": "2.6.9", + "handle-thing": "1.2.5", + "http-deceiver": "1.2.7", + "safe-buffer": "5.1.2", + "select-hose": "2.0.0", + "spdy-transport": "2.1.1" + } + }, + "spdy-transport": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.1.tgz", + "integrity": "sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q==", + "dev": true, + "requires": { + "debug": "2.6.9", + "detect-node": "2.0.4", + "hpack.js": "2.1.6", + "obuf": "1.1.2", + "readable-stream": "2.3.6", + "safe-buffer": "5.1.2", + "wbuf": "1.7.3" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "3.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "stackframe": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.0.4.tgz", + "integrity": "sha512-to7oADIniaYwS3MhtCa/sQhrxidCCQiF/qp4/m5iN3ipf0Y7Xlri0f6eG29r08aL7JYl8n32AF3Q5GYBZ7K8vw==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "0.2.5", + "object-copy": "0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "0.1.6" + } + } + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "dev": true, + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.6" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "1.4.1", + "stream-shift": "1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "3.0.0", + "inherits": "2.0.3", + "readable-stream": "2.3.6", + "to-arraybuffer": "1.0.1", + "xtend": "4.0.1" + } + }, + "stream-shift": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz", + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "2.1.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true, + "requires": { + "get-stdin": "4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "3.0.0" + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "dev": true, + "requires": { + "coa": "1.0.4", + "colors": "1.1.2", + "csso": "2.3.2", + "js-yaml": "3.7.0", + "mkdirp": "0.5.1", + "sax": "1.2.4", + "whet.extend": "0.9.9" + } + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "requires": { + "ajv": "5.5.2", + "ajv-keywords": "2.1.1", + "chalk": "2.4.1", + "lodash": "4.17.11", + "slice-ansi": "1.0.0", + "string-width": "2.1.1" + } + }, + "tapable": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.8.tgz", + "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", + "dev": true + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "2.3.6", + "xtend": "4.0.1" + } + }, + "thunky": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz", + "integrity": "sha512-YwT8pjmNcAXBZqrubu22P4FYsh2D4dxRmnWBOL8Jk8bUcRUtc5326kx32tuTmFDAZtLOGEVNl8POAR8j896Iow==", + "dev": true + }, + "time-stamp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz", + "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.10.tgz", + "integrity": "sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==", + "dev": true, + "requires": { + "setimmediate": "1.0.5" + } + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", + "dev": true + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "3.2.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "2.0.2", + "extend-shallow": "3.0.2", + "regex-not": "1.0.2", + "safe-regex": "1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "3.0.0", + "repeat-string": "1.6.1" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", + "dev": true + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "1.1.2" + } + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "2.1.21" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "dev": true, + "requires": { + "commander": "2.17.1", + "source-map": "0.6.1" + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true, + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz", + "integrity": "sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==", + "dev": true, + "requires": { + "cacache": "10.0.4", + "find-cache-dir": "1.0.0", + "schema-utils": "0.4.7", + "serialize-javascript": "1.5.0", + "source-map": "0.6.1", + "uglify-es": "3.3.9", + "webpack-sources": "1.3.0", + "worker-farm": "1.6.0" + }, + "dependencies": { + "ajv": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "commander": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.13.0.tgz", + "integrity": "sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "dev": true, + "requires": { + "ajv": "6.5.5", + "ajv-keywords": "3.2.0" + } + }, + "uglify-es": { + "version": "3.3.9", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.3.9.tgz", + "integrity": "sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==", + "dev": true, + "requires": { + "commander": "2.13.0", + "source-map": "0.6.1" + } + } + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "3.1.0", + "get-value": "2.0.6", + "is-extendable": "0.1.1", + "set-value": "0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "0.1.1" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "2.0.1", + "is-extendable": "0.1.1", + "is-plain-object": "2.0.4", + "to-object-path": "0.3.0" + } + } + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "2.0.1" + } + }, + "unique-slug": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.1.tgz", + "integrity": "sha512-n9cU6+gITaVu7VGj1Z8feKMmfAjEAQGhwD9fE3zvpRRa0wEIx8ODYkVGfSc94M2OX00tUFV8wH3zYbm1I8mxFg==", + "dev": true, + "requires": { + "imurmurhash": "0.1.4" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "0.3.1", + "isobject": "3.0.1" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "2.0.6", + "has-values": "0.1.4", + "isobject": "2.1.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "upath": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz", + "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", + "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "dev": true, + "requires": { + "punycode": "2.1.1" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "url-loader": { + "version": "0.5.9", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-0.5.9.tgz", + "integrity": "sha512-B7QYFyvv+fOBqBVeefsxv6koWWtjmHaMFT6KZWti4KRw8YUD/hOU+3AECvXuzyVawIBx3z7zQRejXCDSO5kk1Q==", + "dev": true, + "requires": { + "loader-utils": "1.1.0", + "mime": "1.3.6" + }, + "dependencies": { + "mime": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.3.6.tgz", + "integrity": "sha1-WR2E02U6awtKO5343lqoEI5y5eA=", + "dev": true + } + } + }, + "url-parse": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.4.tgz", + "integrity": "sha512-/92DTTorg4JjktLNLe6GPS2/RvAd/RGr6LuktmWSMLEOa6rjnlrFXNgSbSmkNvCoL2T028A0a1JaJLzRMlFoHg==", + "dev": true, + "requires": { + "querystringify": "2.1.0", + "requires-port": "1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "3.0.2", + "spdx-expression-parse": "3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.2.tgz", + "integrity": "sha512-w/hry/368nO21AN9QljsaIhb9ZiZtZARoVH5f3CsFbawdLdayCgKRPup7CggujvySMxx0I91NOyxdVENohprLQ==", + "dev": true + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "vue": { + "version": "2.5.17", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.5.17.tgz", + "integrity": "sha512-mFbcWoDIJi0w0Za4emyLiW72Jae0yjANHbCVquMKijcavBGypqlF7zHRgMa5k4sesdv7hv2rB4JPdZfR+TPfhQ==" + }, + "vue-eslint-parser": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz", + "integrity": "sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==", + "dev": true, + "requires": { + "debug": "3.2.6", + "eslint-scope": "3.7.1", + "eslint-visitor-keys": "1.0.0", + "espree": "3.5.4", + "esquery": "1.0.1", + "lodash": "4.17.11" + }, + "dependencies": { + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.1.tgz", + "integrity": "sha512-AA86yKZ5uOKz87/q1UpngEXhbRkaYg1b7HMMVRobNV1IVKqZe8oLIzo6iMocVwZXnYitlGwf2k4ZRLOZlS8oPQ==", + "dev": true + }, + "vue-loader": { + "version": "13.7.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz", + "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==", + "dev": true, + "requires": { + "consolidate": "0.14.5", + "hash-sum": "1.0.2", + "loader-utils": "1.1.0", + "lru-cache": "4.1.3", + "postcss": "6.0.23", + "postcss-load-config": "1.2.0", + "postcss-selector-parser": "2.2.3", + "prettier": "1.15.2", + "resolve": "1.8.1", + "source-map": "0.6.1", + "vue-hot-reload-api": "2.3.1", + "vue-style-loader": "3.1.2", + "vue-template-es2015-compiler": "1.6.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "dev": true, + "requires": { + "is-directory": "0.3.1", + "js-yaml": "3.7.0", + "minimist": "1.2.0", + "object-assign": "4.1.1", + "os-homedir": "1.0.2", + "parse-json": "2.2.0", + "require-from-string": "1.2.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "dev": true, + "requires": { + "cosmiconfig": "2.2.2", + "object-assign": "4.1.1", + "postcss-load-options": "1.2.0", + "postcss-load-plugins": "2.3.0" + } + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=", + "dev": true + } + } + }, + "vue-router": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.0.1.tgz", + "integrity": "sha512-vLLoY452L+JBpALMP5UHum9+7nzR9PeIBCghU9ZtJ1eWm6ieUI8Zb/DI3MYxH32bxkjzYV1LRjNv4qr8d+uX/w==" + }, + "vue-style-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz", + "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==", + "dev": true, + "requires": { + "hash-sum": "1.0.2", + "loader-utils": "1.1.0" + } + }, + "vue-template-compiler": { + "version": "2.5.17", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.5.17.tgz", + "integrity": "sha512-63uI4syCwtGR5IJvZM0LN5tVsahrelomHtCxvRkZPJ/Tf3ADm1U1wG6KWycK3qCfqR+ygM5vewUvmJ0REAYksg==", + "dev": true, + "requires": { + "de-indent": "1.0.2", + "he": "1.2.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.6.0.tgz", + "integrity": "sha512-x3LV3wdmmERhVCYy3quqA57NJW7F3i6faas++pJQWtknWT+n7k30F4TVdHvCLn48peTJFRvCpxs3UuFPqgeELg==", + "dev": true + }, + "watchpack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz", + "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==", + "dev": true, + "requires": { + "chokidar": "2.0.4", + "graceful-fs": "4.1.15", + "neo-async": "2.6.0" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "1.0.1" + } + }, + "webpack": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", + "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", + "dev": true, + "requires": { + "acorn": "5.7.3", + "acorn-dynamic-import": "2.0.2", + "ajv": "6.5.5", + "ajv-keywords": "3.2.0", + "async": "2.6.1", + "enhanced-resolve": "3.4.1", + "escope": "3.6.0", + "interpret": "1.1.0", + "json-loader": "0.5.7", + "json5": "0.5.1", + "loader-runner": "2.3.1", + "loader-utils": "1.1.0", + "memory-fs": "0.4.1", + "mkdirp": "0.5.1", + "node-libs-browser": "2.1.0", + "source-map": "0.5.7", + "supports-color": "4.5.0", + "tapable": "0.2.8", + "uglifyjs-webpack-plugin": "0.4.6", + "watchpack": "1.6.0", + "webpack-sources": "1.3.0", + "yargs": "8.0.2" + }, + "dependencies": { + "ajv": { + "version": "6.5.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", + "integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", + "dev": true, + "requires": { + "fast-deep-equal": "2.0.1", + "fast-json-stable-stringify": "2.0.0", + "json-schema-traverse": "0.4.1", + "uri-js": "4.2.2" + } + }, + "ajv-keywords": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.2.0.tgz", + "integrity": "sha1-6GuBnGAs+IIa1jdBNpjx3sAhhHo=", + "dev": true + }, + "fast-deep-equal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "dev": true + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true, + "requires": { + "has-flag": "2.0.0" + } + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-to-browserify": "1.0.2", + "yargs": "3.10.0" + }, + "dependencies": { + "yargs": { + "version": "3.10.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "dev": true, + "requires": { + "camelcase": "1.2.1", + "cliui": "2.1.0", + "decamelize": "1.2.0", + "window-size": "0.1.0" + } + } + } + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "dev": true, + "requires": { + "source-map": "0.5.7", + "uglify-js": "2.8.29", + "webpack-sources": "1.3.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-2.13.1.tgz", + "integrity": "sha512-rwxyfecTAxoarCC9VlHlIpfQCmmJ/qWD5bpbjkof+7HrNhTNZIwZITxN6CdlYL2axGmwNUQ+tFgcSOiNXMf/sQ==", + "dev": true, + "requires": { + "acorn": "5.7.3", + "bfj-node4": "5.3.1", + "chalk": "2.4.1", + "commander": "2.17.1", + "ejs": "2.6.1", + "express": "4.16.4", + "filesize": "3.6.1", + "gzip-size": "4.1.0", + "lodash": "4.17.11", + "mkdirp": "0.5.1", + "opener": "1.5.1", + "ws": "4.1.0" + } + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "dev": true, + "requires": { + "memory-fs": "0.4.1", + "mime": "1.6.0", + "path-is-absolute": "1.0.1", + "range-parser": "1.2.0", + "time-stamp": "2.2.0" + } + }, + "webpack-dev-server": { + "version": "2.11.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.3.tgz", + "integrity": "sha512-Qz22YEFhWx+M2vvJ+rQppRv39JA0h5NNbOOdODApdX6iZ52Diz7vTPXjF7kJlfn+Uc24Qr48I3SZ9yncQwRycg==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "array-includes": "3.0.3", + "bonjour": "3.5.0", + "chokidar": "2.0.4", + "compression": "1.7.3", + "connect-history-api-fallback": "1.5.0", + "debug": "3.2.6", + "del": "3.0.0", + "express": "4.16.4", + "html-entities": "1.2.1", + "http-proxy-middleware": "0.17.4", + "import-local": "1.0.0", + "internal-ip": "1.2.0", + "ip": "1.1.5", + "killable": "1.0.1", + "loglevel": "1.6.1", + "opn": "5.4.0", + "portfinder": "1.0.19", + "selfsigned": "1.10.4", + "serve-index": "1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "3.4.7", + "strip-ansi": "3.0.1", + "supports-color": "5.5.0", + "webpack-dev-middleware": "1.12.2", + "yargs": "6.6.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "2.1.1" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "2.1.0", + "pinkie-promise": "2.0.1" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "parse-json": "2.2.0", + "pify": "2.3.0", + "pinkie-promise": "2.0.1", + "strip-bom": "2.0.0" + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "os-locale": { + "version": "1.4.0", + "resolved": "http://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "dev": true, + "requires": { + "lcid": "1.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "2.0.1" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.15", + "pify": "2.3.0", + "pinkie-promise": "2.0.1" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "http://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "dev": true, + "requires": { + "load-json-file": "1.1.0", + "normalize-package-data": "2.4.0", + "path-type": "1.1.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "dev": true, + "requires": { + "find-up": "1.1.2", + "read-pkg": "1.1.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true, + "requires": { + "is-utf8": "0.2.1" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", + "dev": true + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + }, + "yargs": { + "version": "6.6.0", + "resolved": "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "dev": true, + "requires": { + "camelcase": "3.0.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "1.4.0", + "read-pkg-up": "1.0.1", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "1.0.2", + "which-module": "1.0.0", + "y18n": "3.2.1", + "yargs-parser": "4.2.1" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "http://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "dev": true, + "requires": { + "camelcase": "3.0.0" + } + } + } + }, + "webpack-merge": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.1.4.tgz", + "integrity": "sha512-TmSe1HZKeOPey3oy1Ov2iS3guIZjWvMT2BBJDzzT5jScHTjVC3mpjJofgueEzaEd6ibhxRDD6MIblDr8tzh8iQ==", + "dev": true, + "requires": { + "lodash": "4.17.11" + } + }, + "webpack-sources": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.3.0.tgz", + "integrity": "sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==", + "dev": true, + "requires": { + "source-list-map": "2.0.1", + "source-map": "0.6.1" + } + }, + "websocket-driver": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz", + "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=", + "dev": true, + "requires": { + "http-parser-js": "0.5.0", + "websocket-extensions": "0.1.3" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", + "dev": true + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", + "dev": true + }, + "worker-farm": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.6.0.tgz", + "integrity": "sha512-6w+3tHbM87WnSWnENBUvA2pxJPLhQUg5LKwUQHq3r+XPhIM+Gh2R5ycbwPCyuGbNg+lPgdcnQUhuC02kJCvffQ==", + "dev": true, + "requires": { + "errno": "0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "requires": { + "mkdirp": "0.5.1" + } + }, + "ws": { + "version": "4.1.0", + "resolved": "http://registry.npmjs.org/ws/-/ws-4.1.0.tgz", + "integrity": "sha512-ZGh/8kF9rrRNffkLFV4AzhvooEclrOH0xaugmqGsIfFgOE/pIz4fMc4Ef+5HSQqTEug2S9JZIWDR47duDSLfaA==", + "dev": true, + "requires": { + "async-limiter": "1.0.0", + "safe-buffer": "5.1.2" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "xxhashjs": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", + "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", + "dev": true, + "requires": { + "cuint": "0.2.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.3", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "1.0.1" + } + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=", + "dev": true + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..5308a4a --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,74 @@ +{ + "name": "frontend", + "version": "1.0.0", + "description": "A Vue.js project", + "author": "Robert ", + "private": true, + "scripts": { + "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", + "start": "npm run dev", + "lint": "eslint --ext .js,.vue src", + "build": "node build/build.js" + }, + "dependencies": { + "bulma": "^0.7.2", + "vue": "^2.5.2", + "vue-router": "^3.0.1" + }, + "devDependencies": { + "autoprefixer": "^7.1.2", + "babel-core": "^6.22.1", + "babel-eslint": "^8.2.1", + "babel-helper-vue-jsx-merge-props": "^2.0.3", + "babel-loader": "^7.1.1", + "babel-plugin-syntax-jsx": "^6.18.0", + "babel-plugin-transform-runtime": "^6.22.0", + "babel-plugin-transform-vue-jsx": "^3.5.0", + "babel-preset-env": "^1.3.2", + "babel-preset-stage-2": "^6.22.0", + "chalk": "^2.0.1", + "copy-webpack-plugin": "^4.0.1", + "css-loader": "^0.28.0", + "eslint": "^4.15.0", + "eslint-config-standard": "^10.2.1", + "eslint-friendly-formatter": "^3.0.0", + "eslint-loader": "^1.7.1", + "eslint-plugin-import": "^2.7.0", + "eslint-plugin-node": "^5.2.0", + "eslint-plugin-promise": "^3.4.0", + "eslint-plugin-standard": "^3.0.1", + "eslint-plugin-vue": "^4.0.0", + "extract-text-webpack-plugin": "^3.0.0", + "file-loader": "^1.1.4", + "friendly-errors-webpack-plugin": "^1.6.1", + "html-webpack-plugin": "^2.30.1", + "node-notifier": "^5.1.2", + "optimize-css-assets-webpack-plugin": "^3.2.0", + "ora": "^1.2.0", + "portfinder": "^1.0.13", + "postcss-import": "^11.0.0", + "postcss-loader": "^2.0.8", + "postcss-url": "^7.2.1", + "rimraf": "^2.6.0", + "semver": "^5.3.0", + "shelljs": "^0.7.6", + "uglifyjs-webpack-plugin": "^1.1.1", + "url-loader": "^0.5.8", + "vue-loader": "^13.3.0", + "vue-style-loader": "^3.0.1", + "vue-template-compiler": "^2.5.2", + "webpack": "^3.6.0", + "webpack-bundle-analyzer": "^2.9.0", + "webpack-dev-server": "^2.9.1", + "webpack-merge": "^4.1.0" + }, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 8" + ] +} diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 0000000..6c0a7f8 --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,86 @@ + + + + + diff --git a/frontend/src/assets/logo.png b/frontend/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 +
+

{{ msg }}

+

Essential Links

+ +

Ecosystem

+ +
+ + + + + + diff --git a/frontend/src/components/Home.vue b/frontend/src/components/Home.vue new file mode 100644 index 0000000..b5ec2ed --- /dev/null +++ b/frontend/src/components/Home.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/frontend/src/components/S_BFLS.vue b/frontend/src/components/S_BFLS.vue new file mode 100644 index 0000000..c9d804a --- /dev/null +++ b/frontend/src/components/S_BFLS.vue @@ -0,0 +1,163 @@ + + +// diff --git a/frontend/src/main.js b/frontend/src/main.js new file mode 100644 index 0000000..59836d6 --- /dev/null +++ b/frontend/src/main.js @@ -0,0 +1,16 @@ +// The Vue build version to load with the `import` command +// (runtime-only or standalone) has been set in webpack.base.conf with an alias. +import Vue from 'vue' +import App from './App' +import router from './router' +import './../node_modules/bulma/css/bulma.css'; + +Vue.config.productionTip = false + +/* eslint-disable no-new */ +new Vue({ + el: '#app', + router, + components: { App }, + template: '' +}) diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js new file mode 100644 index 0000000..0f3c3ea --- /dev/null +++ b/frontend/src/router/index.js @@ -0,0 +1,21 @@ +import Vue from 'vue' +import Router from 'vue-router' + +const routerOptions = [ + { path: '/', component: 'Home'}, + { path: '/s-bfls', component: 'S_BFLS'}, +] + +const routes = routerOptions.map(route => { + return { + ...route, + component: () => import(`@/components/${route.component}.vue`) + } +}) + +Vue.use(Router); + +export default new Router({ + routes, + mode: 'history' +}) diff --git a/frontend/static/.gitkeep b/frontend/static/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/layout.html b/layout.html index 7c0c94a..5a39307 100644 --- a/layout.html +++ b/layout.html @@ -94,6 +94,10 @@

%% title|safe %%

+ {% block myscript %}{% endblock %} diff --git a/myapp.py b/myapp.py index c807d9b..0bb6923 100644 --- a/myapp.py +++ b/myapp.py @@ -64,7 +64,7 @@ def upload(): my_s_bfl = s_bfl() my_s_bfl.input(input_data, sysnum=2) my_s_bfl.solve() - print(my_s_bfl.optimization_result) + print(input_data.email) return jsonify(my_s_bfl.optimization_result) @app.route('/download/', methods=['GET']) diff --git a/static_html/s-bfls.html b/static_html/s-bfls.html index 6f6eb97..19705b8 100644 --- a/static_html/s-bfls.html +++ b/static_html/s-bfls.html @@ -31,9 +31,7 @@
- Run the toJSON() script in the excel template - to generate a json file of your data. Upload that - file here. + Upload a csv file of your filled out template

@@ -44,7 +42,12 @@ so that our optimization can have time to run. Please provide your email below so that we can send you the results.

- + @@ -118,7 +121,7 @@ new Vue({ el: '#s_bfl', data: { - message: 'Hello Team', + email: "", selectedfile: null, response: [] }, @@ -126,16 +129,22 @@ updateFile(event){ this.selectedfile = event.target.files[0]; }, - optimize(event) { + optimize(event){ + let csvToJson = require('convert-csv-to-json'); console.log("Optimizing") fd = new FormData(); fd.append('optimizationInput', this.selectedfile, this.selectedfile.name); - axios.post('http://localhost:5000/upload/', this.selectedfile).then(response => { - this.response = response.data; - console.log(this.response); - }) + + let jsonInputData = csvToJson.getJsonFromCsv(this.selectedfile); + + console.log(jsonInputData); + + // axios.post('http://localhost:5000/upload/', this.selectedfile).then(response => { + // this.response = response.data; + // console.log(this.response); + // }) }, - download: function (event) { + download(event){ console.log("Running Download"); axios({ url: 'http://localhost:5000/download/', From a78e87dd79cf8dfe7f7f3dd1df2dc571a31564d0 Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 10 Nov 2018 15:58:57 -0500 Subject: [PATCH 23/30] implemented VueFormGenerator --- frontend/package-lock.json | 5 + frontend/package.json | 1 + frontend/src/App.vue | 8 - frontend/src/components/Home.vue | 37 ++++- frontend/src/components/S_BFLS.vue | 236 +++++++++++------------------ frontend/src/main.js | 8 +- frontend/src/router/index.js | 2 +- 7 files changed, 142 insertions(+), 155 deletions(-) diff --git a/frontend/package-lock.json b/frontend/package-lock.json index c7892a7..0392366 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -10444,6 +10444,11 @@ } } }, + "vue-form-generator": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/vue-form-generator/-/vue-form-generator-2.3.2.tgz", + "integrity": "sha512-zqtRC7xHrFTBQ1IjeSpkEDqWdaxpoP0oqHy2AXLbmarCyq4BiD2tSi4EI08fZFzgXM3KxG5g1s7VasBUftDMBg==" + }, "vue-hot-reload-api": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.1.tgz", diff --git a/frontend/package.json b/frontend/package.json index 5308a4a..aecf797 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,6 +13,7 @@ "dependencies": { "bulma": "^0.7.2", "vue": "^2.5.2", + "vue-form-generator": "^2.3.2", "vue-router": "^3.0.1" }, "devDependencies": { diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 6c0a7f8..ce768a8 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -29,14 +29,6 @@
- - - - - - - -
diff --git a/frontend/src/components/Home.vue b/frontend/src/components/Home.vue index b5ec2ed..be87b8a 100644 --- a/frontend/src/components/Home.vue +++ b/frontend/src/components/Home.vue @@ -1,3 +1,38 @@ \ No newline at end of file diff --git a/frontend/src/components/S_BFLS.vue b/frontend/src/components/S_BFLS.vue index c9d804a..57c366a 100644 --- a/frontend/src/components/S_BFLS.vue +++ b/frontend/src/components/S_BFLS.vue @@ -9,155 +9,103 @@ see here.

-
- Because this is a large optimization model with many inputs, we have - created an excel template for users to input the details of their - specific problem into the model we have developed. -

- - -
- To input the specifics of your problem please click download - to get an excel template for inputting your data. -
-
- -
- -
- Upload a csv file of your filled out template -
-
- -
- -
- So you don't have to leave the browser open for an hour - so that our optimization can have time to run. Please - provide your email below so that we can send you the results. -
- - -
-
+
+
+ + +
+

-// + formOptions: { + validateAfterLoad: true, + validateAfterChanged: true, + fieldIdPrefix: 'user-' + } + } + } + } + } + diff --git a/frontend/src/main.js b/frontend/src/main.js index 59836d6..a43e1e9 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -3,14 +3,20 @@ import Vue from 'vue' import App from './App' import router from './router' +import VueFormGenerator from "vue-form-generator" +import S_BFLS from "./components/S_BFLS"; import './../node_modules/bulma/css/bulma.css'; Vue.config.productionTip = false +Vue.use(VueFormGenerator) /* eslint-disable no-new */ new Vue({ el: '#app', router, - components: { App }, + components: { + App, + VueFormGenerator + }, template: '' }) diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index 0f3c3ea..55c8e0f 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -3,7 +3,7 @@ import Router from 'vue-router' const routerOptions = [ { path: '/', component: 'Home'}, - { path: '/s-bfls', component: 'S_BFLS'}, + { path: '/s-bfls', name: "S_BFLS", component: 'S_BFLS'}, ] const routes = routerOptions.map(route => { From c211d037bf55d4a0de7e6cfe7cf17419bc8c422f Mon Sep 17 00:00:00 2001 From: Robert Date: Sat, 10 Nov 2018 16:44:34 -0500 Subject: [PATCH 24/30] A little style update --- frontend/index.html | 19 +++++++++++++++++++ frontend/src/App.vue | 4 ---- frontend/src/components/Home.vue | 24 ++++++++++++------------ frontend/src/components/S_BFLS.vue | 2 +- 4 files changed, 32 insertions(+), 17 deletions(-) diff --git a/frontend/index.html b/frontend/index.html index d89c43c..704d438 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -6,6 +6,25 @@ BFL +
diff --git a/frontend/src/App.vue b/frontend/src/App.vue index ce768a8..ed2ba24 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -58,10 +58,6 @@ export default { margin-top: 60px; } -body { - padding-top: 60px; -} - .columns { flex-wrap: wrap; } diff --git a/frontend/src/components/Home.vue b/frontend/src/components/Home.vue index be87b8a..9048fd5 100644 --- a/frontend/src/components/Home.vue +++ b/frontend/src/components/Home.vue @@ -1,20 +1,20 @@ diff --git a/frontend/src/router/index.js b/frontend/src/router/index.js index 10f1bac..5836210 100644 --- a/frontend/src/router/index.js +++ b/frontend/src/router/index.js @@ -3,7 +3,8 @@ import Router from 'vue-router' const routerOptions = [ { path: '/', component: 'Home' }, - { path: '/s-bfls', name: 'S_BFLS', component: 'S_BFLS' } + { path: '/s-bfls', name: 'S_BFLS', component: 'S_BFLS' }, + { path: '/about', name: "About", component: "About"} ] const routes = routerOptions.map(route => { diff --git a/myapp.py b/myapp.py index e2b1f74..9f9e69c 100644 --- a/myapp.py +++ b/myapp.py @@ -60,6 +60,12 @@ def Sbfl(): print(my_s_bfl.optimization_result) response = jsonify(my_s_bfl.optimization_result) response.headers.add('Access-Control-Allow-Origin', '*') + + msg = Message('S-BFLS', + sender="robert.b.shelton.42@gmail.com", + recipients=["robes98@vt.edu"]) + msg.body = "The BFLS team is happy you tried out our optimization" + mail.send(msg) return response @app.route('/upload/', methods=['POST']) From ae6b5fa5cc979aea9ec58858b2d9f642f72c93fe Mon Sep 17 00:00:00 2001 From: Robert Date: Mon, 26 Nov 2018 14:36:34 -0500 Subject: [PATCH 28/30] Before cleaning code --- frontend/src/components/About.vue | 3 ++- frontend/src/components/S_BFLS.vue | 19 ------------------- myapp.py | 4 +++- 3 files changed, 5 insertions(+), 21 deletions(-) diff --git a/frontend/src/components/About.vue b/frontend/src/components/About.vue index a8c038d..eeaf8ff 100644 --- a/frontend/src/components/About.vue +++ b/frontend/src/components/About.vue @@ -13,11 +13,12 @@
- +
- - - - - {% block myscript %}{% endblock %} - - - - \ No newline at end of file diff --git a/myapp.py b/myapp.py index 968688f..00378aa 100644 --- a/myapp.py +++ b/myapp.py @@ -37,20 +37,6 @@ class CustomFlask(Flask): mail = Mail(app) -# ============== Page Rendering ============== -@app.route('/') -def root(): - return render_template('index.html') - -@app.route('//') -def static_html(subpath): - """all htmls that do not need extra code in Flask""" - return render_template(f'static_html/{subpath}.html') - -@app.route('/favicon.ico') -def favicon(): - return send_from_directory(os.path.join(app.root_path,'static'),'favicon.ico') - @app.route('/s-bfls/', methods=['POST']) def Sbfl(): input_data = request.get_json(force=True) @@ -65,50 +51,16 @@ def Sbfl(): sender="robert.b.shelton.42@gmail.com", recipients=["robes98@vt.edu"]) msg.body = "Thanks for using SBFLS! Attached are our results." - with app.open_resource("./algorithm/example_output.yaml") as fp: - msg.attach("./algorthm/example_output.yaml", "yaml", fp.read()) - mail.send(msg) + # with app.open_resource("./algorithm/example_output.yaml") as fp: + # msg.attach("./algorthm/example_output.yaml", "yaml", fp.read()) + # mail.send(msg) return response -@app.route('/upload/', methods=['POST']) -def upload(): - input_data = request.get_json(force=True) - my_s_bfl = s_bfl() - my_s_bfl.input(input_data, sysnum=2) - my_s_bfl.solve() - return jsonify(my_s_bfl.optimization_result) - -@app.route('/download/', methods=['GET']) -def download(): - template = "./algorithm/sbfl_template.xlsx" - return send_file(template, as_attachment=True) - -@app.route('/email/', methods=['GET']) -def email(): - msg = Message('Hello', - sender="robert.b.shelton.42@gmail.com", - recipients=["robes98@vt.edu"]) - msg.body = "This is a test" - mail.send(msg) - return "Sent" - - - @app.errorhandler(404) @app.errorhandler(jinja2.exceptions.TemplateNotFound) def page_not_found(e): return render_template('404.html'), 404 -# ============== POST Actions ============== -@app.route('/tsp/action/', methods=['POST']) -def render_tsp(): - json_data = request.get_json(force=True) - n = json_data['num_cities'] - my_tsp = tsp() - my_tsp.from_num_cities(int(n)) - my_tsp.solve() - return jsonify(my_tsp.all_data_) - if __name__ == '__main__': app.run(debug=True, port=5000) # Note: development server only diff --git a/static/css/bootstrap.min.css b/static/css/bootstrap.min.css deleted file mode 100644 index 708b6f7..0000000 --- a/static/css/bootstrap.min.css +++ /dev/null @@ -1,12 +0,0 @@ -/*! - * Bootswatch v4.1.3 - * Homepage: https://bootswatch.com - * Copyright 2012-2018 Thomas Park - * Licensed under MIT - * Based on Bootstrap -*//*! - * Bootstrap v4.1.3 (https://getbootstrap.com/) - * Copyright 2011-2018 The Bootstrap Authors - * Copyright 2011-2018 Twitter, Inc. - * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) - */@import url("https://fonts.googleapis.com/css?family=Roboto:400,500,700");:root{--blue:#325D88;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#d9534f;--orange:#F47C3C;--yellow:#ffc107;--green:#93C54B;--teal:#20c997;--cyan:#29ABE0;--white:#fff;--gray:#8E8C84;--gray-dark:#3E3F3A;--primary:#325D88;--secondary:#8E8C84;--success:#93C54B;--info:#29ABE0;--warning:#F47C3C;--danger:#d9534f;--light:#F8F5F0;--dark:#3E3F3A;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--font-family-monospace:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}*,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-size:0.875rem;font-weight:400;line-height:1.5;color:#3E3F3A;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0 !important}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:0.5rem}p{margin-top:0;margin-bottom:1rem}abbr[title],abbr[data-original-title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul,dl{margin-top:0;margin-bottom:1rem}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#93C54B;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#6b9430;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):hover,a:not([href]):not([tabindex]):focus{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}pre,code,kbd,samp{font-family:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:0.75rem;padding-bottom:0.75rem;color:#8E8C84;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:0.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}input,button,select,optgroup,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{padding:0;border-style:none}input[type="radio"],input[type="checkbox"]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="date"],input[type="time"],input[type="datetime-local"],input[type="month"]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{outline-offset:-2px;-webkit-appearance:none}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none !important}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-bottom:0.5rem;font-family:inherit;font-weight:400;line-height:1.2;color:inherit}h1,.h1{font-size:2.1875rem}h2,.h2{font-size:1.75rem}h3,.h3{font-size:1.53125rem}h4,.h4{font-size:1.3125rem}h5,.h5{font-size:1.09375rem}h6,.h6{font-size:0.875rem}.lead{font-size:1.09375rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,0.1)}small,.small{font-size:80%;font-weight:400}mark,.mark{padding:0.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:0.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.09375rem}.blockquote-footer{display:block;font-size:80%;color:#8E8C84}.blockquote-footer::before{content:"\2014 \00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:0.25rem;background-color:#fff;border:1px solid #DFD7CA;border-radius:0.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:0.5rem;line-height:1}.figure-caption{font-size:90%;color:#8E8C84}code{font-size:87.5%;color:#e83e8c;word-break:break-word}a>code{color:inherit}kbd{padding:0.2rem 0.4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:0.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}.container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*="col-"]{padding-right:0;padding-left:0}.col-1,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-10,.col-11,.col-12,.col,.col-auto,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm,.col-sm-auto,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-md,.col-md-auto,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg,.col-lg-auto,.col-xl-1,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-1{margin-left:8.3333333333%}.offset-2{margin-left:16.6666666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.3333333333%}.offset-5{margin-left:41.6666666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.3333333333%}.offset-8{margin-left:66.6666666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.3333333333%}.offset-11{margin-left:91.6666666667%}@media (min-width: 576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-sm-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-sm-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-sm-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-sm-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-sm-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-sm-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-sm-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-sm-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-sm-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-sm-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-sm-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-sm-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-sm-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-sm-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-sm-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-sm-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-sm-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-sm-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-sm-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-sm-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-sm-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-sm-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-sm-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.3333333333%}.offset-sm-2{margin-left:16.6666666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.3333333333%}.offset-sm-5{margin-left:41.6666666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.3333333333%}.offset-sm-8{margin-left:66.6666666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.3333333333%}.offset-sm-11{margin-left:91.6666666667%}}@media (min-width: 768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-md-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-md-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-md-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-md-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-md-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-md-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-md-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-md-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-md-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-md-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-md-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-md-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-md-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-md-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-md-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-md-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-md-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-md-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-md-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-md-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-md-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-md-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-md-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.3333333333%}.offset-md-2{margin-left:16.6666666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.3333333333%}.offset-md-5{margin-left:41.6666666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.3333333333%}.offset-md-8{margin-left:66.6666666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.3333333333%}.offset-md-11{margin-left:91.6666666667%}}@media (min-width: 992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-lg-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-lg-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-lg-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-lg-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-lg-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-lg-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-lg-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-lg-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-lg-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-lg-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-lg-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-lg-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-lg-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-lg-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-lg-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-lg-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-lg-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-lg-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-lg-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-lg-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-lg-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-lg-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-lg-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.3333333333%}.offset-lg-2{margin-left:16.6666666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.3333333333%}.offset-lg-5{margin-left:41.6666666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.3333333333%}.offset-lg-8{margin-left:66.6666666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.3333333333%}.offset-lg-11{margin-left:91.6666666667%}}@media (min-width: 1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.col-xl-auto{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:none}.col-xl-1{-webkit-box-flex:0;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.col-xl-2{-webkit-box-flex:0;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-3{-webkit-box-flex:0;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-webkit-box-flex:0;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.col-xl-5{-webkit-box-flex:0;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.col-xl-6{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-webkit-box-flex:0;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.col-xl-8{-webkit-box-flex:0;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.col-xl-9{-webkit-box-flex:0;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-webkit-box-flex:0;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.col-xl-11{-webkit-box-flex:0;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.col-xl-12{-webkit-box-flex:0;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.order-xl-last{-webkit-box-ordinal-group:14;-ms-flex-order:13;order:13}.order-xl-0{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.order-xl-1{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.order-xl-2{-webkit-box-ordinal-group:3;-ms-flex-order:2;order:2}.order-xl-3{-webkit-box-ordinal-group:4;-ms-flex-order:3;order:3}.order-xl-4{-webkit-box-ordinal-group:5;-ms-flex-order:4;order:4}.order-xl-5{-webkit-box-ordinal-group:6;-ms-flex-order:5;order:5}.order-xl-6{-webkit-box-ordinal-group:7;-ms-flex-order:6;order:6}.order-xl-7{-webkit-box-ordinal-group:8;-ms-flex-order:7;order:7}.order-xl-8{-webkit-box-ordinal-group:9;-ms-flex-order:8;order:8}.order-xl-9{-webkit-box-ordinal-group:10;-ms-flex-order:9;order:9}.order-xl-10{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10}.order-xl-11{-webkit-box-ordinal-group:12;-ms-flex-order:11;order:11}.order-xl-12{-webkit-box-ordinal-group:13;-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.3333333333%}.offset-xl-2{margin-left:16.6666666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.3333333333%}.offset-xl-5{margin-left:41.6666666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.3333333333%}.offset-xl-8{margin-left:66.6666666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.3333333333%}.offset-xl-11{margin-left:91.6666666667%}}.table{width:100%;margin-bottom:1rem;background-color:transparent}.table th,.table td{padding:0.75rem;vertical-align:top;border-top:1px solid #DFD7CA}.table thead th{vertical-align:bottom;border-bottom:2px solid #DFD7CA}.table tbody+tbody{border-top:2px solid #DFD7CA}.table .table{background-color:#fff}.table-sm th,.table-sm td{padding:0.3rem}.table-bordered{border:1px solid #DFD7CA}.table-bordered th,.table-bordered td{border:1px solid #DFD7CA}.table-bordered thead th,.table-bordered thead td{border-bottom-width:2px}.table-borderless th,.table-borderless td,.table-borderless thead th,.table-borderless tbody+tbody{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,0.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,0.075)}.table-primary,.table-primary>th,.table-primary>td{background-color:#c6d2de}.table-hover .table-primary:hover{background-color:#b6c5d5}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#b6c5d5}.table-secondary,.table-secondary>th,.table-secondary>td{background-color:#dfdfdd}.table-hover .table-secondary:hover{background-color:#d3d3d0}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#d3d3d0}.table-success,.table-success>th,.table-success>td{background-color:#e1efcd}.table-hover .table-success:hover{background-color:#d5e9ba}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#d5e9ba}.table-info,.table-info>th,.table-info>td{background-color:#c3e7f6}.table-hover .table-info:hover{background-color:#addef3}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#addef3}.table-warning,.table-warning>th,.table-warning>td{background-color:#fcdac8}.table-hover .table-warning:hover{background-color:#fbcab0}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#fbcab0}.table-danger,.table-danger>th,.table-danger>td{background-color:#f4cfce}.table-hover .table-danger:hover{background-color:#efbbb9}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#efbbb9}.table-light,.table-light>th,.table-light>td{background-color:#fdfcfb}.table-hover .table-light:hover{background-color:#f5efea}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#f5efea}.table-dark,.table-dark>th,.table-dark>td{background-color:#c9c9c8}.table-hover .table-dark:hover{background-color:#bcbcbb}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#bcbcbb}.table-active,.table-active>th,.table-active>td{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,0.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,0.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#F8F5F0;border-color:#DFD7CA}.table-dark{color:#fff;background-color:#212529}.table-dark th,.table-dark td,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,0.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,0.075)}@media (max-width: 575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width: 767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width: 991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width: 1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(2.0625rem + 2px);padding:0.375rem 0.75rem;font-size:0.875rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:0.25rem;-webkit-transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.form-control{-webkit-transition:none;transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#6f9dca;outline:0;-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25)}.form-control::-webkit-input-placeholder{color:#8E8C84;opacity:1}.form-control:-ms-input-placeholder{color:#8E8C84;opacity:1}.form-control::-ms-input-placeholder{color:#8E8C84;opacity:1}.form-control::placeholder{color:#8E8C84;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#F8F5F0;opacity:1}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(0.375rem + 1px);padding-bottom:calc(0.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(0.5rem + 1px);padding-bottom:calc(0.5rem + 1px);font-size:1.09375rem;line-height:1.5}.col-form-label-sm{padding-top:calc(0.25rem + 1px);padding-bottom:calc(0.25rem + 1px);font-size:0.765625rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:0.375rem;padding-bottom:0.375rem;margin-bottom:0;line-height:1.5;color:#3E3F3A;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.6484375rem + 2px);padding:0.25rem 0.5rem;font-size:0.765625rem;line-height:1.5;border-radius:0.2rem}.form-control-lg{height:calc(2.640625rem + 2px);padding:0.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:0.3rem}select.form-control[size],select.form-control[multiple]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:0.25rem}.form-row{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*="col-"]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:0.3rem;margin-left:-1.25rem}.form-check-input:disabled ~ .form-check-label{color:#8E8C84}.form-check-label{margin-bottom:0}.form-check-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:0.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:0.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:0.25rem;font-size:80%;color:#93C54B}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:.1rem;font-size:0.765625rem;line-height:1.5;color:#fff;background-color:rgba(147,197,75,0.9);border-radius:0.25rem}.was-validated .form-control:valid,.form-control.is-valid,.was-validated .custom-select:valid,.custom-select.is-valid{border-color:#93C54B}.was-validated .form-control:valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.custom-select.is-valid:focus{border-color:#93C54B;-webkit-box-shadow:0 0 0 0.2rem rgba(147,197,75,0.25);box-shadow:0 0 0 0.2rem rgba(147,197,75,0.25)}.was-validated .form-control:valid ~ .valid-feedback,.was-validated .form-control:valid ~ .valid-tooltip,.form-control.is-valid ~ .valid-feedback,.form-control.is-valid ~ .valid-tooltip,.was-validated .custom-select:valid ~ .valid-feedback,.was-validated .custom-select:valid ~ .valid-tooltip,.custom-select.is-valid ~ .valid-feedback,.custom-select.is-valid ~ .valid-tooltip{display:block}.was-validated .form-control-file:valid ~ .valid-feedback,.was-validated .form-control-file:valid ~ .valid-tooltip,.form-control-file.is-valid ~ .valid-feedback,.form-control-file.is-valid ~ .valid-tooltip{display:block}.was-validated .form-check-input:valid ~ .form-check-label,.form-check-input.is-valid ~ .form-check-label{color:#93C54B}.was-validated .form-check-input:valid ~ .valid-feedback,.was-validated .form-check-input:valid ~ .valid-tooltip,.form-check-input.is-valid ~ .valid-feedback,.form-check-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid ~ .custom-control-label,.custom-control-input.is-valid ~ .custom-control-label{color:#93C54B}.was-validated .custom-control-input:valid ~ .custom-control-label::before,.custom-control-input.is-valid ~ .custom-control-label::before{background-color:#cde4ab}.was-validated .custom-control-input:valid ~ .valid-feedback,.was-validated .custom-control-input:valid ~ .valid-tooltip,.custom-control-input.is-valid ~ .valid-feedback,.custom-control-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-control-input:valid:checked ~ .custom-control-label::before,.custom-control-input.is-valid:checked ~ .custom-control-label::before{background-color:#aad172}.was-validated .custom-control-input:valid:focus ~ .custom-control-label::before,.custom-control-input.is-valid:focus ~ .custom-control-label::before{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(147,197,75,0.25);box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(147,197,75,0.25)}.was-validated .custom-file-input:valid ~ .custom-file-label,.custom-file-input.is-valid ~ .custom-file-label{border-color:#93C54B}.was-validated .custom-file-input:valid ~ .custom-file-label::after,.custom-file-input.is-valid ~ .custom-file-label::after{border-color:inherit}.was-validated .custom-file-input:valid ~ .valid-feedback,.was-validated .custom-file-input:valid ~ .valid-tooltip,.custom-file-input.is-valid ~ .valid-feedback,.custom-file-input.is-valid ~ .valid-tooltip{display:block}.was-validated .custom-file-input:valid:focus ~ .custom-file-label,.custom-file-input.is-valid:focus ~ .custom-file-label{-webkit-box-shadow:0 0 0 0.2rem rgba(147,197,75,0.25);box-shadow:0 0 0 0.2rem rgba(147,197,75,0.25)}.invalid-feedback{display:none;width:100%;margin-top:0.25rem;font-size:80%;color:#d9534f}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:.1rem;font-size:0.765625rem;line-height:1.5;color:#fff;background-color:rgba(217,83,79,0.9);border-radius:0.25rem}.was-validated .form-control:invalid,.form-control.is-invalid,.was-validated .custom-select:invalid,.custom-select.is-invalid{border-color:#d9534f}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.custom-select.is-invalid:focus{border-color:#d9534f;-webkit-box-shadow:0 0 0 0.2rem rgba(217,83,79,0.25);box-shadow:0 0 0 0.2rem rgba(217,83,79,0.25)}.was-validated .form-control:invalid ~ .invalid-feedback,.was-validated .form-control:invalid ~ .invalid-tooltip,.form-control.is-invalid ~ .invalid-feedback,.form-control.is-invalid ~ .invalid-tooltip,.was-validated .custom-select:invalid ~ .invalid-feedback,.was-validated .custom-select:invalid ~ .invalid-tooltip,.custom-select.is-invalid ~ .invalid-feedback,.custom-select.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-control-file:invalid ~ .invalid-feedback,.was-validated .form-control-file:invalid ~ .invalid-tooltip,.form-control-file.is-invalid ~ .invalid-feedback,.form-control-file.is-invalid ~ .invalid-tooltip{display:block}.was-validated .form-check-input:invalid ~ .form-check-label,.form-check-input.is-invalid ~ .form-check-label{color:#d9534f}.was-validated .form-check-input:invalid ~ .invalid-feedback,.was-validated .form-check-input:invalid ~ .invalid-tooltip,.form-check-input.is-invalid ~ .invalid-feedback,.form-check-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid ~ .custom-control-label,.custom-control-input.is-invalid ~ .custom-control-label{color:#d9534f}.was-validated .custom-control-input:invalid ~ .custom-control-label::before,.custom-control-input.is-invalid ~ .custom-control-label::before{background-color:#f0b9b8}.was-validated .custom-control-input:invalid ~ .invalid-feedback,.was-validated .custom-control-input:invalid ~ .invalid-tooltip,.custom-control-input.is-invalid ~ .invalid-feedback,.custom-control-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-control-input:invalid:checked ~ .custom-control-label::before,.custom-control-input.is-invalid:checked ~ .custom-control-label::before{background-color:#e27c79}.was-validated .custom-control-input:invalid:focus ~ .custom-control-label::before,.custom-control-input.is-invalid:focus ~ .custom-control-label::before{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(217,83,79,0.25);box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(217,83,79,0.25)}.was-validated .custom-file-input:invalid ~ .custom-file-label,.custom-file-input.is-invalid ~ .custom-file-label{border-color:#d9534f}.was-validated .custom-file-input:invalid ~ .custom-file-label::after,.custom-file-input.is-invalid ~ .custom-file-label::after{border-color:inherit}.was-validated .custom-file-input:invalid ~ .invalid-feedback,.was-validated .custom-file-input:invalid ~ .invalid-tooltip,.custom-file-input.is-invalid ~ .invalid-feedback,.custom-file-input.is-invalid ~ .invalid-tooltip{display:block}.was-validated .custom-file-input:invalid:focus ~ .custom-file-label,.custom-file-input.is-invalid:focus ~ .custom-file-label{-webkit-box-shadow:0 0 0 0.2rem rgba(217,83,79,0.25);box-shadow:0 0 0 0.2rem rgba(217,83,79,0.25)}.form-inline{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width: 576px){.form-inline label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group,.form-inline .custom-select{width:auto}.form-inline .form-check{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:0.25rem;margin-left:0}.form-inline .custom-control{-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:0.375rem 0.75rem;font-size:0.875rem;line-height:1.5;border-radius:0.25rem;-webkit-transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.btn{-webkit-transition:none;transition:none}}.btn:hover,.btn:focus{text-decoration:none}.btn:focus,.btn.focus{outline:0;-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25)}.btn.disabled,.btn:disabled{opacity:0.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#325D88;border-color:#325D88}.btn-primary:hover{color:#fff;background-color:#284a6c;border-color:#244463}.btn-primary:focus,.btn-primary.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#325D88;border-color:#325D88}.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#244463;border-color:#213d59}.btn-primary:not(:disabled):not(.disabled):active:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5)}.btn-secondary{color:#fff;background-color:#8E8C84;border-color:#8E8C84}.btn-secondary:hover{color:#fff;background-color:#7b7971;border-color:#74726b}.btn-secondary:focus,.btn-secondary.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5);box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#8E8C84;border-color:#8E8C84}.btn-secondary:not(:disabled):not(.disabled):active,.btn-secondary:not(:disabled):not(.disabled).active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#74726b;border-color:#6e6c65}.btn-secondary:not(:disabled):not(.disabled):active:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5);box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5)}.btn-success{color:#fff;background-color:#93C54B;border-color:#93C54B}.btn-success:hover{color:#fff;background-color:#80b139;border-color:#79a736}.btn-success:focus,.btn-success.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5);box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#93C54B;border-color:#93C54B}.btn-success:not(:disabled):not(.disabled):active,.btn-success:not(:disabled):not(.disabled).active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#79a736;border-color:#729e33}.btn-success:not(:disabled):not(.disabled):active:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.show>.btn-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5);box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5)}.btn-info{color:#fff;background-color:#29ABE0;border-color:#29ABE0}.btn-info:hover{color:#fff;background-color:#1d95c6;border-color:#1b8dbb}.btn-info:focus,.btn-info.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5);box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#29ABE0;border-color:#29ABE0}.btn-info:not(:disabled):not(.disabled):active,.btn-info:not(:disabled):not(.disabled).active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#1b8dbb;border-color:#1984b0}.btn-info:not(:disabled):not(.disabled):active:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.show>.btn-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5);box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5)}.btn-warning{color:#fff;background-color:#F47C3C;border-color:#F47C3C}.btn-warning:hover{color:#fff;background-color:#f26418;border-color:#ef5c0e}.btn-warning:focus,.btn-warning.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5);box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5)}.btn-warning.disabled,.btn-warning:disabled{color:#fff;background-color:#F47C3C;border-color:#F47C3C}.btn-warning:not(:disabled):not(.disabled):active,.btn-warning:not(:disabled):not(.disabled).active,.show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ef5c0e;border-color:#e3570d}.btn-warning:not(:disabled):not(.disabled):active:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5);box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5)}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:hover{color:#fff;background-color:#d23430;border-color:#c9302c}.btn-danger:focus,.btn-danger.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5);box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-danger:not(:disabled):not(.disabled):active,.btn-danger:not(:disabled):not(.disabled).active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#bf2e29}.btn-danger:not(:disabled):not(.disabled):active:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5);box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5)}.btn-light{color:#212529;background-color:#F8F5F0;border-color:#F8F5F0}.btn-light:hover{color:#212529;background-color:#ece4d6;border-color:#e8decd}.btn-light:focus,.btn-light.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5);box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#F8F5F0;border-color:#F8F5F0}.btn-light:not(:disabled):not(.disabled):active,.btn-light:not(:disabled):not(.disabled).active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#e8decd;border-color:#e4d8c5}.btn-light:not(:disabled):not(.disabled):active:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.show>.btn-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5);box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5)}.btn-dark{color:#fff;background-color:#3E3F3A;border-color:#3E3F3A}.btn-dark:hover{color:#fff;background-color:#2a2b28;border-color:#242422}.btn-dark:focus,.btn-dark.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5);box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#3E3F3A;border-color:#3E3F3A}.btn-dark:not(:disabled):not(.disabled):active,.btn-dark:not(:disabled):not(.disabled).active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#242422;border-color:#1d1e1b}.btn-dark:not(:disabled):not(.disabled):active:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5);box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5)}.btn-outline-primary{color:#325D88;background-color:transparent;background-image:none;border-color:#325D88}.btn-outline-primary:hover{color:#fff;background-color:#325D88;border-color:#325D88}.btn-outline-primary:focus,.btn-outline-primary.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#325D88;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled):active,.btn-outline-primary:not(:disabled):not(.disabled).active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#325D88;border-color:#325D88}.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.5)}.btn-outline-secondary{color:#8E8C84;background-color:transparent;background-image:none;border-color:#8E8C84}.btn-outline-secondary:hover{color:#fff;background-color:#8E8C84;border-color:#8E8C84}.btn-outline-secondary:focus,.btn-outline-secondary.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5);box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#8E8C84;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled):active,.btn-outline-secondary:not(:disabled):not(.disabled).active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#8E8C84;border-color:#8E8C84}.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5);box-shadow:0 0 0 0.2rem rgba(142,140,132,0.5)}.btn-outline-success{color:#93C54B;background-color:transparent;background-image:none;border-color:#93C54B}.btn-outline-success:hover{color:#fff;background-color:#93C54B;border-color:#93C54B}.btn-outline-success:focus,.btn-outline-success.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5);box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#93C54B;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled):active,.btn-outline-success:not(:disabled):not(.disabled).active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#93C54B;border-color:#93C54B}.btn-outline-success:not(:disabled):not(.disabled):active:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-success.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5);box-shadow:0 0 0 0.2rem rgba(147,197,75,0.5)}.btn-outline-info{color:#29ABE0;background-color:transparent;background-image:none;border-color:#29ABE0}.btn-outline-info:hover{color:#fff;background-color:#29ABE0;border-color:#29ABE0}.btn-outline-info:focus,.btn-outline-info.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5);box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#29ABE0;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled):active,.btn-outline-info:not(:disabled):not(.disabled).active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#29ABE0;border-color:#29ABE0}.btn-outline-info:not(:disabled):not(.disabled):active:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-info.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5);box-shadow:0 0 0 0.2rem rgba(41,171,224,0.5)}.btn-outline-warning{color:#F47C3C;background-color:transparent;background-image:none;border-color:#F47C3C}.btn-outline-warning:hover{color:#fff;background-color:#F47C3C;border-color:#F47C3C}.btn-outline-warning:focus,.btn-outline-warning.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5);box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#F47C3C;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled):active,.btn-outline-warning:not(:disabled):not(.disabled).active,.show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#F47C3C;border-color:#F47C3C}.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5);box-shadow:0 0 0 0.2rem rgba(244,124,60,0.5)}.btn-outline-danger{color:#d9534f;background-color:transparent;background-image:none;border-color:#d9534f}.btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger:focus,.btn-outline-danger.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5);box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled):active,.btn-outline-danger:not(:disabled):not(.disabled).active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5);box-shadow:0 0 0 0.2rem rgba(217,83,79,0.5)}.btn-outline-light{color:#F8F5F0;background-color:transparent;background-image:none;border-color:#F8F5F0}.btn-outline-light:hover{color:#212529;background-color:#F8F5F0;border-color:#F8F5F0}.btn-outline-light:focus,.btn-outline-light.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5);box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#F8F5F0;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled):active,.btn-outline-light:not(:disabled):not(.disabled).active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#F8F5F0;border-color:#F8F5F0}.btn-outline-light:not(:disabled):not(.disabled):active:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-light.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5);box-shadow:0 0 0 0.2rem rgba(248,245,240,0.5)}.btn-outline-dark{color:#3E3F3A;background-color:transparent;background-image:none;border-color:#3E3F3A}.btn-outline-dark:hover{color:#fff;background-color:#3E3F3A;border-color:#3E3F3A}.btn-outline-dark:focus,.btn-outline-dark.focus{-webkit-box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5);box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#3E3F3A;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled):active,.btn-outline-dark:not(:disabled):not(.disabled).active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#3E3F3A;border-color:#3E3F3A}.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{-webkit-box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5);box-shadow:0 0 0 0.2rem rgba(62,63,58,0.5)}.btn-link{font-weight:400;color:#93C54B;background-color:transparent}.btn-link:hover{color:#6b9430;text-decoration:underline;background-color:transparent;border-color:transparent}.btn-link:focus,.btn-link.focus{text-decoration:underline;border-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link:disabled,.btn-link.disabled{color:#8E8C84;pointer-events:none}.btn-lg,.btn-group-lg>.btn{padding:0.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:0.3rem}.btn-sm,.btn-group-sm>.btn{padding:0.25rem 0.5rem;font-size:0.765625rem;line-height:1.5;border-radius:0.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:0.5rem}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{-webkit-transition:opacity 0.15s linear;transition:opacity 0.15s linear}@media screen and (prefers-reduced-motion: reduce){.fade{-webkit-transition:none;transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height 0.35s ease;transition:height 0.35s ease}@media screen and (prefers-reduced-motion: reduce){.collapsing{-webkit-transition:none;transition:none}}.dropup,.dropright,.dropdown,.dropleft{position:relative}.dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:0.255em;vertical-align:0.255em;content:"";border-top:0.3em solid;border-right:0.3em solid transparent;border-bottom:0;border-left:0.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:0.5rem 0;margin:0.125rem 0 0;font-size:0.875rem;color:#3E3F3A;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.15);border-radius:0.25rem}.dropdown-menu-right{right:0;left:auto}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:0.125rem}.dropup .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:0.255em;vertical-align:0.255em;content:"";border-top:0;border-right:0.3em solid transparent;border-bottom:0.3em solid;border-left:0.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:0.125rem}.dropright .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:0.255em;vertical-align:0.255em;content:"";border-top:0.3em solid transparent;border-right:0;border-bottom:0.3em solid transparent;border-left:0.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:0.125rem}.dropleft .dropdown-toggle::after{display:inline-block;width:0;height:0;margin-left:0.255em;vertical-align:0.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;width:0;height:0;margin-right:0.255em;vertical-align:0.255em;content:"";border-top:0.3em solid transparent;border-right:0.3em solid;border-bottom:0.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^="top"],.dropdown-menu[x-placement^="right"],.dropdown-menu[x-placement^="bottom"],.dropdown-menu[x-placement^="left"]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:0.5rem 0;overflow:hidden;border-top:1px solid #F8F5F0}.dropdown-item{display:block;width:100%;padding:0.25rem 1.5rem;clear:both;font-weight:400;color:#8E8C84;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:hover,.dropdown-item:focus{color:#8E8C84;text-decoration:none;background-color:#F8F5F0}.dropdown-item.active,.dropdown-item:active{color:#8E8C84;text-decoration:none;background-color:#F8F5F0}.dropdown-item.disabled,.dropdown-item:disabled{color:#8E8C84;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:0.5rem 1.5rem;margin-bottom:0;font-size:0.765625rem;color:#8E8C84;white-space:nowrap}.dropdown-item-text{display:block;padding:0.25rem 1.5rem;color:#8E8C84}.btn-group,.btn-group-vertical{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover{z-index:1}.btn-group>.btn:focus,.btn-group>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn.active{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.btn-group>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:not(:first-child),.btn-group>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:0.5625rem;padding-left:0.5625rem}.dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-sm+.dropdown-toggle-split,.btn-group-sm>.btn+.dropdown-toggle-split{padding-right:0.375rem;padding-left:0.375rem}.btn-lg+.dropdown-toggle-split,.btn-group-lg>.btn+.dropdown-toggle-split{padding-right:0.75rem;padding-left:0.75rem}.btn-group-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle),.btn-group-vertical>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:not(:first-child),.btn-group-vertical>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type="radio"],.btn-group-toggle>.btn input[type="checkbox"],.btn-group-toggle>.btn-group>.btn input[type="radio"],.btn-group-toggle>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.input-group{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.custom-select,.input-group>.custom-file{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.form-control+.form-control,.input-group>.form-control+.custom-select,.input-group>.form-control+.custom-file,.input-group>.custom-select+.form-control,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.custom-file,.input-group>.custom-file+.form-control,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.custom-file{margin-left:-1px}.input-group>.form-control:focus,.input-group>.custom-select:focus,.input-group>.custom-file .custom-file-input:focus ~ .custom-file-label{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.form-control:not(:last-child),.input-group>.custom-select:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.form-control:not(:first-child),.input-group>.custom-select:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-prepend,.input-group-append{display:-webkit-box;display:-ms-flexbox;display:flex}.input-group-prepend .btn,.input-group-append .btn{position:relative;z-index:2}.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.input-group-text,.input-group-append .input-group-text+.btn{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:0.375rem 0.75rem;margin-bottom:0;font-size:0.875rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#F8F5F0;border:1px solid #ced4da;border-radius:0.25rem}.input-group-text input[type="radio"],.input-group-text input[type="checkbox"]{margin-top:0}.input-group-lg>.form-control,.input-group-lg>.input-group-prepend>.input-group-text,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-append>.btn{height:calc(2.640625rem + 2px);padding:0.5rem 1rem;font-size:1.09375rem;line-height:1.5;border-radius:0.3rem}.input-group-sm>.form-control,.input-group-sm>.input-group-prepend>.input-group-text,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-append>.btn{height:calc(1.6484375rem + 2px);padding:0.25rem 0.5rem;font-size:0.765625rem;line-height:1.5;border-radius:0.2rem}.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text,.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.3125rem;padding-left:1.5rem}.custom-control-inline{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked ~ .custom-control-label::before{color:#fff;background-color:#325D88}.custom-control-input:focus ~ .custom-control-label::before{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(50,93,136,0.25);box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(50,93,136,0.25)}.custom-control-input:active ~ .custom-control-label::before{color:#fff;background-color:#95b6d8}.custom-control-input:disabled ~ .custom-control-label{color:#8E8C84}.custom-control-input:disabled ~ .custom-control-label::before{background-color:#F8F5F0}.custom-control-label{position:relative;margin-bottom:0}.custom-control-label::before{position:absolute;top:0.15625rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#DFD7CA}.custom-control-label::after{position:absolute;top:0.15625rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-checkbox .custom-control-label::before{border-radius:0.25rem}.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before{background-color:#325D88}.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before{background-color:#325D88}.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(50,93,136,0.5)}.custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before{background-color:rgba(50,93,136,0.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked ~ .custom-control-label::before{background-color:#325D88}.custom-radio .custom-control-input:checked ~ .custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before{background-color:rgba(50,93,136,0.5)}.custom-select{display:inline-block;width:100%;height:calc(2.0625rem + 2px);padding:0.375rem 1.75rem 0.375rem 0.75rem;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%233E3F3A' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;background-size:8px 10px;border:1px solid #ced4da;border-radius:0.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#6f9dca;outline:0;-webkit-box-shadow:0 0 0 0.2rem rgba(111,157,202,0.5);box-shadow:0 0 0 0.2rem rgba(111,157,202,0.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:0.75rem;background-image:none}.custom-select:disabled{color:#8E8C84;background-color:#F8F5F0}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.6484375rem + 2px);padding-top:0.375rem;padding-bottom:0.375rem;font-size:75%}.custom-select-lg{height:calc(2.640625rem + 2px);padding-top:0.375rem;padding-bottom:0.375rem;font-size:125%}.custom-file{position:relative;display:inline-block;width:100%;height:calc(2.0625rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(2.0625rem + 2px);margin:0;opacity:0}.custom-file-input:focus ~ .custom-file-label{border-color:#6f9dca;-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25)}.custom-file-input:focus ~ .custom-file-label::after{border-color:#6f9dca}.custom-file-input:disabled ~ .custom-file-label{background-color:#F8F5F0}.custom-file-input:lang(en) ~ .custom-file-label::after{content:"Browse"}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(2.0625rem + 2px);padding:0.375rem 0.75rem;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:0.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:2.0625rem;padding:0.375rem 0.75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#F8F5F0;border-left:1px solid #ced4da;border-radius:0 0.25rem 0.25rem 0}.custom-range{width:100%;padding-left:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:none}.custom-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(50,93,136,0.25);box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(50,93,136,0.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(50,93,136,0.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 0.2rem rgba(50,93,136,0.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-0.25rem;background-color:#325D88;border:0;border-radius:1rem;-webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-webkit-appearance:none;appearance:none}@media screen and (prefers-reduced-motion: reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#95b6d8}.custom-range::-webkit-slider-runnable-track{width:100%;height:0.5rem;color:transparent;cursor:pointer;background-color:#DFD7CA;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#325D88;border:0;border-radius:1rem;-webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-moz-appearance:none;appearance:none}@media screen and (prefers-reduced-motion: reduce){.custom-range::-moz-range-thumb{-webkit-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#95b6d8}.custom-range::-moz-range-track{width:100%;height:0.5rem;color:transparent;cursor:pointer;background-color:#DFD7CA;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:0.2rem;margin-left:0.2rem;background-color:#325D88;border:0;border-radius:1rem;-webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;appearance:none}@media screen and (prefers-reduced-motion: reduce){.custom-range::-ms-thumb{-webkit-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#95b6d8}.custom-range::-ms-track{width:100%;height:0.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:0.5rem}.custom-range::-ms-fill-lower{background-color:#DFD7CA;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#DFD7CA;border-radius:1rem}.custom-control-label::before,.custom-file-label,.custom-select{-webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out}@media screen and (prefers-reduced-motion: reduce){.custom-control-label::before,.custom-file-label,.custom-select{-webkit-transition:none;transition:none}}.nav{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:0.5rem 0.9rem}.nav-link:hover,.nav-link:focus{text-decoration:none}.nav-link.disabled{color:#DFD7CA}.nav-tabs{border-bottom:1px solid #DFD7CA}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{border-color:#DFD7CA}.nav-tabs .nav-link.disabled{color:#DFD7CA;background-color:transparent;border-color:transparent}.nav-tabs .nav-link.active,.nav-tabs .nav-item.show .nav-link{color:#495057;background-color:#fff;border-color:#DFD7CA #DFD7CA #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:0.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#8E8C84;background-color:#F8F5F0}.nav-fill .nav-item{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0.5rem 1rem}.navbar>.container,.navbar>.container-fluid{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:0.3359375rem;padding-bottom:0.3359375rem;margin-right:1rem;font-size:1.09375rem;line-height:inherit;white-space:nowrap}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-nav{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:0.5rem;padding-bottom:0.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:0.25rem 0.75rem;font-size:1.09375rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:0.25rem}.navbar-toggler:hover,.navbar-toggler:focus{text-decoration:none}.navbar-toggler:not(:disabled):not(.disabled){cursor:pointer}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:no-repeat center center;background-size:100% 100%}@media (max-width: 575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 576px){.navbar-expand-sm{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:0.5rem;padding-left:0.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width: 767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 768px){.navbar-expand-md{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:0.5rem;padding-left:0.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width: 991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 992px){.navbar-expand-lg{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:0.5rem;padding-left:0.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width: 1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width: 1200px){.navbar-expand-xl{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:0.5rem;padding-left:0.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row nowrap;flex-flow:row nowrap;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:0.5rem;padding-left:0.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:#000}.navbar-light .navbar-brand:hover,.navbar-light .navbar-brand:focus{color:#000}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,0.5)}.navbar-light .navbar-nav .nav-link:hover,.navbar-light .navbar-nav .nav-link:focus{color:#000}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,0.3)}.navbar-light .navbar-nav .show>.nav-link,.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .nav-link.active{color:#000}.navbar-light .navbar-toggler{color:rgba(0,0,0,0.5);border-color:rgba(0,0,0,0.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,0.5)}.navbar-light .navbar-text a{color:#000}.navbar-light .navbar-text a:hover,.navbar-light .navbar-text a:focus{color:#000}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:hover,.navbar-dark .navbar-brand:focus{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link:focus{color:#fff}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,0.25)}.navbar-dark .navbar-nav .show>.nav-link,.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .nav-link.active{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,0.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:hover,.navbar-dark .navbar-text a:focus{color:#fff}.card{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(223,215,202,0.75);border-radius:0.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.card-body{-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1.25rem}.card-title{margin-bottom:0.75rem}.card-subtitle{margin-top:-0.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:0.75rem 1.25rem;margin-bottom:0;background-color:rgba(248,245,240,0.25);border-bottom:1px solid rgba(223,215,202,0.75)}.card-header:first-child{border-radius:calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{padding:0.75rem 1.25rem;background-color:rgba(248,245,240,0.25);border-top:1px solid rgba(223,215,202,0.75)}.card-footer:last-child{border-radius:0 0 calc(0.25rem - 1px) calc(0.25rem - 1px)}.card-header-tabs{margin-right:-0.625rem;margin-bottom:-0.75rem;margin-left:-0.625rem;border-bottom:0}.card-header-pills{margin-right:-0.625rem;margin-left:-0.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.card-img{width:100%;border-radius:calc(0.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(0.25rem - 1px);border-top-right-radius:calc(0.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(0.25rem - 1px);border-bottom-left-radius:calc(0.25rem - 1px)}.card-deck{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width: 576px){.card-deck{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width: 576px){.card-group{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-webkit-box-flex:1;-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-img-top,.card-group>.card:first-child .card-header{border-top-right-radius:0}.card-group>.card:first-child .card-img-bottom,.card-group>.card:first-child .card-footer{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-img-top,.card-group>.card:last-child .card-header{border-top-left-radius:0}.card-group>.card:last-child .card-img-bottom,.card-group>.card:last-child .card-footer{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:0.25rem}.card-group>.card:only-child .card-img-top,.card-group>.card:only-child .card-header{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.card-group>.card:only-child .card-img-bottom,.card-group>.card:only-child .card-footer{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child){border-radius:0}.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer{border-radius:0}}.card-columns .card{margin-bottom:0.75rem}@media (min-width: 576px){.card-columns{-webkit-column-count:3;column-count:3;-webkit-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion .card:not(:first-of-type):not(:last-of-type){border-bottom:0;border-radius:0}.accordion .card:not(:first-of-type) .card-header:first-child{border-radius:0}.accordion .card:first-of-type{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion .card:last-of-type{border-top-left-radius:0;border-top-right-radius:0}.breadcrumb{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#F8F5F0;border-radius:0.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:0.5rem}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:0.5rem;color:#8E8C84;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#8E8C84}.pagination{display:-webkit-box;display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:0.25rem}.page-link{position:relative;display:block;padding:0.5rem 0.75rem;margin-left:-1px;line-height:1.25;color:#8E8C84;background-color:#F8F5F0;border:1px solid #DFD7CA}.page-link:hover{z-index:2;color:#8E8C84;text-decoration:none;background-color:#F8F5F0;border-color:#DFD7CA}.page-link:focus{z-index:2;outline:0;-webkit-box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25);box-shadow:0 0 0 0.2rem rgba(50,93,136,0.25)}.page-link:not(:disabled):not(.disabled){cursor:pointer}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:0.25rem;border-bottom-left-radius:0.25rem}.page-item:last-child .page-link{border-top-right-radius:0.25rem;border-bottom-right-radius:0.25rem}.page-item.active .page-link{z-index:1;color:#8E8C84;background-color:#DFD7CA;border-color:#DFD7CA}.page-item.disabled .page-link{color:#DFD7CA;pointer-events:none;cursor:auto;background-color:#F8F5F0;border-color:#DFD7CA}.pagination-lg .page-link{padding:0.75rem 1.5rem;font-size:1.09375rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:0.3rem;border-bottom-left-radius:0.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:0.3rem;border-bottom-right-radius:0.3rem}.pagination-sm .page-link{padding:0.25rem 0.5rem;font-size:0.765625rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:0.2rem;border-bottom-left-radius:0.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:0.2rem;border-bottom-right-radius:0.2rem}.badge{display:inline-block;padding:0.25em 0.4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:0.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:0.6em;padding-left:0.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#325D88}.badge-primary[href]:hover,.badge-primary[href]:focus{color:#fff;text-decoration:none;background-color:#244463}.badge-secondary{color:#fff;background-color:#8E8C84}.badge-secondary[href]:hover,.badge-secondary[href]:focus{color:#fff;text-decoration:none;background-color:#74726b}.badge-success{color:#fff;background-color:#93C54B}.badge-success[href]:hover,.badge-success[href]:focus{color:#fff;text-decoration:none;background-color:#79a736}.badge-info{color:#fff;background-color:#29ABE0}.badge-info[href]:hover,.badge-info[href]:focus{color:#fff;text-decoration:none;background-color:#1b8dbb}.badge-warning{color:#fff;background-color:#F47C3C}.badge-warning[href]:hover,.badge-warning[href]:focus{color:#fff;text-decoration:none;background-color:#ef5c0e}.badge-danger{color:#fff;background-color:#d9534f}.badge-danger[href]:hover,.badge-danger[href]:focus{color:#fff;text-decoration:none;background-color:#c9302c}.badge-light{color:#212529;background-color:#F8F5F0}.badge-light[href]:hover,.badge-light[href]:focus{color:#212529;text-decoration:none;background-color:#e8decd}.badge-dark{color:#fff;background-color:#3E3F3A}.badge-dark[href]:hover,.badge-dark[href]:focus{color:#fff;text-decoration:none;background-color:#242422}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#F8F5F0;border-radius:0.3rem}@media (min-width: 576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:0.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:0.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3.8125rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:0.75rem 1.25rem;color:inherit}.alert-primary{color:#1a3047;background-color:#d6dfe7;border-color:#c6d2de}.alert-primary hr{border-top-color:#b6c5d5}.alert-primary .alert-link{color:#0c1722}.alert-secondary{color:#4a4945;background-color:#e8e8e6;border-color:#dfdfdd}.alert-secondary hr{border-top-color:#d3d3d0}.alert-secondary .alert-link{color:#302f2c}.alert-success{color:#4c6627;background-color:#e9f3db;border-color:#e1efcd}.alert-success hr{border-top-color:#d5e9ba}.alert-success .alert-link{color:#314119}.alert-info{color:#155974;background-color:#d4eef9;border-color:#c3e7f6}.alert-info hr{border-top-color:#addef3}.alert-info .alert-link{color:#0d3849}.alert-warning{color:#7f401f;background-color:#fde5d8;border-color:#fcdac8}.alert-warning hr{border-top-color:#fbcab0}.alert-warning .alert-link{color:#562b15}.alert-danger{color:#712b29;background-color:#f7dddc;border-color:#f4cfce}.alert-danger hr{border-top-color:#efbbb9}.alert-danger .alert-link{color:#4c1d1b}.alert-light{color:#817f7d;background-color:#fefdfc;border-color:#fdfcfb}.alert-light hr{border-top-color:#f5efea}.alert-light .alert-link{color:#676664}.alert-dark{color:#20211e;background-color:#d8d9d8;border-color:#c9c9c8}.alert-dark hr{border-top-color:#bcbcbb}.alert-dark .alert-link{color:#060606}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-webkit-box;display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:0.65625rem;background-color:#DFD7CA;border-radius:10px}.progress-bar{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;color:#325D88;text-align:center;white-space:nowrap;background-color:#325D88;-webkit-transition:width 0.6s ease;transition:width 0.6s ease}@media screen and (prefers-reduced-motion: reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:progress-bar-stripes 1s linear infinite;animation:progress-bar-stripes 1s linear infinite}.media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start}.media-body{-webkit-box-flex:1;-ms-flex:1;flex:1}.list-group{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#3E3F3A;text-align:inherit}.list-group-item-action:hover,.list-group-item-action:focus{color:#3E3F3A;text-decoration:none;background-color:#F8F5F0}.list-group-item-action:active{color:#3E3F3A;background-color:#DFD7CA}.list-group-item{position:relative;display:block;padding:0.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid #DFD7CA}.list-group-item:first-child{border-top-left-radius:0.25rem;border-top-right-radius:0.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem}.list-group-item:hover,.list-group-item:focus{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#98978B;background-color:#fff}.list-group-item.active{z-index:2;color:#3E3F3A;background-color:#F8F5F0;border-color:#DFD7CA}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#1a3047;background-color:#c6d2de}.list-group-item-primary.list-group-item-action:hover,.list-group-item-primary.list-group-item-action:focus{color:#1a3047;background-color:#b6c5d5}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#1a3047;border-color:#1a3047}.list-group-item-secondary{color:#4a4945;background-color:#dfdfdd}.list-group-item-secondary.list-group-item-action:hover,.list-group-item-secondary.list-group-item-action:focus{color:#4a4945;background-color:#d3d3d0}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#4a4945;border-color:#4a4945}.list-group-item-success{color:#4c6627;background-color:#e1efcd}.list-group-item-success.list-group-item-action:hover,.list-group-item-success.list-group-item-action:focus{color:#4c6627;background-color:#d5e9ba}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#4c6627;border-color:#4c6627}.list-group-item-info{color:#155974;background-color:#c3e7f6}.list-group-item-info.list-group-item-action:hover,.list-group-item-info.list-group-item-action:focus{color:#155974;background-color:#addef3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#155974;border-color:#155974}.list-group-item-warning{color:#7f401f;background-color:#fcdac8}.list-group-item-warning.list-group-item-action:hover,.list-group-item-warning.list-group-item-action:focus{color:#7f401f;background-color:#fbcab0}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#7f401f;border-color:#7f401f}.list-group-item-danger{color:#712b29;background-color:#f4cfce}.list-group-item-danger.list-group-item-action:hover,.list-group-item-danger.list-group-item-action:focus{color:#712b29;background-color:#efbbb9}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#712b29;border-color:#712b29}.list-group-item-light{color:#817f7d;background-color:#fdfcfb}.list-group-item-light.list-group-item-action:hover,.list-group-item-light.list-group-item-action:focus{color:#817f7d;background-color:#f5efea}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#817f7d;border-color:#817f7d}.list-group-item-dark{color:#20211e;background-color:#c9c9c8}.list-group-item-dark.list-group-item-action:hover,.list-group-item-dark.list-group-item-action:focus{color:#20211e;background-color:#bcbcbb}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#20211e;border-color:#20211e}.close{float:right;font-size:1.3125rem;font-weight:700;line-height:1;color:#000;text-shadow:none;opacity:.5}.close:not(:disabled):not(.disabled){cursor:pointer}.close:not(:disabled):not(.disabled):hover,.close:not(:disabled):not(.disabled):focus{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:0.5rem;pointer-events:none}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform 0.3s ease-out;transition:-webkit-transform 0.3s ease-out;transition:transform 0.3s ease-out;transition:transform 0.3s ease-out, -webkit-transform 0.3s ease-out;-webkit-transform:translate(0, -25%);transform:translate(0, -25%)}@media screen and (prefers-reduced-motion: reduce){.modal.fade .modal-dialog{-webkit-transition:none;transition:none}}.modal.show .modal-dialog{-webkit-transform:translate(0, 0);transform:translate(0, 0)}.modal-dialog-centered{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;min-height:calc(100% - (0.5rem * 2))}.modal-dialog-centered::before{display:block;height:calc(100vh - (0.5rem * 2));content:""}.modal-content{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid #DFD7CA;border-radius:0.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:0.5}.modal-header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:1rem;border-bottom:1px solid #DFD7CA;border-top-left-radius:0.3rem;border-top-right-radius:0.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;padding:1rem;border-top:1px solid #DFD7CA}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width: 576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-dialog-centered::before{height:calc(100vh - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width: 992px){.modal-lg{max-width:800px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.765625rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:0.9}.tooltip .arrow{position:absolute;display:block;width:0.8rem;height:0.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-top,.bs-tooltip-auto[x-placement^="top"]{padding:0.4rem 0}.bs-tooltip-top .arrow,.bs-tooltip-auto[x-placement^="top"] .arrow{bottom:0}.bs-tooltip-top .arrow::before,.bs-tooltip-auto[x-placement^="top"] .arrow::before{top:0;border-width:0.4rem 0.4rem 0;border-top-color:#000}.bs-tooltip-right,.bs-tooltip-auto[x-placement^="right"]{padding:0 0.4rem}.bs-tooltip-right .arrow,.bs-tooltip-auto[x-placement^="right"] .arrow{left:0;width:0.4rem;height:0.8rem}.bs-tooltip-right .arrow::before,.bs-tooltip-auto[x-placement^="right"] .arrow::before{right:0;border-width:0.4rem 0.4rem 0.4rem 0;border-right-color:#000}.bs-tooltip-bottom,.bs-tooltip-auto[x-placement^="bottom"]{padding:0.4rem 0}.bs-tooltip-bottom .arrow,.bs-tooltip-auto[x-placement^="bottom"] .arrow{top:0}.bs-tooltip-bottom .arrow::before,.bs-tooltip-auto[x-placement^="bottom"] .arrow::before{bottom:0;border-width:0 0.4rem 0.4rem;border-bottom-color:#000}.bs-tooltip-left,.bs-tooltip-auto[x-placement^="left"]{padding:0 0.4rem}.bs-tooltip-left .arrow,.bs-tooltip-auto[x-placement^="left"] .arrow{right:0;width:0.4rem;height:0.8rem}.bs-tooltip-left .arrow::before,.bs-tooltip-auto[x-placement^="left"] .arrow::before{left:0;border-width:0.4rem 0 0.4rem 0.4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:0.25rem 0.5rem;color:#fff;text-align:center;background-color:#000;border-radius:0.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:"Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:0.765625rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,0.2);border-radius:0.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:0.5rem;margin:0 0.3rem}.popover .arrow::before,.popover .arrow::after{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-top,.bs-popover-auto[x-placement^="top"]{margin-bottom:0.5rem}.bs-popover-top .arrow,.bs-popover-auto[x-placement^="top"] .arrow{bottom:calc((0.5rem + 1px) * -1)}.bs-popover-top .arrow::before,.bs-popover-auto[x-placement^="top"] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-auto[x-placement^="top"] .arrow::after{border-width:0.5rem 0.5rem 0}.bs-popover-top .arrow::before,.bs-popover-auto[x-placement^="top"] .arrow::before{bottom:0;border-top-color:rgba(0,0,0,0.25)}.bs-popover-top .arrow::after,.bs-popover-auto[x-placement^="top"] .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-right,.bs-popover-auto[x-placement^="right"]{margin-left:0.5rem}.bs-popover-right .arrow,.bs-popover-auto[x-placement^="right"] .arrow{left:calc((0.5rem + 1px) * -1);width:0.5rem;height:1rem;margin:0.3rem 0}.bs-popover-right .arrow::before,.bs-popover-auto[x-placement^="right"] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-auto[x-placement^="right"] .arrow::after{border-width:0.5rem 0.5rem 0.5rem 0}.bs-popover-right .arrow::before,.bs-popover-auto[x-placement^="right"] .arrow::before{left:0;border-right-color:rgba(0,0,0,0.25)}.bs-popover-right .arrow::after,.bs-popover-auto[x-placement^="right"] .arrow::after{left:1px;border-right-color:#fff}.bs-popover-bottom,.bs-popover-auto[x-placement^="bottom"]{margin-top:0.5rem}.bs-popover-bottom .arrow,.bs-popover-auto[x-placement^="bottom"] .arrow{top:calc((0.5rem + 1px) * -1)}.bs-popover-bottom .arrow::before,.bs-popover-auto[x-placement^="bottom"] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-auto[x-placement^="bottom"] .arrow::after{border-width:0 0.5rem 0.5rem 0.5rem}.bs-popover-bottom .arrow::before,.bs-popover-auto[x-placement^="bottom"] .arrow::before{top:0;border-bottom-color:rgba(0,0,0,0.25)}.bs-popover-bottom .arrow::after,.bs-popover-auto[x-placement^="bottom"] .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-bottom .popover-header::before,.bs-popover-auto[x-placement^="bottom"] .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-0.5rem;content:"";border-bottom:1px solid #F8F5F0}.bs-popover-left,.bs-popover-auto[x-placement^="left"]{margin-right:0.5rem}.bs-popover-left .arrow,.bs-popover-auto[x-placement^="left"] .arrow{right:calc((0.5rem + 1px) * -1);width:0.5rem;height:1rem;margin:0.3rem 0}.bs-popover-left .arrow::before,.bs-popover-auto[x-placement^="left"] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-auto[x-placement^="left"] .arrow::after{border-width:0.5rem 0 0.5rem 0.5rem}.bs-popover-left .arrow::before,.bs-popover-auto[x-placement^="left"] .arrow::before{right:0;border-left-color:rgba(0,0,0,0.25)}.bs-popover-left .arrow::after,.bs-popover-auto[x-placement^="left"] .arrow::after{right:1px;border-left-color:#fff}.popover-header{padding:0.5rem 0.75rem;margin-bottom:0;font-size:0.875rem;color:inherit;background-color:#F8F5F0;border-bottom:1px solid #f0e9df;border-top-left-radius:calc(0.3rem - 1px);border-top-right-radius:calc(0.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:0.5rem 0.75rem;color:#3E3F3A}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-item{position:relative;display:none;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-item.active,.carousel-item-next,.carousel-item-prev{display:block;-webkit-transition:-webkit-transform 0.6s ease;transition:-webkit-transform 0.6s ease;transition:transform 0.6s ease;transition:transform 0.6s ease, -webkit-transform 0.6s ease}@media screen and (prefers-reduced-motion: reduce){.carousel-item.active,.carousel-item-next,.carousel-item-prev{-webkit-transition:none;transition:none}}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translateX(0);transform:translateX(0)}@supports (-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.carousel-item-next,.active.carousel-item-right{-webkit-transform:translateX(100%);transform:translateX(100%)}@supports (-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d){.carousel-item-next,.active.carousel-item-right{-webkit-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0)}}.carousel-item-prev,.active.carousel-item-left{-webkit-transform:translateX(-100%);transform:translateX(-100%)}@supports (-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d){.carousel-item-prev,.active.carousel-item-left{-webkit-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0)}}.carousel-fade .carousel-item{opacity:0;-webkit-transition-duration:.6s;transition-duration:.6s;-webkit-transition-property:opacity;transition-property:opacity}.carousel-fade .carousel-item.active,.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right{opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0}.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active,.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev{-webkit-transform:translateX(0);transform:translateX(0)}@supports (-webkit-transform-style: preserve-3d) or (transform-style: preserve-3d){.carousel-fade .carousel-item-next,.carousel-fade .carousel-item-prev,.carousel-fade .carousel-item.active,.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-prev{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}}.carousel-control-prev,.carousel-control-next{position:absolute;top:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:0.5}.carousel-control-prev:hover,.carousel-control-prev:focus,.carousel-control-next:hover,.carousel-control-next:focus{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-prev-icon,.carousel-control-next-icon{display:inline-block;width:20px;height:20px;background:transparent no-repeat center center;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;-webkit-box-flex:0;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:rgba(255,255,255,0.5)}.carousel-indicators li::before{position:absolute;top:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators li::after{position:absolute;bottom:-10px;left:0;display:inline-block;width:100%;height:10px;content:""}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline !important}.align-top{vertical-align:top !important}.align-middle{vertical-align:middle !important}.align-bottom{vertical-align:bottom !important}.align-text-bottom{vertical-align:text-bottom !important}.align-text-top{vertical-align:text-top !important}.bg-primary{background-color:#325D88 !important}a.bg-primary:hover,a.bg-primary:focus,button.bg-primary:hover,button.bg-primary:focus{background-color:#244463 !important}.bg-secondary{background-color:#8E8C84 !important}a.bg-secondary:hover,a.bg-secondary:focus,button.bg-secondary:hover,button.bg-secondary:focus{background-color:#74726b !important}.bg-success{background-color:#93C54B !important}a.bg-success:hover,a.bg-success:focus,button.bg-success:hover,button.bg-success:focus{background-color:#79a736 !important}.bg-info{background-color:#29ABE0 !important}a.bg-info:hover,a.bg-info:focus,button.bg-info:hover,button.bg-info:focus{background-color:#1b8dbb !important}.bg-warning{background-color:#F47C3C !important}a.bg-warning:hover,a.bg-warning:focus,button.bg-warning:hover,button.bg-warning:focus{background-color:#ef5c0e !important}.bg-danger{background-color:#d9534f !important}a.bg-danger:hover,a.bg-danger:focus,button.bg-danger:hover,button.bg-danger:focus{background-color:#c9302c !important}.bg-light{background-color:#F8F5F0 !important}a.bg-light:hover,a.bg-light:focus,button.bg-light:hover,button.bg-light:focus{background-color:#e8decd !important}.bg-dark{background-color:#3E3F3A !important}a.bg-dark:hover,a.bg-dark:focus,button.bg-dark:hover,button.bg-dark:focus{background-color:#242422 !important}.bg-white{background-color:#fff !important}.bg-transparent{background-color:transparent !important}.border{border:1px solid #DFD7CA !important}.border-top{border-top:1px solid #DFD7CA !important}.border-right{border-right:1px solid #DFD7CA !important}.border-bottom{border-bottom:1px solid #DFD7CA !important}.border-left{border-left:1px solid #DFD7CA !important}.border-0{border:0 !important}.border-top-0{border-top:0 !important}.border-right-0{border-right:0 !important}.border-bottom-0{border-bottom:0 !important}.border-left-0{border-left:0 !important}.border-primary{border-color:#325D88 !important}.border-secondary{border-color:#8E8C84 !important}.border-success{border-color:#93C54B !important}.border-info{border-color:#29ABE0 !important}.border-warning{border-color:#F47C3C !important}.border-danger{border-color:#d9534f !important}.border-light{border-color:#F8F5F0 !important}.border-dark{border-color:#3E3F3A !important}.border-white{border-color:#fff !important}.rounded{border-radius:0.25rem !important}.rounded-top{border-top-left-radius:0.25rem !important;border-top-right-radius:0.25rem !important}.rounded-right{border-top-right-radius:0.25rem !important;border-bottom-right-radius:0.25rem !important}.rounded-bottom{border-bottom-right-radius:0.25rem !important;border-bottom-left-radius:0.25rem !important}.rounded-left{border-top-left-radius:0.25rem !important;border-bottom-left-radius:0.25rem !important}.rounded-circle{border-radius:50% !important}.rounded-0{border-radius:0 !important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none !important}.d-inline{display:inline !important}.d-inline-block{display:inline-block !important}.d-block{display:block !important}.d-table{display:table !important}.d-table-row{display:table-row !important}.d-table-cell{display:table-cell !important}.d-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}@media (min-width: 576px){.d-sm-none{display:none !important}.d-sm-inline{display:inline !important}.d-sm-inline-block{display:inline-block !important}.d-sm-block{display:block !important}.d-sm-table{display:table !important}.d-sm-table-row{display:table-row !important}.d-sm-table-cell{display:table-cell !important}.d-sm-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-sm-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 768px){.d-md-none{display:none !important}.d-md-inline{display:inline !important}.d-md-inline-block{display:inline-block !important}.d-md-block{display:block !important}.d-md-table{display:table !important}.d-md-table-row{display:table-row !important}.d-md-table-cell{display:table-cell !important}.d-md-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-md-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 992px){.d-lg-none{display:none !important}.d-lg-inline{display:inline !important}.d-lg-inline-block{display:inline-block !important}.d-lg-block{display:block !important}.d-lg-table{display:table !important}.d-lg-table-row{display:table-row !important}.d-lg-table-cell{display:table-cell !important}.d-lg-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-lg-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media (min-width: 1200px){.d-xl-none{display:none !important}.d-xl-inline{display:inline !important}.d-xl-inline-block{display:inline-block !important}.d-xl-block{display:block !important}.d-xl-table{display:table !important}.d-xl-table-row{display:table-row !important}.d-xl-table-cell{display:table-cell !important}.d-xl-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-xl-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}@media print{.d-print-none{display:none !important}.d-print-inline{display:inline !important}.d-print-inline-block{display:inline-block !important}.d-print-block{display:block !important}.d-print-table{display:table !important}.d-print-table-row{display:table-row !important}.d-print-table-cell{display:table-cell !important}.d-print-flex{display:-webkit-box !important;display:-ms-flexbox !important;display:flex !important}.d-print-inline-flex{display:-webkit-inline-box !important;display:-ms-inline-flexbox !important;display:inline-flex !important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.8571428571%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}@media (min-width: 576px){.flex-sm-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-sm-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-sm-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-sm-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-sm-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-sm-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-sm-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-sm-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-sm-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-sm-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-sm-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-sm-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-sm-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-sm-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-sm-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-sm-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-sm-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-sm-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-sm-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-sm-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-sm-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-sm-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-sm-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-sm-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-sm-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-sm-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-sm-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-sm-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-sm-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-sm-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-sm-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-sm-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-sm-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 768px){.flex-md-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-md-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-md-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-md-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-md-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-md-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-md-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-md-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-md-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-md-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-md-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-md-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-md-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-md-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-md-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-md-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-md-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-md-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-md-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-md-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-md-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-md-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-md-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-md-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-md-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-md-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-md-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-md-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-md-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-md-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-md-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-md-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-md-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 992px){.flex-lg-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-lg-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-lg-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-lg-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-lg-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-lg-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-lg-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-lg-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-lg-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-lg-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-lg-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-lg-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-lg-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-lg-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-lg-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-lg-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-lg-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-lg-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-lg-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-lg-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-lg-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-lg-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-lg-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-lg-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-lg-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-lg-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-lg-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-lg-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-lg-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-lg-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-lg-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-lg-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-lg-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}@media (min-width: 1200px){.flex-xl-row{-webkit-box-orient:horizontal !important;-webkit-box-direction:normal !important;-ms-flex-direction:row !important;flex-direction:row !important}.flex-xl-column{-webkit-box-orient:vertical !important;-webkit-box-direction:normal !important;-ms-flex-direction:column !important;flex-direction:column !important}.flex-xl-row-reverse{-webkit-box-orient:horizontal !important;-webkit-box-direction:reverse !important;-ms-flex-direction:row-reverse !important;flex-direction:row-reverse !important}.flex-xl-column-reverse{-webkit-box-orient:vertical !important;-webkit-box-direction:reverse !important;-ms-flex-direction:column-reverse !important;flex-direction:column-reverse !important}.flex-xl-wrap{-ms-flex-wrap:wrap !important;flex-wrap:wrap !important}.flex-xl-nowrap{-ms-flex-wrap:nowrap !important;flex-wrap:nowrap !important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse !important;flex-wrap:wrap-reverse !important}.flex-xl-fill{-webkit-box-flex:1 !important;-ms-flex:1 1 auto !important;flex:1 1 auto !important}.flex-xl-grow-0{-webkit-box-flex:0 !important;-ms-flex-positive:0 !important;flex-grow:0 !important}.flex-xl-grow-1{-webkit-box-flex:1 !important;-ms-flex-positive:1 !important;flex-grow:1 !important}.flex-xl-shrink-0{-ms-flex-negative:0 !important;flex-shrink:0 !important}.flex-xl-shrink-1{-ms-flex-negative:1 !important;flex-shrink:1 !important}.justify-content-xl-start{-webkit-box-pack:start !important;-ms-flex-pack:start !important;justify-content:flex-start !important}.justify-content-xl-end{-webkit-box-pack:end !important;-ms-flex-pack:end !important;justify-content:flex-end !important}.justify-content-xl-center{-webkit-box-pack:center !important;-ms-flex-pack:center !important;justify-content:center !important}.justify-content-xl-between{-webkit-box-pack:justify !important;-ms-flex-pack:justify !important;justify-content:space-between !important}.justify-content-xl-around{-ms-flex-pack:distribute !important;justify-content:space-around !important}.align-items-xl-start{-webkit-box-align:start !important;-ms-flex-align:start !important;align-items:flex-start !important}.align-items-xl-end{-webkit-box-align:end !important;-ms-flex-align:end !important;align-items:flex-end !important}.align-items-xl-center{-webkit-box-align:center !important;-ms-flex-align:center !important;align-items:center !important}.align-items-xl-baseline{-webkit-box-align:baseline !important;-ms-flex-align:baseline !important;align-items:baseline !important}.align-items-xl-stretch{-webkit-box-align:stretch !important;-ms-flex-align:stretch !important;align-items:stretch !important}.align-content-xl-start{-ms-flex-line-pack:start !important;align-content:flex-start !important}.align-content-xl-end{-ms-flex-line-pack:end !important;align-content:flex-end !important}.align-content-xl-center{-ms-flex-line-pack:center !important;align-content:center !important}.align-content-xl-between{-ms-flex-line-pack:justify !important;align-content:space-between !important}.align-content-xl-around{-ms-flex-line-pack:distribute !important;align-content:space-around !important}.align-content-xl-stretch{-ms-flex-line-pack:stretch !important;align-content:stretch !important}.align-self-xl-auto{-ms-flex-item-align:auto !important;align-self:auto !important}.align-self-xl-start{-ms-flex-item-align:start !important;align-self:flex-start !important}.align-self-xl-end{-ms-flex-item-align:end !important;align-self:flex-end !important}.align-self-xl-center{-ms-flex-item-align:center !important;align-self:center !important}.align-self-xl-baseline{-ms-flex-item-align:baseline !important;align-self:baseline !important}.align-self-xl-stretch{-ms-flex-item-align:stretch !important;align-self:stretch !important}}.float-left{float:left !important}.float-right{float:right !important}.float-none{float:none !important}@media (min-width: 576px){.float-sm-left{float:left !important}.float-sm-right{float:right !important}.float-sm-none{float:none !important}}@media (min-width: 768px){.float-md-left{float:left !important}.float-md-right{float:right !important}.float-md-none{float:none !important}}@media (min-width: 992px){.float-lg-left{float:left !important}.float-lg-right{float:right !important}.float-lg-none{float:none !important}}@media (min-width: 1200px){.float-xl-left{float:left !important}.float-xl-right{float:right !important}.float-xl-none{float:none !important}}.position-static{position:static !important}.position-relative{position:relative !important}.position-absolute{position:absolute !important}.position-fixed{position:fixed !important}.position-sticky{position:-webkit-sticky !important;position:sticky !important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports (position: -webkit-sticky) or (position: sticky){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{-webkit-box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important;box-shadow:0 0.125rem 0.25rem rgba(0,0,0,0.075) !important}.shadow{-webkit-box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important;box-shadow:0 0.5rem 1rem rgba(0,0,0,0.15) !important}.shadow-lg{-webkit-box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important;box-shadow:0 1rem 3rem rgba(0,0,0,0.175) !important}.shadow-none{-webkit-box-shadow:none !important;box-shadow:none !important}.w-25{width:25% !important}.w-50{width:50% !important}.w-75{width:75% !important}.w-100{width:100% !important}.w-auto{width:auto !important}.h-25{height:25% !important}.h-50{height:50% !important}.h-75{height:75% !important}.h-100{height:100% !important}.h-auto{height:auto !important}.mw-100{max-width:100% !important}.mh-100{max-height:100% !important}.m-0{margin:0 !important}.mt-0,.my-0{margin-top:0 !important}.mr-0,.mx-0{margin-right:0 !important}.mb-0,.my-0{margin-bottom:0 !important}.ml-0,.mx-0{margin-left:0 !important}.m-1{margin:0.25rem !important}.mt-1,.my-1{margin-top:0.25rem !important}.mr-1,.mx-1{margin-right:0.25rem !important}.mb-1,.my-1{margin-bottom:0.25rem !important}.ml-1,.mx-1{margin-left:0.25rem !important}.m-2{margin:0.5rem !important}.mt-2,.my-2{margin-top:0.5rem !important}.mr-2,.mx-2{margin-right:0.5rem !important}.mb-2,.my-2{margin-bottom:0.5rem !important}.ml-2,.mx-2{margin-left:0.5rem !important}.m-3{margin:1rem !important}.mt-3,.my-3{margin-top:1rem !important}.mr-3,.mx-3{margin-right:1rem !important}.mb-3,.my-3{margin-bottom:1rem !important}.ml-3,.mx-3{margin-left:1rem !important}.m-4{margin:1.5rem !important}.mt-4,.my-4{margin-top:1.5rem !important}.mr-4,.mx-4{margin-right:1.5rem !important}.mb-4,.my-4{margin-bottom:1.5rem !important}.ml-4,.mx-4{margin-left:1.5rem !important}.m-5{margin:3rem !important}.mt-5,.my-5{margin-top:3rem !important}.mr-5,.mx-5{margin-right:3rem !important}.mb-5,.my-5{margin-bottom:3rem !important}.ml-5,.mx-5{margin-left:3rem !important}.p-0{padding:0 !important}.pt-0,.py-0{padding-top:0 !important}.pr-0,.px-0{padding-right:0 !important}.pb-0,.py-0{padding-bottom:0 !important}.pl-0,.px-0{padding-left:0 !important}.p-1{padding:0.25rem !important}.pt-1,.py-1{padding-top:0.25rem !important}.pr-1,.px-1{padding-right:0.25rem !important}.pb-1,.py-1{padding-bottom:0.25rem !important}.pl-1,.px-1{padding-left:0.25rem !important}.p-2{padding:0.5rem !important}.pt-2,.py-2{padding-top:0.5rem !important}.pr-2,.px-2{padding-right:0.5rem !important}.pb-2,.py-2{padding-bottom:0.5rem !important}.pl-2,.px-2{padding-left:0.5rem !important}.p-3{padding:1rem !important}.pt-3,.py-3{padding-top:1rem !important}.pr-3,.px-3{padding-right:1rem !important}.pb-3,.py-3{padding-bottom:1rem !important}.pl-3,.px-3{padding-left:1rem !important}.p-4{padding:1.5rem !important}.pt-4,.py-4{padding-top:1.5rem !important}.pr-4,.px-4{padding-right:1.5rem !important}.pb-4,.py-4{padding-bottom:1.5rem !important}.pl-4,.px-4{padding-left:1.5rem !important}.p-5{padding:3rem !important}.pt-5,.py-5{padding-top:3rem !important}.pr-5,.px-5{padding-right:3rem !important}.pb-5,.py-5{padding-bottom:3rem !important}.pl-5,.px-5{padding-left:3rem !important}.m-auto{margin:auto !important}.mt-auto,.my-auto{margin-top:auto !important}.mr-auto,.mx-auto{margin-right:auto !important}.mb-auto,.my-auto{margin-bottom:auto !important}.ml-auto,.mx-auto{margin-left:auto !important}@media (min-width: 576px){.m-sm-0{margin:0 !important}.mt-sm-0,.my-sm-0{margin-top:0 !important}.mr-sm-0,.mx-sm-0{margin-right:0 !important}.mb-sm-0,.my-sm-0{margin-bottom:0 !important}.ml-sm-0,.mx-sm-0{margin-left:0 !important}.m-sm-1{margin:0.25rem !important}.mt-sm-1,.my-sm-1{margin-top:0.25rem !important}.mr-sm-1,.mx-sm-1{margin-right:0.25rem !important}.mb-sm-1,.my-sm-1{margin-bottom:0.25rem !important}.ml-sm-1,.mx-sm-1{margin-left:0.25rem !important}.m-sm-2{margin:0.5rem !important}.mt-sm-2,.my-sm-2{margin-top:0.5rem !important}.mr-sm-2,.mx-sm-2{margin-right:0.5rem !important}.mb-sm-2,.my-sm-2{margin-bottom:0.5rem !important}.ml-sm-2,.mx-sm-2{margin-left:0.5rem !important}.m-sm-3{margin:1rem !important}.mt-sm-3,.my-sm-3{margin-top:1rem !important}.mr-sm-3,.mx-sm-3{margin-right:1rem !important}.mb-sm-3,.my-sm-3{margin-bottom:1rem !important}.ml-sm-3,.mx-sm-3{margin-left:1rem !important}.m-sm-4{margin:1.5rem !important}.mt-sm-4,.my-sm-4{margin-top:1.5rem !important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem !important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem !important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem !important}.m-sm-5{margin:3rem !important}.mt-sm-5,.my-sm-5{margin-top:3rem !important}.mr-sm-5,.mx-sm-5{margin-right:3rem !important}.mb-sm-5,.my-sm-5{margin-bottom:3rem !important}.ml-sm-5,.mx-sm-5{margin-left:3rem !important}.p-sm-0{padding:0 !important}.pt-sm-0,.py-sm-0{padding-top:0 !important}.pr-sm-0,.px-sm-0{padding-right:0 !important}.pb-sm-0,.py-sm-0{padding-bottom:0 !important}.pl-sm-0,.px-sm-0{padding-left:0 !important}.p-sm-1{padding:0.25rem !important}.pt-sm-1,.py-sm-1{padding-top:0.25rem !important}.pr-sm-1,.px-sm-1{padding-right:0.25rem !important}.pb-sm-1,.py-sm-1{padding-bottom:0.25rem !important}.pl-sm-1,.px-sm-1{padding-left:0.25rem !important}.p-sm-2{padding:0.5rem !important}.pt-sm-2,.py-sm-2{padding-top:0.5rem !important}.pr-sm-2,.px-sm-2{padding-right:0.5rem !important}.pb-sm-2,.py-sm-2{padding-bottom:0.5rem !important}.pl-sm-2,.px-sm-2{padding-left:0.5rem !important}.p-sm-3{padding:1rem !important}.pt-sm-3,.py-sm-3{padding-top:1rem !important}.pr-sm-3,.px-sm-3{padding-right:1rem !important}.pb-sm-3,.py-sm-3{padding-bottom:1rem !important}.pl-sm-3,.px-sm-3{padding-left:1rem !important}.p-sm-4{padding:1.5rem !important}.pt-sm-4,.py-sm-4{padding-top:1.5rem !important}.pr-sm-4,.px-sm-4{padding-right:1.5rem !important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem !important}.pl-sm-4,.px-sm-4{padding-left:1.5rem !important}.p-sm-5{padding:3rem !important}.pt-sm-5,.py-sm-5{padding-top:3rem !important}.pr-sm-5,.px-sm-5{padding-right:3rem !important}.pb-sm-5,.py-sm-5{padding-bottom:3rem !important}.pl-sm-5,.px-sm-5{padding-left:3rem !important}.m-sm-auto{margin:auto !important}.mt-sm-auto,.my-sm-auto{margin-top:auto !important}.mr-sm-auto,.mx-sm-auto{margin-right:auto !important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto !important}.ml-sm-auto,.mx-sm-auto{margin-left:auto !important}}@media (min-width: 768px){.m-md-0{margin:0 !important}.mt-md-0,.my-md-0{margin-top:0 !important}.mr-md-0,.mx-md-0{margin-right:0 !important}.mb-md-0,.my-md-0{margin-bottom:0 !important}.ml-md-0,.mx-md-0{margin-left:0 !important}.m-md-1{margin:0.25rem !important}.mt-md-1,.my-md-1{margin-top:0.25rem !important}.mr-md-1,.mx-md-1{margin-right:0.25rem !important}.mb-md-1,.my-md-1{margin-bottom:0.25rem !important}.ml-md-1,.mx-md-1{margin-left:0.25rem !important}.m-md-2{margin:0.5rem !important}.mt-md-2,.my-md-2{margin-top:0.5rem !important}.mr-md-2,.mx-md-2{margin-right:0.5rem !important}.mb-md-2,.my-md-2{margin-bottom:0.5rem !important}.ml-md-2,.mx-md-2{margin-left:0.5rem !important}.m-md-3{margin:1rem !important}.mt-md-3,.my-md-3{margin-top:1rem !important}.mr-md-3,.mx-md-3{margin-right:1rem !important}.mb-md-3,.my-md-3{margin-bottom:1rem !important}.ml-md-3,.mx-md-3{margin-left:1rem !important}.m-md-4{margin:1.5rem !important}.mt-md-4,.my-md-4{margin-top:1.5rem !important}.mr-md-4,.mx-md-4{margin-right:1.5rem !important}.mb-md-4,.my-md-4{margin-bottom:1.5rem !important}.ml-md-4,.mx-md-4{margin-left:1.5rem !important}.m-md-5{margin:3rem !important}.mt-md-5,.my-md-5{margin-top:3rem !important}.mr-md-5,.mx-md-5{margin-right:3rem !important}.mb-md-5,.my-md-5{margin-bottom:3rem !important}.ml-md-5,.mx-md-5{margin-left:3rem !important}.p-md-0{padding:0 !important}.pt-md-0,.py-md-0{padding-top:0 !important}.pr-md-0,.px-md-0{padding-right:0 !important}.pb-md-0,.py-md-0{padding-bottom:0 !important}.pl-md-0,.px-md-0{padding-left:0 !important}.p-md-1{padding:0.25rem !important}.pt-md-1,.py-md-1{padding-top:0.25rem !important}.pr-md-1,.px-md-1{padding-right:0.25rem !important}.pb-md-1,.py-md-1{padding-bottom:0.25rem !important}.pl-md-1,.px-md-1{padding-left:0.25rem !important}.p-md-2{padding:0.5rem !important}.pt-md-2,.py-md-2{padding-top:0.5rem !important}.pr-md-2,.px-md-2{padding-right:0.5rem !important}.pb-md-2,.py-md-2{padding-bottom:0.5rem !important}.pl-md-2,.px-md-2{padding-left:0.5rem !important}.p-md-3{padding:1rem !important}.pt-md-3,.py-md-3{padding-top:1rem !important}.pr-md-3,.px-md-3{padding-right:1rem !important}.pb-md-3,.py-md-3{padding-bottom:1rem !important}.pl-md-3,.px-md-3{padding-left:1rem !important}.p-md-4{padding:1.5rem !important}.pt-md-4,.py-md-4{padding-top:1.5rem !important}.pr-md-4,.px-md-4{padding-right:1.5rem !important}.pb-md-4,.py-md-4{padding-bottom:1.5rem !important}.pl-md-4,.px-md-4{padding-left:1.5rem !important}.p-md-5{padding:3rem !important}.pt-md-5,.py-md-5{padding-top:3rem !important}.pr-md-5,.px-md-5{padding-right:3rem !important}.pb-md-5,.py-md-5{padding-bottom:3rem !important}.pl-md-5,.px-md-5{padding-left:3rem !important}.m-md-auto{margin:auto !important}.mt-md-auto,.my-md-auto{margin-top:auto !important}.mr-md-auto,.mx-md-auto{margin-right:auto !important}.mb-md-auto,.my-md-auto{margin-bottom:auto !important}.ml-md-auto,.mx-md-auto{margin-left:auto !important}}@media (min-width: 992px){.m-lg-0{margin:0 !important}.mt-lg-0,.my-lg-0{margin-top:0 !important}.mr-lg-0,.mx-lg-0{margin-right:0 !important}.mb-lg-0,.my-lg-0{margin-bottom:0 !important}.ml-lg-0,.mx-lg-0{margin-left:0 !important}.m-lg-1{margin:0.25rem !important}.mt-lg-1,.my-lg-1{margin-top:0.25rem !important}.mr-lg-1,.mx-lg-1{margin-right:0.25rem !important}.mb-lg-1,.my-lg-1{margin-bottom:0.25rem !important}.ml-lg-1,.mx-lg-1{margin-left:0.25rem !important}.m-lg-2{margin:0.5rem !important}.mt-lg-2,.my-lg-2{margin-top:0.5rem !important}.mr-lg-2,.mx-lg-2{margin-right:0.5rem !important}.mb-lg-2,.my-lg-2{margin-bottom:0.5rem !important}.ml-lg-2,.mx-lg-2{margin-left:0.5rem !important}.m-lg-3{margin:1rem !important}.mt-lg-3,.my-lg-3{margin-top:1rem !important}.mr-lg-3,.mx-lg-3{margin-right:1rem !important}.mb-lg-3,.my-lg-3{margin-bottom:1rem !important}.ml-lg-3,.mx-lg-3{margin-left:1rem !important}.m-lg-4{margin:1.5rem !important}.mt-lg-4,.my-lg-4{margin-top:1.5rem !important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem !important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem !important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem !important}.m-lg-5{margin:3rem !important}.mt-lg-5,.my-lg-5{margin-top:3rem !important}.mr-lg-5,.mx-lg-5{margin-right:3rem !important}.mb-lg-5,.my-lg-5{margin-bottom:3rem !important}.ml-lg-5,.mx-lg-5{margin-left:3rem !important}.p-lg-0{padding:0 !important}.pt-lg-0,.py-lg-0{padding-top:0 !important}.pr-lg-0,.px-lg-0{padding-right:0 !important}.pb-lg-0,.py-lg-0{padding-bottom:0 !important}.pl-lg-0,.px-lg-0{padding-left:0 !important}.p-lg-1{padding:0.25rem !important}.pt-lg-1,.py-lg-1{padding-top:0.25rem !important}.pr-lg-1,.px-lg-1{padding-right:0.25rem !important}.pb-lg-1,.py-lg-1{padding-bottom:0.25rem !important}.pl-lg-1,.px-lg-1{padding-left:0.25rem !important}.p-lg-2{padding:0.5rem !important}.pt-lg-2,.py-lg-2{padding-top:0.5rem !important}.pr-lg-2,.px-lg-2{padding-right:0.5rem !important}.pb-lg-2,.py-lg-2{padding-bottom:0.5rem !important}.pl-lg-2,.px-lg-2{padding-left:0.5rem !important}.p-lg-3{padding:1rem !important}.pt-lg-3,.py-lg-3{padding-top:1rem !important}.pr-lg-3,.px-lg-3{padding-right:1rem !important}.pb-lg-3,.py-lg-3{padding-bottom:1rem !important}.pl-lg-3,.px-lg-3{padding-left:1rem !important}.p-lg-4{padding:1.5rem !important}.pt-lg-4,.py-lg-4{padding-top:1.5rem !important}.pr-lg-4,.px-lg-4{padding-right:1.5rem !important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem !important}.pl-lg-4,.px-lg-4{padding-left:1.5rem !important}.p-lg-5{padding:3rem !important}.pt-lg-5,.py-lg-5{padding-top:3rem !important}.pr-lg-5,.px-lg-5{padding-right:3rem !important}.pb-lg-5,.py-lg-5{padding-bottom:3rem !important}.pl-lg-5,.px-lg-5{padding-left:3rem !important}.m-lg-auto{margin:auto !important}.mt-lg-auto,.my-lg-auto{margin-top:auto !important}.mr-lg-auto,.mx-lg-auto{margin-right:auto !important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto !important}.ml-lg-auto,.mx-lg-auto{margin-left:auto !important}}@media (min-width: 1200px){.m-xl-0{margin:0 !important}.mt-xl-0,.my-xl-0{margin-top:0 !important}.mr-xl-0,.mx-xl-0{margin-right:0 !important}.mb-xl-0,.my-xl-0{margin-bottom:0 !important}.ml-xl-0,.mx-xl-0{margin-left:0 !important}.m-xl-1{margin:0.25rem !important}.mt-xl-1,.my-xl-1{margin-top:0.25rem !important}.mr-xl-1,.mx-xl-1{margin-right:0.25rem !important}.mb-xl-1,.my-xl-1{margin-bottom:0.25rem !important}.ml-xl-1,.mx-xl-1{margin-left:0.25rem !important}.m-xl-2{margin:0.5rem !important}.mt-xl-2,.my-xl-2{margin-top:0.5rem !important}.mr-xl-2,.mx-xl-2{margin-right:0.5rem !important}.mb-xl-2,.my-xl-2{margin-bottom:0.5rem !important}.ml-xl-2,.mx-xl-2{margin-left:0.5rem !important}.m-xl-3{margin:1rem !important}.mt-xl-3,.my-xl-3{margin-top:1rem !important}.mr-xl-3,.mx-xl-3{margin-right:1rem !important}.mb-xl-3,.my-xl-3{margin-bottom:1rem !important}.ml-xl-3,.mx-xl-3{margin-left:1rem !important}.m-xl-4{margin:1.5rem !important}.mt-xl-4,.my-xl-4{margin-top:1.5rem !important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem !important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem !important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem !important}.m-xl-5{margin:3rem !important}.mt-xl-5,.my-xl-5{margin-top:3rem !important}.mr-xl-5,.mx-xl-5{margin-right:3rem !important}.mb-xl-5,.my-xl-5{margin-bottom:3rem !important}.ml-xl-5,.mx-xl-5{margin-left:3rem !important}.p-xl-0{padding:0 !important}.pt-xl-0,.py-xl-0{padding-top:0 !important}.pr-xl-0,.px-xl-0{padding-right:0 !important}.pb-xl-0,.py-xl-0{padding-bottom:0 !important}.pl-xl-0,.px-xl-0{padding-left:0 !important}.p-xl-1{padding:0.25rem !important}.pt-xl-1,.py-xl-1{padding-top:0.25rem !important}.pr-xl-1,.px-xl-1{padding-right:0.25rem !important}.pb-xl-1,.py-xl-1{padding-bottom:0.25rem !important}.pl-xl-1,.px-xl-1{padding-left:0.25rem !important}.p-xl-2{padding:0.5rem !important}.pt-xl-2,.py-xl-2{padding-top:0.5rem !important}.pr-xl-2,.px-xl-2{padding-right:0.5rem !important}.pb-xl-2,.py-xl-2{padding-bottom:0.5rem !important}.pl-xl-2,.px-xl-2{padding-left:0.5rem !important}.p-xl-3{padding:1rem !important}.pt-xl-3,.py-xl-3{padding-top:1rem !important}.pr-xl-3,.px-xl-3{padding-right:1rem !important}.pb-xl-3,.py-xl-3{padding-bottom:1rem !important}.pl-xl-3,.px-xl-3{padding-left:1rem !important}.p-xl-4{padding:1.5rem !important}.pt-xl-4,.py-xl-4{padding-top:1.5rem !important}.pr-xl-4,.px-xl-4{padding-right:1.5rem !important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem !important}.pl-xl-4,.px-xl-4{padding-left:1.5rem !important}.p-xl-5{padding:3rem !important}.pt-xl-5,.py-xl-5{padding-top:3rem !important}.pr-xl-5,.px-xl-5{padding-right:3rem !important}.pb-xl-5,.py-xl-5{padding-bottom:3rem !important}.pl-xl-5,.px-xl-5{padding-left:3rem !important}.m-xl-auto{margin:auto !important}.mt-xl-auto,.my-xl-auto{margin-top:auto !important}.mr-xl-auto,.mx-xl-auto{margin-right:auto !important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto !important}.ml-xl-auto,.mx-xl-auto{margin-left:auto !important}}.text-monospace{font-family:SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}.text-justify{text-align:justify !important}.text-nowrap{white-space:nowrap !important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}@media (min-width: 576px){.text-sm-left{text-align:left !important}.text-sm-right{text-align:right !important}.text-sm-center{text-align:center !important}}@media (min-width: 768px){.text-md-left{text-align:left !important}.text-md-right{text-align:right !important}.text-md-center{text-align:center !important}}@media (min-width: 992px){.text-lg-left{text-align:left !important}.text-lg-right{text-align:right !important}.text-lg-center{text-align:center !important}}@media (min-width: 1200px){.text-xl-left{text-align:left !important}.text-xl-right{text-align:right !important}.text-xl-center{text-align:center !important}}.text-lowercase{text-transform:lowercase !important}.text-uppercase{text-transform:uppercase !important}.text-capitalize{text-transform:capitalize !important}.font-weight-light{font-weight:300 !important}.font-weight-normal{font-weight:400 !important}.font-weight-bold{font-weight:700 !important}.font-italic{font-style:italic !important}.text-white{color:#fff !important}.text-primary{color:#325D88 !important}a.text-primary:hover,a.text-primary:focus{color:#244463 !important}.text-secondary{color:#8E8C84 !important}a.text-secondary:hover,a.text-secondary:focus{color:#74726b !important}.text-success{color:#93C54B !important}a.text-success:hover,a.text-success:focus{color:#79a736 !important}.text-info{color:#29ABE0 !important}a.text-info:hover,a.text-info:focus{color:#1b8dbb !important}.text-warning{color:#F47C3C !important}a.text-warning:hover,a.text-warning:focus{color:#ef5c0e !important}.text-danger{color:#d9534f !important}a.text-danger:hover,a.text-danger:focus{color:#c9302c !important}.text-light{color:#F8F5F0 !important}a.text-light:hover,a.text-light:focus{color:#e8decd !important}.text-dark{color:#3E3F3A !important}a.text-dark:hover,a.text-dark:focus{color:#242422 !important}.text-body{color:#3E3F3A !important}.text-muted{color:#8E8C84 !important}.text-black-50{color:rgba(0,0,0,0.5) !important}.text-white-50{color:rgba(255,255,255,0.5) !important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.visible{visibility:visible !important}.invisible{visibility:hidden !important}@media print{*,*::before,*::after{text-shadow:none !important;-webkit-box-shadow:none !important;box-shadow:none !important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap !important}pre,blockquote{border:1px solid #98978B;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px !important}.container{min-width:992px !important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse !important}.table td,.table th{background-color:#fff !important}.table-bordered th,.table-bordered td{border:1px solid #DFD7CA !important}.table-dark{color:inherit}.table-dark th,.table-dark td,.table-dark thead th,.table-dark tbody+tbody{border-color:#DFD7CA}.table .thead-dark th{color:inherit;border-color:#DFD7CA}}.bg-primary{background-color:#3E3F3A !important}.bg-dark{background-color:#8E8C84 !important}.bg-light{background-color:#F8F5F0 !important}.sandstone,.navbar .nav-link,.btn,.nav-tabs .nav-link,.nav-pills .nav-link,.breadcrumb,.pagination,.dropdown-menu .dropdown-item,.tooltip{font-size:11px;line-height:22px;font-weight:500;text-transform:uppercase}.navbar-form input,.navbar-form .form-control{border:none}.btn:hover{border-color:transparent}.btn-success,.btn-warning{color:#fff}.table .thead-dark th{background-color:#3E3F3A}.nav-tabs .nav-link{background-color:#F8F5F0;border-color:#DFD7CA}.nav-tabs .nav-link,.nav-tabs .nav-link:hover,.nav-tabs .nav-link:focus{color:#8E8C84}.nav-tabs .nav-link.disabled,.nav-tabs .nav-link.disabled:hover,.nav-tabs .nav-link.disabled:focus{background-color:#F8F5F0;border-color:#DFD7CA;color:#DFD7CA}.nav-pills .nav-link{border:1px solid transparent;color:#8E8C84}.nav-pills .nav-link.active,.nav-pills .nav-link:hover,.nav-pills .nav-link:focus{background-color:#F8F5F0;border-color:#DFD7CA}.nav-pills .nav-link.disabled,.nav-pills .nav-link.disabled:hover{background-color:transparent;border-color:transparent;color:#DFD7CA}.breadcrumb{border:1px solid #DFD7CA}.pagination a:hover{text-decoration:none}.alert{color:#fff}.alert a,.alert .alert-link{color:#fff;text-decoration:underline}.alert-primary,.alert-primary>th,.alert-primary>td{background-color:#325D88}.alert-secondary,.alert-secondary>th,.alert-secondary>td{background-color:#8E8C84}.alert-success,.alert-success>th,.alert-success>td{background-color:#93C54B}.alert-info,.alert-info>th,.alert-info>td{background-color:#29ABE0}.alert-danger,.alert-danger>th,.alert-danger>td{background-color:#d9534f}.alert-warning,.alert-warning>th,.alert-warning>td{background-color:#F47C3C}.alert-dark,.alert-dark>th,.alert-dark>td{background-color:#3E3F3A}.alert-light,.alert-light>th,.alert-light>td{background-color:#F8F5F0}.alert-light,.alert-light a:not(.btn),.alert-light .alert-link{color:#3E3F3A}.badge-success,.badge-warning{color:#fff}.close{color:#DFD7CA;opacity:1}.close:hover{color:#b9a78a} diff --git a/static/favicon.ico b/static/favicon.ico deleted file mode 100644 index fa348ae29af26317737d1dccba35568a86926456..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 zcmeHNYiv|S6rKu3MFhmCF}|uXKw?xBqsDg#e-!y4E$<0S#9<3{r(}mzPh1Oq0hRsmDe>i z)xgc$S734Gdk*wdlb?cSdoypd);vL%e(Q-SrB9iEQPp8iQ(0RK^G$E^aeY{702>z#>-CW zdE?f9B(u4DUze-kMnkzKeWbA`WETISq_lIt0P&iZ^0ZP%zh|8P4b~l*#OtE7K2+q_ z5#8|ytta1};7hb&u^sz&Y_Lmp2~AFUQuXfruBDNQ?y>L*O&42iu$MZLVilBPbz&0{?S=2Yo6RrE^j(I zL!ohnKhaj!UW75*@9_%%_~FKp1J?A|5I)-1m-0{B6xmV7XbSB*Upi zPWewu357{J9|IfiQ{-pO-w_`1ud!ZN_=!0Zxmx}-e&RoU*E7n#OJG=;8}0}GcGy-h zAIz2=f-TRRnj2wC@{?`&H#F5M`_H`6oqU{X{c~sh4oq8LXdi1VjOKl-^6y*m#P`mk@1iO*jNN{(fB3h~|K?+}1bd#FE^N@`Pqtyp@!33WJo-h4bOM1j5{&XgCNB-jy?&D`p zI(MqmLetyudD5etuh1E?%j$OW`vTKj@M&UShc;9v=!1E1?-vL^JHL$QTFv+6+g(yZOj!{p@0 z6~B?J4^#0TP^+KmyPnluqejJd1M(|t(P`C@4^iexWjZIj@{q5kzVQ|mT{A=S*_C*A zIS~5_QTjVrvQ4v_W94Z|8#Qk_lNVme(xlU>%r8r6)0eCG<^ITjaT$HT-=x2w^yd%! zXRhWb{Ddq#!7s*=SDFN)5X>N~}rQ)4%>bzwB0#;(vv^opSSl7j_qr-JLId^dNMC=_BwtW@`}NGG9hDUxhwd;!uXY@W~&x_pjZ%Z z%ir7hDaJ&^%cuvDbmpgk#ZR#`w2n}`kk&(YXcRx>O#WBvN+A9GuS(iov=)}4FP>=h z?7uhUPxgmmm+Bg;@!qB-R!JU%uurspJHs#2P+7+2OZ;lS@;hO-+&qoz*NYr`AmS(6 zNOC8vl;nr*XO`?AjM&@XKge`c_LuzWd!<+`W8qS`TKBI546>~!Dl&lfY$SVU@+Z4X zadaZpT5rJC6LUC?FZD;*|B-Qb@o&#z0Qf?`r<`5YE`Ew1q&r@bCMQ3EYho|I;V0St zRWMf#pTE=hP4|z^sQk0<(l}(etzeJ{g1csugD4G@f9W21)BJU zjyaP*#Z?wn<+Vxc^QZaL{%ZnORnq~#FaxE~)Kf44{YDK5j8 z_D2zvPJ#Aws}7Cj*q!N*4msYbAL?1J9@Ul0G~>O!yJr~R26 z7p_-6Sz&@aOA;iW{t=dCe*_T;JrwLT28wIbqt&WESQ5j}Mycmkx1lSj*aK_Kkq-R} zIjM8BwO98+@8fVhuJj?=w5(wv5Sh?ZlTLlk)#4efyYu{c!8r}iX;24z zs{?p!>{?F6^ diff --git a/static/images/s-bfls.jpg b/static/images/s-bfls.jpg deleted file mode 100644 index 47ee02420e55cdd3fe83a74b50d5a54185af7118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 96715 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

TlS0b#1QIjrpqLT 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 diff --git a/static/images/subhash-sarin-w.jpg b/static/images/subhash-sarin-w.jpg deleted file mode 100644 index 1eeb010a8d42ea55b82f9da68101af0bff6d9b86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83519 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 z�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�rM@0xHAKcv(UXu)D_R{2ws|#+ zR9R1WzQ&k9K9;*Bu(d4@hxtf|nrqB>l4sL?^`>)Ru=hL~!pGSwR7 zuC|q>ryeCqe(m!drX0`U{-MkIE*+wsl1_&(UC{d=t<@AnTBe4;MeZq9+G zr;ch{lr(Fp;odRbyX|X^V0U#U$)_dVLIkoaTz9J-)48b*Ucf>#< z&|eoEHCjUgIo8NV)d3ZjNf_l?+R0Kd#j0~~(5tkX`V7fUAh=Y$vvRcin1?TFRk)V2 z@09E8cdU45hvp+LDA-okFu33gbPyl9qa#cumAKo`oCpF2^=LAXzjpzQSoCrvnE3E6frcWPr;9iZ?0Uzd0#RWJDnVV`r=VP72+| zwCcd#ME)J8yjy^8l^8_Us>T4e_!IN<6k##)ose=+>ST^kVlDGp!d?BE9aQ%waUCwU z4F}K^{{C8b_?dl#ke&P;G%&Dc*XoT!2zgg8jV=;<2H|*h)SM1%5e9MTHzl>%J2sa$>x_^6mtY)94}395OqU zgCljgStN^Yn=zoaqvLtB=y_lZSUbfrq^n6R_$2Et7))+IE%Vr1{Mdl;+unAE;gp|O zK>=ilq(u6I1zZ)-mp(H+S2>mC7M7kjael4;{iEXb{UG$2%2^j9t>Fqogl8m@!r&K% zYvsrpX=9w@+SOMef!!+j^AAL05+HM6o`9UL?dW^B*Q8Q&$h!a?Lh#sM(jFUlzab(z zS^8NhYE_rJS4fCZrrrxU9R%k**u^@}+$Kq+i5o3@g9JMX2j+%15J9h5FW`g?yxD~@<{!Y7vYJQshR;o;88 z6N3bOG)#60b>iOodQr^A7@g&atTj*@N*N#Ch6=ay4c_rhR!duQscIFOi}?4-C*h7@6s%_g4T(X$;WJRx;kBjBOlReFm$mW zrrG#*b0n80MgUkFwg07&z}2>#yJDu~Scuu@GSn1biSK?a)$12_Vz)_adie`DQH_;` zQ%}%Xn(@n2dE%#Gw@0a2#Wt&t=dBEOmBSLPC`%O_VbpN7`) z34q^_stMvfs$wdz#9&GwK3k{3Bs2zBg`YH*vW}lkpVORm^XcTPFy7L|{Mx5yMD}^s z_uePOwvu!k2A}^@CVZ;UKyr5cyS(xrXd&a4?#VUxA;B^0zBAfZZu4`rOxHSCZkeoF zlCb@jM77Z3!KGouc}Z)&*!PQfB#6KS->g!2Ynl75spywR61tws$+(lXhGm{`!d`73 zhujDPXz97;^6^1ed!}8pTPl6lHZ8zd=%tY0$_y#na=Ba8_u;`nAm<>Uzn zGb0gpS{7zo`W6@X=UXIWD!!0&_8xOH?F!G?{cUg?YrfW zySCn>biXhV;-Vsw>8PzS4%!?|W!q@fR+EJRpb*dP4*Z7zvmrc6hrbhy=x@Tl9y#r+V;yL#Z^~bktN!Te?L2ZH80iKCLtkaZmi2EwrvyU zAfeXcYvh3|S4e%FOXoMPKAvGc8)sZlgsf+H9YAn!F*@A=7K*&h+3uHrKdhlhj#wsn z$Z=6x$Zxh5ySRD)06-!O9#zwUhZd~x-Hv0CP@fX{_?x}Cp+jo?QF@}eevb@C47S` zV?b$wduh7m%vM*nqF?$cUz)nS2gmG@SUF1ClFIOwY#<+4kY=kLb;^c5oGWMUuZdWK zR+9HO{$%__BP}ZqxIQW!y|u2Ho8vL!zeSMj^ym778Mvm`MXIt)JF&>QOR}xri!shv zj^(|Dwc11C9b~v0$tE~C`S?$d+UFSDSWjG7>qezWj%G6dR4H^0AC2|+k!#;+>^h{s zku9Kv92&>fNonxMaG0iI?ADvk!pj>;mN~n3r&OUOobd;L>EG%+e%l|&oO6Dqe*WtK zt3M(fN-MhS#ANuSas%jKBj4VP_=SuVUfUeF^_TyJQ4^0uiP9%6A34-K_x=P`rl$Ea zpgnZ^p?(ihB*_&Jz3g;vxh;sPsiIakUSYlbkZAeES*iA*26S55ftxuWSY(Y1v3)9u z=wfIOvSFNtA2NLqCo)U`b3AjPBlVWs=sqEv8ErmeMA#b5jJCkx=0NLMI$cz#$yY*$ z7jWNi17$}CFPddPHJBhTE1>bekrwFHTaTDAm`3pfERUwo1v9&FnlhG>r@H?r6z2J*!jybl+;=!7)Q0NV;Rg@o` zt*q8VY_)DVh&|e1;ahE)hy^YKqiv==(|y1&1zs~TMtOYggI3Fh;5vK)Q*Vmhs#gD$ z$*{mVyMPlNd3wdU_Q>WbAIxr-f7N{`-rrF8JvAyNI4UfF#05cSDE*=548PY`UzKB- z^6sVK*8UC_F*$jScc3yoEq|xip5>cDhfA#C=E~VB-tP+c_%*MP zU1Zv3wq_4@m5~jw26^(Q6C@(%Nz}=f3JRRRJ=w-Ql|fpBBXG`~AB2fPBguyh;rTkD zeI~U^E*d$_X0d28!^e!vA_bM)kEY<9_*%JFC~cVsbATWXuP&DXcSi5GFdf28ZA}1Shz=4({$6Ttjdt1PC^R1PE@y-6c4Ky9Q?O0Jygc@VWw!1|TB54fy}= zh=_oz9x2FB z=UCPf7w8N=6&*}jJDJpSwRc$X-L=F))a>DM9}hV$xs*6NsIqZX!zcRYwTgcQ4t@nt za8u;;vj>r~_5SoENBk$%EAzOeh9@87)u>9|bkaMRfVU{&l`7-)xAHCnjnOsrr)!q! zvi6VCVoZcc#7`8LP<=W|-Z|M0bn$ zI;RWhqK6Pl4K7gD4Wn;N8B#l24w#sN@zsLdL**R7bTN36z8N_KuPSpe`TiP8Cu#LL2@I-Y)p%bE={Y7LH zHK!uga(fcDyqTmhSz6+xxjNGGCoj}XOrgkC50(74+zS(!@GI{;v$yi7-8|5=k<>W7 zm)v2P`Z{h?D+II=%^V>?h`r)t22aB1fPF4Nt~JoBCRFewyImh?hf zy$q#>!s^jpwAwMjvCI;mH<}Et*b6SE?5oaEH^67^qi2riH`h$JUtHvMId^BTfL4Yj ztFC`OM|xWa0i@>S6|aEA?Qic*=1JK$gm0OR{*=E^HX~dyBurgo{-be!X)B9Uiguf9 zr#HXW+B)iRPT2|_QGEq4i6Y!+T`z`ZYLnP@wO~ht8PCT{LuVLrNfP$xfb0R-r6hCV ze5b4LS(;f0-8Rb&=$1ZpsU5w1q~y(mxU`0Ze1_$~pcqml+qDKCs=1UfL%4?GQrwRv zNynRY{Z=BhoO%0Q#TjiF0WwD{ER6f$jU#Xt;odiwA`fNG5JT%Q)MV?V&;gWIR`Sr3 z^@^n6<;}@{vv_26gBf+5L~M~rq33|WYhc6oWoi8r84l%T|3<0gmk$v(BLn=r>>m0; zk;4x=|AZ=B;_JyEtV&IsS2OO*nplF(uYd(LiAO6j)R{`YwKmr?)2dxEV2Wf-VpyOT z$}T#r0su{ z!7)6+Lrt;9=TnA(W5u!Kpos+CFf=w3b~S(QqGMf09oZkvX==%!8y7`9+=DPES0}=; zRQZiy)BNk79lIUgarrMZF9sV|6JD0CM9AXl1UW6@CuPEsZasSBTB@UY6P*jpu9|R9 zL+UTzNISht)b=7Jf|i8xaxdyywwbaPvg2sm8@b#J7GG@Uzqe>v%|}p`4wl)sShK`b z2ryNWmO4p6F_@_y8aX!a2FsC*aomauOg*M^n(`EHlCJ;~PFB+mq0EFc*zKZ;7`b5HfcyNm zlCj}?$!6E7wHD@4!vTYI!ThoJcmRJ`q-cEC@5Y{?#Yv6Hm#LGVvj)l2wi4iScU*2J z0Qgz*ySw1IdvzYu&;qYPZsmdY!nA+&XS?Z&)RO;vZHMbGdry4JU|2`g+(jEErK`mPTbD;+B-E@*vM_y z5uNQm!i8`j^G+)k7~i59xEl)}%vyanCs_%e^X9AwIKsXlSPjA}T1s2-Pwa0R-J&FN!d*Gy!84iz_q$kSUSlG zZvG3`Hsg^$s}$KCnX#kTy2O`EO{-Z~{AKmal#2{Mfa4KZ;JE@GDLxuHI^M+{PTEwI zMySv*)9EL$GRFFv2RYsM03Knc@{V5dl=vrXA|n7iNgfMe_oXi(vsz2foWt;w=9Tv| zQ(jCpFwRCZ-da>FXcV@u7SyLf4JOglH$?M-{s_EhboOG~Mq^tfoB^B=*whWIrPU`2 zQBbxs)R#BQL#i=8mv_5>x-jcU+;Ax8$iHaUAdpai*MDZuJM_I=STd>#{q4qo^nC@W zSeX%>P5*E+LPKIl(j{Y^hEGRS1R<9H1B50}_zH<3I3*WNk|C~n%;(p(of4+jUiB6- zg;}YI_#Gt)o{RlS#yg8nY1GW@_{K5JlrVF<*&UwwnM=H>Y~?v{fEwb9*?2^R!6MF3 z%MAHl@P^>b6UABmJ`GEo_l&u)m&lE*r8X{fN`ZX3n*y0;z)>83*5@tJ*ys2LFXKmt>s6Vn)! zdEx!c%3X)WvE{Y(y`9&F&?^mdGCcRL)!w%{B4Uh4NQ`5HcR=0*XUlpH&}r9tl-( z32N_DLpZ&B=1MVMS1BQpSvJ&R7W+K+lHjqcEA)DvEP}&1Nj>{3asQx}DQ~=pO*-*M z)?g5w=(E_v(k;W}hP;_%InhY2hm_FDSN%ju|LwaFMI+IqQ|WlJaF0tel;WSG=7B{p0 zPP0l43mFDVpo>Ubgm|@m5yuhU-AatYSzyIXLr01L+-Qdt!-kM<%21ipl-^G^Te|c0 z*ueUsf|`O=t9Lm7%4;GLO3*{0#SKwP&{dg9#!rBKkd8~ifp={OAEy8~HJ86qJ#XgQ<6&-8b51>pM@?pM<(e^|J056QgK+t1 zr1N@`$F=2hzVYy&Q=cY$L>38s=~FU^87=&%VPS8P2GZ4KBsLEd1h@sc=1n7&vO8a< z=~y;=&F38QMct*E0S(Gqb>+okcIobm3&eB4669NVHZi&9JTwY}Jq z|75r^$chkBo3ru?sA?VW%>HchXLTPs4Lc|_MwB6MInK-s5w|GOY4l(+&$ud>{SAoc z+(sGHfxE>lsDGgjYAd(rb0Ns6q8)Hnxyv}uFq|uqxAf`#aZNlxx?>H$wgcP8-XJXw z9=O#l6P!$SkK&` zEMLmc<pVj*TQJfg*1WS_;mM9|avc_w6X?7{4pCsBeDPw-hdSlW zXV2nQtTeY+tghTes7V%!l6)I7+9wbAbxZx+I9m}q#f38xfa8JH$_1xc2v2Oj^GUpV zQK^VdXY?eMK96DMV+L2yMRr#cFQJbIjJmX_e;-Hcgz#Siu~6b7oW4qfK4^UmB5hG; zW9gCfrgpz7AQ0R1;UIsVf>wjs!$sc;R{i4Fvnm`?w@Fne%Bf^`Satu<>G?#)JYbd^Vq#t0AX;ka^NdqmBN#8R&S%wAmc;i z!5F=Eq^>L=?~E8~eo)%!vm3J}FV^vHh)DpC>1ilfV`FLah`C~6JV}>kPPFYLNDj?9!&HZ+|TAai*t!;Mdvt!@XL{w|nKy#{)7hhAF{Kda0 zDwI7=7%M^GgJxhj{z;YI1?KE4fGacXQaz)d=}xFun(m9TgJ+5eiu_<3OXXYstIN*f zah0qqy?`wC3A(|Suwwl8)Y)LIsMOGx?IN0@6e{r5A|R6leJiGkJ46-r*t;sVrYR?8 z&+*S;ch3Ff9+|gSoc#HYQPZaPhxm$%eo^MX2acHEy9twk*-p}l+KIVkZ^=))!xWnz zt}fP0g?q&A2Q+hJF0Y?;&Z8REwFF$Vkv8fL%k@x-e{VT?&0a@f=XLeThW@{#S3q@B z^HvF8lDk&|#Xwh7;8zMjAah+`1UjHM5`M3$c=vEPzs9WGQbON)Dn`lG_X^7S1r*u z+a&v03XDeVi0OLx0pPKNRm{}gSNUk57k!$fRN-B$pv*oL_fg6VpJk^5J=CLlAUqA%hrHq9nP zTlcSHvJJ1@bvJwhk(d zz(~X;#KOC89}e6HPtU0YW5C^XJ!$c;fXndb6+_AmwWc`dUCMhqoPVSb6dSHF(-*y|fA!4) zwB9mM1Utk1WCo)t-YOft?_cu-)?CI*mBD%IvV@?t3cNhnR;D!T*veWn?Aonb6j6lN>x|J&IEKyAP?su-9J)({IwKqNp!zuI4Cuw>ig?F%)QS6KZA8H1TT3_M@?1o z%!7;*-C!bKAfH3Zn_tG$*gmDHAL#W1uQis7#_bo$eeI^#p7O!F1&Nfct>Fs4{qw=B z`ouNZNq>`S-je1@nktmlv-d-!4218*gp4{)yP>QK#&-Sv<$@V?d3aKKDUkc@x_jQ! zdFm&dWd}qj^JYd$0xx)?(A{;_aU_+kafOhzLe)Y?tV0xecau=C&#DXP5b+OPqA{jL zxB6nz-BKqVhAZ+LO!{+=#gEjn03kkLs_Ncqz-_v8L5KXF;%{Il>o z!K#_u_z!LY)o)nx<-zo%ab;g;WkD{aK@#&Nodul{&@4@IL$$G@4npr1r4)^T8zNLMi?Ij6ob;(IT>ja{Pd%!K>O+Z&;Hv^H&+3EEgYnNmnyd@eb zKr>mf| zM25rst({9zl&D}xwHUqDdT{D`U^LxJbyI~Qoc6q(mSu|fEQ^TyfMqKecVa=Z6F~HO zYv?&L$!m>%m0kOrr;qKsVcg!7E8?q*%}*0y3q=#7XV_VYNt}6rMxj@8F-k#`Ae@saCWfvy^}j zhSiZCb}8bfAEL_T_pegGk%vGxEB(&~T-ZOx(F995&JsY9^}V!f&=bG5+3IEd#VGfOy(-kFKtbOh~S6s2hya?juB$d@k>b$jyi-^wzz{O z#$l@xNb#KOBG(l!pVEnp0+M@>6|N|^gJK9_K4r29Lo*}bGVUbEF*4fZQI;NSDt$a> z^MkVK=cuvGI?S3O;~-lo-4*ftv__6+$JJyh5~#P~vUGc9ua@)~#fdQJc~d$8*7hh0bG%eK|Ovkt5NwZLt-;kS^0p72J^h4?>T z4+Rlr$B_~h+_kzG7gyc=Eka;#2yHE#IC9(yZAE0kH!qP@R2`k zs2j9OAP-AOugy$a;E8Cj;P*b_6%f(tEmLfH8j%Z+>xF5<(9C#!0()kHuADzu>4`6EQ@)&Kaj{#%ZeM* z`O;!fW7Sh@8%+#uSZ^-CIsp*p7&=x$#ZR{&`jYctuT#htM6LL3^4ez^n& zlhKzssRz+|H@C@?r_g%GbSUoCpIg)1<2@pXr^ z8;;YGD*Kd+I12l$S^T-_6WsnMjG7x&qXmq+*Xw%eMm&dR!t4gj2w1ye;IRs*n8%UR&2~_ z+h5fT??6s=WDRpuy0oHe(Sm?>6Q&%Mz62X8{!~@Om`U+P3PlG58ek@9DJr<>IM(Rudi~(3gvbwLgSj~d^Q6PF8jrHCtpGil)46hd(A_M;}^AV znqV+FB2`Y3FLf#6XD-Qwkq`oQfI4UB0*^nA+DVp!q2fT*j5XqCfHt{?9AN-JG?K?| zdhh6JKIE%x&V`r5St_j7fmjJj5Tdxn9WMbB3wURTiF=Lm+?eG@?2R#Xa)#(3kAtsl zAlds0P=pWgpia6mvAa==h4|0Qtm%ist6wC6mm4@?Opl7 z&z*haV$tkeeJ{C!LAlRfCd&mY&A?9JcLFZC?NMQKM%f*z7uSQwJ(WpQva3KQK_n-x zx~Gal^Kyh^d9#!2c|R90zkt#SUSYc@*HaxyAy*!;wdKxcLKW(B?XRoi4Z@bqv~|w( zbz6_=>@;&g&@x7*|0hycJzLymNkA#$J)*ryZTPWvydMWcaQ-1#M0~Fh;SLjTh{vIS zJm-DR^$Yk`+?kg^qYqCO4>1~`Eqk8p|Bhchb@d+`Ritsat?aie#NDntX@{alQ|AX3 z!cXxwV9IhoCt|wTwuFtnx9GuFGT%XSS27kx#Qr@A3bd-tq+*!pNd3y>B+Zjzb!}lj zEfh}=qH?7>DN9sLlu%m6>*U^G8f`E6z(~E@=Vc<*WL18QtJBoFq(bRI%3=@zKFshen(fts5DhAUztw0{7One3g*It)yP}j%-Q!*+>?1WlPS=o^fS?>=udH?>!`I}>c_rh z^WwRM=Eli7@DVNrV)0P#9HN-#IBU2FTCe<#N23%pxNYXJs36`rXEOJ58LX1 z5uR?0?p?i#6I8g2uq=j0lLn;?G$fF7}a+{}xml+ViCSl&6*g6MJhJwWoi zd*NRJxA7D1Sz#lJ0T=JP9E z>}7)T^pg^MfL}Z};^b7?T2qRvOe>&ciIjqG7&n0blo!=uU1dV>*sxke2}5QnYVZVt zIy6iPeLSQttxI7pY3J2vsHW7UMu{B<$(MqN?BbY`fnxQsmTI4@bK zNh&NL6F<{y;iuoDjotky5~G&DXc_IEcp#JJ_WTp4N{TXsnH5+5-nWHb0@}PgEY^)* z%EO_J;pr~h?DYyr4Pl_md0tfvz3zUkdK8`iSZ))vhV=7gICLeOUykEf{e6!RYe(gHK3F* zNCciAb<)G$N!bC^BXZGnfcf8Q)%i!EulGEzp( zhsr;?tnwn4E144*Pvb*dzqQsyBi|@4Md1@q$0GQO=HeJzgYv;F)sg`OP=NdW?L9)U=x?Lr!H@mFMkyN=tyI4{L?Y)@0!OS zx#>PGbzO8pWLm6vB5**FMp;ZPYAjw zr!iOeWLSETeJ%hvY9Vg&hOKNtx=xE~e_h>!MpD;WCw(@O{(>@Q-33@ichn^jtqJK+ zR>XKDTeE)p)&hr2Tp~ER3OIMZC#WH8tOiPot1#)FwBFKFR^askle`X6tU;5w;h9uF z>1vCsP47s@F8XIDx*yb;dJ;pEHfkvMR@8}Sh8P`0tDA04wOLhK&LDpNaUZ|sL6p^~ zKcyke)WxR+4h=Kpy8rS+=zS%CjTZMr z9?LIw{W4BJ_9Eq@ONZou82tUy1CfoA%BD>o0r{k#yo5VupfaiJRHO z=yqpLG+Mh(8(nm=58RotxI1AYhY=|HU){DR)4%ck2^I?iwf=UYBHxzRTglZnLi{*Z zwRU+lQo;g$ae8$4$o9P{BYt61=$b7tum95%%ke~T4W(CYeGpYP#jnUCRu5xv`ktMi zF0231L40GqW{LwZq|xv~n!pM*Di?{$+2Z2Q^g9gqzE0?#fN`0E1BQaUN0eS26m8(Q zLiep&S8VCo^}^{2McX9-1plCQ*y&D4?IN&k?#+9&FIU|laA?PKN&kQvWBIv6BU%y9 z=yc&M?@^rm#+N%V*JSQm_z+#%@S2 zRFKs!#5yxrEl55gkSrms;0+U1_!#Ai`d?_P`LX2m0gI>KnB|Gud(LY7!%tK{DoQTa zdDAGFydU`D>~C%mP4peh^$oU}b)vNoh>1v`nf^x}82-G#hA9QZI(Y#i(7kv@zZLiv zSkv=(kkIY#+Pk#Q%6i7CVy>I;Lsmwbn3y4NlK1j$4jAu%Oq0qL!AKg7B!)B@pu{vCL?g+5K~T!UN( z_*~(q5<&{{9rwQ9Hi-_X0$2%d~IsE3$pCU9{>PhRt=40x-H2>4i} z0?!ZFqL zVre1nbF@Kgn=*mDk)9|CQ3oSKJ@pRw69VNibUEnd*XyR4p%uD_W-pL zoYr9}pG}`l&p3xs0xhX&6;cJV&qIgA{D-_htsLUfY*$MPcqc5qbe+QFe3=u>yPMDA ztpBzMtM~3Z%aIyVfM2|G=*!Ov4z7hFG@&ABJZvNU>W3TZ0glTQuo$^GNgFBo-yjsy z1!tCQV6SGbf$M7fwW}oAQ}o_rt@z4Y*NKxOnKR#sQ=?_&M1v_Loeh-cZOJu&b0-pg zpK#1`jaKAC*%`@ZS^uCZ>>E@^b&E)KR>o5@ zd(52~7@0j|q^{NcP?C#g?G5lj00V;35L6G1zG`+bATR*1E>$^S0UL`Tz6-Se??}+_ zG%ah{sN_%Nt@w~uF^R?Ysfc5uh+UuLeg1%-f*Nlv82Y!fuH;`Fc{HIB5HZ#WD?kF3 zt58AVPZrc@8sje3T*@f1jjFmP1K1s|%;5RB8M9T252PcWI8b|UB5j3IewnH9+aA+b z-^?JF+L9Hqc$ngXICn-x&;*ybiy{wjDR-@O13^fcF}VLD4WNNHMW-XtBwBpG%?(C8 zky41+bT&~Sm?_8kqD}RXR8Fje$B{88M9JgulkaFQO2JYhB$IJaDJMU4S=^$cwfQDt zE=t4QdRcL5(VKkZ2cALgy;S7zGw05}>9l201$*zGDLBFI36Xt)NmHJ$C6>({dSN;{ zV3~h}I}*b*dIHZ_g(>jpDZe0V#Vfg=WYxt!=`h_;km z@uD+YAY;{i@q!*Y-8aB`|2r!8a<RzZLL$u|}vZBKDCSPa?M_#9dc_JOqmW z3Q(VMoAh-2bM&MGlF>-P2i0FP>pxA#dN04BICQ?h%L*iWzp2X)nO4QH`gJvuJ#@Rf zZ72XBDy!^9hXC!=Z4g6-fNR|ZTlf29yIO#ir6d9(CRG6VS8=<-vtQ%cfaxrMEh+FIR26TNA=s9)Pz_ zvh_T=E1uEX+|CtN_W4d1-hwWxmc<{Rv}gnJ4Z-Mj=-KkkiNpx zK(K<;CBp2zmfa+Sw-V%$f#*5(5Tq3JF1OLca3>w0q zHnv#6krY!idRG*i%g2W0crx*!N|SEZ5BEx(gW4?Q0UJAlH;ZFh=T#TM7leZ1IDA`J zM`KV!^qWrNpCnAlV(9sMBt83|g%$&)8vlUxTm3y&^R6Aq@I7=CoM<^G)T9JCyS+{} z4o0Oq730}GL1$ivuK=2EwaCgFTxJGsaUWN1^(oNdNt1$LLk z)WVb2y%MO(rN1;<+BBob{8Nr*`C%YQK7xtKoX1c-p0pFE-^2{`H(g*G@X$w>RR-H6*?qHJ3g>wb zRDT6v#X@6CmZRR*!tVz4rjHqCEYr=8DndzCtbk-v;S*P^%g zv)1)tAfzT|a-i%_sEUO%m?ZxpZe$JEQOgHDE+Wle|T&XsPdHHDm z?DeN0Qet$8j`~@yg$ek>W2vAbaeH9bA(C^Wc#OoF;Sm4tJ ztcD6+pK{((1p3cr{@y6AZ9ePgIKH;9KrqTMh_FNjeT;n?L-`G0pmN4B?lu!GH}a}< zaQ@3y;HZ!nSJuGs)xB$KTBkljJ{FM86nlj$5a%e@vIg3T1fe25;Q) zW;LI=EmVy&3;%1m9Ct=Q#ieLP^Q{4}qaLj&O+U%jYONkG=JC=rdm7MZGuXa30myax&aK-A{2gY`O=obRg@!N@Y! zDZAjkXl>q-=}>KZUu3h)wl6}6{tolyJWsi0ZmaZi2{9K4mhM?E1$`+CaZ4u)e+IHH ziyZA03*?R`Q0vBYJT~KhJS1d4ec^RH`C(BGFOTGp0wdBuR5_3};qV2h*{B&%d2q(* zX>Dzs6NlQAn{25=zH5eomC1<=$gZglg=TP0jf!?+^x0hEow(a&rP`F4;jwWKGm(wq zVyzG6T7<95*%(a4`f# z9=ceZ6@MpV@gyv3u=T~KQ*&x3@8iGEYCiXElYV!DM|TMxm3OxD|K#0LwSA(CNHCcal4O@U$x=B-s)mkDPT5MNHKQ_muHwGU@^S-*m#!`?NHX?&2t8&n39NdDDI-9+G2GU;nsxqkX?4tg4%am4p6W*hn zDj?HpADP$gJCcda>TyP;A!(wYIy|xhtE$29i#3I0N3J<$_`1(Lp=~{*iOV3b?&d23M4yOxc4EV zM>6=M6`$VX3395jsyQ_1_}eSs!dU~UebGsEZl|~*F(T#@<_Qa2s;E~#IrdrkfbhE@489X!82lKx z&=}5=6XKyJExw^u=0?cV6Q=Y2Pv8Kn^XI$4qCjCHpsHf%kINEKZu8sh5YgL(i~_mh zHASK1E&Z)n3vFyste17shGeeshMyecrsFaDf4ypIV-x#RvHC+4pSud*+37W!t}#|g zGNz)KI^0onJ%V#)b)4`SSmXtJ+TiYk4xBp;8*ccnNA;@v`*&{g>U^kXC(nwV^$nBP z`&e3x0a09I{hN%B5Q&);nP{=)i`urX{&r=3@_SM2IZVf81E;gv1&T_E4~c=~JJin- zI~(_2=H?OxJHwjQnxAUeHf((7a#VQ)74MHQUOqfD9}CT$>8BD~Dc;{jZ_Gr2XE-Ov zf+f%%55SpMoG;%Vj|3|!PkK8(NBJC$QQALIchkk>9J)NWQSJ%hqmu$BhDWC871igX z)1Y`?HK9P*hW2U5D*!E9cG&KM@fA=Q{?dKWJuFo{jlriS5xv zeT9~8M2W=u3<>Z;+!zE~^syRN~A=U<} zz6ZA{;VF?J%fqF73qu_eKPqgtu`Ndf*QzT=j#xD%Kyz}P@NWYb z>%kXqHP{JuGxPZX8f>>`>ln+x<)I~v^}PlbdJ-oIAqZiYa{RLM#dnfH*A$pyS!fX| zny{fu@9@)qlB=Dz%R{7|+ninEBzmy3UR$McRE7MPKqv2)`-=s*vx(&NN`vZP*M`LU zCvkdCYcvF8O6>T>XD{R-6dlpdAKR`KnsidEHUi|E$+~WwCqqdktnEc5P9OVDF8dCL z-xnVr8c4Ei$OQ6kwi6m&2eP%v5z$_!>Bx>Gz85sD-&^_J5L+i{nYxRK2f>ZIqagY5 z7iCWu7RIr;8x&WTWM|0xi`x6Jfc3INW4fq$IqYUt2UdI2OsbD-y{EBUe^)(aWL5 z@<8Uf9#opq=v1w^y?-Cl-;*k)1R)Qf2|2oNfAFrzum+i6nWHFso?2i2EiHYLnjgw@ z6prv1(KMY^aLR!N&zL=dWrY8^yAe7?DvJ#^WLP|c#*PCic?BVT0U&~Z_X#cX}e zwJk&Gfr_%~?=uftV$0YU%1WR#a|KptlF+6Ky?0drj`Ji~O3`r%L5Fok_QEV4E~W-M zjG9>GTh<{=7Ivj_HTs%$Ab@K+wmjCFho%sNUR&qz2gsZX`ImAv5sm&~#^4k<)Vpnu z61AZ5qJ2rlRqebmp?D|V43fPv91d`ZB@|r{3CW*wPp4zq&=3yjozw7vpRCcbF{}Br zu>V>-Zwf=Li5epYqdht}Y&0nmON6rF8pP0So3CGrR%yyjol5_r66xe-V@C4U5l+SK zH^$^ zQIyfGAFCDNdM->dO~;GFh*;c*`>M(B^Xdlk@nS)k(xPrTRVoY9M|`ND*Sk%4EVO^? zW%Zi5F*B2j3Z<%(%m%p~860<92=U!O>o+$cL!s%|({PIKsv-NnJ53XnCO=Z{2TMX4 zTo~8ywdc>Bkw79qRgc8EH9_c)Yfm zX9^t;wk6g|b!oIe{buz)7ep(UXXTW>ct=nVzaE#KL8^YCt~MqlQUlW1e5+ldAJsmg z>v=voww!(^t6)Ke(0agen>UAti7Ch4Mxr1X$A7j8{&S7QV9zc9Zz}{{ptBn!qmmZI zJPLQLq{zB;bLdewFn>QsUTD`H8yl?ZQzbT@aKZ4xpWD)7rxvMMfErn00ur3=&!nG+It zhlX{%co|3feR&r*NE8-9RNP1(>2{GKh&B@&hBkqE^!r+eZF1_J?en*5rWsBncCNo> zdI$nkI-+;?p%-ONlYWwz?a|Guy*f6nNI~KKZptwg=rv}TBC(m2k$xEcAbq~?p)<0z zUBSj*8=E$s#HIei+Fk+pVXLF$sTQH+xTIyF3<$6!9Ik-dhdunS<$P41+gn@XaW0kI z3wp{(o~6mzvGhytJvXu1MID9R10jO2YDM^%8P<<2tR=m!Dt;{CD}Pm$-MHW;{N|@k zDz0+xveq4@#$be-vJhG-yoZ>6Os4%RIXz4c_XRv&JUy#Y0nRpC(M=z#`sqO1uOqjm zvbL2`d(n$DF!Szbe^OWDUt4I?&Son|9gum=)V#!-T%}azU#r$cRR3_Rs`WGT{%fpN zuMsD3xoOHOwJpQ-9X$|@#?5ksuLzVXL!&mww%D+C{QB*J{epgIE4bfX#n#{%%~5ZQ z`aA1TRiTvty%Hm<*ZK?XI@3wAAqn_X_7LZQwjyrv(eJlDBL%TPn|vzS*^5Yu<)%zW zrw+$9aoTBVG|V~=tcrNtJBg|l-P=bN4kjuMK~5*%|9XzDvwf~zdj;U-2QaRBn?>~* z)FQ=ngtK5Pr;U(D=(?@?GlUNE6gl|E1=bqt#bD?P6!PbSZS<4xITMSeM;U&?UG7zr z+9uCBKRT0gD1R6IM;~lxW5vw{D8vDrI z-+kE+AqWw;PWYV-PYPKsa&%v{Nc~`A6edjosEdqk;>fFA5dSFOL#I6{s?tJ|Av$E> zk2SpkCM?Xb5eejtbHir6fEu@p`On{cSS_?p)ewy+3u7|Bng<{A*woWv(-;&`Nl4Bg zG*;qFdyN}b8vfFe#}g(xs3AIEHj`=`_7s z2^?K;V8~`;wd{M^HRKY68`nmD2SY^I@S9q#HmPjvXfawLtP`&)PS3ea=KP}g{-W;PHPH^xG@SAkJ^B4RSqXw+Ejp#t+$@Ii^!VBJ0JD?B1CCmZ zVV%~}^-37C@7n&PvxrmIMbN+Ks-pq?`5zoj-U_(&aPUVHWq(`ZX!{1AUB{K)wszaF zJ3s7&7>g(Njq;(|Z`Eq; zWK^-V`~cZuM#%;`CfS3UyOS6=!69!jpHh%Y>MkpCA`+F$GnS{6Q%ZVON}+<+Q8qpW zLnGsbC0rnH@ZhFpC;;)&)F^#o6U~-uZz*AVE|QwW&NU>}TneMBO!r35WY4@R!`oC* zc5?svunS4$?2VA_;qy7T!&JF%V7IgX`Y2)`x@nvWI0fdnVVrwM<$P$&6dcRDx4O8I z)c0>^HpeqMQi_U)gAU$V;HKO-#0z8?m}v5n*jk04 z%pHypG&l;XboN)2@?4c8q{Vmve?2Lq9*BM4xfhtvu6%fFJ#v;4zbMBP6T5ih{TOcM zy_i(@=XEL;o4%GS)`hr9JdNH^--t_>jQge7!bDp%x_Zt2ir1WJ(MWYk?C*U3-0=R$ zpvFR)Iw^s=u7CQ6nMW%^BIVtz5CSuZMvgH*j4-Cdp7djcEINwsx!6vY(ktM1gWZuh ze?lOQ%*bHubdIl2Gbee|P6lYRYS~MFT5?Eh0c5TKO^V~;$K%(lWTj;!>}L{mx=ex# z10Qq9NxcgK~kUDky5q}WKax7IVNI`{CTbYE&$Nz3HE~*vE z>JE~;JtCoU)0?baKY z7Fx?CtJ0z!Dd*j8)K$E}Pu9d@ZKb2T5e;esDSenWW{Xvl;vBG*?UND$a3#<|t!^nF zd>O(N)`|Dxiek5>_3?h4iZ=Y-7L~1jV;W&&Wx=~>H!{WNP}hBehj5N6A(FoM5TW2qWq-tGp4NWXWyz`_^g1q3lk=YO$Z|Ez_UT zSaK)ZKYdsFs}GvXN*Ump1x2&-7HicEWh`d{+T^L_8=eJ z>be!uj^RC3C4)kf7d~CGL$UjkK{~f^j#Cm{tskjwu4IjW$JflC^#OtR143;o1QMY( z?N&dB^a|J$S`~8>f5RY<#Qy-wa6f%Q)1Aen+v>0}1`B3!+JT{RiJst+UaR zgbi+zG{yx^u*! z)s9sGvQE4gcv!PW<{hlaOg3`yH+aDJPafafRoJ)5$IJ(3 zS*^f3-@+DpSoj(0R%mQH(=(#0DN`!DaEu}Fc@jJJ3*M}=QR_t&iz{kt)@NlVjJ}%3 z%yz5GqA;TzvRS^F)A!t_>9?%lh(kG6<-~g2aEN}H1+aW%4P{l3T9R1rO5^yC%IXOp z3t>p(8t2E$g01~UGw-b205G*-C+Cju{{0fR7L97{@Hg5iqxoZ_WHL;Q!BxuRFU+VI z;t1@K)}sZuz7nD(dlS|u(8ChlAtoW056A_`C5mSrMxMDPs++UI!A|9FHCS#&xM`w{ zmS7b0vMRA7*ylb*HRLkVw&25Ng0^C$$}4@gQ}w38d+N1aWpOfo>s3p^l;JzEb+*pfo1#sPquXRn-(@T{uLa{ zWE$W1WNO8nkl+wP51Zx5?0Fse&_r}qA;8A{`2AHhNLqECtzgk6Y0H<4LzHa;@ z)+NeUR^qCJxXI$calztF54h9^lfG4*Nv%Kc>f3MkOop)p)@QF)%+N!*8T}}cP@oW! zz>+}6B0qm)tWiGkPU^u@c(WvH46hjG?73-C#xetNCn=1Oay)BJHnU4`wD#u`S|9%a zqXWMyax`O>e2yTo>?rotF^UgydDq;MtaCtC-yn*KkCkL$`M9)r&ym;7gWVn^W)}3F zqGhrO8&7%l@Ul`i=~wWzi0EAjYc<|Ga8?t-P!25Mu;LrCx%}Bt*0uit?D6+nABtz2 zcHDj@4b4n7v9C;maSi<@r0K`G94&Hgirh}z({Zj?5qj!_gVD+B?g z`3_k01_}QF^RAId$DMK?jqkZNcA7CsV&f5Iqfmx5ML#P_S%wt1jCYar2VEe5M6V64 zCS$Jg@9eo+TUFHE?$nO+$sK|g%-fcHq&4{ix7;S45djb2Ve}oGug(mcOC0-+iuvgTkyrnE1(jZbMOK-1o1~s zK(aA>tDrb6Rfo2>Sj$n~D`;o0437nChA|Y7rwk4N5DP9z0lOo|XHR|}{5uZm{{Uzk zR`}7#C#hL1O(l?B(<m-{$)5}f81~mScDT3y09}uL3hvB^~5{eOENmMHzQ>3ZSzR zdH{JRS}!rjQI&48H*Mi)SQVg&tlV|vuptAA_Bpx!l*q<=KR|WJP59{VpO zc8XFdmc6E(O_oU!mb@W5Z%6}`B*-vEFabK!skp#z+S}r*Rkq}jDU@eIL6=x~(jCyb6 zpyGNwNIi_5Z9l2EQ@OZI-xq33F;w{j5%Q#K^d8wh=e<^&$Hug^_KMAB%xVOJLSv2= zKhW*&N4Nl=(<54zfFQ1R)q9*=&soQwz!TY2$sfV)>rxH4+K%H3XoZLoOn`E3O^`pJ zf&MK0b)Ng|@b9%LQ>Kv3yUem9+5Z5B6%&Mkik_P&pnZ7{zORe%71&W$#V5OBdlIAx zNjT+If~mtCkXYccBOY~yv!>Cs{x9B>c(92*<%{ACl=S09J)&15AVv;JVn$q#eREZ- z1+8I;H|hIb{5K7$wI5Zwh!z6#a5lgeCPm^mk?4dJH<=1Hro(9OA~R9pU9d7Bptu4EE z**!F9DWX@cW=Vl9FjZhA?;|I}V+8g0*UG;e?7xVA7k(q!e+buB7K?Ngl#a3nWf75* z6!H)A5^?|oUT^apKy4|eCEIl~zdNs{{{Z4Y$Lrz)c$WsS%$dVr5<$FL+YvXD3+j6$ z7PsB1x!Y_!m8?+pQskqIHOoleqvsfAI8vbZf!;HnKX&ioeZTO1Yui29e-YgHqa7xZ z-dNJMk9b{{UzWLZ0aRU*Rh7#WZo2GG<~JI8+P)ap#*3 zgD4pTUtjzw_yh3o;Oa3}+G)tlnId~q8KfB`oD=zcpUMWZrBjHk;@7iC7MaQB2PHgh zKjXMYHmwTf?r{#%8UzD2bGA4H4d!Plt+hA%G-7*y4Yi&l6<|>@LHA>UpRgF#jV-Zi z-j>^2u{_eEqnQZDS-}7S-)CAHHRu5We8ZinlMsy_+B9laQKLqU5pi4P6`AY`wJN2B zkz|k5KnEpo*(3~%;P>~{Rkuo3#Jpt@OBQ`tWg%WH931}s{{3r9@p|2_w{H#ZMe!SQJnIi6oDWtmC9(3KW5^zvLF--g-V8$X>e3(* z?y9Nh*yR2tdMHzHoW_tz9&#T)D#olw5LlmYd=srLwJs*v6n8-QgauoRa_Af>C*1MI ze)>sc+plcA+ry@vOktZ_}ypXw!|RV=GuJM0R~Kg;gW- z5~nBF5%tqvmn#ZE?18blJ{;yV)0S55=v_APaw4SFVPlE#;AboL$UPsZ)1$!1AmAP+ z&;I~^+D_`lZ(^~DibpI3#EM5lk1YQH^VU=|yw*SVl%Nr;QAW(FK$0ReAy7|h8L|(* z6RnG(%ak@-eV0N8P5{r_S;(Kn?KO!{I&n7`A|P>sBzrFVbx8nz zmU)N%5+5LcoR1$&ST4Rl4+aeg6P$dGD<4!i9@d$1HawSi+Thtjvhx zK0_`Fx8J|hRwSrs1l+7I!>wa!t-oE|?6k%W!c=IglF+J>tO}zal#W-W{1Xx-j2x9EnU_mY5W4?xb`PVb}exC9+3p;h2X6E4@>hEvj$qJ}`bpxPTF~isv z!TRf|scg*8Uc!j3NApV}Md3v)@?P zUXZ-t;tYhT+jjo|hgd!a4hS%#hhz8ipT2eETXYcGNzv>c3d*s(rPX<3Bm>@h`su%I z8l53Vq84`RS=}SM6xLVa`7^}~#xXQ!^8=6S7|7S7Y}>5X^%1P%R1C8Tq~rk^2lI4C zom;s|$xK&^sjRod#r7;aKd{Nwto7+p4J?6SiB)+wla7b(euL|(K$5SizzhDBbZkj1 zPZff{69Wk40RCf)haYAgkKgI0I3bhND7?Vp8vw8e$j{SB)`oev1Gvr}49Dq520$fq zoXP%d_#e~z>dEgIt|e${&tcj#D;U`TMF#^Vn0Y=wL#YPWRT6Nca+6t}D==GnlgE@2 z#(~LG*<3eR$Or4HBHS%g0XK^45DZjXgz|;E=&IdlsxMh*{;63cjGv1o=l_s5-Xo#;DM7ttF39*f5VAlm#uEe^-wm z@2Y|Y)R0Y+fBtnA5zPq)(~>tBIm0U{{{V1xm1fbsC2F!!xfByjr<Q#bB ztHoB$`vpry9P_b{ZNCz`Ws3H$T{1EfB`}HFKqQoc2pAn?9>-pF zlY-ff5#HW?`6T^G7&W?fta^z9wOoK%)#hK7%l3sE3d63CUrlLmsbMCoX{4qYvWV+W zq=7y&$#MC~z))MI=;-Y%1c|!qEpZ{_TlKy(pY#Rn&qVF>HGfgI&|_;= zC6VK5&C4N>k(_5aU(42Xtm0bL>)PEt2&~A_7_BwDkCAfil^v;H1KgbH!Ebb{X|7pS zp3Qh8s?ei=BzNS;GGnp=t6&f6$G(=94Z=#5>+KiJn=PqhMV2OKnl#277Ci*{O8trN z&W1pc6f!q3ImzyRzUr$pHLc3!+Yr5~z&aVDB@jT(>8d7F0^yEG$;lpc#5H#q@7#{v zmyRg8y{i@E{%&}3%5oVBdF%^BOHu+X<@uQjv zTp7{LV;iu>0{;Mnk(_o5a?mt_OsF-Q=C!50Fi+o~*-+bsuRu*T&Js0}hRs^OgESE- z^;wC@3O&B86b_D&HBxE-{9Vn$uu^1t>|jd`E9Fq+<1DTL;yzNN#*m^Wefmjn+eu-N za*3J*^eeJBd063xBrFGc&RKf#t)$$o03;hlTJY1w*?lJB%*>7zgl7O{i0PXn&NW6m zRou3#N8petkay+ff#GezB19$kNhkg=i+cXu3#%*^7^{eY>6KWtgOLCO()XVA@;}9U ze(ASw$@r8ClI@X84ZC!5!c?#7{D9*GVSk)5V14z;?wgFezT)?$wYAM<5j`q=P8jk(%YH))fn1Q_cam|89cpcV zgf^YOV694=E3~hqu*(!GfDz1<3=TkSk=Qvt`PFD3nwHrdky(}1q;yze$(|)VeK%r2 z2c#@>j4#t&jG=kcKsYhPJM?I=Bd^I{$ zt#fyF>zApHk3?V&hI8jktXXD6v$K9 zBgoFQ5-hpjr2hb8Z#cj1W@hCpjo9s}EcRtDZc^qr7)WN%%t(k}FKRQEJ}@=z&3}5> zX18i3wLEi3(%Gu+s4KB-jyW8GaNj6zC$9rKvh^tMQ==Z=6b>yyU^CrSUUDp%3UCQl zKgI89Z<4dBW1g4hS7GQ zAoTR!+rj-E=)V_!A(bbdp4N8?(~^}R()3wR62Y9aVUS>qj>*Qjo%*lh{{X~tOHRk) z)~K`Dnir=ty^npB#GWxtDA*{AwYI`Nc^%A->1q) zzM;D9$-JZp)hSwQmIYzC*{)UEFr1Z@ecPrT0IkQoYbxA0sLd|>h0(zA$AzpO$P>8@ zBz;A^x^%+)8B$tX0#>C)yTh_sYKZnEaPr8~c??J)0V+Tsh8>J_HKDiN-}f>h{6Rm% zS2D*=A6-C6>?Cf@CPDepm~rAj#s)L1Xd4T=T1yR0snf9xjEyo%cq0^y$JgamU~)<9 z5HLoS++l}u{6}K6(pTA~Sk`zWuTaX(GRoMM`XGaqJr2V#EOXXvX{Sx0n_4kDcYLm@ zwFeW#Reew;*VP(`lP43ol4Askf}fa)C#$qro(s|BMJlASC3tNyXDU5D@!&3eXFhYS zTXn2$cOl*{?iTK>L~w#O!FlC88?1JK5yd{o?XCu=;+@i-<9?hwJ>SF7M^HyncoWyJ zGa2$F0f#XWCHle0C&yae-nR|OYF};Mw6*HowH1GbV95O{t4OE6ma{&_0pMosyKb?bfW5)u&on5=*x4n35)30;q^`R3-*; zy?M#+RYiAi{5g7UhijIl*lqKZ`Op%Th6DO!j--zb@&bEf+3z~W-E6`mslQJwZ@E}- zU1CLg^}{C^L@yR4FB4&ZV0JIyw{?TTlBuZ|_5JM1`izH=4h{2`hj-)@;fs6yJ-Pic$?YUfC zp2W1-BFwYdi5g2%NW7oCC@C0^h`_@!&U~G9--V^wHqC}B8?x4x;_!`SL=7Cwhz=tQ zkhtZ8qkg0D*YLegHmKnkII1WA0Be96K_q}jfQ>>7gU-O0F8=`j z&Spu!?Ba<_@?VV}c+%9edXFNk&J?qKc!8aD`sY6d)3;CXRXFbzY1}-m!GT|$%M4?$ z2ivcvx;=H%1TX@=Ym9cjBBQyJ_44`zXwjorT*%R*Mu?3XG-!z}#7Mhb@*+H?6u+k$ z<(mUIQJ*KgX?XQYetZiN=q|teqE@Ab+hzPeyF1BV%T|a?yNX1knvuvcD}l@$=jqWSP5%H5 z+Uwid_T9T`iFR}9Iy5hci4FXtV)i^ z$7lERs}g88-ImO7*GT1vlvH*EM<86QD<*pP1Z%i3OgLS6X0g#MCrtC{69atT7b{XI zB8H+@hBZi4cq#$VU!c^AA&kaUaVx~GI>s@LDYi{+TGA!|07K#-l*Gmo#aI9^es1!8 z^zIJ38w5)8Um%e(sH;-F8cSZRev~oz?>PICe4n}1Yq`;Tk=2gEys{o3MhgIOoEGp8 zUtLg;!@62~Ru|Q&88N_wo-T9qNJqbY4EuMh@7HNI#*VUqBt%OJsK5@rfCt|g)j>NU zAl#<(Y7k16YsWlCDRUr5=X%(ddx;t05|oNH1E8SypPRByo3&I~jTs~{S&O)*UnqV5 z08o4p@2riwQ(JYrcI?vEt!Z9ZR>9)2Dj%C5{!@%M=yfa3H~c}%dyI=oUx z7yuAD@NvjwXT4=ifCFQ`YofDU_m`81+S^-|htWK0?iM5h< z=ntvMI)JMCSu$yw=(R=GJktqP^-?ky^E= zWDGI_um}4d^;Nm78!1MUs#sy_JF;?EQ$LuGa(n^${WW~mYgqpP_Z6X({apb+-`h~F zTAeOY)=1)M8=EgYmN>vYocQsmGZ0W_LPlw>{B?RWMjC&JS>u{CD;q?=n75oT&N1(i z`!LFr@5)$mTCn9*o`bpbkEjZJ`{}bRDC-oG#*V`w3xy`(4>5U=c+_24%?7*3wCUr@!6TrP3T9&w#v?VF=XzBDqxrLDA$@gAa- z`7y#YKh`*sNgfF!8ZIiu6rz<^VNyXfw_0G1&H*d~AI#VQ9N~M%Sk_13&AGQIYVLKZ z?b1O0gT-n#I0}G${@$&Iqus%A@mp5w- z(Kh~M*km#l0O3?)^B-*ItohQ>8+YWI#24DVZhT+~6mD29L42@2PJifWmkC*VO#6ck2-|@2f0cdav;D)U$D-h)W}(QHAVhvNFeyfu(BLou;{Noj_>1 zJMof0yyXM3pl1Pr!OytysFAXe9g}p$ed3jwB8QxjO*)oHrCf3Ym$>V`3`c!|oo1}f z@wYckrZ=`4UQ!6iRGKpuPiM~-ADCqJeCVtEJJYU^$onLZ#?))cS!7cm5x}-a0B;=} z`)bX@ZJ^r(3J=FDGlq-Rmpse27EVJQ9zuE2*S4yl?YF^FtlL^c>PjOlEG({Fm$o2hvw{iFjYeoH!M^TSCG?gk zDyIpYl`uC3Pyz5sUdjCipliiXW2iQYl-G2YH5J*T9(v}?eSlKgKHR?e)L$y&Oa|Tz zbBuWHD?fBkQ+>S+WG^LzWe3tvP{^p50ggDvxKc?tY~va&(5fLNOg4Twc059X-KVd5zvzeNU$x$rG(e5yM!J}qk z#QJOx^#Cv%+pe_bVDj3qAip&S{UlgQ&eV>s8j+N@N$BO@|fc^;CY2_|651H5Ag0Gtqi zezmg&n_0ZKV~Ndj09XSaUoRrKB=_yCs%d3m+8}+l?Ppoc(@N+7%PW=ysp}+;h#di_ zEsLwM@($gT%ggCvyr`8vDn{Jqr6jP|NTjgPpo$p-o+=3#+s3j*h^oDJdFnc$ zR>?dim_+>Jeht#I68+>1WZ>itZOLMot7@g|#;dKil^RIFBMhzzf(UOI_v<=VTQzCy z*F-lq{mNUGkg$`2MH5Ich4Y+@u5sr-LDs183u-Pdkp}y1*i=_WmwTy3Sfh?;XPVWx zD#iSvDaeXv<(x0LImuuSKA5)m88-OhqReNJ$g?X}iCVv^oO?3kl#iJav49HzG6!1d zUQb5NijjUJiC|FeV$|66)k1hzU{%09kOov7YMsYxs@s;;OP!Ga01T?nUy8>%jAA|~ zq~=#Vm#}f(v8cnR<;v=zU4i4`2@rnfdS3pQgs`^e>We%skpQt~D6^Og#v^%LV;Kq< zan4C&*NihPmnvPY2I+1YYr`dLC?JUOL`5oD2|qC8BPSj+^g2Ooih>aZ?YZx4VuuSED#`UqO6(8Uyv{-Bzfz`nuK4! zMPp7J9Zw#gTzh*jFH*TY0`!9AyE3CgI@hkOsPM7i3W0<3`<}qgt%iT*%eJ${D#d0` zMk?*;*{{dTLb$=`fCuz6feZUOKj1tTb%2>nbm%NhDyiVc3v!;GWKj zEJ-EAxw%^{JdrGsGQ}b-NSl%5Kp!)L3ZU{jCsGgn1ya`!k;Bu*20Pm8&yQ#;MPS0B z?OA7@No*j4oR8NOjk^HzNAJEre1UB%b*$HfU#~5@Z6Hzc4AK7pEDVoX@D;n{a7Tg% zc+RsT+y>>mDtvu-l)Oi#W-LmO3 z;y>|ZpUn9jjz%(iI-?xoWEHh~En{KegP#rKJ|@>tu&Dct6D*YFk)#vOE0Dnd05uUI zU-1P1p1stZ4C#uM?CtlVH>REjhB+gKt$2jb3|**qWgQNb_nei<)-U2l-L~@qTD8MB zscF&(jD{MaN8 zyOum_Eh@FBxNzd2AcHpF@&0%f8j{f49(btlk=d{zK?Aaecx!V|#DFo7HJ7xys_+$TDsXYc z^c$GLB;;zw+eXIwe#K_ByIW(=9b_pXSc|Y?(mM87@@D+R4u&#x)aH^R-NJk-PiQT1 zE<0ObXVYoxAg1ISOvayyX4E##C0K^C_)-n6*8)DlTe;UUuJB5mr zC7}_k6+g%LMcRs+U+Aoq-GM^bCv)5xxRd|gU3>NH{~+2;IeBCfXKnW6Z7xuKj!DnbgY$fOUO3RvLe@?r?V2VGw2a#ft!L}Y_(m^F(c zQOTp>mq3{8u;Kvs)<)kAt>Rgp?&D>pp2dWtVnhhl9u@$4ML_0^21q_|b)gGZXzZ@( zJiCV7JaNTl?86ZmSLgr-kNL82Kp%Z&Mx1JML~30eUl2*A%Eo>jj&O4xdXq|$hTvjQ4mjnq zK*?{H7{vsk!RCg&~;c9}>NtnP4FatWCWZ?VYcwKNmjW><* zE!+TWyqBl}N9AxAfnEk*WHT0jupNHk!cCGhpt5iEt9ygvde)^t>T#AE>gjzGb&y@6>U zf)jgI+vv+*YTe+HCEO$Q@j%}>Icg>!jiuJcUM z!eNZT%s6Ic#u&N9- zAXt@D1pssaz#5*sACzZa>Z=rJ(W690jT$sWXwjoYUN_}9`fKI;Id?l(_A0oS~h3=K-VUY#p4$(al+pKZh+hg9U%O^VV3lQQ%!IvuMAbxIvAKzY7 zg?3qtRZ%6|EzV_)q5(`TBagq#gr11(cda^q3-AycOB&W>4H!Yic#)omx1D3(RG_x$ z2wT#$o~1;IOBJvVNMEO6TxX%*(_QXtL$_XI9$?ekmwdlFC()X&?<`XcCASX?j>jOM zG9RJ&au0$t@2T#F&+xfLL}z9pUx!b_`ic*B#&9)EGskQ33m}zW;84WGU~-h>o(6xU zaT)e5Mzp=PqhZ3uVD^@gs9jZAt361KLahf7BPscK;{#TXh$G0-HRDKkyK$yfWQ``^ zKPYUtBoC>;Cr@hOQ1n^pwV+mpOLM($OvzbK1W-F0u+r!^zyP&yqR{<_@OdUeFDgZ>dhL`0?ScK?e-eQC07iS!~|1Dd*I*<{{Vj@>Il_qdexI7QKcM^ zgT*G6ZV2b!7zE=zXUAIh=H4w#vL%Ttvky*VAO0+U=zgDL?q=-dGyA9f3Y|o{{U@Rc3rKab&{NNyMxYYK4}<{ zjF$7C)5eYG)?JFjKwU^sWc0_)>F4L-eUBbk(G3Pj!$rH_Xz`eVbs=kym=VaQf_u+n&w9$*_R2MOdj9~1=r-Xc zb#k^W${AWkj{xDu22K@zU!nS)ZEjX=*Q$xPh>gjdBm!V~0zP6`k8U9U0CA+Y$nE?L zk<_+eSlyT5?ZfIx17{^m2ONia2iy_oRdZTuNEd~xD%2E6)oBJg^Y8GsB8g&!VTl5y zY7_Hw3#}t8mfl;kD8Q0- z?0s;ng&(%IlgVk;4HlsS|vrR$@z>fHDE-eMvsUSI(z!hP<0>)vWwH z%OT|ChAO83kO@*r2eG8l>+TopTHGlk!#paLi(*K`gt2gO;kv*$_UqqOR}gM{@{qll zXJ_85*&dX<-3e^*Q62<%{jh&hbj+@ICWc+I^+RR{<0JPVP|8CL555TfH4D|o-M6&c zX!uyf>ot{%F#MAkbB51gVE)?nQ2S=tC724^v1P#Z=E5w5j4n!mIDy~|A`BHUARhbk zP=eD>UP?QiIUqB9 zG44=JENdIARG_6G4P98{7(EwY2_c7G0La#6=eZNGR!z!eREh~@mEG6Sv{61nTnrWZ zk_HGF#;U2jukh%%=&4G#61z&&?J~awj41VfL6(q)1IYlB-&(`tH&&I}I4YVxBwAy{ z->&!Q1+rmuJAKxJZ-Q9%xAd*3cv&5#l1UG=rGUXW@_GOePM%43!lj>UrXQCOg4=dF z$db%ILBP`j*mkcr8c(an=Pj(_bQ~0(N0~F z;$T^bZy|{TBk%g_aQg^cS_Y#(n|h6whw)prrM7Ls0T5Rf5*pH$Z1O5{PBHE5G569` zJ~U5d;;%yGR*;F95Q0gG87N39R1c62vT}3YnSv&+(bsyLRFK?efXP`Has?QY%5#zO z;Eq`DRaAnM+Yy_0o>|2(%VHT17~o~|{IwWR2W!@FLD0z|29|^(CR^_fHRF#E^C*Z#4!gyPJtNJ@hh&`U1F^R(5V2J z-n1SdlY-1;Qb#9W^5A&`#;>Ec$Z5qq^)|_pK0G6~o}87JA1G$Q$s-30GvDc}F@Rt! z>Q^T2*!unbPy1E6M|qxEsZgfsvy)cTZRmi^tCGNv<^p=i?BmD2ncXD#Yd~&Ld{Ms? zaIl0GM4cbyZbbZxmnXBFj2?%RglB||hKNFkFATZuVvJhpzG+(Gf3OJtGm zejlH0y*s_zO3ez|l^9BdVlshA97h41cbuPnSVWMq(pychn+?75(|7}G-cdX^DeTsp zbZH*V#)_({m33xS_-@RxNFUKj3QC2}NnTkb z3={JnvDed9A_bKi;z%zS-r!m}E+_Fn;#fA1#1wXYw`?vf*)T#4u5hX30hu9eB$zq* zLwvpGzO~bF+ii$izv60U)DlKumw<#ugYy8Rpv)Ptzzp?{wJCOZrM(Og(A#Ib5TDg| zfXNk6CS6blAOP9Hz$f1WOv@hOwKThpgs#=+nmFaF8gns2!+;9>K_oHxK^PqM&q|d> zz0P@%eV3ucaa=uGG^x^VmjGmwI*C1IErDsyOsB%sjkbeQQ#1m1RFui;0$E$Kf2fn6 z?sc2FSZc3wZOzt4Nmj)Q?=vJ4D&bTT0r|rcNXMKJt0mhOZ^EL6?O^S&!phaoqqo#I^Rgue>WIIWZ?D0>tqK_GJY*;GE=lf!I2K zZ`~T>7TPz8+p%0MkxHT#jOQ6VR3AQ6jQ#Xu#A)44YBdDZAQp>Qk_SoK%=jr^*gyRi z#ZA6xjhSVRPgZ%(L#qtFPlmub$DM4famNC{iajMzil?!}3<0dzUwy4Wt%|T(nlgDf zm(wzg=jA{S4i7+|Zv5$)Zy?&m+Q@7p@!%DL=aT{C_{X@{LqkR3aJ;y~N!?^`Hf>G4 z))cSQ9}6sK(K?r8mQIzN=L!Py$CJqWYgX1QZ#63)$r)=*Gu}oOKh=r-S6Pd;Zj#@* zG>b|Uv+5&9C^BV91#!TEk%Q#ty)^ag?eM|4OKM5xhA85;Lj1CzCzApFBo@wd`s+5y zB#^hMpaGYO}?bDu4yy^EZW6ARG?QA&ly-V+@e4+Vx;Hpy>d>7T({eQLWSINME20#}8L#1WYl&jFFq7{`vi^`E)Jb9DSD z_U*$gHunJ)6oniyuB_vc1og`xwtma*HQLvSVyhfuBq-tu?DeikIGnDqz|aFtxp%U# zcpCRcjZsQ8Xwjl0MvWRGG-%PHBUyXAA)-mJK0||_q1L9Txd+7U^H=4=)Iy=Lo;euOg$uI6MnXAvK!2rK$xuGnBm3$HcXixls+5Y$6My2*9DIf{7y@&| z_uts+TYaKrZMI5tLnT+5Xb}gc5paqoe0aj=ujCt zlp{!P5XEZEDw80RHj$)cKH*UR0Ip7-Jpz87Pta)ytV45s91r}%y?MDLcJ{|;_)cJvW-%iM4p8#oN8BF= z-;SHJS_^PA7NClFTLi}<bMvKlDjFc)Ec?1!RjCHDIj>So<7_Um`^N89hz>_Lfk4@*>>UBM`3stEY ztq6fxT*e|Kg+g)%e{$U)9Sut19~-x+K5P;{Xy5+;o}^+`ZVU^i^k~&~CyKRanszFS zjN`MPUk)L-y=k^+o^CK?LG;yOzJ%#imMO>F+ItT55 ze@$fRB2E^Jxd3HfAEgG;pAf`F90SxXl0t;+pL5oKQ>wO?c{VDH=<0nS2R@EG1N)3> zGHyB9W4B%@VVZt1K^27H;m<)xKI60dX^5kXYueU0!St%d&_4V@Kk7zSq9;79=U%5{=t!l_XD3o5azw_IWQ% z4tgUP)K<-UTdl!mgb6D~=_HGUbH@kf@#GIU)VC?3uJmP|MU586Y{vugHk^i7>{Usj zaU?RRWntmL86I?t*r+6y;YDp$lE2uxPy-@ z$Js}@{k2rPWKHQcH~0sQiRE529D{VqK?kGt_SLY}j;F6TsVves2Sad8CldW;fPAkL@2kw)q(Qw(73LtEdK2*{_HZ%%^hopeQux_&Lv4GA zz#WLyv-)7@8=Y{e0`lz2x4m!szZ_4U(Lrc~+qqC59c-0D@9nD(i6Wve}CTGgmzz~S3QFc@faM> z(22zaDiK)YCnqcC8TY}!(LUWqgaYMSF->V4M-$5BfpS8ENhiPc>scSkr$P!aEo(b_ z%)DlYihNHJL50tQAo2+~Y-7%K8a1GhQ;md_nI6v02qWu{BUx*c z1TLS0q!%>$dG{aeYfC&SEZbJ~a=ghRpjnUdnai^%97lpU_E!v@;WtWUo zTAo+@!SDl3*S0=TzQFaZ9N39m^xYuFd)vN?I@L)M(3D;6v^TjP$M+hDd=>#Z-L65`V;c`hlr#W7eLHc1X&!;zp6c zJVaxjJNGyp{f@7s<#THv)aTp3y2~{zRJiphL2yT2NScNsPMXG*w(N&k;Q>}jfyh@r;~y~p01*dOiI5iBiwJY9d-J}0NnC&9&9i^M zw?4u6RR5wCA00jtkK$zv(>S6kXwju2wb!E!4!17 zKm-$l-2&d)?Kew%Jl}{bZF|PiJd93Zvn+hz@~jImJq|z&5#)XK4cls#eZ}Bg5lHtR z;*eND{FjG`Tm{1vBjq?b_tzWvMw+gw44f}whw}9q!qeeg14Y~nOx#?VzxBAb0D_kR z>~C{i-X^xtZLyST780v(`MiNKg(QGfeqTSPoJth8SKK#;+mcnD5FvS&4IxxN%+5#y zz#0Dl2|C5x_r2nl?E=xCa>+2lF-tPaJ2xZr2GTlHq*^fY)PCv~r$S&tL?syOjv+dPWMilW?q(ODCw2 zlw%VIV%X`Mi0eI%0P96;$tj_-zSB#PbKpB!Ecv2U89b zRSW650TKD3<|+f)t9oySuv;cXu!DJe&8+yZfJ=o&9zunS6;%&hMQ2zOG1g!M-4H z1F?yi@q(uG?~j$(BeQw?EAhIr2f`S|$lkKJRieFT(YBT*pFSShNi0T%DrQp@oj8&O zZDHMs36EfCgeuDi_81h62CSo`X7qcr6+EIpB(uB^QyqN6ZIy2ZRtaaiU+yUORXgaT z>BmRVh2oa8R4T^DFZ_kyTw)CTn`=~1mocl?PCyqWUH@7!RUtx~dzC~?^D7Qw)vi0J zq-j&v7P~Uoxj~t_TdH(`wBWeW>~YG2C9UUa_syT-hlZ=khgA--WUHgUbLjLdWCc44 z=F7GntBC}R_rxEK)pYe6$z#3(T>P(==2|1wp_trf!$hbAK6CBT+ZFT%!hxT?_F|nk zx7zFXup5je*?L_zKFc+*^7B;0zl#vaSW5`%ZA18R_GAYvie0_$lvH(Pd+1e{9sbgHrhSJZ}l&u zv*}LNRs51AxflKof&>+~yw@D_lZ*zoHy2bZ6>_`byC;6G_0A(*>$4ifmEH(U^Qt~2 zFgcc$haDqT~p)8V%JF8nZV!%Efrrw~u{fVMjnyT449f477+ zh)-t%aG_FPyP9mE;~>ZV4roD9Ae!4q4l=yKLsSabgahVf5X8Y&`&EN80at0OM=6CX z6`Hxoh2{Ky7C@)%UbMkO`B;PtQZ{2=UadxH?;RbBzD;Rh5DvNN4-%3IX+Img=lI_0 zi3S3Zs!}O}!m_p|BDIlra3-ZVLMG{DUb&~UfBsp%t!hm_h3s71z7csC2sL|S@5<}` zKyu4#4QQ|*e2NPXk(Vlo9Ou1-I`nARt@z*KXQ{zq2iu@c(d?K2K@fPLHStJ%0goZO zu2)as3?vVTJtrix36^kJ5ac3@Vo)utkPdxFBGGHu>q*ah8K$Apr<#TM zSPc4maD`MH6Ok2utH7a6O*>OP6kxTz^TcRnGwe6@vO|?)168|L3%G`Tr-Nd;@5XZc z9jGgtD*k>+Y^Rxb^hFyLhP+VP;&X{c}Y&N0>L7Wh?ROyseqBvIfA=j&V7vyIT0 z_9ZJ3UCNeSQ5(dZrAB6~0SC7MMJC!>pQL3{)p?pNQ%PpTuk4SI->_q;l!x-KFv&N_ z=rK7FOQ`GO^+mc^*+Z&RPOuPu{m{E?Ve^!rNrTuodtBD`*Lr{dp6HtQ^+WV7`N1qu z9aN;t>#1iuX}oGDh7aEk#hlaO*2&PX-4;|42kM&8zDNE-PA|J{7m zkt6`I(m))5Evb{6ff}ZX1tpHlTi&F{+{Q5f2WYyuov6jeWUmZwWv(M{d(j-?Ha%DMp(^0!|FSSLyxz^sb~8Lt4H4*^XnF zDqLe@oAzWAs*I!a*c|wpsodbaUXRv`=O5!!Voh6XcruZl8<0$OBW5OiAo=kSXJqo2 zu2XQLm9w{1E2&TIgSnmrOpp-N81~I!JVED4dItf0d>w8q@J{ZZX z$Z&Vl=)etmi-=;)_wzBjaAyGg`s3nu_TwMH+udp=ME==YDnD%L^by!=YN){n7QH{# zSys4|0(9BZ;(q4%chg#Q&FW6AEfL3c9|=`pr9fhFISlcCeGgAZCHS%lV-3;_>FqYC zHSt@4CVHtvVR;yX9z%Oiq9T(SHDO<)b2gSTs!55&j+Tlh`jtYRH0o1Goga zpgm0LQZCJrd9l}*fcQwSG8H2xhyDZbQ&qEyiSxLp&XsV}uJ(xOj+F92b_5s}{U`Mb zf(Ue)-GCAKo9+JrzIm$zy24-JARB=J>P|S%Wv-o%BMP!q%W5(Yty!O?+}z#i&>E+4?d||>p)Jox=|e*~bxuliDW@f_;>`oZ zao1KyCHc_1op;^BcG7hb{aq$kO(M>dd&akdiGvCb^nzU44n4J?W2hY37xz&L2qdP` zXVfC=gIcB5VY8WTxeSe061Vlv=7_YfNL@Y?!9cDc+@q&8h8*)GJ)e7BiQNgGid(@6Y8}n9jd`(85Vl)1B%F3aXi>S3(?s#NGqc+c> z-v#6Impx&q^E%mz;@R9z7{sw|r<^ssocSllYW2GFMdtl7v|`{o$6vF1ofyALx)zq1Zog#Fy>RqpZijo$#)YSvo2vvFZb*a`V#> zMnb91i?&(CmaaUSf}8>TDxDYv-X{hoBe<+Ro^0rSpn)dd=jss#+Yw0d2vcLgK94*A z7ny?t#tY!tdW=lpN@?!0YcfRLotth;l`wIgOgdrZ&W37Nq>+EPJ6pB{^JH7-_3uuanvn1*rc4+&p@vGcioc(s`=zZ#>}-Y zDA-y?&8iPN7V>(4%8l>1M;7#oZeckYtGtCrNwA;a%HFGjATc@(LQzsxZ>y{?S7JGSK_*zBl9s@ z-favJ*&eTx4V_`T9t<9mAX+p}qZB|g$>u+$Fh7RkoR4O=iEw@E?vVZ-B#3sBo|LY= zB7HA!8_nkZ$tPaco&c*vCq^0R#@hq6fm=P%(+keo->C&aj0mXq5+9c&$=ya!TmsgP z6PE9z{`MNl<&-ug!ptFzp7bk!@=8WSAP>Y8{_g(KSrv0;qhk)b%p>FPIGKBNT%p{k z;g4Ui{QYk|ng{KeH5_>V1I)dGMMUqOY|eS#a2DdO9VHr8?SYWyTjN+%q4 z89ZU|hJt1`w@^N#-c4e@e8pjG(N2=z2u4O*&E_k#j*H*m3_Ak#Wb`zZO~Gxgr{7Wt zpVVcLc95E`5m>#8r>zO+n1I1OlxoTTHlJ311By)YS~p=XGU6syA~whW=JV0QL^&r3 zg_Zc9CQ$Ux4%%Js%&VJ~8>4s|cCafo2B>1Km*Rir|LqOZ{Q`t!bo?ouh@)e^(W89e zKfV8{Frrtf^%H(Iwbmgg#bi8#-!i;pka@g!{rL-k%HKM@Pq$IN9aWmeQ zq$Ec^B!Z)Jg&@i`UshagSnWA)`f&qC%V}zHkGuA=%VX!t$Akd!$9nyF|B2(&w6AMF z=0g0Vs$4I>Int{i->mn%!Hz5Uc|UQrC04zgZ1@)-D47C_L#_S&u!z@O`nPY*YMFQ@ zFG9+~gH?C`TAEGu^z*qj`S_d$`hS1jI%ZO9i=rAy=>m$lmzb71z6~qeXOKB@=C<|! z9VB*MhPNpg?eTAcf)y;X&wj8z@?Nc>KUKOSa`S*yb7oY>lnLQ0B!BL;c*oalt^Ou! zKS^goil5~mf38~mMz6$>{1YN1qGYl$51hIV}5rFsMRe@|&20Gz7+GQClZIfA_2dBedd37F9tL zuKhXmPY88IWAWF62GPe9R3=XH+g1`0;@l<8yrcftq5z<-qVX^4%r$ZRB`n zRWSpDhqv@S+~TBD!i=^%6_fxuMYf>=~4Z~LG`#A2D-)9xD=-c#1l{I zB5gvuX0+}zWiGK2P8%`yDCsLkBg{?0lx%L1P*iePeckhOR%{$OB-Gtj9C^HBNqZC| zb>aX>)GWd16rM0?Y3CBL{VG0vHH2UznnHe1^tR{Ty^+q|q5d05vra>`W+rdS+_XZLUL7~R6+yDYg!buo<-r}Mf0O*F>Bonh*Bv20RG z+B}baBT+(GC>>)j1Ao_rfa*rHh%oNIl|2y0V3SVhZrImwO6SY%WXcyM3Cg}`&Bo>r zdKy88;QYJ;{{oY5u2GaF>U!;Uiemi+@lM~vZ1S9`kRuWWl5^Eo`Y-lZ5$5r;99*Bs=(0D`u<1RW5oNM@5A=w4Ov#6}n6UP|c1vy-zBG^w z;6{Ib5i=t!s5kyM7g?iJe5|iGOjbOE&}}A5HwigDVRFHAJ-bo=UP)nmz%qdzr`mPP zfVD;-=j3|#%0oZ!d1Fem?&yTwQ6Pv8PS7$kYUoKXx(ly#aHIWNZE1(UtS&^NK#Pc# zpE`_zMsXl$=%`wD={Qd?UV4Yx&+5#@ZK~jeg=#`1?h6m#w`j7d*ZY27lvey2vBYYa zUaDiU)0Y7F%o@QTvwB-D$2xAbb`fNIM9pI>Zmu>Y3}YAGiF@Ty+5C1NTDqtM{I(PD zbufnI>q<9=^s!99#0~|}tiMtI=8eXm$6C^5LP!|J;EvNpba`oIv-8s<(%iVMQ?^w# zw#(i}Bs@WCWa`abtaK*06V7?vUfD%}MS%bf99^|(wQq$K7_~>Sb9GXluWGx1h9h^H zX3KmSwPztUIg2*xaanAjkXEeClpx?Oz5wffn2KXz+UXu zvuFRc9S4WC6V@sh$B#-T#f-|W;H$?4hldius{qWk+(srSN+EMA#6m(1{h~Y|5U!oG zde4hHSm&v@lem^Krdl8I3Gro7dN|}J_C}l%o%o-7VgPeJ?Z(e8$B!OHg_j$H{|vyk zl%I;hf2PHOyn`(3^J(tJ>a~Hco{{|wg;>V;hqSr@w1Zxjd%J;&+Mw6^Y^|KGGc#?j zl~^;mMU$NuYG1~uK)-Y+509a{=<|@Zbx}&$(w4bwJnx)56(BJ`Dli+ikX2nUdWZMi!U?u^3z5lo%f@o4)LPPER+8F`hFmq zw&8R>S*968Lxz!LI;3R0!L2m9M z+FN;1q+QJ4@m)8KL{Cg%Cfpf+o^- z+V{BGB@JD=%~DhHe551`rn89<&E&EcId3OJ#34AQD|ai2*JTc8OGpPcB($3;NY^X> zXd#gMRZjAYCiniadmA7ucL8#bCVvp0{>Bn^i81$(%2Tct6x^e&q%gP?Lmrm_MY|{U z>67f&wQKwZ$$lN+N!#yVTh>z_#d2P7Pm_#PP^3x(WddUb0KT{t^nL+&FH23rjE|^y-7gkND4&ASnzV565VV;_!cNVtkW7x)7HETq203K7UF17=#Cz#( z?qBOISk#tu)y71llZ}6trWNxe31#xu4~0upE(`23yeJ5Xp0qWf9cJ%97ocFdcb2^vKuAnJ7w{k5R=X^vbs64PU=a?h^s;j8G2a;)gmoWvZm z!XFYg0gBl6XsPJ!zA_*PjRl#GIzB9*Q!@AYsK_*|4ISAF#uz7=L*1n!4B#QX-6}=R zHRS)O00!;G!{h`QwBUWY^*Y2)TIQ#C!Y6EIWaKV9UbT(pZE*w5Uam`~=cDHmr*_J) zFwNaIsH~ckK9xj?W01$F?&V?AQ=r`6ZZ#|mwiY>N%}C>L>ym3Kg3Fs8PL9~YE65JR z1a1QlO2vvrct+Ujw6>1k$4C^FuB#z2j*AUY=0&Of>>Ev8KVIsOJ{Qkx7Cf$B#_pm! z8iT&hG0xb{b9h<_WvV_hvs(0=8H_M5m;1om20>A+9~DQqKbyWkL?hLUR-%Otyv#a=8)Vz}A*Znc5c2I*pqQz7@ev3Oi1 z+y}_93WGss5iU60Vlg9eA;ir(@VAk%q|VvrH!}9#pBKc!vLLUClEe3jx#)a!_e<)D zja+Pz4aI8B+}uk$egyC~P%`!AXL?j>yS3&Lhx(Ff#g@qu+=7ZZEiu&xt055r6tRYE z7jJd%2D3QR#6F%R8H8W}sV+$13b8T9k3!;}$NFwmJ>*2P+;K3Mj6IT$%tKmms2ezW zRw7GQ?$+GJjY+9KT2+F<_Hq2%at3N5eNzM8R=XPR2*=H?+@y|y@9`hsP&=Y%|L*)k zrn)N$!Ag8gIH;nOGT4V0kNX3~dN#O;QhvWIWF=qY*UqtLy~CFZ8Qom!$H-3vs{8dUz1Iu7}7f46z;< zK+rHZRF3by`SFBhvAv|cqL!=(_O!3;zM==33m)qk0)-_6HPZjapoNbWi`tr#p=!d< znWV+wb>5}&MLdcwj2E!E^RW=kBar5wlPrkbuldRyDGs9xm4Hvg=YF+kMz*HSIFf`q zvWDBd#!OCxW9U7|i{JSQIv{kRyF1_5bk27WHJ1Xu$w=e+*$2yDA=!EL0C$IlK7jcVKbTG|k)OPSHwomivE&!=bu2}@cG!Fk&UB~`7CypH+-^ys&ETdqGr zSQ(d)+x03p7~)wzwy9_Azr6$J$s{zbTmz1VX%j72`45hA6pb&4GUIr%sIV?9=!Cxf zT&HlW+pI+rVa2ArCfL#o>^V~BMK!kDSNSfOOcb7fVRdvJ*g!>>;gk$je5&ex!3Zn#RhUymKo8kZ`jFX zP}dPLpY|B+>-|XIdGH1)UWgIR~yYt3^zxLe{6nJ1Kg9G zs0(F``dDO)M>JfEcqWZ#tM_;XJ$~t=8t=OTn1%~BqZ@vf6 zJU`6cE!Y>T%q@MJ~nG@|9AR_J0y zr%<}Ru^KUi41LI@#HBqHKt=t2Z^OvjN)>DP_WemvI~z)}`}gB@rM0bA0(4FKD zm>)a#8uea8Yu+ep36z!c>KWn-SvZjc$Cic!62ee>-`y?9HFRTf&Q{hjYjiU2W$ojAQWK>%?g5d~u1;@Dzbn)my?h&YwP+QZL1)&l=qPiM9v#7k)abtSUp990t1<1_+5%+i(l(-H8^XJ*S964IzF> z3Mi=yl0qUuaUVN!0BSPMq`M0?#c*T-}tnp`S>q*)|s_B zcuD%=Nj}Z_ilaz&TX3#q^+i}}jJta9TOx!2wP<8S1_kgSlIb8x%I4A9t?wN<>o<0n zV$4PXaW$eQN8XiS$;7-Dglj#~^b0#qs~vC428A6GOi2!9J6S@W*y+@a=A%**!wc?B z8z||x-ofX!pyu)Hyvp`LJMi)+VH8!MUdVwyexlZA8V@AS_}$%|a(^Z<>RErDE{bDu z06Wi!fnnkd0DQu-M#^nV2p_fnM_vw3>-`@KqchUfP`*+Rq(2`9LC&#GE?m#i4DF|> z9*>QY`Vir5T{Uy&eqE5(ZbhCKbVOF5w^n*wd|aMRWaz*WsYXV`iLAZJmUX^@OQx- z(Ux<|=@LR%f{nsv_pl4`GG_k$PU68JYR_Iiu?cSRBi{i|rlkcu+2)DiHg+3>l6N%d zTR}g{)+T0M&g&XNGw`m&Dg~3sr@0@03PIb5@#w)2cmpr#0qn+22EhS&(bfTv)9#bl%cl&zKCVTt+7bT&G)P^wtk*1+LG=%m z{iw2mI~AZ`Vmn5IPmqA8n)2`pb?B@?F#lf2l$vnJ4K=(O%3Puwj)A}`cZlm+;rUQk z@0sHGal^qQg61J&-%FPK31Ox!?S>dnB$a=nSamB*em?qxX6y#lrH$ivfOYW5Nq}%2 zBK^U~fV99K|LY$YafNnmlUf3-k~GOh2Y8OAWUE#ix}CoY3VHjre9mx-g#*gc%yCX# z!*(SEx=)6m?es}V24nnne?JD7OD7R5VE!yP89UW(0{_nbD1ZgI6z%=iCs9daG@BDE z(?m@U4=R?l3eKgQi0iDperOPO3k4k><#dmUPv z3!uP8_q7(za*Y_bBbzO|fNV=*uJ;QqO}crjXnaHYgQJ#Q?*hkCEZ#PoUc-vlmxr>d zC5g;ZUWEvfm%k92lUD(629yntqI;MuvIc5Us>xWZ5uKCN)2uFb?q`ozp<}gQs}-?g z?uIa`?j0C9?#~WFP>5z+f7-KGD4H zeEA{_eI<|C1qQbf40itqV7j=aIKC;>6H?QKq9y4PvJ91mIj03FceGa{@s_mva)7G& zd+8t{SvDiVQo&08%iOGUo3JreURFgCavI75v00fWN}-weXMU^*aY(g7NMXX8LOT`z z0ea7stL8?+Bdhal=~Vkwa1*e+fJb>p4n65%o@rxv#HGO;hhKen?k_eD3H{w#qI~F! zRna@!W@PObg8?yS5=)-K;lQ3EATj0QL>>Iz zAWTN#syk<4iex?gnOcAdDelQirS|=S#rs;VqBe6mQEJ&$nGe{H9BH?=)6+^vRn+O< zJUouFb=7-d`7$zV@(t2;_Kw`g272?BH#&u)4%0aQ5WWL4P22&&oaK3qz*hR>ME~>I zo2D0%dbi=Z zTUt-y<@rGEizwAO!lGH=G)#@}9(t8`N$~*Rq)X3e6>6rPm7AUUf>H{8%sg5zAq@er zB;g(>q#c17qFsm9ZN2pOw+@Res`iyAaZOid7f=Zo90Bu96KwrfKh0&ZLkj)MZic4L zC&?3LI!KkU5;_$VF&(@lW-b+BDE=~T!+SxuGMXdfR*7?bZ?DPW=maae*+!k+*BB5; zgHR8H{{wtJ$!|!Hm8ltMHA!OM+gVj?g`Q8d6nTicENTHDZqDmK?00A1aj0UlkY-yP6`=TcFP-3 z!bfc_>KgXrlF>obciI$IK!kvF+oBH-hA+mxAL;ifyk8c+S`vT5`3wEckb66uMCM8V z+pE|`c9oY|y7Hx&&e&3YYTw1%8yM5jfH)extJqoLJtDWm6Zetl^HSMM0rbr7Qz)Gn zFA4FRX)NF#xI(c{?C`zyC!XHAIV8Ei#N9y_Vop!|3q_O_BhCBrEbSy`#kypawN$E9 zBZ*33t1vEo(mdk}h_Rav*y;bi=!=4NVWUQ|K(GLvI2c7HlrU-X^Y~ei>qSXRoEt&C z6(Q3YZfeF(%7h=6Z*c9$NT<}WON)C!r^dp=1unrl*EGb3Q{-VP$K)OD*)>nwR_|ti z+Etnim&E1VA9RRbMHq`n1ZC?!sAuIxp2USMc4Z#4$uh^6FgmKyG;a~_6WJFx&hz;) z-9EgtNC|=fvoSG#sx6l3`}j-;V_8Rx(e2;iu2v*_Gp!{bGcZ%z#+&EdS4w<>WY7I+ zM@Ha>nPOg42D=_^Wy&@tFxOT^tlJ!K7LANnmgJy|Ikmv#jRY4Gcw>H|;EYVK+Iy#w z9I{n%R#y7E`e;{{(Ayqdz)$X4KtVVzf_5LVx4PaOB*(rRR}DxU2?A2_PdINh6oC@+ z|4@6L`c1~Fb=tQ5E*5kw1(vby_9A5N`uRPQXi_l&GAn*3CFDBR(rv7)IMxi?+OZ(u zenbr3%cRo0hlsk43@P#*xp zdv?L3RWr?&QN7sn@O=5MEJIwBt6CGy>kG%JZ_#{W69cSPN^7Z*(KI5Fs5)ek`q>V+ zO>LOL>^L?_zo73tNGHb<$~xgZfY+%J+q-2f3yTnXPfbkM8A& zi)K^oh`N(ozk&Q&1(FZkTHZ!2?O&>6Wl}D`#D({ z%E(zPxj5HJ;P|g8ZRSDIl?KsE(72IKfp+|-vLa~}KFVejfZRRF+;iRRZqCh?({1Fy zUEZ(86eWIXw3o4m3$dBB<0meKdWW+{=?#3#_G}~tQ1Xb73uM<98IIS;i?(d%1S@8n zRsyv?GnMKoD=%QNGlaujBtXvK#}<%#3DpVteAy3m6@GzzP)c-*Pw`;Aj#&8qs?<>Q zFm>1{U6oHzE)n4K&6cu~(22;ye3stxz^ML1jud`+U)%r;PuVIQ=}yj=Zi7KLKCd-k zMf>kc=~>P!e=E0YT{$ZLZ~|>GyR^@thkK?&PN|%p&ekd&_PZ$d8eA<#x?w4^09^ql zN6}3@+;lA|b`zFAjurY0S$)e>BP;&FE7f!k&jnjeA7?)@5jaPG2R}XrB#o6W~1}YcR3BJ)S6NZ_sS;1<~W5Yt~Ha)ghy3M_zfd zcJU#~8dvV$p(;%kQVeaapiDXDi*z_j>W`614}tQ$K$}_H_iw!)t?1hqzcHp2F+o+Y*PYHPyVmB02U0h-KT%0tp{Hw5+86ieZ-{=0bA zZQoYkL9C9VovDbi?=d91&67c{=O`7`-!0|LYxSd39hj2dr>FH$QFGDIMPR0-d6tfi zj7rC@5qNH-JVj5e+ZOQ=7cM(WG#du~iswlZfbS2@KTi%7Q85m|BRy#uw=ODMosp+V z@#7$^{6@i|_gcaP)j1Hq!jlc}Q=1>!&WckyQw4E@gj>sWvtyg)B{!N8sfYfZz3$+X438!}iuM0sL;Rl!y8n5~h#hqZ^_FCgO%Iid8$WZ-Js=u^4g(F9h4OxD zJk>daq{3n9+u!)!*h6!ZT`#fDPM@*%>WzGZ=$tO=*4xwZ4Hapt zkwl_4JHNyVW^fqUNo(1>D8&vQw<5^Alqwk?&YM_F7j-_{F+?tJAVaEw;`lFY+|Kj- ziPr)je-!`MJJ5QhW!I*isui{58k*P?mfS7j{2#z8a6dCop7TGzM*izW#@$8sy3f4Z zG!NUlLQ*VgCFuaH&aMf-5ObbvCwcXepzmEixQ|)*TaV;B-P>sM@HnXmQ*+zp85hQM9aje(REmUgtXrb{ zI@m3}y?wic?}PW}b0XP95HRM;H8V9o!fz3Or8-a}CN;1^IZ&!HSCydWANsrnd*bbT zNhf~qiGV*jNn7epx}sd%KI-fM&@B=Xl=|1TKX71Xip<$tVC=9BvR!gtih zWZ-y*#)}e<2lL26fv$IB12(@NQ&(<)n9sIk!B3f}WPDf4(=5eQ$sXeW0me|$Cv_QC zKu55wDCST4&}h_pkjqd+@F>BRJpqdI^I@e=dXJPZhwO+fGZ|K%Hxgy{yvIrFLa6=J zrs0_17r}UZOKKmBumF2LR-4(C95O$mPke*ijC5Q&Du$QmvX{@cEfH?W+2*|R_PgYi zF&i=+HRqBm7O1UCb_gtR`q9bneJH%IO4dCHeTlY#5ZzNlg8Xky&Jr;lm_IU(ho%i= zloU(Qs15;lt&Z-d$;wGk#*uj_K`*1139qpZ+kjl7%Qv=a+opAko+RTT;n!rbe{g z)qH54qOgHlTDQh9rJ#2FH461@-Cw^DLbm4sg$PDk}df8nGWtD9q;HR zufCfhJoo!j_fEQMHRg>Kp&5KQ5?HKU{q}S>UW-(U#C=fDLgN(Ye29pmzyUDNyq`P6 z#KS2j;^=v-%xk>p^xFF{?Z{mM) zsK;ID8V$}ZQ!!Dkj?dRE`7}w}j&g+65)O`_?vZQ!47AbtfD|f4Dfnk1)k!O325F!~ z%pzWMCbmzqz}{^j1Xl(+aM1Q-Mwa}R61QvV8*!S(lh*9WVjPW;i*wXe;H|c!~Lb>$8Y8cqhE} zmvBG`jdNP{1b5$WHkqS8seZ+3h^4f3$cD2wNU}nYKA^WOocbt=qr2$+S@)Ac9vikN z0-bvH@UMBOUy-c#wojMr&0|sOf4kNCXqSt38|LHOvX1^HV8%md3UXTFr_O9}$MU;y z_nB3o{sH#8{trM@`#sUlqOdXm1o#iYDL)pKX)$~c{`++J+ozJe2km$r)~zH-V>p20 z1SAkOh~K?E(3oj#6M&(Ei`l}fkF^tg9F|6Es&@00aJ{a0D0+Qb2{7Cb^`J-U?9vj< zPx3ON^m4m>Zm4OQq@8^noV5>hT1gStH^*hh`fjVXBlU#^w`5%MK4y!L*~XVlSNhdE z6vqUHxgU?GI~E(>Ga*XYqWy$iGoDEd>P&v~84?)avD|Y^kE{bF^|Fz162+4keTnGd zpnzVXoebb)e>@?I?)Xx>7)%;F@U5}w9Ts!*kT}P1819nuy0Tsw)RuGsk6NFs>+bGr z7246&s#NmXa_up0h^1v{moOpz4jS5Iu-vn4F@#gSyl!^+tQV`cNS8jmr0~Oj-|p3L zcP}2NQu_+yTy6b|ty&_~&ZtaF;+7;5xi97Wm>iNnkI?(m`Q_8xbL0D;bu@Bh!9s6Z zo4JFW+0~gHsq&4lHmImn6~-1?*S_B!t|~V8K5NO`(2D@TDYDE$!vbhNaQ(tDVZ-D1 zL89b+dvrAtxCQLD3FM`W@Ie4rd$2DOQfb9yR7!z4B`3(v%M6FTM#ugzN87|Itm3~O z{C4KKn{M~jtQgCK#iu?LJUX)zq*@D!OXLSGMr#;eY5jaZjnI6#A`%iqw7s}Ww#}y( zP2X|`j+`ZSbY|L~_!-wzP-x*eV82?;T3)9J0vW7jaA8!?ggY`)8N7~ z2)Wm6oPZ{(TvDd!PZrj^1lzwk^QINFp?iF+U+Fnyv)%>yP^DC#1G?sj_A}Zetg`IC zYvtifmvdXvk^b0VLIVH~fNhTxWwGBTBBBqO73Y`i=OW9Rf?_F>9-(IQ2ptbZDbIc zhKGI#Z&TJjjh&hp9y5_5H-ijxwZtVAx_w+l==30T%b)1adVNBzpQJx) zc?j>RU;@T)I6FD8gy_myWYA6@JL9L zXG?-Wht{yryQY1Pann;@={4hjH~LbeR`!oxt3L&-&&(T(z@LD0SHz~LfGc+Q*@XY_7&N-`R2YK1m6F3C>F?ng$9k6OX91Au9}DKbq_?cN|Y&3ylIvgF^Q_1z-t zS(24)4L3~DqLgIslh{Cq9lU$!`v2BVmBbd8(0qGZn7=T40!ZtAhnmqw0 zS7DM=dGj#k?iOfOd=E>8W8ox-br6*;L%0fo8k=cC>=#ibQB|wo33*1jS#~M@(OwOj z$bH-!`SFCE;cJrHaeMr~v3H|<$Ed$)iCUp6M#gX@>k50SEEavDaYEFd(++AGJC(ul zvj%ghb(y1TYCMtkcu*EmbO;g}JHI*B&V=-jTKcs-)l?@tH}u`=5+ zxTFnOqK~W|4bMnpZ$Ifb_eck#(hl0p;hsx}ZwQ_yC3en1({fbRZ~4XN^MQ9QhP58n zcJ1L{TW8knc{5B@X6Lkw7LiT6&TKhbY31LJi?5=~6DysVXWaJPj?5}-;puyF`21VR zrZMNZF{En?EXPgJTo&_8>alkXSe~m1@Ljep+y9y6`rlC3|Hq=J=9dvG0_x(i9=BBd zcWW7}+sjP1@2CcSw`Hf(@Y3oW!bkaaz0cQDcTa_PPj>Bef(5oyllXFk_;0y4^QRS3 z>F%TIVK%MW^e<8FoEQpNrSmwNv&SuSSu1y2NJhm_9=2XyhmqW2i4F!#@^upi4eICxg59Z&yw@-Na%PHNXw}F6ETa^FDHk z?L`cq0b>%f8FHtPHXrBreFy4HkK=?M?v_sFo+s%eQSyTD5J8nz zeJPiW*>(6l9|66WK69Dy`#`oQuUB_;Pmt4X!?acXF|iCGYaIJw693@nhOugSZ~dw& zyh+P<*sF6|*>F*#RkNPpk)TMx(Y2354%}(W1)q#+ezxgW&)&Gf=qPtD)-;Jo4wAD1 zUkg!=@~vjvI!2Q&0@$nN9FO%a)2^tg3D~J-OS;2f*>TcAd?q)(NP+kFq?d_?Botp* z5HaFnC9ZH+frL9YOy`$QgH|bweE?NGU2FV*EVo_c067` zIar{FQ8lvywIjCOEE+Pyd}oFFCtr1V$MjXAjfu)N+rd%gluOx%QL3mL4d{ZSEU!9w00Pzaj(SC1@i zU*+PWET8VyE4=b-lYF%L@Nl}?NghVM1rBSHdaUAtDNtSHIbha%4%=&1HL?wVxH=Ig z#_!Mg#oonybpax9mvIgC=mGDwr*CI5qa3wRU+)_ zQ0mNM%D1Ooma|&k2~uR0yL7NFNnZhjE=d9sHLH=d_qzWQK z1OuXC(8qnQhL!83@s_bei^#438(KLJUKS819V31T{4cnjn)Z?cv9qCGsy}bxeBgA_ zaxZFl6Jo(DTs}|5j?l)FO_FH!#M#i$1 zt+CS5=W_5}+s%CQn=uc1T#SnbIo7MlM7g{kKtR_SImVgotzBTHuWu(m>4*NXKBus| z{YJ{GT#`~iBr?61`^FbKQGs{C?uI1i>)DbqeLP^0;>2J2ykzMS0qHTWFp4BPQ74g` zyemxC`Et=Wv-Cpdf6EbI7@sO+;KP*_T>OV-4@?)*UhswgGFzi9TIKkuZ+^&`ndI?N z>K+E;;Ofi=9kZm2vwiQt{l!RUA#({L9DdyN}be4JUXT)oKk}|4!p*YzS&x%udIzl2Flb zoH~}C4ue}i{dH7m*{GPC*2(iLt!0+&dq0wv1}1*mQR6W$@(963^;`cQaeC10b*DGG z;-kK5S+1f+u-K(~)F-~Znp(9qvg>u7ldkt3$!Q^k%c>G#0t}sF zSzvKK#%-iJ%1izZ<={|rUa?>082hB$8yw>T!s(KP2&ga|nK9>0upnfvbcj!oiyQCK z*^_KEnVws33*%c6=G6USs08_1ag|&?RK$fih1_`M3kKrl9oXc$#5L z{>d+KAY2EvT0arP^XoDt=_iws`KFnY3fyf$j57pZ6_kj~NewZ6=yx$N_%fr@_z zM(~SRNw+0ls6nk4ICPXAD^a$k(M(UpCykc1?Q25*jVtgLV01+8>&lYAb-e0%r|O1~ zh?j(D#in5&$xErmGAW8fl&DhET*sT88#N-Mht&-`l*)zR8x+60so!5@|&N*pJCH-;v@L7L5Kv z(T^7@)wp#&>)8kh1{tAMX@GAqgt{r>*DIv!skXna7FLS*ToaYVO+1*hHe1o{yrMkuChts9lJAa0^)U>I%&4Fp;SA&nxQUY@}p01g<*E`u4Lv)W5cAeT!kC@(ub}X2NDk~c&F_w!-DZSInm1YQ+vls!)6ZN~-y4)T zif4pMejg=McEn}uxTiO3{3zal@^7pC_`IO0CT>ZtOQR?~35kB*hmAQIfnFT)^EGue9 zcs?QBMmlfEx(ZM+56o2BGK42iTtEH%|2dugf1lU>?<4R8?n!R=LJPOlx4EopOetX- zkUjg*F)`IFh1YCJt3}qAXWLiOSlOQ7zxI;f&fFfu@Dr&I3Ix9cjSl}d!J8d=WI=6R z^8wd&-EF509;2)$dt$Tx zw=RMT1fyi7xdGbhu^ZV7s+KLfWndAiBe5?Pd~VAdj*-5aTzWmlu}|Pfmz~;SKgu7c zCMSP$^;J5wQ;dFq^GpSb6j+^lX1<+}Tj!@QZZc9n#hM(G$aVul^7xRdS#Ng;*ZalS z^Rh|2xqw%d1k!Nu4oVAp%>m+(fTMvO&wX-E%?(jI4Wg++?xxQe?%y5YQT#=@g0CO% zm{Dg*!ACO@UPgU7BytZK$lD(yyJ!F86A9mnRd?R%BJOp;gUBHb0*(Czw0)t`F7 z;>TQlH4o+t=eWksWt$OtLmUlSKUI2-5Rkpp7=QO!^H-ikYr51WZOQH=|6i@0XHZjL z_wPed5Rs1bnotC!M~TuD4IsURjv!44y@|BYYiOYe7@9QcgenLs(z~<}q!SS7y_et3 zb7$^z=eC*W&ivo47w4Q8XJ+la_S)s@`a^kMiJTUs+-m+nLhDBW!Vdnm8z?O9aH+b)7V-OG7);lIgQxyd-{>Y_QI zJ9WtT5u?3EES0#j4$+;hjY721PKO3StCsaLXI znq4l#^YIpMd(juobT37MAjBR|NCT-fsWRpsU{f5LtsFa3>iKnqirG*JilI+W4$B*A z?rW9`fL_n>mm50yvpM`8`m{MLxD+jsPS+L7etd9WUaJM)W_(A@6I@xSTdm92(-lo3 zox6<3Q53WbK)8|Km3Lf~7$0R9LA}GKjykB+iPyN_AC@_4h-|!dVaSh!MokFcc}QR2 z<^GF%B}sWV=V(kkuesaIBZW@OgyYk7ob1l4a*G#9(O9=LI}lZfnN1LW)&b_2_KuAW z{1GP4@Z>jKomq0ww8*~Qkb`7FDbKT#)gXQ-XY#35*5EEF_th@z1ED*v9^}39^A|4h zna;Yr{kgi2-|~?LR1Ay)<(1xF?{62Q{2rWzp1shySWdc zSaKe(cI`}H3RRr@xjwrD;2fJX(=s|&stk9j=Zl$8pmFP`K1)53&)xu}(0hA6bg7h_ z_Z?Y~x1b1rReF~GD7=TM)Tr0@JFSE$KsKG}hIuO` zq|A=i^s3-ZZc{G#F^c z4!!=M0NstgAUd5Kf4=wQvhnYLu;RB0_uv=WH7v{{PCeBbH@LB*#&Rz~pkC{!`gxXb ziJpiCFkom@Hi=k;NNc;$f`=qr^RvwEdi>-%KfbBUM3|QEOK5Z)Oj(kcX%)m}jif(* z(wH^;aBkMFTEyu}hX>?whZ*F1`exAoBA$OH{>&DYC|K0uZmHsl3aL7xvM;Xf@6Uj8Ti?=tGJTRb_ z_xU4$;o^c_A#RIjmfBPatxe$5W*eBdUo^FCR}*8%QUgNv z6MkLqhmDTZT4CCvv8!tLr;w8%lm1HSh`WFl?~a7qL4|=5#qE`L`=W$__ODbbw^*68 zV4H_Fbnz>c08Q1y60z>vcy^C2U;S9=BkZSuZ+QX1z9)bmn>~IQm+}bM_oXB%|6Qkw zjY+d##wT+vt~wAfq#y%i#nSAjUQ{do3`Xkj5BKX{;8-sokWRNkiR{q~8pesY@2}u1 zu1BU+yEfgP7LPNP-}_{TDx8kbY`w2^4Z_#>$@x(Gjh4T;>n-QEVC zOR};*#z-3smO8#LtoD&&_xbw63uHaPVVOG!;L`9Rh;8oWpZT=z{JVWnfd;18IEAQ*Npx9KkWCS{|f@7cj2i}xvMLRj?6M7_e=YDR@~>e(^{bt zr4C^{2HO+l!VyJQ)>jG)hfR#JVt=?~@JWaX_-OMFVp)PTn@u#(m|Lj);=DVJHuG^D zn-s}9wtie)eo(19>KK$e>Wx_tL3#KOw`tp`SU^~9Xg>2dt~K>h`p_BKlHQN#u-=ha z4EwB;qs9-@@BllECT@(18;32t-w~is(eTo=#pCQ&K-qieRsn4H*juI_Jk>=at_L(i&jsD4kQq!^Ls(qrn=h=y%E@kN90&_p!>8)yB?*rV!%i#=EeXV7Dl zJHB98>D&!RisBv+Ly50|8Q0LhKCAQ8kdR>aG89LIyoqH`ykW9vq;#Vhs8O~DHbN-%!mYF=t{3CiGO#ID#_aJAu))Lfb4wk+h z`B))&_4Lr9@~scn(KOKWVVn)-7~S%TC=s1=M!6`4(v%x6;&ZRNVa;^J@G)TCKfQ}0 z5r1t-1QOh=RB{Vh!pNmKFIQUWKDf`VKG;!|z^fo8lKVw25ftYbBXA`>c^Yj~dLT>Z zHzp7UPd$#$ML(5<#QF`|Nh1jgsU7gG(d9z%j1>4kfJV$u7gqmzDa{(QNY;(5Um|fE zQIxaOA8VeG)&ST8y*i)YtA^*i7eM*;Jf(Z3$X9pBPK1>YhI1BuG{u?FTpXdw+D!L* zU-YwayREHeR0n*>A6U@E!57j~J9iFW)TmDaV+E56;Y|Iv$w9fLBY}>r*V-nG8@eJO zeQw(Ovlm(k20AW0+{nXnm)4N&*D)WGsfRqn5(h(qS(s%;`43LU%A}{8?o=2> zZv3?I`!ks%6rCTVt9W3v!nE$*V>D2F?*lB$Pc58|cfmY$^Y={TIsdt!p;rkhN|jjZ zjcQQAdT0Ed1)*HmPZpxwso4B$#|#j%xHAN4d3SKH{MKokXhNSh<&fvFcOaJ{oOhqUie z6_=^`@BQ>sCR{HPSM^Q=fa~Rrawl?sj4MsAz@oo@VWMvKXtVd8c9cR`071XEg!aK{ z=|oJT{niWG@b8MipjeI$OhX)3XhpZCwsYO;-SV zkwb*AOz%3g?MyO4Q6?{uMk*6RVO%4D-H zrz;Ni#UwXuM`1a;e;)5(f<~q|?^+nD!XfIf$gfJ0`$huch6G<*xxnGMxUWgg?7hGj z;^fnS{dB!U&KcbMOL);}S(J=rd23XX3Ns1&x2xe*w~zB9uJ+TVqFwa^@0R$W2^3pp z24w2;)`xV3HzoQFl_j1H_Y9FnMB$^Ez;oEMCCva8GF#b1MDe#^MWC^1LXV+ad}^KI zY;#mNp#OYCA_wp0~JI058hn`_W!AxbjD7Yz6d~M!Hje3*1IdH zJY*#-B`)A^=0|L>sV@ar{tl#ZR6!-lzJW^`ozqVKo^|!DxKY;ig@FqFF#u|umt64p zn(hwIIFCWA_;_L3;WTu$VcT}OPS?AdMu+~#=m#JL15FQUPOJY$<(ORK(^h9?yLv3| zs$5wKfEP{6bNbpT3E@oWD#rM9Jeq!3wn16LSVP~#i)6bFnSwkTWv_d**|bAvAayIX zKg5^|*e8IiHuFTDuE5>(jFOs<0v;=UJyJDHul#zb-{8{A3&SvIo37DA!x;fQGCu$j zG6FO5;ISait7n=XrNUq>GqTvHq&#kj2NrvtM;u|;I-hyzEsch!sC~j5!2|Yy!nNMG z{Yv7CXk7?}!Ghl<~2#N6f;8cPn_sz3?p~gHR&C(WJ;Emv*cY`k})~ur`uZy!XkU zru^I3{ilA#kd>neWtMXNxJNn-goYHIFBq$5czE>s_TELLJ^1e$MUalf* z?hX@)AA|T@SYu%PBXUo$fbLUSL+AEJzfnI{Ux{v%7MWbx_pM zW^5~~l$dVRVL#^P){l5jC661s4A7}>5|gF%+qIqO1&A=ZG1%kq7SU3qF0H*WWVU+Q zk^WNCS&n1U`3@=;>LddP)xKMoTmjU@wfI>Cy@=u8zQ!wJtS7r^<#eh*App;#lVguN z+mo8FcjaUI7$dcf-O8$rd>d?&vO02`Wq=5My0{^(+ibr#cS27{A4x2=Y<{|Ma%#@QOSya^KP3~MmwL57pMbpUSJ0wG>dTquzCb2(Al@M# z!12J(75_AMFNQy>6;!ZCL&B?4l4B~c%9R?qMMr*EEU3mn{9@*WKXU&0^jcax`C%rt zQvrlMAZ)wj(K)7`f7PpB2)XAd)gTpcS+5(i6QYMDZ~l-(WVQKFq3^DEomj_taj1hgT21j~_?|aW+&- z4!Fe4%;_zy-#Whc65_ywQ#&RDu5i4Yp4k6BV-&>tq+U_rTo;qp+YOLayt^hBC{ZRC zGK;N;Lo#A=-4P06;GW6P-!Bbb4gOkS`MAW(7FrQ1N>Kq6lJ&6eUGyUFi4P=myplg0 zY^v;WWEnF~6*;I!6M4w%plS3exr(!{_!?$PYMx!eklwqi$TGfTk7-Dd#Z`-f6W&~q zd5WGY?BSfBtkO3TaK}Y&BmQ`mvy{29jBv~P%zDS@{PG__-mkCF1$LKY1C=ld4{d7^ ze}U8S3$SbSdZtmpqt55O&Z!>f0^ETU98Vt#+Lc+NK(<1L4JSY{jkgmm<=LqG`i$9I zJsM|@Ra5U>ri|S?yO|~t8qc~F6ZsVX`m*+FdCE5}`g{o*8 zO%;|ON+_)tiH$9Om!YaMRr|8Kh=}?{?J`D1fIqxD{%(|DQB)W~T#)DU{86TJ`~F5D zmG@3O>yYEWmWzL%1!6^{wv&&h9-gJ_b+LV?wiDWWZk=@JOpMEfj{I$cT+A}UwRy_0 z%6>n6oqt9%R2g(<{~cW&OETIjE&7MWfsx=yNX{`&dm)pR3Ot)9GwjGrJ#wgTebQL; zH$x!`W@JNyqd*bS=UD$)H+G{QO3r?xf}sEP!R|^98Xr-Hg~76V?x#tb-w==(j5Veo ztmQBMI=iHF*=dY5IM{t*uw2vE)zw{3JaxSwe0wv#k64~YNG1pWaxa)ef6kWGn z*GE=3W|_2$M6tyQ?pDRHe#K46JW|gwOFwedFM2WYYYe;P`S=SRC_sCO@#a22%`f%feU!aaqZL+ z&w41gIrpai-<{$A^1y88vL1$!oOQ%!n6X&%aUeF#IIOTU!aB958XrZvRFhhRg{eVl z0Aj=-)O%j?_VWr!@^&tB_nB)5u*`wc<^GBhL*iaa`b|HZd8!bxG&-WAQ;&Ot8KSl= z(c-M5DwGKGfzw%EX}vPe7@tm zuWiaXM~OeeYCKi504az1HwnC~duyou%7cRhC4=-Tfcy~HtU_5nU*(dROkJVx^MOmR zmHqnkSv`|zMBH!lAc8vw^RkUR6=HFLwIxoV&C7Bzo&28I!04~E+Og*h}A2mo*`ZZ3m8 zoc11HYCudV2VE!V5k&ixh9)^x`?|tR=559tv%MrKxv8ANWZh)J;P3Zjgjc$lbpvt* z42iI9QxDvQKa1b`qoCnm04=NfUlQowne@K}9{&L1eV&-+%-zP@wPo7R@ZDczjI;sK z_TIXw2*Dps=~Pp!oKKp~J*OB;Gt~9<*YdxJILyu&;y7SA?d54Eo)xJb`@(1pU;p+E~B`mi*AclcAk8rK!S z0dS(1J4w+1*!y>#LXVH@vTD;V^=Wn~tAkanMa(e3>;wt`QOeO*p+_<0&F3BOB-q^SO`+-BTVSm`r&>HV9<;u%B0SvsxY zIrJHXMFfFh{redlFC3dJJ<>_Srs?Nt-u51kp%|j~P}c76=pcRqG=!&KQJi$$8_w>c zn0$8!#iy6V>!cDKGz^~H9CS!(^Q%94sv>pvn6sDA+Nh}eFHf%j{y{E66{a2g^@Snf zz<=T?QkZB9QC2uNPiSf|$gsxfs_<#|@upfGlNFRYgi@5xe5Pq;b5{kk(Y#oOfZ~%N zEEFo;Di;nc@NaYVFK?+vr~QeAh}4Gmh%lnp7C7az1Ep8ZK7k)Y(#!oQ3$KPcy>O@f ziyPUv#Km-W+5^E9$jB=9+BJAXv$)qn{eFgq^O05L%W85D+Z1%dcHdlLy7i79*NnMe z9tB`e7M@+eo#+YeR^pV)1)Tl^7`WUl;D~qM=U=20ou^w&N!x8C2oDBZ2*2w;FAEu7 zg&j}bYjZ}BoFUD!jJEV=izT$!F;z6-H@a)Xk|n3k@B9W9mZ4V)R$1cn>3k#`24RTx zJj^YXXzs=6-41!R?1EQ946q7aHC`S*^~%0r5ZZn_TVh8FzwmvxGO)w>C348zO*xHA zXWUDS!2tda3#+coFbXDlco`0K_D>NU{iUzl2vz#XYNr14^@} z#{L2D>BgOX$lIi=F!p=S|Jn5jgUWl0c9NJ zfmd8$e;=C!$GWrxm4Y|3%#?znb6*h|!J0Cc@qu@3zXsimr8nJcI5{^$D;|(J`O^nW zSX9dj*nq^GN`&au2ZRugsg - - - -

- -
-
- Because this is a large optimization model with many inputs, we have - created an excel template for users to input the details of their - specific problem into the model we have developed. -

- - -
- To input the specifics of your problem please click download - to get an excel template for inputting your data. -
-
- -
- -
- Upload a csv file of your filled out template -
-
- -
- -
- So you don't have to leave the browser open for an hour - so that our optimization can have time to run. Please - provide your email below so that we can send you the results. -
- - -
-
-
- - - - -{% endblock %} diff --git a/static_html/team.html b/static_html/team.html deleted file mode 100644 index 8bf6064..0000000 --- a/static_html/team.html +++ /dev/null @@ -1,91 +0,0 @@ -{% extends "layout.html" %} -{% set title = "Team" %} -{% block content %} -
- -
-
-
-
- -
-
-
- Subhash C. Sarin -

Paul T. Norton Endowed Professor

-
-
-
- -
-
-
-
- -
-
-
- Team Member -

Some description.

-
-
-
- -
-
-
-
- -
-
-
- Team Member -

Some description.

-
-
-
- -
-
-
-
- -
-
-
- Team Member -

Some description.

-
-
-
- -
-
-
-
- -
-
-
- Team Member -

Some description.

-
-
-
- -
-
-
-
- -
-
-
- Team Member -

Some description.

-
-
-
-
-{% endblock %} -{% block myscript %}{% endblock %} \ No newline at end of file diff --git a/static_html/tsp.html b/static_html/tsp.html deleted file mode 100644 index aa01ec9..0000000 --- a/static_html/tsp.html +++ /dev/null @@ -1,103 +0,0 @@ -{% extends "layout.html" %} -{% set title = "TSP Example" %} -{% block content %} - - - - - -
-
-
- -
-
-

Some short description...


- - View More - -
-
- -
- -
-
-
-

Input

-
-
-
- -
- -
-
-
-
- -
-
- -
-
-
-
-
- -
-
-
-

Result Summary

-
-
- - - - - - - - - - - - - -
num_citiesobjruntime (sec)
{{ response.num_cities }}{{ response.obj }}{{ response.runtime }}
-
-
- Detail -
-
-
- -
-
- - - - -{% endblock %} diff --git a/static_html/tsp/description.html b/static_html/tsp/description.html deleted file mode 100644 index 298c004..0000000 --- a/static_html/tsp/description.html +++ /dev/null @@ -1,8 +0,0 @@ -{% extends "layout.html" %} -{% set title = "TSP Example Description" %} -{% block content %} -
-

Lots of formula and description.

-
-{% endblock %} -{% block myscript %}{% endblock %} diff --git a/static_html/upload.html b/static_html/upload.html deleted file mode 100644 index fdaa050..0000000 --- a/static_html/upload.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - -
- - -
- - diff --git a/static_html/vue-components/tab.vue b/static_html/vue-components/tab.vue deleted file mode 100644 index 8c3a703..0000000 --- a/static_html/vue-components/tab.vue +++ /dev/null @@ -1,31 +0,0 @@ - - - - - diff --git a/static_html/vue-components/tabs.vue b/static_html/vue-components/tabs.vue deleted file mode 100644 index 2e80305..0000000 --- a/static_html/vue-components/tabs.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - - - From d5bf01588083f67a67a98355ac384d3b9f89494d Mon Sep 17 00:00:00 2001 From: Robert Date: Tue, 11 Dec 2018 15:32:55 -0500 Subject: [PATCH 30/30] Update email credentials --- README.md | 5 ++--- myapp.py | 11 +++++++---- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 9b70787..99b8bc5 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,10 @@ conda install flask waitress For development, `cd` to the project folder, then use `python myapp.py` to start the server. +Next in a different terminal `cd` into the `frontend` folder and run `npm run dev` to start the client + A Waitress production server can be started by `python production.py`. -Nate -I made a change. -Hannah -Fangzhou diff --git a/myapp.py b/myapp.py index 00378aa..d2aefd0 100644 --- a/myapp.py +++ b/myapp.py @@ -11,6 +11,7 @@ from flask import Flask, render_template, request, send_from_directory, jsonify, send_file from algorithm.tsp import tsp from algorithm.s_bfl import s_bfl +from email_credentials import credentials from flask_mail import Mail from flask_mail import Message from flask_cors import CORS @@ -26,13 +27,17 @@ class CustomFlask(Flask): app = CustomFlask(__name__,template_folder='') # This replaces your existing "app = Flask(__name__)" CORS(app) +c = credentials() +c.setPassword() + + app.config.update( DEBUG = True, MAIL_SERVER = 'smtp.gmail.com', MAIL_PORT = 465, MAIL_USE_SSL = True, MAIL_USERNAME = 'robert.b.shelton.42@gmail.com', - MAIL_PASSWORD = 'awkfxsasolaunvtf', + MAIL_PASSWORD = c.password, ) mail = Mail(app) @@ -51,9 +56,7 @@ def Sbfl(): sender="robert.b.shelton.42@gmail.com", recipients=["robes98@vt.edu"]) msg.body = "Thanks for using SBFLS! Attached are our results." - # with app.open_resource("./algorithm/example_output.yaml") as fp: - # msg.attach("./algorthm/example_output.yaml", "yaml", fp.read()) - # mail.send(msg) + mail.send(msg) return response @app.errorhandler(404)